*{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:dark;--page:#0a1216;--bg:#101b21;--panel:#172630;--panel2:#1e3240;--line:#223744;--line2:#2f4b5c;--ink:#e2ecf1;--dim:#7d95a1;--mid:#a9c0cb;--gold:#6cbeed;--gold-ink:#0a1216;--ok:#8fd0b2;--okbg:#14281f;--okline:#2e5c47;--src:#8aa7b5;--warn:#d1b06a;--ava-grad:linear-gradient(135deg,#1e3240,#2f4b5c 60%,#6cbeed33);--scrim:rgba(0,0,0,0.45);--shadow:rgba(0,0,0,0.6);--shadow-soft:rgba(0,0,0,0.35)}:root[data-theme=ink-gold]{--page:#0e0c13;--bg:#14121a;--panel:#1d1a26;--panel2:#221d30;--line:#2c2836;--line2:#3a3450;--ink:#e8e4da;--dim:#7f7890;--mid:#b9b2c8;--gold:#c9a95c;--gold-ink:#14121a;--ok:#9fc99f;--okbg:#1a231a;--okline:#3a4a3a;--src:#9a92ad;--warn:#d9b96c;--ava-grad:linear-gradient(135deg,#2a2438,#3a3450 60%,#c9a95c33);--scrim:rgba(0,0,0,0.45);--shadow:rgba(0,0,0,0.6);--shadow-soft:rgba(0,0,0,0.35)}:root[data-theme=morning-mist]{color-scheme:light;--page:#e9f0f2;--bg:#f3f6f6;--panel:#ffffff;--panel2:#e4edf0;--line:#dbe6ea;--line2:#b9cdd4;--ink:#243239;--dim:#65777d;--mid:#43565e;--gold:#315f72;--gold-ink:#ffffff;--ok:#1f6b46;--okbg:#e2f2e9;--okline:#9fcdb4;--src:#5b7683;--warn:#8a6b1f;--ava-grad:linear-gradient(135deg,#dfe9ec,#b9cdd4 60%,#6cbeed55);--scrim:rgba(36,50,57,0.35);--shadow:rgba(49,95,114,0.18);--shadow-soft:rgba(49,95,114,0.18)}:root[data-theme=rosy-dusk]{--page:#120f10;--bg:#181214;--panel:#201a1c;--panel2:#2a2124;--line:#2e2528;--line2:#453539;--ink:#ece2e0;--dim:#94807f;--mid:#c4b0ae;--gold:#bd9391;--gold-ink:#120f10;--ok:#9fc99f;--okbg:#1a231a;--okline:#3a4a3a;--src:#a08f96;--warn:#d9b96c;--ava-grad:linear-gradient(135deg,#2a2124,#453539 60%,#bd939133);--scrim:rgba(0,0,0,0.45);--shadow:rgba(0,0,0,0.6);--shadow-soft:rgba(0,0,0,0.35)}:root[data-theme=cinnabar]{--page:#131015;--bg:#17141a;--panel:#1f1b22;--panel2:#28222c;--line:#2b2530;--line2:#3d3443;--ink:#e8e4da;--dim:#837b8a;--mid:#b5aab8;--gold:#d0553d;--gold-ink:#17141a;--ok:#9fc99f;--okbg:#1a231a;--okline:#3a4a3a;--src:#a292a6;--warn:#d9b96c;--ava-grad:linear-gradient(135deg,#28222c,#3d3443 60%,#d0553d33);--scrim:rgba(0,0,0,0.45);--shadow:rgba(0,0,0,0.6);--shadow-soft:rgba(0,0,0,0.35)}body{font-family:-apple-system,PingFang HK,Noto Sans TC,sans-serif;background:var(--page);color:var(--ink)}.admin-shell{width:100%;max-width:1100px;margin:0 auto;padding:24px;min-height:100dvh;overflow-x:clip}.admin-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.admin-actions,.admin-header>*{min-width:0}.admin-header h1{color:var(--gold);font-size:22px}.admin-card small,.admin-header p{color:var(--dim);font-size:12px}.admin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.admin-actions a{color:var(--gold)}.admin-preferences{display:grid;grid-template-columns:auto minmax(112px,1fr);grid-gap:5px 8px;gap:5px 8px;align-items:center}.admin-preferences label{color:var(--dim);font-size:11px}.admin-preferences select{min-width:0;background:var(--bg);color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:7px 9px}.admin-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0}.admin-card h2{font-size:16px;margin-bottom:14px}.admin-card-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.admin-card-heading h2{margin:0}.admin-tabs{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.admin-tabs button{border:0;border-radius:7px;padding:7px 11px;background:transparent;color:var(--dim);cursor:pointer}.admin-tabs button[aria-selected=true]{background:var(--panel2);color:var(--gold)}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-form label{min-width:0;color:var(--mid);font-size:12px;display:flex;flex-direction:column;gap:5px}.admin-form input,.admin-form select{width:100%;min-width:0;background:var(--bg);color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:9px}.admin-form .admin-check{flex-direction:row;align-items:center}.admin-form button,.admin-row-actions button{border:1px solid var(--line2);border-radius:8px;padding:8px 10px;background:var(--panel2);color:var(--mid);cursor:pointer}.admin-form button{background:var(--gold);color:var(--gold-ink);font-weight:600}.admin-form button:disabled,.admin-row-actions button:disabled{opacity:.45;cursor:default}.admin-error{background:color-mix(in srgb,var(--warn) 14%,var(--panel));border:1px solid var(--warn);color:var(--warn);border-radius:10px;padding:10px 14px}.admin-table-wrap{overflow-x:auto}.admin-card table{border-collapse:collapse;width:100%;font-size:13px}.admin-card td,.admin-card th{border-bottom:1px solid var(--line);padding:9px;text-align:left;vertical-align:top}.admin-card th{color:var(--dim);font-weight:500}.admin-card td small{display:block}.admin-card code{color:var(--src);overflow-wrap:anywhere}.admin-row-actions{display:flex;gap:6px}.usage-detail{display:grid;grid-gap:14px;gap:14px;min-width:0}.usage-detail-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.usage-detail-filters label{min-width:0;color:var(--mid);font-size:12px;display:grid;grid-gap:5px;gap:5px}.usage-detail-filters input,.usage-detail-filters select{width:100%;min-width:0;background:var(--bg);color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:9px}.usage-detail-filter-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.usage-detail-error button,.usage-detail-filter-actions button,.usage-detail-pagination button,.usage-detail-toggle{border:1px solid var(--line2);border-radius:8px;padding:8px 10px;background:var(--panel2);color:var(--mid);cursor:pointer}.usage-detail-filter-actions button:first-child{background:var(--gold);color:var(--gold-ink);font-weight:600}.usage-detail-filter-actions button:disabled,.usage-detail-pagination button:disabled{opacity:.45;cursor:default}.usage-detail-error{display:flex;align-items:center;justify-content:space-between;gap:10px}.usage-estimate{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.usage-estimate>div{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--panel2)}.usage-estimate span{display:block;color:var(--dim);font-size:11px}.usage-estimate strong{display:block;margin-top:5px;color:var(--ink);font-size:16px;overflow-wrap:anywhere}.usage-detail-pagination,.usage-detail-state,.usage-estimate-note{color:var(--dim);font-size:12px}.usage-lower-bound-note{color:var(--warn)}.usage-detail-table-wrap{max-width:100%;border:1px solid var(--line);border-radius:10px}.admin-card .usage-detail-table{min-width:900px}.usage-detail-toggle{white-space:nowrap;padding:6px 8px}.usage-status{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:3px 7px;white-space:nowrap;font-size:11px}.usage-status.is-success{color:var(--ok);border-color:var(--okline);background:var(--okbg)}.usage-status.is-failed{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:color-mix(in srgb,var(--warn) 10%,var(--panel))}.usage-status.is-unknown{color:var(--dim);background:var(--panel2)}.usage-lower-bound{color:var(--warn);font-weight:700}.usage-legacy{color:var(--dim);white-space:nowrap}.admin-card tr.usage-event-row>td{padding:0;background:var(--bg)}.usage-events{display:grid;grid-gap:7px;gap:7px;padding:10px}.usage-event{display:grid;grid-template-columns:80px 120px 90px minmax(130px,1fr) 170px;grid-gap:10px;gap:10px;align-items:center;color:var(--mid);font-size:12px}.usage-event strong{color:var(--ink)}.usage-detail-pagination{display:flex;justify-content:center;align-items:center;min-height:34px}.join-builder{display:grid;grid-gap:12px;gap:12px}.join-safety{color:var(--mid);background:color-mix(in srgb,var(--src) 9%,var(--panel2));border:1px solid color-mix(in srgb,var(--src) 40%,var(--line));border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.55}.join-safety strong{color:var(--ink)}.join-result{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:end}.join-result label{min-width:0;color:var(--mid);font-size:12px;display:grid;grid-gap:5px;gap:5px}.join-result input{width:100%;min-width:0;background:var(--bg);color:var(--ink);padding:9px}.join-result button,.join-result input{border:1px solid var(--line2);border-radius:8px}.join-result button{padding:9px 12px;background:var(--panel2);color:var(--mid);cursor:pointer}.join-copy-status{color:var(--src);font-size:12px}@media (max-width:640px){.admin-shell{padding:14px}.admin-header{flex-direction:column;align-items:stretch}.admin-actions{width:100%;justify-content:space-between}.admin-preferences{width:min(100%,290px)}.admin-form{grid-template-columns:minmax(0,1fr)}.admin-form .admin-check{align-items:flex-start}.admin-form .admin-check input{width:auto;flex:none}.admin-card-heading{align-items:stretch}.admin-tabs{width:100%}.admin-tabs button{flex:1 1}.usage-detail-filters{grid-template-columns:minmax(0,1fr)}.usage-estimate{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-detail-error{align-items:flex-start;flex-direction:column}.join-result{grid-template-columns:minmax(0,1fr)}}.shell{max-width:720px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}header.bar{padding:10px 14px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;position:-webkit-sticky;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}header.bar h1{font-size:15px;font-weight:600;color:var(--gold)}header.bar .sub{font-size:11px;color:var(--dim)}main.log{flex:1 1;padding:14px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.msg{border-radius:12px;padding:10px 14px;line-height:1.65;font-size:15px;white-space:pre-wrap}.msg.player{background:var(--panel2);align-self:flex-end;max-width:85%}.msg.gm{background:var(--panel);border:1px solid var(--line);align-self:stretch}.msg.sys{font-size:12px;color:var(--dim);align-self:center;text-align:center}.receipts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--okline);color:var(--ok);background:var(--okbg);font-family:ui-monospace,monospace}.chip.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,var(--panel))}.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.choices button{font-size:13px;padding:7px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--panel2);color:var(--mid);cursor:pointer;text-align:left}.choices button:hover{background:color-mix(in srgb,var(--panel2) 82%,var(--gold))}form.input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line);position:-webkit-sticky;position:sticky;bottom:0;background:var(--bg)}form.input input{flex:1 1;padding:11px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);font-size:15px;outline:none}form.input button{padding:11px 16px;border-radius:12px;border:none;background:var(--gold);color:var(--gold-ink);font-weight:600;cursor:pointer;font-size:14px}.choices button:disabled,form.input button:disabled{opacity:.45;cursor:default}.endbtn{font-size:12px;padding:5px 10px;border-radius:8px;border:1px solid var(--line2);background:transparent;color:var(--dim);cursor:pointer;white-space:nowrap}a.endbtn{text-decoration:none}header.bar select{font-size:12px;padding:5px 8px;border-radius:8px;border:1px solid var(--line2);background:var(--panel);color:var(--mid)}.language-preferences{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.language-enforcement{display:inline-flex;align-items:center;gap:4px;color:var(--dim);font-size:11px;white-space:nowrap;cursor:pointer}.language-enforcement input{margin:0;accent-color:var(--gold)}.tag{display:inline-block;font-size:10px;color:var(--dim);border:1px solid var(--line);border-radius:6px;padding:0 5px;margin-right:6px;vertical-align:1px}.modes{display:flex;flex:none;border:1px solid var(--line2);border-radius:8px;overflow:hidden}.modes button{font-size:12px;padding:5px 10px;border:none;background:transparent;color:var(--dim);cursor:pointer;white-space:nowrap}.modes button.on{background:var(--gold);color:var(--gold-ink);font-weight:600}.modes button:disabled{opacity:.45;cursor:default}.disclose{font-size:11px;color:var(--dim);text-align:center;padding:0 14px 10px;background:var(--bg)}.credits{font-size:12px;color:var(--gold);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mdbody{white-space:normal;display:block}.mdbody p{margin:0 0 .6em}.mdbody p:last-child{margin-bottom:0}.mdbody h3,.mdbody h4,.mdbody h5{margin:.7em 0 .35em;color:var(--ink);line-height:1.4}.mdbody h3{font-size:16px}.mdbody h4{font-size:15px}.mdbody h5{font-size:14px}.mdbody ol,.mdbody ul{margin:.3em 0 .6em;padding-left:1.4em}.mdbody li{margin:.2em 0}.mdbody code{background:var(--panel2);border-radius:4px;padding:1px 5px;font-size:.9em}.mdbody pre{background:var(--page);border:1px solid var(--line);border-radius:8px;padding:10px 12px;overflow-x:auto;margin:.5em 0}.mdbody pre code{background:none;padding:0}.mdbody blockquote{border-left:3px solid var(--line2);margin:.5em 0;padding:2px 12px;color:var(--mid)}.mdbody hr{border:none;border-top:1px solid var(--line);margin:.8em 0}.mdbody a{color:var(--gold)}.mdbody strong{color:var(--ink)}.msg.thinking{color:var(--src);font-size:13px;display:flex;align-items:center;gap:10px}.dots{display:inline-flex;gap:4px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pulse 1.2s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,60%,to{opacity:.25}30%{opacity:1}}@media (prefers-reduced-motion:reduce){.dots i{animation:none;opacity:.7}}.retrybtn{display:block;margin-top:8px;font-size:12px;padding:5px 14px;border-radius:8px;border:1px solid var(--line2);background:var(--panel2);color:var(--mid);cursor:pointer}.login{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px 24px;text-align:center}.login .logo{font-size:26px;font-weight:500}.login .logo b{color:var(--gold)}.login .tagline{color:var(--mid);font-size:14px;max-width:30ch;line-height:1.6}.login .googlebtn{margin-top:4px;padding:11px 22px;border-radius:12px;border:none;background:var(--gold);color:var(--gold-ink);font-weight:600;font-size:15px;cursor:pointer}.login .fineprint{color:var(--dim);font-size:12px;max-width:34ch;line-height:1.6}.connpanel{border-bottom:1px solid var(--line);background:var(--panel);padding:14px;gap:10px}.connpanel,.connpanel .row{display:flex;flex-direction:column}.connpanel .row{gap:4px}.connpanel label{font-size:11px;color:var(--dim);letter-spacing:.05em}.connpanel input,.connpanel select{padding:9px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--ink);font-size:13px;outline:none}.connpanel .actions{display:flex;gap:8px;flex-wrap:wrap}.connpanel .actions button{font-size:13px;padding:8px 14px;border-radius:10px;cursor:pointer}.connpanel .actions .pri{background:var(--gold);color:var(--gold-ink);border:none;font-weight:600}.connpanel .actions .sec{background:transparent;color:var(--dim);border:1px solid var(--line2)}.connpanel .actions button:disabled{opacity:.45;cursor:default}.connpanel .hint{font-size:11px;color:var(--dim);line-height:1.6}.connpanel .connerr{font-size:12px;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,var(--panel));border-radius:8px;padding:8px 11px}.connpanel .connectA{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:10px 4px 6px}.connpanel .connectA .crest{width:60px;height:60px;border-radius:18px;background:var(--ava-grad);display:grid;place-items:center;font-size:28px}.connpanel .connectA-title{margin:0;font-size:20px;font-weight:600;color:var(--ink);line-height:1.35}.connpanel .connectA-lead{margin:0;font-size:13px;color:var(--mid);line-height:1.7;max-width:28ch}.connpanel .actioncol{display:flex;flex-direction:column;gap:10px;width:100%;max-width:290px;margin-top:2px}.connpanel .presetlbl{font-size:11px;letter-spacing:.05em;color:var(--dim);text-align:left;align-self:flex-start;margin:2px 2px 0}.connpanel .preset{display:flex;align-items:center;gap:11px;width:100%;background:var(--panel2);border:1px solid var(--line2);border-radius:12px;padding:11px 13px;text-align:left;cursor:pointer;color:var(--ink)}.connpanel .preset.single{cursor:default}.connpanel .preset:disabled{cursor:default;opacity:.7}.connpanel .preset.open{border-color:var(--gold)}.connpanel .preset .ic{width:34px;height:34px;border-radius:10px;background:var(--bg);display:grid;place-items:center;font-size:17px;flex:none}.connpanel .preset .presetlabel{min-width:0;flex:1 1}.connpanel .preset .nm{font-size:14px;font-weight:600;color:var(--ink)}.connpanel .preset .nm,.connpanel .preset .sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connpanel .preset .sub{font-size:11px;color:var(--dim);margin-top:1px}.connpanel .preset .chev{margin-left:auto;color:var(--dim);font-size:12px}.connpanel .preset .tag{margin-left:auto;font-size:10px;color:var(--gold);border:1px solid var(--line2);border-radius:999px;padding:1px 8px;flex:none}.connpanel .menu{width:100%;border:1px solid var(--line2);border-radius:12px;background:var(--panel);overflow:hidden;text-align:left}.connpanel .menu .grp{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding:9px 13px 4px}.connpanel .menu .grp.saved{color:var(--gold)}.connpanel .menu .grpline{height:1px;background:var(--line2);margin:2px 0}.connpanel .menu .mi{display:flex;align-items:center;gap:11px;width:100%;padding:9px 13px;border:none;border-top:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;color:var(--ink)}.connpanel .menu .grp+.mi,.connpanel .menu .mi:first-of-type{border-top:none}.connpanel .menu .mi.sel{background:var(--panel2)}.connpanel .menu .mi .ic{width:30px;height:30px;border-radius:9px;background:var(--panel2);display:grid;place-items:center;font-size:15px;flex:none}.connpanel .menu .mi.sel .ic{background:var(--bg)}.connpanel .menu .mi .milabel{min-width:0;flex:1 1}.connpanel .menu .mi .nm{font-size:13.5px;font-weight:600;color:var(--ink)}.connpanel .menu .mi .nm,.connpanel .menu .mi .sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connpanel .menu .mi .sub{font-size:10.5px;color:var(--dim);margin-top:1px}.connpanel .menu .mi .meta{margin-left:auto;font-size:10.5px;color:var(--dim);flex:none;text-align:right}.connpanel .menu .mi .check{margin-left:auto;color:var(--gold);font-size:13px;flex:none}.connpanel .menu .mi.add{color:var(--mid)}.connpanel .menu .mi.add .ic{background:transparent;border:1px dashed var(--line2);color:var(--dim);font-size:16px}.connpanel .menu .mi.add .nm{color:var(--mid)}.connpanel .actioncol .btn{border-radius:12px;padding:12px 16px;font-size:14px;font-weight:600;text-align:center;border:none;cursor:pointer;width:100%}.connpanel .actioncol .btn.pri{background:var(--gold);color:var(--gold-ink)}.connpanel .actioncol .btn:disabled{opacity:.45;cursor:default}.connpanel .actioncol details.adv{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-align:left}.connpanel .actioncol details.adv>summary{list-style:none;cursor:pointer;font-size:12.5px;color:var(--mid);padding:11px 13px;display:flex;align-items:center;gap:7px}.connpanel .actioncol details.adv>summary::-webkit-details-marker{display:none}.connpanel .actioncol details.adv>summary .tw{margin-left:auto;font-size:10px;color:var(--dim)}.connpanel .actioncol details.adv[open]>summary{border-bottom:1px solid var(--line);color:var(--ink);font-weight:600}.connpanel .actioncol details.adv .advbody{padding:12px 13px 14px;display:flex;flex-direction:column;gap:10px}.join-oauth-resume{width:min(100%,560px);margin:4px auto;padding:16px;border:1px solid var(--line2);border-radius:14px;background:var(--panel2);box-shadow:0 10px 28px var(--shadow-soft);display:grid;grid-template-columns:auto 1fr;grid-gap:12px 14px;gap:12px 14px;align-items:start}.join-oauth-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--ava-grad);color:var(--gold);font-size:18px;font-weight:700}.join-oauth-copy{min-width:0}.join-oauth-copy h2{margin:0;color:var(--ink);font-size:16px}.join-oauth-copy p{margin:5px 0 10px;color:var(--mid);font-size:12px;line-height:1.55}.join-oauth-copy dl{margin:0;display:grid;grid-gap:4px;gap:4px}.join-oauth-copy dl div{min-width:0;display:grid;grid-template-columns:54px 1fr;grid-gap:8px;gap:8px;font-size:12px}.join-oauth-copy dt{color:var(--dim)}.join-oauth-copy dd{min-width:0;margin:0;overflow:hidden;color:var(--src);text-overflow:ellipsis;white-space:nowrap}.join-oauth-error{grid-column:1/-1;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--warn) 12%,var(--panel));color:var(--warn);font-size:12px}.join-oauth-resume>button{grid-column:1/-1;width:100%;padding:10px 14px;border:0;border-radius:10px;background:var(--gold);color:var(--gold-ink);cursor:pointer;font:inherit;font-size:13px;font-weight:650}.join-oauth-resume>button:disabled{opacity:.5;cursor:default}.connected-readiness{padding:10px 14px 0;background:var(--bg)}.join-wall{width:min(100%,560px);margin:4px auto;display:grid;grid-gap:12px;gap:12px}.join-wall-head{display:flex;align-items:center;gap:12px}.join-wall-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--ava-grad);color:var(--gold);font-size:22px}.join-wall-head h2{margin:0;color:var(--ink);font-size:17px;line-height:1.3}.join-wall .actions{display:flex;gap:8px;flex-wrap:wrap}.join-wall .actions button{font-size:13px;padding:8px 14px;border-radius:10px;cursor:pointer}.join-wall .actions .pri{background:var(--gold);color:var(--gold-ink);border:none;font-weight:600}.join-wall .actions .sec{background:transparent;color:var(--dim);border:1px solid var(--line2)}.join-wall .actions .ghost{background:transparent;color:var(--dim);border:none;text-decoration:underline;padding:8px 4px}.join-wall .actions button:disabled{opacity:.45;cursor:default}.readonly-banner{width:min(100%,640px);margin:4px auto;padding:12px 14px;display:grid;grid-gap:10px;gap:10px;border:1px solid color-mix(in srgb,var(--warn) 55%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--warn) 8%,var(--panel))}.readonly-banner p{margin:0;color:var(--mid);font-size:13px;line-height:1.55}.readonly-banner .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.readonly-banner .actions .sec{background:transparent;color:var(--ink);border:1px solid var(--line2);font-size:13px;padding:7px 13px;border-radius:10px;cursor:pointer}.readonly-banner .actions .sec:disabled{opacity:.45;cursor:default}.tech-details{margin-top:2px}.tech-details>summary{cursor:pointer;color:var(--dim);font-size:12px;padding:4px 0;list-style:revert}.tech-details[open]>summary{margin-bottom:6px}.instance-readiness-group{margin-top:8px}.instance-readiness-group h4{margin:0 0 5px;color:var(--dim);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.instance-readiness{width:min(100%,640px);margin:4px auto;padding:14px;border:1px solid var(--line2);border-radius:14px;background:color-mix(in srgb,var(--panel2) 82%,var(--bg));color:var(--mid);box-shadow:0 10px 28px var(--shadow-soft);text-align:left}.instance-readiness.is-full{border-color:var(--okline);background:color-mix(in srgb,var(--okbg) 72%,var(--panel))}.instance-readiness.is-ephemeral,.instance-readiness.is-read_only{border-color:color-mix(in srgb,var(--warn) 55%,var(--line))}.instance-readiness.is-unavailable{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 9%,var(--panel))}.instance-readiness-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.instance-readiness-heading>div{min-width:0}.instance-readiness-heading strong{display:block;color:var(--ink);font-size:14px}.instance-readiness-heading div span{display:block;margin-top:2px;overflow-wrap:anywhere;color:var(--src);font:11px/1.45 ui-monospace,monospace}.instance-readiness-mode{flex:none;padding:3px 8px;border:1px solid var(--line2);border-radius:999px;color:var(--gold);background:var(--panel);font-size:10px;font-weight:650}.instance-readiness-primary{margin:9px 0 11px;color:var(--mid);font-size:12px;line-height:1.6}.instance-readiness ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;list-style:none}.instance-readiness ol li{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);grid-column-gap:5px;column-gap:5px;padding:7px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.instance-readiness ol li>span{grid-row:1/span 2;color:var(--dim);font-weight:700}.instance-readiness ol li b{overflow:hidden;color:var(--mid);font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.instance-readiness ol li small{color:var(--dim);font-size:9px}.instance-readiness ol li.is-passed small,.instance-readiness ol li.is-passed>span{color:var(--ok)}.instance-readiness ol li.is-failed{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}.instance-readiness ol li.is-failed small,.instance-readiness ol li.is-failed>span{color:var(--warn)}.instance-readiness-guidance{margin:10px 0 0 18px;color:var(--warn);font-size:11px;line-height:1.55}.instance-readiness-guidance li+li{margin-top:4px}.instance-readiness-tools{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;color:var(--dim);font-size:10px}.scopelist{display:flex;flex-direction:column;gap:6px}.scopebtns{display:flex;flex-wrap:wrap;gap:6px}.scopebtns button{font-size:13px;padding:6px 12px;border-radius:999px;cursor:pointer;border:1px solid var(--line2);background:var(--panel2);color:var(--mid)}.scopebtns button.on{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);font-weight:600}.scopebtns button:disabled{opacity:.45;cursor:default}.login .devbtn{padding:8px 18px;border-radius:10px;border:1px dashed var(--line2);background:transparent;color:var(--src);font-size:13px;cursor:pointer}.chip.src{border-color:var(--line2);color:var(--src);background:var(--panel)}.archive-status{flex:none;max-height:min(34dvh,260px);margin:0 14px 8px;overflow-y:auto;border:1px solid var(--line2);border-radius:14px;background:var(--panel);box-shadow:0 10px 26px var(--shadow-soft)}.archive-status-head{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.archive-status-head>div{min-width:0}.archive-status-head strong{color:var(--ink);font-size:13px}.archive-status-head p,.archive-status-note{margin-top:3px;color:var(--dim);font-size:10px;line-height:1.45}.archive-status-head button,.archive-status-retry{flex:none;padding:6px 9px;border:1px solid var(--line2);border-radius:8px;background:var(--panel2);color:var(--mid);cursor:pointer;font:inherit;font-size:11px}.archive-status-head button:disabled,.archive-status-retry:disabled{opacity:.45;cursor:default}.archive-status-error{margin:9px 12px 0;color:var(--warn);font-size:11px}.archive-status-list{display:grid;grid-gap:8px;gap:8px;padding:9px 10px}.archive-status-item{min-width:0;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.archive-status-item.is-action_required{border-color:color-mix(in srgb,var(--warn) 55%,var(--line))}.archive-status-item.is-synced{border-color:var(--okline);background:color-mix(in srgb,var(--okbg) 55%,var(--bg))}.archive-status-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.archive-status-summary>div{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.archive-status-summary strong{color:var(--mid);font-size:11px;overflow-wrap:anywhere}.archive-status-summary small{flex:none;color:var(--dim);font-size:10px}.archive-status-badge{padding:2px 6px;border:1px solid var(--line2);border-radius:999px;color:var(--gold);font-size:9px}.is-action_required .archive-status-badge{border-color:var(--warn);color:var(--warn)}.is-synced .archive-status-badge{border-color:var(--okline);color:var(--ok)}.archive-status-item>p{margin-top:6px;color:var(--dim);font-size:10px;line-height:1.5}.archive-status-item .archive-status-guidance{color:var(--warn)}.archive-status-receipts{display:grid;grid-gap:5px;gap:5px;margin-top:7px}.archive-status-receipt{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:6px;gap:6px;align-items:center;color:var(--ok);font-size:9px}.archive-status-receipt code{min-width:0;overflow-wrap:anywhere;color:var(--src);font-size:9px}.archive-status-receipt small{color:var(--dim);font:9px ui-monospace,monospace}.archive-status-retry{margin-top:8px;border-color:var(--gold);color:var(--gold)}.archive-status-note{padding:0 12px 10px}@media (max-width:420px){.archive-status{max-height:min(31dvh,230px);margin-inline:12px}.archive-status-head{align-items:stretch}.archive-status-receipt,.archive-status-summary{grid-template-columns:minmax(0,1fr)}.archive-status-summary{align-items:flex-start;flex-direction:column}.archive-status-receipt{display:grid;grid-gap:3px;gap:3px}.archive-status-retry{width:100%;min-height:38px}}.welcome-screen{flex:1 1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:28px 20px}.welcome-screen h2{font-size:20px;font-weight:600;text-align:center}.welcome-sub{font-size:13px;color:var(--mid);text-align:center}.welcome-card{width:min(100%,340px);border:1px solid var(--line2);border-radius:14px;padding:14px;background:var(--panel);box-shadow:0 12px 28px var(--shadow-soft)}.welcome-cover{height:76px;display:grid;place-items:center;border-radius:10px;background:var(--ava-grad);font-size:32px;margin-bottom:12px}.welcome-card h3{font-size:18px;font-weight:700;color:var(--gold)}.welcome-card p{margin:8px 0 12px;color:var(--mid);font-size:13px;line-height:1.6}.welcome-error{margin:0 0 10px;padding:8px 10px;border-radius:8px;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,var(--panel));font-size:12px}.welcome-card button{display:block;width:100%;padding:10px 14px;border:none;border-radius:10px;background:var(--gold);color:var(--gold-ink);font-weight:600;cursor:pointer}.welcome-card button:disabled{opacity:.55;cursor:default}.welcome-foot{padding:10px 14px;border-top:1px solid var(--line);color:var(--dim);font-size:11px;text-align:center}.resume-banner{align-self:stretch;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--panel);color:var(--mid);font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.resume-banner button{border:0;background:transparent;color:var(--gold);font:inherit;font-weight:600;cursor:pointer}.worldmenu{position:relative;flex:none}.worldbtn{display:flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);cursor:pointer;font:inherit}.worldbtn:disabled{opacity:.55;cursor:default}.worldbtn .nm{max-width:30ch;overflow:hidden;text-overflow:ellipsis;color:var(--gold);font-size:14px;font-weight:600;white-space:nowrap}.worldbtn .chev{color:var(--dim);font-size:11px}.world-scrim{position:fixed;inset:0;z-index:20;border:0;background:var(--scrim);cursor:default}.world-dropdown{position:absolute;z-index:21;top:calc(100% + 8px);left:0;width:min(300px,calc(100vw - 28px));max-height:calc(100dvh - 80px);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:14px;background:var(--panel);box-shadow:0 16px 40px var(--shadow)}.world-dd-title{padding:12px 14px 6px;color:var(--dim);font-size:11px;letter-spacing:.08em}.world-list{min-height:0;overflow-y:auto;overscroll-behavior:contain}.world-dd-item{width:100%;min-width:0;display:flex;align-items:center;gap:10px;padding:11px 14px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font:inherit;text-align:left}.world-dd-item.current,.world-dd-item:hover:not(:disabled){background:var(--panel2)}.world-dd-item:disabled{opacity:.45;cursor:default}.world-icon{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:9px;background:var(--panel2);color:var(--gold);font-size:15px}.world-copy{min-width:0;display:flex;flex:1 1;flex-direction:column}.world-name{color:var(--ink);font-size:14px;font-weight:600}.world-name,.world-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-sub{margin-top:1px;color:var(--dim);font-size:11px}.world-dd-item.current .world-name,.world-tick{color:var(--gold)}.world-tick{margin-left:auto;flex:none;font-size:13px}.world-actions{flex:none;border-top:1px solid var(--line2);background:var(--bg)}.world-soon{margin-left:auto;flex:none;padding:1px 7px;border:1px solid var(--line2);border-radius:999px;color:var(--dim);font-size:10px}@media (max-width:420px){header.bar{padding-inline:12px}.worldbtn .nm{max-width:18ch}.connected-readiness{padding-inline:12px}.instance-readiness{padding:12px}.instance-readiness-heading{align-items:stretch;flex-direction:column}.instance-readiness-mode{align-self:flex-start}.instance-readiness ol{grid-template-columns:minmax(0,1fr)}.instance-readiness ol li b{white-space:normal}.instance-readiness-tools{flex-direction:column;gap:4px}}.ingest-layer{position:fixed;inset:0;z-index:30;display:flex;align-items:flex-end;justify-content:center}.ingest-scrim{position:absolute;inset:0;border:0;background:var(--scrim)}.ingest-sheet{position:relative;width:min(720px,100%);padding:16px 16px 18px;border:1px solid var(--line2);border-bottom:0;border-radius:20px 20px 0 0;background:var(--panel);box-shadow:0 -12px 40px var(--shadow)}.ingest-sheet h2{margin:0 0 4px;color:var(--ink);font-size:16px}.ingest-hint{margin:0 0 12px;color:var(--dim);font-size:12px;line-height:1.6}.ingest-field{display:block;margin-bottom:10px}.ingest-field span{display:block;margin-bottom:4px;color:var(--dim);font-size:11px;letter-spacing:.05em}.ingest-field input,.ingest-field textarea{width:100%;padding:9px 12px;border:1px solid var(--line2);border-radius:10px;outline:none;background:var(--bg);color:var(--ink);font:inherit;font-size:13px}.ingest-field input:focus,.ingest-field textarea:focus{border-color:var(--gold)}.ingest-field textarea{height:120px;resize:vertical}.ingest-error{margin-bottom:10px;padding:8px 11px;border-radius:8px;background:color-mix(in srgb,var(--warn) 12%,var(--panel));color:var(--warn);font-size:12px}.ingest-actions{display:flex;gap:8px}.ingest-actions button{padding:10px 16px;border-radius:10px;cursor:pointer;font:inherit;font-size:13.5px;font-weight:600}.ingest-actions button:disabled{opacity:.45;cursor:default}.ingest-actions .sec{border:1px solid var(--line2);background:transparent;color:var(--dim)}.ingest-actions .pri{flex:1 1;border:1px solid var(--gold);background:var(--gold);color:var(--gold-ink)}.endbtn.codex-on{border-color:var(--gold);color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}.view-tabs{display:flex;gap:4px;padding:8px 14px 0;background:var(--bg)}.view-tabs button{flex:1 1;padding:8px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--dim);cursor:pointer;font:inherit;font-size:13px}.view-tabs button.on{border-bottom-color:var(--gold);color:var(--gold);font-weight:600}.codex-main{flex:1 1;min-height:0;overflow-y:auto;background:var(--bg)}.codex-state{margin:24px 14px;padding:18px;border:1px solid var(--line);border-radius:12px;color:var(--dim);text-align:center}.codex-state.error{color:var(--warn)}.codex-state button{display:block;margin:10px auto 0;padding:6px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--panel);color:var(--mid)}.codex-filters{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;gap:7px;padding:10px 14px;overflow-x:auto;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.codex-filters button{flex:none;padding:6px 10px;border:1px solid var(--line2);border-radius:999px;background:var(--panel);color:var(--dim);cursor:pointer;font:inherit;font-size:12px}.codex-filters button.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,var(--panel));color:var(--gold)}.codex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;padding:4px 14px 16px}.codex-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);cursor:pointer;font:inherit;text-align:left}.codex-card.full{grid-column:1/-1}.codex-card.broken{color:var(--dim)}.codex-icon{display:grid;width:38px;height:38px;margin-bottom:8px;place-items:center;border-radius:10px;background:var(--ava-grad);font-size:18px}.codex-card>b{display:block;margin-bottom:8px;overflow:hidden;color:var(--ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.codex-card>small{display:block;font-size:11px;line-height:1.5}.codex-row{display:flex;justify-content:space-between;gap:8px;padding-top:5px;color:var(--mid);font-size:11px}.codex-row strong{color:var(--dim);font-weight:500}.codex-field .missing,.codex-row em{overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.codex-note,.codex-row .missing{color:var(--dim)}.codex-note{margin:0;padding:0 14px 14px;font-size:11px;text-align:center}.codex-detail{padding-bottom:18px}.codex-back{margin:10px 14px;border:0;background:transparent;color:var(--gold);cursor:pointer;font:inherit;font-size:13px}.codex-detail-card{margin:0 14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.codex-cover{display:grid;width:58px;height:58px;place-items:center;border-radius:14px;background:var(--ava-grad);font-size:26px}.codex-detail-card h2{margin:10px 0;color:var(--ink);font-size:19px}.codex-fields{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.codex-field{display:flex;justify-content:space-between;gap:14px;padding:8px 0;color:var(--mid);font-size:12px}.codex-field b{color:var(--dim);font-weight:500}.codex-prose{padding:12px 0;color:var(--mid);font-size:14px;line-height:1.7}.codex-path{overflow-wrap:anywhere;color:var(--dim);font-family:ui-monospace,monospace;font-size:10px}.codex-timeline{position:relative;padding:5px 14px 16px 30px}.codex-timeline:before{position:absolute;top:12px;bottom:24px;left:19px;width:1px;background:var(--line2);content:""}.timeline-event{position:relative;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.timeline-event:before{position:absolute;top:16px;left:-16px;width:9px;height:9px;border:2px solid var(--bg);border-radius:50%;background:var(--gold);content:""}.timeline-event>button{width:100%;padding:12px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.timeline-event>button b,.timeline-event>button span{display:block}.timeline-event>button b{margin:4px 0}.timeline-event>button span:last-child{color:var(--mid);font-size:12px;line-height:1.5}.timeline-date{color:var(--gold)!important;font-size:10px!important}.timeline-related{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px 12px}.timeline-related button{padding:3px 8px;border:1px solid var(--line2);border-radius:999px;background:var(--panel2);color:var(--mid);font-size:11px}.mini-card{width:100%;display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line2);border-radius:11px;background:var(--panel2);color:var(--ink);cursor:pointer;text-align:left}.mini-icon{display:grid;width:34px;height:34px;flex:none;place-items:center;border-radius:9px;background:var(--ava-grad)}.mini-copy{min-width:0;display:flex;flex:1 1;flex-direction:column}.mini-copy b,.mini-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-copy small{color:var(--dim);font-size:10px}.mini-open{flex:none;color:var(--gold);font-size:11px}.codex-fallback{padding:10px 14px 18px}.codex-fallback section{margin-bottom:16px}.codex-fallback h2{margin:0 0 7px;color:var(--dim);font-size:12px;letter-spacing:.06em}.codex-document{display:flex;gap:9px;padding:10px;border-top:1px solid var(--line);background:var(--panel)}.codex-document:first-of-type{border-radius:10px 10px 0 0}.codex-document:last-child{border-radius:0 0 10px 10px}.codex-document div{min-width:0;display:flex;flex-direction:column}.codex-document b,.codex-document small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.codex-document small{color:var(--dim);font-size:10px}@media (max-width:375px){.codex-grid{gap:8px;padding-inline:12px}.codex-card{padding:12px}}