@charset "UTF-8";
:root{color-scheme:light;--bg:#f6f7f4;--paper:#fff;--ink:#172720;--muted:#68766e;--line:#dfe5dc;--green:#245d43;--soft:#e9f0e5;--amber:#7d6030}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC",sans-serif}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8bae65;outline-offset:3px}a{color:var(--green)}[hidden]{display:none!important}
.site-header{max-width:1540px;margin:auto;min-height:82px;padding:0 4.5%;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:700;font-size:16px;white-space:nowrap}.brand b{font-weight:500;margin-left:10px;font-size:14px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--green);color:#fff;font-size:24px;font-weight:650;border-radius:10px}.space-tag{border-left:1px solid #cbd4c7;padding-left:25px;font-size:11px;color:var(--muted)}.back-link{margin-left:auto;text-decoration:none;white-space:nowrap;font-size:12px}.back-link span{font-size:17px;margin-left:5px}
main{max-width:1330px;margin:auto;padding:0 4.5%}.hero{padding:52px 0 35px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;color:var(--muted);margin:0 0 12px}h1{font-size:clamp(30px,3.3vw,47px);line-height:1.35;font-weight:600;letter-spacing:-1.3px;margin:0}.hero-copy{max-width:750px;color:var(--muted);margin:16px 0 23px}.boundary{display:flex;gap:18px;align-items:baseline;max-width:920px;padding:14px 18px;background:#eaf0e5;border:1px solid #dce7d6;border-radius:9px;font-size:12px}.boundary b{white-space:nowrap}.boundary span{color:#4c604e}.status{padding:13px 17px;border:1px solid #d6e2d0;background:#edf3e9;color:#3d6948;border-radius:8px;margin:0 0 21px;font-size:12px}.status[data-tone="warning"]{background:#faf2e2;border-color:#e7d7b9;color:var(--amber)}.status[data-tone="success"]{background:#e7f1e6;border-color:#c8ddc2}
.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:25px 28px;min-width:0;overflow-wrap:anywhere}.credential-panel{max-width:760px}.credential-panel>p{font-size:12px;color:var(--muted)}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:15px}.section-heading .eyebrow{margin-bottom:5px}.section-heading h2,.identity h2{font-size:20px;line-height:1.4;font-weight:600;margin:0}.section-tag{border:1px solid #d8e3d2;border-radius:5px;padding:3px 8px;color:#5d7957;font-size:10px;white-space:nowrap}.file-label{display:block;font-size:12px;font-weight:600;margin:23px 0 8px}input[type="file"]{display:block;width:100%;max-width:540px;border:1px solid var(--line);border-radius:7px;padding:11px;font-size:12px;background:#fafbf9;color:var(--ink)}.small{font-size:11px;color:var(--muted)}.identity{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.identity .small{margin:9px 0 0;overflow-wrap:anywhere}.identity-actions{display:flex;gap:8px;flex-wrap:wrap}.secondary,.quiet,.primary,.danger{border-radius:7px;padding:9px 13px;font-size:12px}.secondary{background:#fff;border:1px solid #cbd7c6;color:var(--green)}.quiet{border:1px solid transparent;background:#f0f2ee;color:#526156}.primary{background:var(--green);border:1px solid var(--green);color:#fff}.danger{background:#fff;border:1px solid #e2c9c4;color:#8a4038}.compact{margin-top:14px}.stale-notice,.invite-outcome,.uncertain{padding:13px 16px;border-radius:8px;background:#faf3e7;border:1px solid #e5d6b6;color:var(--amber);font-size:12px}.stale-notice{margin-bottom:14px}.review-gate{display:flex;align-items:flex-start;gap:9px;margin:0 0 22px;padding:11px 14px;border:1px solid #d6e2d0;border-radius:8px;background:#edf3e9;font-size:12px}.review-gate input{margin-top:3px;flex:none}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.section-intro{font-size:12px;color:var(--muted);margin:0 0 20px}.item-list{display:grid;gap:12px}.item{padding:16px;border:1px solid #e1e7dd;border-radius:9px;background:#fcfdfa;min-width:0}.item-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.item h3{font-size:15px;margin:0;font-weight:600}.pill{font-size:10px;border-radius:5px;padding:2px 7px;background:#edf0eb;color:#5e705e;white-space:nowrap}.pill.active,.pill.consumed{background:#e6f1e5;color:#3c7148}.pill.pending{background:#faf0dd;color:#866235}.pill.revoked,.pill.expired{background:#f1eeee;color:#886c6c}.fact{display:flex;gap:11px;margin:6px 0;font-size:11px}.fact b{color:#627166;min-width:82px;font-weight:500;flex:none}.fact span{overflow-wrap:anywhere;min-width:0}.item-description{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px}.review-choice{display:flex;align-items:flex-start;gap:8px;margin-top:15px;padding-top:12px;border-top:1px solid var(--line);font-size:11px}.review-choice input{margin-top:3px;flex:none}.empty{margin:0;padding:30px 20px;border:1px dashed #cdd8c5;border-radius:9px;text-align:center;color:var(--muted);font-size:12px}fieldset{border:0;padding:0;margin:0 0 18px}legend,.field-label{font-size:12px;font-weight:600;margin-bottom:9px}.choice{display:flex;gap:10px;align-items:flex-start;margin:8px 0;padding:10px;border:1px solid var(--line);border-radius:7px;font-size:12px}.choice input{margin-top:3px;flex:none}.choice small{display:block;font-size:10px;color:var(--muted)}.field-label{display:block}.card input[type="number"]{width:120px;padding:8px 10px;border:1px solid #cbd7c6;border-radius:6px;display:block;margin-bottom:17px}.invite-outcome{margin-top:15px;overflow-wrap:anywhere}.invite-outcome[data-tone="success"]{background:#e8f2e6;border-color:#cddfc7;color:#3d6948}.invite-actions{display:flex;flex-wrap:wrap;gap:9px;margin:11px 0}.inventory-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:27px 0 12px;border-top:1px solid var(--line);padding-top:20px}.inventory-heading h3{font-size:14px;margin:0}.inventory-heading span{font-size:10px;color:var(--muted)}.invitation .small{margin:12px 0 0}footer{max-width:1540px;margin:64px auto 0;padding:22px 4.5% 29px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:#889180;font-size:10px}
@media(max-width:850px){.dashboard-grid{grid-template-columns:1fr}.identity{align-items:flex-start;flex-direction:column}.identity-actions{width:100%}}
@media(max-width:600px){.site-header{min-height:66px;padding:0 18px;gap:10px}.brand{font-size:13px;gap:8px}.brand b{font-size:11px;margin-left:5px}.brand-mark{width:28px;height:28px;border-radius:7px;font-size:19px}.space-tag{display:none}.back-link{font-size:10px}main{padding:0 18px}.hero{padding:31px 0 24px}h1{font-size:30px;letter-spacing:-.7px}.hero-copy{font-size:12px}.boundary{display:block;font-size:11px}.boundary b{display:block;margin-bottom:5px}.card{padding:19px 16px}.section-heading h2{font-size:18px}.identity-actions{gap:6px}.identity-actions button{flex:1;white-space:nowrap;padding:8px}.fact{display:block}.fact b{display:block;margin-bottom:2px}.inventory-heading{display:block}.inventory-heading span{display:block;margin-top:2px}footer{margin-top:40px;padding:20px 18px;font-size:9px}}
#action-outcome .secondary{display:block;margin-top:9px}
dialog{width:min(520px,calc(100% - 28px));max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--line);border-radius:13px;padding:27px 29px;background:var(--paper);color:var(--ink);box-shadow:0 20px 60px #15251b38}dialog::backdrop{background:#11251b9c}dialog h2{font-size:22px;line-height:1.4;margin:0 0 14px}dialog p:not(.eyebrow){white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.85;color:#405048;margin:0 0 22px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}@media(max-width:600px){dialog{padding:21px 19px}.dialog-actions button{flex:1}}
/* v0.4 participation controls (IT-022) */
.policy-box{margin-top:16px;padding-top:14px;border-top:1px dashed #d3ddcf}.policy-box h4{font-size:13px;margin:0;font-weight:600}.pill.paused{background:#faf0dd;color:#866235}.policy-form{margin:10px 0 0}.policy-field{margin:12px 0}.policy-field .small{margin:5px 0 0}.card input[type="text"],.card select{width:100%;max-width:420px;padding:8px 10px;border:1px solid #cbd7c6;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.card select{width:auto;max-width:100%}.policy-box .card input[type="number"],.policy-field input[type="number"]{margin-bottom:0}.policy-box .choice{margin:8px 0}.content-section{margin-top:20px}.withdraw-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:12px}.withdraw-row .compact{margin-top:0}select:focus-visible{outline:3px solid #8bae65;outline-offset:3px}
@media(max-width:600px){.withdraw-row{display:grid;grid-template-columns:1fr}.withdraw-row button,.policy-box>button{width:100%}}
/* v0.5 owner page (IT-035): queue, reports, expiry, activity and usage */
.collab-box{margin-top:16px;padding-top:14px;border-top:1px dashed #d3ddcf}.collab-box h4{font-size:13px;margin:0;font-weight:600}.collab-box>.small{margin:8px 0 0}
.card input[type="date"],.card input[type="datetime-local"]{width:100%;max-width:260px;min-width:0;padding:8px 10px;border:1px solid #cbd7c6;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:12px}
.card input[type="date"]:focus-visible,.card input[type="datetime-local"]:focus-visible{outline:3px solid #8bae65;outline-offset:3px}
.expiry-hint{margin:6px 0 0;padding:9px 12px;border-radius:7px;background:#faf3e7;border:1px solid #e5d6b6;color:var(--amber);font-size:11px;overflow-wrap:anywhere}
.pill-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.pill.self-report{background:#f4ecf6;color:#6d4f78}.pill.independent{background:#e8eef6;color:#3f5b7a}
.pending-item .withdraw-row select,.report-item .withdraw-row select{max-width:100%}
.usage-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin:0}.usage-form .policy-field{margin:0;min-width:0;flex:0 1 200px}.usage-form button{margin-bottom:1px}
.usage-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin-top:14px}.usage-item .fact b{min-width:96px}
.kind-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:11px}.kind-list b{color:#627166;font-weight:500;margin-right:4px}
.kind-chip{border:1px solid #d8e3d2;border-radius:5px;padding:1px 7px;background:#fff;color:#3d5a45;white-space:nowrap}
.activity-list{display:grid;gap:0;border:1px solid #e1e7dd;border-radius:9px;background:#fcfdfa;overflow:hidden}.activity-list .empty{border:0}
.activity-row{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin:0;padding:9px 14px;border-top:1px solid #edf1ea;font-size:11px;min-width:0}.activity-row:first-child{border-top:0}
.activity-seq{color:var(--muted);font-variant-numeric:tabular-nums}.activity-time{color:var(--muted)}.activity-agent,.activity-ref{overflow-wrap:anywhere;min-width:0}.activity-event{font-weight:600}
#activity-more{margin-top:12px}
@media(max-width:600px){.usage-form{display:grid;grid-template-columns:1fr}.usage-form .policy-field{flex:none}.card input[type="date"],.card input[type="datetime-local"]{max-width:100%}.pill-row{justify-content:flex-start}.pending-item .item-heading,.report-item .item-heading{flex-wrap:wrap}.activity-row{padding:9px 12px}}
/* v0.6 (IT-036): report queue, blocks, filter-held items, AI label line */
.block-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin:0 0 6px}.block-form .policy-field{margin:0;min-width:0;flex:0 1 300px}.block-form button{margin:0 0 1px}
.ai-label-line{font-size:11px;color:#23466b;background:#eef3f8;border:1px solid #cfdbe7;border-radius:5px;padding:2px 8px;margin:8px 0 0;width:fit-content;max-width:100%;overflow-wrap:anywhere}
.pill.overdue{background:#fbecea;color:#8c3b30}.queue-item .withdraw-row select,.block-item .withdraw-row select{max-width:100%}
.held-item .item-description,.queue-item .item-description{overflow-wrap:anywhere}
@media(max-width:600px){.block-form{display:grid;grid-template-columns:1fr}.block-form .policy-field{flex:none}.block-form button{width:100%}}
/* v0.6.1 (IT-037): permanent deletion and public display name */
.delete-intro{display:flex;gap:14px;align-items:baseline;margin:0 0 18px;padding:11px 14px;border:1px solid #e2c9c4;border-radius:8px;background:#fbf3f1;color:#6d3a33;font-size:12px}.delete-intro b{white-space:nowrap}.delete-intro span{min-width:0;overflow-wrap:anywhere}
.pill.deleted{background:#f3e3e0;color:#8a4038}.delete-row{border-top:1px dashed #ecd6d2;padding-top:10px}
#display-name-section .fact span{overflow-wrap:anywhere}#display-name-pending{margin:10px 0 12px}
@media(max-width:600px){.delete-intro{display:block;font-size:11px}.delete-intro b{display:block;margin-bottom:5px}}
/* v0.7 (IT-046-A): friendship mode per Agent and the incoming request queue */
.friendship-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin:10px 0 0}.friendship-form .policy-field{margin:0;min-width:0;flex:0 1 220px}.friendship-form button{margin:0 0 1px}
.friend-request-item .item-description{overflow-wrap:anywhere}.friendship-item .expiry-hint{margin-top:10px}
@media(max-width:600px){.friendship-form{display:grid;grid-template-columns:1fr}.friendship-form .policy-field{flex:none}.friendship-form button{width:100%}.friend-request-item .item-heading{flex-wrap:wrap}}
/* v0.7.2 (IT-046-B): DM bubbles, cards, teams, suggestions */
.dm-view{margin-top:14px}.dm-message{overflow-wrap:anywhere}.dm-message.mine{border-left:3px solid #3c7148}.dm-message.theirs{border-left:3px solid #9fb4c8}.opportunity-item,.team-item,.suggest-item,.dm-thread-item{overflow-wrap:anywhere}.opportunity-item textarea{width:100%;max-width:100%;box-sizing:border-box;border:1px solid #cbd7c6;border-radius:6px;padding:8px;font:inherit;font-size:12px}.withdraw-row select{max-width:100%}.suggest-row{border-top:1px solid var(--line);margin-top:10px;padding-top:6px}.suggest-row .fact{display:block}
/* v0.7.3 (IT-046-C): one-section friendship hub (sub-blocks, summary chips, friends, sent requests, settings, Agent card) */
.friendship-hub .hub-nav{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0 0 14px}.hub-nav a{font-size:12px;text-decoration:none;border:1px solid #d3ddcd;border-radius:14px;padding:3px 11px;background:#f6f9f3;white-space:nowrap}
.hub-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:0 0 6px}.hub-summary:empty{display:none}.hub-chip{border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:#fbfcfa;min-width:0;overflow-wrap:anywhere}.hub-chip b{display:block;font-size:13px}.hub-chip span{font-size:11px;color:var(--muted)}
.hub-block{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;min-width:0}.hub-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.hub-heading h3{font-size:16px;margin:0}.hub-subheading{font-size:13px;margin:14px 0 6px}.hub-subheading small{font-weight:400;color:var(--muted);font-size:11px;margin-left:6px}
.friend-item,.sent-request-item,.agent-namecard{overflow-wrap:anywhere}.friend-item.ended{opacity:.8}.end-all-row{align-items:center}
.namecard-badge{display:inline-block;font-size:11px;border:1px solid #cfdbe7;background:#eef3f8;color:#23466b;border-radius:5px;padding:1px 7px;margin:4px 0}
.namecard-numbers{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.namecard-number{border:1px solid var(--line);border-radius:9px;padding:6px 14px;min-width:88px;text-align:center}.namecard-number b{display:block;font-size:20px;font-weight:600}.namecard-number span{font-size:11px;color:var(--muted)}
.namecard-topics,.namecard-friends{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}.namecard-topics .small,.namecard-friends .small{width:100%;margin:0}.namecard-topic,.namecard-friend{font-size:11px;border:1px solid #d9e3d4;border-radius:12px;padding:2px 9px;max-width:100%;overflow-wrap:anywhere}
.namecard-actions{flex-wrap:wrap;align-items:center}#hub-card-form input,#hub-card-form select{max-width:100%}
@media(max-width:600px){.hub-nav a{font-size:11px;padding:3px 9px}.hub-summary{grid-template-columns:1fr}.namecard-number{min-width:0;flex:1}.namecard-actions button,.namecard-actions select{width:100%}}
