:root{color:var(--ink);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--blue:#06c;--blue-hover:#0071e3;--ink:#1d1d1f;--muted:#6e6e73;--line:#e7e7ea;--canvas:#f5f5f7;--pearl:#fafafc;--page:#fff;--surface:#fff;--surface-muted:#fbfbfc;--soft:#f5f5f7;--soft-blue:#edf6fd;--text-secondary:#5f5f65;--text-tertiary:#8b8b90;--dark-panel:#1d1d1f;--dark-panel-raised:#2b2b2d;--focus-line:#a9ccee;font-family:Segoe UI Variable,HarmonyOS Sans SC,Microsoft YaHei UI,ui-sans-serif,system-ui,sans-serif}:root[data-theme-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f5f5f7;--muted:#b6b6bd;--line:#37373b;--canvas:#161618;--pearl:#1d1d20;--page:#111113;--surface:#1b1b1e;--surface-muted:#232326;--soft:#2a2a2e;--soft-blue:#202d3b;--text-secondary:#c5c5ca;--text-tertiary:#9999a1;--dark-panel:#0d0d0f;--dark-panel-raised:#252529;--focus-line:#557fa8}@media (prefers-color-scheme:dark){:root[data-theme-mode=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f5f5f7;--muted:#b6b6bd;--line:#37373b;--canvas:#161618;--pearl:#1d1d20;--page:#111113;--surface:#1b1b1e;--surface-muted:#232326;--soft:#2a2a2e;--soft-blue:#202d3b;--text-secondary:#c5c5ca;--text-tertiary:#9999a1;--dark-panel:#0d0d0f;--dark-panel-raised:#252529;--focus-line:#557fa8}}*{box-sizing:border-box}body{background:var(--page);min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea{-webkit-tap-highlight-color:transparent}.ai-assistant{z-index:60;font-family:var(--font-family,inherit);flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.ai-assistant-fab{background:var(--blue,#2f6bff);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .15s,background .15s;display:inline-flex;box-shadow:0 10px 30px #0f172a47}.ai-assistant-fab:hover{background:var(--blue-hover,#2456d6);transform:translateY(-2px)}.ai-assistant-panel{background:var(--surface,#fff);width:min(380px,100vw - 32px);height:min(560px,100vh - 120px);color:var(--ink,#0f172a);border:1px solid var(--line,#0f172a1f);border-radius:var(--border-radius,16px);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 60px #0f172a4d}.ai-assistant-header{border-bottom:1px solid var(--line,#0f172a1f);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ai-assistant-title{color:var(--blue,#2f6bff);align-items:center;gap:10px;display:flex}.ai-assistant-title strong{color:var(--ink,#0f172a);font-size:.95rem;display:block}.ai-assistant-title small{color:var(--muted,#64748b);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.75rem;display:block;overflow:hidden}.ai-assistant-close{color:var(--muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px;display:inline-flex}.ai-assistant-close:hover{background:var(--surface-muted,#0f172a0f)}.ai-assistant-body{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.ai-assistant-empty{text-align:center;color:var(--muted,#64748b);flex-direction:column;align-items:center;gap:10px;margin:auto;padding:12px;display:flex}.ai-assistant-empty p{margin:0;font-size:.85rem;line-height:1.5}.ai-assistant-notice{text-align:center;color:var(--muted,#64748b);margin:auto;padding:12px;font-size:.85rem;line-height:1.6}.ai-assistant-login{background:var(--blue,#2f6bff);color:#fff;cursor:pointer;border:none;border-radius:999px;margin-top:10px;padding:6px 14px;font-size:.82rem;display:inline-block}.ai-assistant-message{display:flex}.ai-assistant-message.user{justify-content:flex-end}.ai-assistant-message.assistant{justify-content:flex-start}.ai-assistant-bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;max-width:82%;padding:9px 13px;font-size:.88rem;line-height:1.55}.ai-assistant-message.user .ai-assistant-bubble{background:var(--blue,#2f6bff);color:#fff;border-bottom-right-radius:4px}.ai-assistant-message.assistant .ai-assistant-bubble{background:var(--surface-muted,#0f172a0f);color:var(--ink,#0f172a);border-bottom-left-radius:4px}.ai-assistant-error{color:#dc2626;text-align:center;font-size:.8rem}.ai-assistant-composer{border-top:1px solid var(--line,#0f172a1f);gap:8px;padding:12px;display:flex}.ai-assistant-composer textarea{resize:none;border:1px solid var(--line,#0f172a24);font:inherit;background:var(--canvas,#fff);color:var(--ink,#0f172a);border-radius:10px;flex:1;padding:8px 10px;font-size:.88rem}.ai-assistant-composer textarea:focus{border-color:var(--blue,#2f6bff);outline:none}.ai-assistant-composer button{background:var(--blue,#2f6bff);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-self:flex-end;align-items:center;width:40px;height:40px;display:inline-flex}.ai-assistant-composer button:disabled{opacity:.5;cursor:not-allowed}.report-dialog{width:min(420px,100%);color:var(--ink);background:var(--surface,#fff);border:1px solid var(--line);border-radius:18px;padding:28px;position:relative;box-shadow:0 25px 80px #00000038}.report-dialog h2{align-items:center;gap:8px;margin:0 0 6px;font-size:20px;display:flex}.report-dialog .report-target{color:var(--text-tertiary,#77777d);text-overflow:ellipsis;white-space:nowrap;margin:0 0 18px;font-size:12px;overflow:hidden}.report-reasons{border:0;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;padding:0;display:grid}.report-reasons legend{color:var(--text-tertiary,#77777d);margin-bottom:8px;padding:0;font-size:12px}.report-reasons label{cursor:pointer;border:1px solid var(--line);border-radius:8px;align-items:center;gap:6px;padding:9px 12px;font-size:13px;display:flex}.report-reasons label.active{border-color:var(--ink);background:var(--surface-strong,#0000000a)}.report-reasons input{accent-color:var(--ink)}.report-detail{width:100%;min-height:84px;font:inherit;color:var(--ink);background:var(--surface,#fff);border:1px solid var(--line);resize:vertical;box-sizing:border-box;border-radius:8px;padding:10px 12px;font-size:13px}.report-error{color:#d64545;margin-top:10px;font-size:12px}.report-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.report-actions button{cursor:pointer;border-radius:8px;height:38px;padding:0 18px;font-size:13px}.report-cancel{color:var(--ink);border:1px solid var(--line);background:0 0}.report-submit{color:var(--surface);background:var(--ink,#1d1d1f);border:1px solid var(--ink,#1d1d1f)}.report-actions button:disabled{opacity:.6;cursor:default}.admin-backdrop{background:var(--page,#f7f8f7);z-index:1200;justify-content:center;align-items:stretch;padding:0;display:flex;position:fixed;inset:0}.admin-shell{background:var(--page,#f7f8f7);grid-template-columns:232px minmax(0,1fr);width:100%;max-width:1680px;height:100%;display:grid;position:relative;overflow:hidden}.admin-nav{background:color-mix(in srgb, var(--surface,#fff) 82%, var(--page,#f7f8f7));border-right:1px solid var(--line,#e5e5ea);flex-direction:column;gap:4px;padding:28px 16px;display:flex;overflow-y:auto}.admin-nav-title{letter-spacing:-.02em;color:var(--ink,#1d1d1f);padding:3px 12px 20px;font-size:15px;font-weight:680}.admin-nav button{width:100%;min-height:44px;color:var(--ink,#1d1d1f);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:560;transition:color .18s,background-color .18s,transform .18s;display:flex}.admin-nav button:hover{background:var(--soft,#edf1ef)}.admin-nav button:active{transform:translateY(1px)scale(.985)}.admin-nav button.active{background:var(--soft-blue,#e3f0eb);color:var(--blue,#267d68)}.admin-main{background:var(--page,#f7f8f7);flex-direction:column;min-width:0;display:flex;overflow:hidden}.admin-header{border-bottom:1px solid var(--line,#e5e5ea);justify-content:space-between;align-items:center;gap:16px;min-height:92px;padding:24px clamp(24px,3.2vw,52px) 18px;display:flex}.admin-header h2{letter-spacing:-.03em;margin:0;font-size:24px}.admin-header p{color:var(--muted,#86868b);margin:4px 0 0;font-size:13px}.admin-close{cursor:pointer;color:var(--muted,#86868b);background:0 0;border:0;border-radius:10px;place-items:center;width:40px;height:40px;padding:0;display:grid}.admin-close:hover{background:var(--surface-muted,#f5f5f7)}.admin-body{flex:1;padding:28px clamp(24px,3.2vw,52px) 44px;overflow-y:auto}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;display:flex}.admin-search{border:1px solid var(--line,#e5e5ea);background:var(--surface,#fff);border-radius:10px;flex:1;align-items:center;gap:8px;min-width:180px;min-height:42px;padding:9px 13px;display:flex}.admin-search input{color:inherit;background:0 0;border:0;outline:0;flex:1;font-size:14px}.admin-stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.admin-stat{border:1px solid var(--line,#e5e5ea);background:var(--surface,#fff);border-radius:12px;padding:16px}.admin-stat .value{font-size:28px;font-weight:700;line-height:1.1}.admin-stat .label{color:var(--muted,#86868b);margin-top:6px;font-size:13px}.admin-substats{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.admin-chip{background:var(--surface-muted,#f5f5f7);border:1px solid var(--line,#e5e5ea);border-radius:999px;padding:5px 10px;font-size:12px}.admin-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line,#e5e5ea);vertical-align:middle;padding:14px 12px}.admin-table th{color:var(--muted,#86868b);letter-spacing:0;white-space:nowrap;font-size:12px;font-weight:600}.admin-table tbody tr{transition:background-color .16s}.admin-table tbody tr:hover{background:color-mix(in srgb, var(--soft-blue,#e3f0eb) 48%, transparent)}.admin-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.admin-muted{color:var(--text-tertiary)}.admin-badge{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:2px 8px;font-size:11px;display:inline-flex}.admin-badge.ok{background:color-mix(in srgb, #35a653 15%, var(--surface));color:color-mix(in srgb, #35a653 82%, var(--ink))}.admin-badge.warn{background:color-mix(in srgb, #d19a3e 16%, var(--surface));color:color-mix(in srgb, #b97812 82%, var(--ink))}.admin-badge.danger{background:color-mix(in srgb, #d64545 15%, var(--surface));color:color-mix(in srgb, #d64545 82%, var(--ink))}.admin-badge.muted{background:var(--surface-muted,#f5f5f7);color:var(--muted,#86868b)}.admin-btn{border:1px solid var(--line,#e5e5ea);background:var(--surface,#fff);min-height:34px;color:var(--ink,#1d1d1f);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px}.admin-btn:hover{background:var(--surface-muted,#f5f5f7)}.admin-btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn.primary{background:var(--blue,#06c);border-color:var(--blue,#06c);color:#fff}.admin-btn.danger{color:#d64545;border-color:color-mix(in srgb, #d64545 42%, var(--line))}.admin-btn.danger:hover{background:color-mix(in srgb, #d64545 12%, var(--surface))}.admin-inline-confirm{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.admin-inline-confirm input{border:1px solid var(--line,#e5e5ea);background:var(--surface,#fff);color:inherit;border-radius:7px;padding:5px 8px;font-size:12px}.admin-pagination{color:var(--muted,#86868b);justify-content:flex-end;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.admin-empty,.admin-loading,.admin-error{text-align:center;color:var(--muted,#86868b);padding:40px 12px;font-size:14px}.admin-error{color:#b42318}.admin-notice{background:color-mix(in srgb, #35a653 13%, var(--surface));border:1px solid color-mix(in srgb, #35a653 34%, var(--line));color:color-mix(in srgb, #35a653 82%, var(--ink));word-break:break-all;border-radius:10px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}.admin-toolbar-note{color:var(--muted,#86868b);font-size:12px}.admin-userstats{margin-top:24px}.admin-userstats .admin-stat-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.admin-chart{border:1px solid var(--line,#e5e5ea);background:var(--surface,#fff);border-radius:12px;margin:20px 0 0;padding:16px}.admin-chart figcaption{letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#86868b);margin-bottom:14px;font-size:12px;font-weight:600}.admin-vbars{align-items:flex-end;gap:6px;height:140px;display:flex}.admin-vbar{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.admin-vbar-track{flex:1;align-items:flex-end;width:100%;min-height:0;display:flex}.admin-vbar-fill{background:var(--blue,#06c);border-radius:4px 4px 0 0;width:100%;min-height:2px}.admin-vbar-label{color:var(--muted,#86868b);white-space:nowrap;transform-origin:50%;font-size:10px;transform:rotate(-45deg)}.admin-hbars{flex-direction:column;gap:10px;display:flex}.admin-hbar{align-items:center;gap:10px;font-size:12px;display:flex}.admin-hbar-name{width:44px;color:var(--muted,#86868b);flex-shrink:0}.admin-hbar-track{background:var(--surface-muted,#f5f5f7);border-radius:7px;flex:1;height:14px;overflow:hidden}.admin-hbar-fill{background:var(--blue,#06c);border-radius:7px;min-width:2px;height:100%}.admin-hbar-value{text-align:right;font-variant-numeric:tabular-nums;width:40px}.admin-review-list{flex-direction:column;gap:14px;display:flex}.admin-review-card{border:1px solid var(--line,#e5e5ea);background:var(--surface,#fff);border-radius:12px;padding:16px}.admin-review-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-review-head strong{font-size:15px;display:block}.admin-review-head small{color:var(--muted,#86868b)}.admin-review-summary{margin:10px 0;font-size:14px}.admin-review-detail{margin-bottom:10px;font-size:13px}.admin-review-detail summary{cursor:pointer;color:var(--blue,#06c)}.admin-review-detail p{color:var(--ink,#1d1d1f);margin:8px 0}.admin-review-meta{flex-wrap:wrap;gap:8px;display:flex}.admin-review-links{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.admin-review-links .admin-btn{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.admin-review-reason{resize:vertical;border:1px solid var(--line,#e5e5ea);background:var(--surface,#fff);width:100%;min-height:60px;color:inherit;font:inherit;border-radius:8px;padding:8px 10px;font-size:13px}.admin-review-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}@media (width<=720px){.admin-shell{grid-template-columns:1fr}.admin-nav{border-right:0;border-bottom:1px solid var(--line,#e5e5ea);flex-direction:row;padding:10px 14px;overflow-x:auto}.admin-nav-title{display:none}.admin-nav button{white-space:nowrap;width:auto}.admin-header{min-height:76px;padding:18px 18px 14px}.admin-header h2{font-size:21px}.admin-header p{text-overflow:ellipsis;white-space:nowrap;max-width:72vw;overflow:hidden}.admin-body{padding:22px 18px 36px}.admin-table{min-width:760px}.admin-body:has(.admin-table){overflow-x:auto}}.ak-backdrop{z-index:1200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ak-shell{background:var(--surface,#fff);width:min(680px,100%);max-height:min(86vh,760px);color:var(--ink,#0f172a);border:1px solid var(--line,#94a3b859);border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 64px #0f172a47}.ak-header{border-bottom:1px solid var(--line,#94a3b840);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 12px;display:flex}.ak-header h2{margin:0;font-size:1.15rem}.ak-header p{color:var(--text-secondary,#64748b);margin:6px 0 0;font-size:.82rem;line-height:1.5}.ak-close{width:34px;height:34px;color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ak-close:hover{background:var(--surface-muted,#94a3b829)}.ak-body{padding:16px 24px 24px;overflow-y:auto}.ak-notice{background:#fbbf2424;border:1px solid #d9770666;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:.85rem;display:flex}.ak-notice-key{word-break:break-all;flex:240px;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.ak-warning{color:#b45309;width:100%;font-weight:600;display:block}.ak-form{gap:10px;margin-bottom:14px;display:flex}.ak-form input{border:1px solid var(--line,#94a3b880);background:var(--surface,#fff);min-width:0;color:inherit;border-radius:10px;flex:1;padding:9px 12px;font-size:.9rem}.ak-btn{border:1px solid var(--line,#94a3b880);background:var(--surface,#fff);color:inherit;cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:9px 14px;font-size:.85rem;display:inline-flex}.ak-btn:hover:not(:disabled){background:var(--surface-muted,#94a3b824)}.ak-btn:disabled{opacity:.55;cursor:not-allowed}.ak-btn.primary{background:var(--blue,#2563eb);border-color:var(--blue,#2563eb);color:#fff}.ak-btn.danger{color:#dc2626;border-color:#dc262680}.ak-btn.danger:hover:not(:disabled){background:#dc26261a}.ak-error{color:#dc2626;background:#dc26261f;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:.85rem}.ak-hint{color:var(--text-secondary,#64748b);margin:0 0 16px;font-size:.8rem;line-height:1.6}.ak-hint code{background:var(--surface-muted,#94a3b829);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ak-state{text-align:center;color:var(--text-secondary,#64748b);padding:28px 0;font-size:.88rem}.ak-list{flex-direction:column;gap:10px;display:flex}.ak-row{border:1px solid var(--line,#94a3b847);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.ak-row-main{flex:1;min-width:0}.ak-row-name{font-size:.92rem;font-weight:600}.ak-row-meta{color:var(--text-secondary,#64748b);margin-top:3px;font-size:.78rem}.ak-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ak-badge{border-radius:999px;flex:none;padding:2px 9px;font-size:.72rem}.ak-badge.ok{color:#15803d;background:#16a34a26}.ak-badge.revoked{color:#64748b;background:#94a3b833}.ak-confirm{align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.oad-backdrop{z-index:60;background:#1d1d1f80;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.oad-sheet{width:min(920px,100%);max-height:calc(100vh - 48px);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:18px;outline:none;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 28px 80px #00000047}.oad-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:26px clamp(20px,4vw,40px);display:flex}.oad-eyebrow{color:var(--blue);letter-spacing:1.2px;text-transform:uppercase;font-size:10px;display:none}.oad-header h2{color:var(--ink);margin:0 0 8px;font-size:26px;font-weight:600}.oad-header>div>p{max-width:560px;color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.oad-close{width:36px;height:36px;color:var(--muted);background:var(--surface);border:1px solid var(--line);flex:none;place-items:center;display:grid}.oad-close:hover{color:var(--blue);border-color:var(--blue)}.oad-body{padding:8px clamp(20px,4vw,40px) 36px;overflow:auto}.oad-highlights{grid-template-columns:1.15fr 1fr;gap:14px;margin:24px 0 12px;display:grid}.oad-highlight{background:var(--surface-muted);border:1px solid var(--line);border-radius:12px;padding:16px}.oad-highlight:first-child{grid-row:span 2}.oad-highlight svg{color:var(--blue)}.oad-highlight strong{color:var(--ink);margin:10px 0 5px;font-size:14px;display:block}.oad-highlight p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.65}.oad-section{border-top:1px solid var(--line);margin-top:30px;padding-top:30px}.oad-section h3{color:var(--ink);align-items:center;gap:8px;margin:0 0 14px;font-size:19px;font-weight:600;display:flex}.oad-section h3 svg{color:var(--blue)}.oad-section p{color:var(--text-secondary);font-size:13px;line-height:1.75}.oad-note{color:var(--text-tertiary)!important;font-size:12px!important}.oad-section code{color:var(--blue);background:color-mix(in srgb, var(--blue) 12%, transparent);padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em}.oad-callout{background:color-mix(in srgb, var(--blue) 8%, transparent);border:1px solid color-mix(in srgb, var(--blue) 35%, var(--line));border-radius:10px;margin:16px 0;padding:14px 16px}.oad-callout strong{color:var(--ink);margin-bottom:6px;font-size:13px;display:block}.oad-callout p{margin:0;font-size:12px;line-height:1.7}.oad-callout code{background:color-mix(in srgb, var(--blue) 16%, transparent)}.oad-flow{grid-template-columns:repeat(5,1fr);gap:10px;margin:6px 0 14px;padding:0;list-style:none;display:grid}.oad-flow li{background:var(--surface-muted);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.oad-flow li>span{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:grid}.oad-flow strong{color:var(--ink);font-size:13px;display:block}.oad-flow small{color:var(--text-tertiary);margin-top:3px;font-size:10px;line-height:1.4;display:block}.oad-endpoint{border-top:1px dashed var(--line);margin-top:20px;padding-top:18px}.oad-endpoint:first-of-type{border-top:0;padding-top:0}.oad-endpoint-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.oad-endpoint-head code{color:var(--ink);background:0 0;padding:0;font-size:13px;font-weight:500}.oad-method{color:#fff;background:var(--blue);letter-spacing:.4px;border-radius:4px;flex:none;padding:3px 8px;font-family:ui-monospace,monospace;font-size:11px;font-weight:600}.oad-method.sm{padding:2px 6px;font-size:10px}.oad-code{background:var(--dark-panel,#1d1d1f);border-radius:6px;margin:12px 0;overflow:hidden}.oad-code-head{color:#9b9ba2;background:var(--dark-panel-raised,#2b2b2d);justify-content:space-between;align-items:center;min-height:34px;padding:0 12px;font-size:11px;display:flex}.oad-copy{color:#a8a8ad;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-size:11px;display:inline-flex}.oad-copy:hover{color:#fff}.oad-code pre{color:#d8dee9;white-space:pre;margin:0;padding:16px 18px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.7;overflow:auto}.oad-table-wrap{overflow-x:auto}.oad-table{border-collapse:collapse;width:100%;font-size:12px}.oad-table th,.oad-table td{border:1px solid var(--line);text-align:left;color:var(--text-secondary);vertical-align:top;padding:9px 12px}.oad-table th{color:var(--ink);background:var(--surface-muted);font-weight:600}.oad-table code{color:var(--ink);background:0 0;padding:0}@media (width<=760px){.oad-backdrop{padding:0}.oad-sheet{border:0;width:100%;height:100vh;max-height:100vh}.oad-header{padding:20px}.oad-header h2{font-size:22px}.oad-body{padding:4px 20px 32px}.oad-highlights{grid-template-columns:1fr}.oad-highlight:first-child{grid-row:auto}.oad-flow{grid-template-columns:1fr}}@property --af-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.avatar-frame-preset,.avatar-frame-custom{pointer-events:none;border-radius:50%;display:block;position:absolute;inset:-16%}.avatar-frame-custom img,.avatar-frame-preset img{object-fit:contain;width:100%;height:100%;display:block}.avatar-frame-preset.af-botanical{border-radius:0;inset:-30%}.avatar-frame-preset.af-botanical:after{content:"";z-index:2;pointer-events:none;clip-path:polygon(9% 68%,20% 64%,28% 57%,38% 63%,45% 66%,50% 63%,55% 66%,62% 63%,72% 57%,80% 64%,91% 68%,89% 83%,64% 83%,50% 85%,36% 83%,11% 83%);background:url(/avatar-frame-botanical.gif) 50%/contain no-repeat;position:absolute;inset:0}.avatar-frame-preset.af-botanical img{filter:none}.level-avatar:has(.avatar-frame-preset.af-botanical){isolation:isolate;box-shadow:none;animation:none}.level-avatar:has(.avatar-frame-preset.af-botanical) .level-avatar-inner{border-radius:50%;width:86%;height:86%;transform:translateY(-8%)}:is(.level-avatar:has(.avatar-frame-preset) .level-avatar-inner,.level-avatar:has(.avatar-frame-custom) .level-avatar-inner){border-radius:50%}.avatar-frame-preset{--af-c1:#6aa8ff;--af-c2:#a98bff;--af-c3:#7ff0ff;--af-star:#fff;--af-glyph:#fff;--af-ring-width:8%}.af-ring{background:conic-gradient(from var(--af-angle), var(--af-c1), var(--af-c2), var(--af-c3), var(--af-c2), var(--af-c1));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--af-ring-width)), #000 calc(100% - var(--af-ring-width) + .5px));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--af-ring-width)), #000 calc(100% - var(--af-ring-width) + .5px));mask:radial-gradient(farthest-side, transparent calc(100% - var(--af-ring-width)), #000 calc(100% - var(--af-ring-width) + .5px));border-radius:50%;animation:9s linear infinite af-spin;position:absolute;inset:0}.af-halo{box-shadow:0 0 8px 1px color-mix(in srgb, var(--af-c2) 55%, transparent);border-radius:50%;animation:3.4s ease-in-out infinite af-halo;position:absolute;inset:6%}.af-stars{animation:16s linear infinite reverse af-spin;position:absolute;inset:0}.af-stars i{display:block;position:absolute;inset:0}.af-stars i:before{content:"";background:var(--af-star);width:12%;height:12%;box-shadow:0 0 4px 1px color-mix(in srgb, var(--af-star) 70%, transparent);border-radius:50%;animation:2.2s ease-in-out infinite af-twinkle;position:absolute;top:-2%;left:50%;transform:translate(-50%)}.af-stars i:nth-child(2):before{animation-delay:.5s}.af-stars i:nth-child(3):before{animation-delay:1s}.af-stars i:nth-child(4):before{animation-delay:1.5s}.af-stars i:nth-child(5):before{animation-delay:.8s}.af-stars i:nth-child(6):before{animation-delay:1.3s}.af-badge{min-width:34%;height:30%;color:var(--af-glyph);background:color-mix(in srgb, var(--af-c1) 78%, #1a1030 22%);box-shadow:0 1px 4px #00000059, inset 0 0 4px color-mix(in srgb, var(--af-c3) 60%, transparent);border-radius:999px;place-items:center;padding:0 2%;font-size:62%;line-height:1;display:grid;position:absolute;top:-9%;left:50%;transform:translate(-50%)}@keyframes af-spin{to{--af-angle:360deg}}@keyframes af-halo{0%,to{box-shadow:0 0 6px 0 color-mix(in srgb, var(--af-c2) 40%, transparent)}50%{box-shadow:0 0 12px 3px color-mix(in srgb, var(--af-c2) 70%, transparent)}}@keyframes af-twinkle{0%,to{opacity:.35;transform:translate(-50%)scale(.7)}50%{opacity:1;transform:translate(-50%)scale(1.15)}}.af-sm .af-badge{font-size:52%}.af-lg .af-badge{font-size:66%}.af-zodiac-aries{--af-c1:#ff7a4d;--af-c2:#ff4d6d;--af-c3:#ffd24d;--af-star:#ffe6b0;--af-glyph:#fff}.af-zodiac-leo{--af-c1:#ffb03a;--af-c2:#ff6a3d;--af-c3:#ffe98a;--af-star:#fff2c4;--af-glyph:#fff}.af-zodiac-sagittarius{--af-c1:#ff6a5b;--af-c2:#c04dff;--af-c3:#ffcf6a;--af-star:#ffd9c2;--af-glyph:#fff}.af-zodiac-taurus{--af-c1:#6ac48a;--af-c2:#b9a15a;--af-c3:#d8f0b0;--af-star:#eafbd0;--af-glyph:#143a24}.af-zodiac-virgo{--af-c1:#8fd6a6;--af-c2:#4fae86;--af-c3:#e3f3c8;--af-star:#f0ffe0;--af-glyph:#123a2c}.af-zodiac-capricorn{--af-c1:#b7a06a;--af-c2:#6f7d55;--af-c3:#e6d59a;--af-star:#f4ecc8;--af-glyph:#241a06}.af-zodiac-gemini{--af-c1:#7ad0ff;--af-c2:#a98bff;--af-c3:#d6f2ff;--af-star:#eaf6ff;--af-glyph:#10233a}.af-zodiac-libra{--af-c1:#ff9ec7;--af-c2:#9db4ff;--af-c3:#ffe1ef;--af-star:#fff0f6;--af-glyph:#2a1030}.af-zodiac-aquarius{--af-c1:#5bd0e6;--af-c2:#6a7dff;--af-c3:#c2f4ff;--af-star:#e6fbff;--af-glyph:#0d2340}.af-zodiac-cancer{--af-c1:#8fb8ff;--af-c2:#b6c6e0;--af-c3:#e2ecff;--af-star:#f2f7ff;--af-glyph:#14243f}.af-zodiac-scorpio{--af-c1:#6a5bff;--af-c2:#c04dff;--af-c3:#8fd0ff;--af-star:#e0d6ff;--af-glyph:#fff}.af-zodiac-pisces{--af-c1:#4fd6c4;--af-c2:#6a9bff;--af-c3:#bff5ea;--af-star:#e6fff9;--af-glyph:#0d3340}@media (prefers-reduced-motion:reduce){.af-ring,.af-stars,.af-halo,.af-stars i:before{animation:none}.af-ring{--af-angle:45deg}}.user-profile-modal{width:min(760px,100%);max-height:min(86vh,720px);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 80px #00000047}.user-profile-modal .modal-close{z-index:2;color:var(--text-secondary);background:0 0;border:0;position:absolute;top:14px;right:14px}.user-profile-head{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:32px 30px 24px;display:flex}.user-profile-identity{min-width:0}.user-profile-name-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.user-profile-name-row h2{margin:0;font-size:24px;line-height:1.2}.user-profile-joined{color:var(--text-tertiary);align-items:center;gap:6px;margin-top:8px;font-size:12px;display:inline-flex}.user-profile-body{padding:22px 30px 30px;overflow:auto}.user-profile-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px;display:grid}.user-profile-stat{background:var(--canvas,#7f7f7f0f);border:1px solid var(--line);border-radius:12px;padding:16px 14px}.user-profile-stat strong{align-items:center;gap:7px;font-size:22px;display:flex}.user-profile-stat span{color:var(--text-tertiary);margin-top:5px;font-size:11px;display:block}.user-profile-section-title{color:var(--text-secondary);letter-spacing:.4px;text-transform:uppercase;margin:0 0 14px;font-size:12px}.user-profile-projects{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.user-profile-project{text-align:left;color:inherit;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;gap:8px;padding:15px;transition:border-color .15s,transform .15s;display:flex}.user-profile-project:hover{border-color:var(--blue);transform:translateY(-2px)}.user-profile-project strong{font-size:14px}.user-profile-project p{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.user-profile-project-meta{color:var(--text-tertiary);flex-wrap:wrap;gap:14px;margin-top:auto;font-size:10px;display:flex}.user-profile-project-meta span{align-items:center;gap:4px;display:inline-flex}.user-profile-state{text-align:center;color:var(--text-secondary);padding:40px 10px;font-size:13px}.author-profile-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.author-profile-link:hover{color:var(--blue)}.author-profile-link.avatar-link{border-radius:8px}@media (width<=640px){.user-profile-head{text-align:center;flex-direction:column;padding-inline:20px}.user-profile-body{padding-inline:20px}.user-profile-projects,.user-profile-stats{grid-template-columns:1fr}}.avatar-frame-picker{overscroll-behavior:contain;width:min(620px,94vw);max-height:min(760px,90vh);color:var(--ink,#1a1a1a);background:var(--surface,#fff);border:1px solid var(--line);border-radius:20px;padding:30px;position:relative;overflow-y:auto;box-shadow:0 30px 80px -34px #0000008c}.avatar-frame-picker-title{letter-spacing:-.025em;margin:0 48px 5px 0;font-size:1.45rem}.avatar-frame-picker-hint{max-width:50ch;color:var(--text-secondary);margin:0 48px 20px 0;font-size:.84rem;line-height:1.65}.avatar-frame-picker-error{color:#d83a42;background:color-mix(in srgb, #d83a42 10%, var(--surface));border:1px solid color-mix(in srgb, #d83a42 30%, var(--line));border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:.82rem}.avatar-picker-section{background:color-mix(in srgb, var(--surface-muted) 68%, var(--surface));border:1px solid var(--line);border-radius:14px;padding:18px}.avatar-picker-section+.avatar-picker-section{margin-top:14px}.avatar-picker-section-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;display:flex}.avatar-picker-section-head.compact{margin-bottom:12px}.avatar-picker-section-head h3{margin:0;font-size:.95rem}.avatar-picker-section-head p{color:var(--text-tertiary);margin:4px 0 0;font-size:.72rem}.avatar-picker-actions{flex-wrap:wrap;gap:9px;display:flex}.avatar-frame-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:13px;display:grid}.avatar-frame-option{min-height:106px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:12px 8px;font-size:.76rem;display:flex}.avatar-frame-option:hover:not(:disabled){color:var(--ink);border-color:color-mix(in srgb, var(--blue) 44%, var(--line));background:color-mix(in srgb, var(--soft-blue) 48%, var(--surface))}.avatar-frame-option.selected{color:var(--blue);border-color:var(--blue);background:var(--soft-blue);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 30%, transparent)}.avatar-frame-upload,.avatar-reset-button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 15px;font-size:.8rem;font-weight:620;display:inline-flex}.avatar-frame-upload{color:#fff;background:var(--blue,#247c68);border:1px solid var(--blue,#247c68)}.avatar-frame-upload.secondary{color:var(--blue);background:var(--surface);border-color:color-mix(in srgb, var(--blue) 55%, var(--line))}.avatar-reset-button{color:var(--text-secondary);border:1px solid var(--line);background:0 0}.avatar-frame-upload:hover,.avatar-reset-button:hover:not(:disabled){transform:translateY(-1px)}.avatar-frame-upload.secondary:hover{background:var(--soft-blue)}.avatar-reset-button:hover:not(:disabled){color:#d83a42;border-color:color-mix(in srgb, #d83a42 48%, var(--line))}.avatar-frame-upload.busy{opacity:.65;cursor:progress}.avatar-frame-upload input{display:none}@media (width<=560px){.avatar-frame-picker{border-radius:16px;width:100%;max-height:88vh;padding:24px 18px 20px}.avatar-frame-grid{grid-template-columns:1fr 1fr}.avatar-picker-section{padding:15px}}.article-content.reader-surface{max-width:var(--reader-max-width,650px);font-family:var(--reader-font-family,inherit)}.article-content.reader-surface p,.article-content.reader-surface li{font-size:var(--reader-font-size,14px);line-height:var(--reader-line-height,1.8)}.article-content.reader-surface ul,.article-content.reader-surface ol{line-height:var(--reader-line-height,1.8)}.article-content.reader-surface pre,.article-content.reader-surface pre code,.article-content.reader-surface :not(pre)>code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.article-content.reader-surface :not(pre)>code{font-size:.9em}.reader-settings{display:inline-flex;position:relative}.reader-settings .tool-button.is-active{color:var(--blue)}.reader-settings-popover{z-index:30;width:min(272px,100vw - 32px);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 38px #00000029}.reader-settings-head{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.reader-settings-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:0;place-items:center;padding:2px;display:inline-grid}.reader-settings-close:hover{color:var(--blue)}.reader-setting-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px;display:flex}.reader-setting-label{color:var(--text-secondary);flex:none;font-size:11px}.reader-segment{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:2px;display:inline-flex}.reader-segment button{min-width:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.4;transition:background .16s,color .16s}.reader-segment button:hover{color:var(--ink)}.reader-segment button.active{color:#fff;background:var(--blue)}.reader-settings-reset{color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-top:3px;padding:5px 0;font-size:11px;display:inline-flex}.reader-settings-reset:disabled{color:var(--text-tertiary);cursor:default}.doc-outline button.is-current{color:var(--blue);font-weight:600}.doc-outline button.is-current:before{content:"";background:var(--blue);border-radius:2px;width:3px;height:14px;position:absolute;top:50%;left:-13px;transform:translateY(-50%)}.doc-outline button{position:relative}.reader-progress{z-index:45;pointer-events:none;background:0 0;height:3px;position:fixed;top:0;left:0;right:0}.reader-progress-fill{background:var(--blue);height:100%;box-shadow:0 0 6px color-mix(in srgb, var(--blue) 55%, transparent);transition:width .12s linear;display:block}.reader-back-to-top{z-index:30;width:42px;height:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line);opacity:0;pointer-events:none;cursor:pointer;border-radius:50%;place-items:center;transition:opacity .2s,transform .2s,color .16s,border-color .16s;display:grid;position:fixed;bottom:clamp(20px,5vw,44px);right:clamp(16px,4vw,40px);transform:translateY(12px);box-shadow:0 8px 22px #00000029}.reader-back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.reader-back-to-top:hover{color:var(--blue);border-color:var(--focus-line)}.reader-pager{max-width:var(--reader-max-width,650px);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;margin:40px auto 0;padding-top:22px;display:grid}.reader-pager-link{color:var(--text-secondary);background:var(--surface);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:12px 14px;transition:border-color .16s,color .16s,background .16s;display:flex}.reader-pager-link.next{text-align:right;justify-content:flex-end}.reader-pager-link:hover{color:var(--blue);border-color:var(--focus-line);background:color-mix(in srgb, var(--blue) 6%, var(--surface))}.reader-pager-link span{flex-direction:column;gap:3px;min-width:0;display:flex}.reader-pager-link small{color:var(--text-tertiary);font-size:10px}.reader-pager-link strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.reader-pager-link:hover strong{color:var(--blue)}.reader-pager-spacer{display:block}@media (width<=560px){.reader-pager{grid-template-columns:1fr}.reader-pager-spacer{display:none}}@media (prefers-reduced-motion:reduce){.reader-progress-fill,.reader-back-to-top,.reader-pager-link,.reader-segment button{transition:none}}.article-toolbar .article-revision-meta{color:var(--text-tertiary,#77777d);align-items:center;gap:6px;font-size:12px;display:inline-flex}#root{min-height:100vh}.app-shell{background:var(--page);min-height:100vh;overflow:hidden}.site-header{border-bottom:1px solid var(--line);background:var(--surface);z-index:20;align-items:center;gap:36px;height:72px;padding:0 clamp(20px,4vw,64px);display:flex;position:sticky;top:0}.brand{text-align:left;color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;min-width:206px;padding:0;display:flex}.brand strong{letter-spacing:0;font-size:15px;display:block}.brand small{color:#99999f;letter-spacing:1px;margin-top:3px;font-size:8px;display:block}.brand-mark{color:#fff;background:var(--ink);place-items:center;width:32px;height:32px;font-size:16px;font-weight:700;display:grid}.brand-mark.large{width:42px;height:42px;margin:0 auto 18px;font-size:20px}.main-nav{flex:1;align-items:center;gap:26px;display:flex}.main-nav button,.back-button,.detail-tabs button{color:var(--muted);background:0 0;border:0;padding:8px 0;font-size:13px}.main-nav button.active,.main-nav button:hover{color:var(--ink)}.main-nav button.active{font-weight:600;position:relative}.main-nav button.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-5px;left:0;right:0}.header-actions{align-items:center;gap:10px;display:flex}.global-search{color:#8d8d93;border:1px solid var(--line);cursor:pointer;text-align:left;background:#fbfbfc;align-items:center;gap:8px;width:min(270px,25vw);height:38px;padding:0 10px;display:flex}.global-search:hover{border-color:var(--ink);color:var(--ink)}.global-search-placeholder{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.global-search kbd{color:#a7a7ad;white-space:nowrap;font-size:10px}.icon-button{width:36px;height:36px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--line);place-items:center;display:inline-grid}.icon-button:hover,.icon-button.saved{color:var(--blue);border-color:var(--focus-line);background:var(--soft-blue)}.icon-button.quiet{background:0 0;border-color:#0000}.login-button,.primary-button,.outline-button,.text-button,.tool-button,.filter-chip,.filter-more,.new-comment-button,.provider-button,.email-login{white-space:nowrap;border:0;justify-content:center;align-items:center;gap:7px;font-size:12px;display:inline-flex}.login-button{height:36px;color:var(--surface);background:var(--ink);padding:0 12px}.admin-entry-button{height:36px;color:var(--blue);background:var(--soft-blue);border:1px solid var(--focus-line);white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:600;display:inline-flex}.primary-button{color:#fff;background:var(--blue);min-height:42px;padding:0 17px}.primary-button:hover{background:var(--blue-hover)}.primary-button.small{min-height:34px;padding:0 12px}.outline-button{min-height:36px;color:var(--ink);border:1px solid var(--line);background:var(--surface);padding:0 13px}.outline-button:hover,.outline-button.is-saved{color:var(--blue);border-color:#a9ccee}.text-button{color:var(--blue);background:0 0;padding:5px 0}.text-button:hover{color:var(--blue-hover)}.mobile-only{display:none}.hero-band{background:var(--canvas);grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);align-items:center;gap:clamp(35px,7vw,120px);min-height:500px;padding:72px clamp(20px,8vw,130px) 70px;display:grid}.hero-copy{max-width:600px}.eyebrow,.section-kicker,.meta-label{color:#7a7a80;letter-spacing:1.3px;text-transform:uppercase;font-size:10px;font-weight:600}.eyebrow{align-items:center;gap:8px;display:inline-flex}.status-dot{background:#2fb344;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #2fb3441f}.hero-copy h1{letter-spacing:0;margin:22px 0 18px;font-size:clamp(48px,6vw,80px);font-weight:600;line-height:1.02}.hero-copy h1 em{color:var(--blue);font-style:normal}.hero-copy>p{color:#5f5f65;max-width:480px;margin-bottom:28px;font-size:16px;line-height:1.7}.hero-actions{align-items:center;gap:22px;display:flex}.hero-visual{color:#fff;background:#1d1d1f;min-height:330px;padding:18px;position:relative;overflow:hidden}.visual-topline,.visual-footer{color:#a8a8ad;letter-spacing:1.1px;justify-content:space-between;font-size:9px;display:flex}.visual-footer{position:absolute;bottom:18px;left:18px;right:18px}.signal-grid{background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:64px 34px}.signal-line{transform-origin:0;opacity:.8;background:#2997ff;height:1px;position:absolute}.line-one{width:34%;top:28%;left:20%;transform:rotate(17deg)}.line-two{width:37%;top:53%;left:45%;transform:rotate(-14deg)}.line-three{background:#8a72ff;width:44%;top:70%;left:25%;transform:rotate(-35deg)}.signal-node{z-index:2;background:#2a2a2c;border:1px solid #55555a;align-content:center;place-items:center;gap:3px;width:62px;height:62px;display:grid;position:absolute}.signal-node span{color:#fff;font-size:22px;font-weight:600}.signal-node small{color:#99999f;letter-spacing:.8px;font-size:7px}.node-a{top:16%;left:9%}.node-b{border-color:#2997ff;top:35%;left:43%}.node-c{top:24%;right:6%}.node-d{border-color:#8a72ff;bottom:7%;left:24%}.metrics-strip{border-bottom:1px solid var(--line);align-items:center;gap:48px;padding:22px clamp(20px,8vw,130px);display:flex}.metrics-strip>div:not(.metrics-note){flex-direction:column;gap:3px;display:flex}.metrics-strip strong{font-size:20px;font-weight:600}.metrics-strip span{color:#8a8a90;font-size:10px}.metrics-note{color:var(--blue);align-items:center;gap:8px;margin-left:auto;font-size:11px;display:flex}.content-section{max-width:1280px;margin:0 auto;padding:78px clamp(20px,5vw,72px)}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.section-heading h2,.editorial-band h2,.compact-section h2{color:var(--ink);letter-spacing:0;margin:8px 0 0;font-size:32px;font-weight:600}.filter-row{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:24px;display:flex}.filter-chip,.filter-more{color:#6e6e73;border:1px solid var(--line);background:#fff;height:32px;padding:0 11px}.filter-more{border-color:#0000;margin-left:auto}.filter-more:hover{color:var(--blue)}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.project-card{border:1px solid var(--line);background:#fff;min-width:0;transition:transform .2s,border-color .2s}.project-card:hover{border-color:#b9cfe2;transform:translateY(-4px)}.project-cover{aspect-ratio:1.25;color:#fff;border:0;width:100%;position:relative;overflow:hidden}.cover-orbit{aspect-ratio:1;border:1px solid #fff6;border-radius:50%;position:absolute}.orbit-one{width:160%;top:-42%;left:-22%}.orbit-two{border-color:#ffffffa6;width:110%;top:6%;left:17%}.orbit-three{border-color:#ffffff40;width:54%;top:26%;left:40%}.cover-monogram{color:#ffffffe6;font-size:68px;font-weight:600;line-height:.8;position:absolute;bottom:18px;left:20px}.cover-index{letter-spacing:1px;color:#ffffffb3;font-size:9px;position:absolute;top:16px;right:16px}.card-title-row{justify-content:space-between;gap:8px;display:flex}.project-category{color:#8d8d93;text-transform:uppercase;letter-spacing:.8px;font-size:10px}.project-card h3{margin:5px 0 8px;font-size:18px}.project-card h3 button{color:var(--ink);background:0 0;border:0;padding:0;font-weight:600}.project-card h3 button:hover{color:var(--blue)}.project-card-body>p{color:#67676c;min-height:44px;font-size:12px;line-height:1.55}.tag-row{gap:6px;min-height:22px;margin-top:12px;display:flex}.tag-row span{color:#606066;background:#f5f5f7;padding:3px 7px;font-size:9px}.card-footer{color:#7e7e84;border-top:1px solid #f0f0f2;gap:12px;margin-top:14px;padding-top:14px;font-size:10px;display:flex}.card-footer span{align-items:center;gap:4px;display:inline-flex}.card-updated{margin-left:auto}.empty-state{text-align:center;color:var(--muted);border:1px dashed #d7d7db;padding:70px 20px}.empty-state h3{color:var(--ink);margin:12px 0 4px}.empty-state p{font-size:13px}.editorial-band{color:#fff;background:#1d1d1f;grid-template-columns:1fr 1fr;gap:80px;padding:76px clamp(20px,8vw,130px);display:grid}.editorial-band h2{color:#fff;max-width:440px;font-size:38px}.editorial-band>div:first-child>p{color:#a8a8ad;max-width:450px;margin-top:18px;font-size:14px;line-height:1.7}.editorial-quote{border-left:1px solid #5a5a60;align-self:end;padding-left:26px}.editorial-quote p{max-width:360px;margin:14px 0;font-size:20px;line-height:1.4}.editorial-quote span{color:#a8a8ad;font-size:11px}.compact-section{padding-bottom:90px}.curated-row{grid-template-columns:1fr 1fr;align-items:center;gap:38px;display:grid}.curated-cover{color:#fff;min-height:230px;padding:22px;position:relative;overflow:hidden}.cover-blue{background:#244e78}.curated-cover:after{content:"↗";color:#ffffff38;font-size:90px;line-height:1;position:absolute;bottom:12px;right:24px}.cover-label{letter-spacing:1.2px;font-size:9px}.curated-cover>span:last-child{font-size:30px;font-weight:600;line-height:1.05;position:absolute;bottom:18px;left:22px}.curated-copy .meta-label{color:var(--blue)}.curated-copy h3{margin:12px 0;font-size:25px}.curated-copy p{max-width:420px;color:var(--muted);margin-bottom:18px;font-size:14px;line-height:1.7}.site-footer{color:#8b8b90;border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:24px clamp(20px,5vw,72px);font-size:10px;display:flex}.gateway-state{align-items:center;gap:6px;display:inline-flex}.gateway-state-dot{background:#a1a1a6;border-radius:50%;width:6px;height:6px}.gateway-state.online{color:#278744}.gateway-state.online .gateway-state-dot{background:#35a653;box-shadow:0 0 0 3px #35a65324}.gateway-state.offline{color:var(--text-tertiary)}.gateway-state.offline .gateway-state-dot{background:#d19a3e}.catalog-notice{min-height:34px;color:var(--text-tertiary);align-items:center;gap:8px;margin:-8px 0 18px;font-size:10px;display:flex}.catalog-notice.checking .gateway-state-dot{animation:1.2s ease-in-out infinite pulse}.catalog-notice.offline{color:#a36c18}.catalog-notice.offline .gateway-state-dot{background:#d19a3e}.detail-sync-state{max-width:1280px;min-height:34px;color:var(--text-tertiary);align-items:center;gap:8px;margin:0 auto;padding:0 clamp(20px,5vw,72px);font-size:10px;display:flex}.detail-sync-state.checking .gateway-state-dot{animation:1.2s ease-in-out infinite pulse}.detail-sync-state.offline{color:#a36c18}.detail-sync-state.offline .gateway-state-dot{background:#d19a3e}@keyframes pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.detail-page{background:var(--canvas);min-height:calc(100vh - 72px)}.detail-topbar{align-items:center;gap:12px;max-width:1280px;margin:0 auto;padding:24px clamp(20px,5vw,72px) 0;display:flex}.back-button{align-items:center;gap:7px;display:inline-flex}.breadcrumb{color:#a2a2a7;font-size:11px}.detail-intro{grid-template-columns:84px minmax(0,1fr) auto;align-items:start;gap:24px;max-width:1280px;margin:0 auto;padding:42px clamp(20px,5vw,72px) 36px;display:grid}.detail-mark{aspect-ratio:1;color:#fff;place-items:center;width:84px;font-size:46px;font-weight:600;display:grid}.detail-copy h1{letter-spacing:0;margin:9px 0 10px;font-size:46px}.detail-copy>p{color:#626268;max-width:700px;font-size:15px;line-height:1.65}.detail-meta{color:#6e6e73;flex-wrap:wrap;gap:18px;margin-top:19px;font-size:11px;display:flex}.detail-meta span{align-items:center;gap:6px;display:inline-flex}.detail-actions{gap:8px;display:flex}.detail-stats{border-top:1px solid #dedee2;border-bottom:1px solid #dedee2;gap:52px;max-width:1280px;margin:0 auto;padding:18px clamp(20px,5vw,72px);display:flex}.detail-stats div{flex-direction:column;gap:2px;display:flex}.detail-stats strong{font-size:17px}.detail-stats span{color:#8b8b90;font-size:10px}.detail-tabs{border-bottom:1px solid #dedee2;gap:28px;max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,72px);display:flex}.detail-tabs button{padding:18px 0 15px;position:relative}.detail-tabs button.active{color:var(--ink);font-weight:600}.detail-tabs button.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-1px;left:0;right:0}.doc-workspace{background:#fff;grid-template-columns:220px minmax(0,1fr) 280px;max-width:1280px;min-height:670px;margin:0 auto;display:grid}.doc-sidebar,.comments-sidebar{background:#fbfbfc;padding:22px 17px}.doc-sidebar{border-right:1px solid var(--line)}.comments-sidebar{border-left:1px solid var(--line)}.sidebar-heading,.comments-heading,.article-toolbar,.source-head{justify-content:space-between;align-items:center;display:flex}.sidebar-heading{color:#89898f;padding-bottom:17px;font-size:11px}.doc-project-label{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:13px 0 20px;display:flex}.mini-mark{color:#fff;background:var(--blue);place-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:grid}.doc-project-label strong,.doc-project-label small{display:block}.doc-project-label strong{font-size:11px}.doc-project-label small{color:#99999f;margin-top:3px;font-size:9px}.doc-tree{padding-top:16px}.tree-item{color:#707076;text-align:left;background:0 0;border:0;align-items:center;gap:7px;width:100%;min-height:34px;padding:0 6px;font-size:11px;display:flex}.tree-item.active{color:var(--blue);background:#eaf3fc}.tree-item.indent{padding-left:27px}.sidebar-bottom{border-top:1px solid var(--line);margin-top:80px;padding-top:17px}.sidebar-bottom p{color:#7b7b81;align-items:center;gap:7px;margin-top:9px;font-size:10px;display:flex}.document-article{min-width:0;padding:24px clamp(24px,4vw,62px) 70px;position:relative}.article-toolbar{border-bottom:1px solid #f0f0f2;padding-bottom:20px}.tool-button{color:#77777d;background:0 0;align-items:center;gap:4px;padding:5px 7px;text-decoration:none;display:inline-flex}.tool-button:hover{color:var(--blue)}.article-content{max-width:650px;margin:34px auto 0}.article-content h1{margin:0 0 18px;font-size:38px}.article-content h2{margin:36px 0 10px;font-size:22px}.article-content p{color:#57575d;font-size:14px;line-height:1.8}.article-content .article-lead{color:#515157;font-size:17px;line-height:1.65}.callout{color:#3f6288;border-left:3px solid var(--blue);background:#edf6ff;gap:11px;margin:27px 0;padding:15px;display:flex}.callout strong{color:var(--ink);margin-bottom:3px;font-size:12px;display:block}.callout p{color:#59708a;font-size:11px}.code-block{color:#d8dee9;background:#1d1d1f;margin:22px 0;overflow:hidden}.code-head,.source-head{color:#9b9ba2;background:#2b2b2d;min-height:34px;padding:0 12px;font-size:10px}.code-copy{color:#a8a8ad;background:0 0;border:0}.code-block pre,.source-code{margin:0;padding:17px 19px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.75;overflow:auto}.code-purple{color:#c59bff}.code-green{color:#98d3a7}.code-orange{color:#e6a66b}.code-blue{color:#8bc4ff}.workflow-preview{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px;margin:22px 0;display:grid}.workflow-node{border:1px solid var(--line);background:#fafafc;min-width:0;padding:12px 10px}.workflow-node.active{background:#f0f7fd;border-color:#9dc5e8}.workflow-node span,.workflow-node small{color:#8c8c92;font-size:9px;display:block}.workflow-node strong{margin:5px 0 3px;font-size:11px;display:block}.workflow-arrow{color:#9a9aa0}.inline-command{color:#3f4145;background:#f4f4f6;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 14px;font-family:ui-monospace,monospace;font-size:12px;display:flex}.inline-command button{color:#77777d;background:0 0;border:0}.selection-composer{z-index:5;background:#fff;border:1px solid #a9ccee;margin:24px auto 0;padding:14px;position:sticky;bottom:18px;box-shadow:0 12px 28px #0000001a}.composer-quote{color:#526d88;background:#f0f7fd;padding:9px 11px;font-size:11px;line-height:1.5}.selection-composer textarea{resize:vertical;width:100%;min-height:78px;color:var(--ink);border:1px solid var(--line);outline:0;margin-top:10px;padding:10px;font-size:12px}.selection-composer textarea:focus{border-color:#8fbee5}.composer-actions{justify-content:flex-end;align-items:center;gap:14px;margin-top:9px;display:flex}.comments-heading h3{margin:7px 0 0;font-size:17px}.comments-heading h3 span{color:#99999f;font-size:11px;font-weight:400}.new-comment-button{width:100%;height:35px;color:var(--blue);background:#f1f7fd;border:1px solid #a9ccee;margin:22px 0 16px}.comment-list{flex-direction:column;gap:11px;display:flex}.comment-card{border:1px solid var(--line);background:#fff;padding:13px}.comment-card.resolved{opacity:.72}.comment-card-head{align-items:center;gap:8px;display:flex}.avatar{color:#fff;background:var(--ink);place-items:center;display:inline-grid}.small-avatar{width:26px;height:26px;font-size:10px}.comment-card-head strong,.comment-card-head small{display:block}.comment-card-head strong{font-size:11px}.comment-card-head small{color:#99999f;margin-top:2px;font-size:9px}.resolved-icon{color:#35a653;margin-left:auto}.comment-more{color:#99999f;background:0 0;border:0;place-items:center;margin-left:auto;display:grid}.comment-quote{color:#54718e;text-align:left;background:0 0;border:0;width:100%;margin:13px 0 8px;padding:0;font-size:10px;line-height:1.5;display:block}.comment-card p{color:#66666c;margin:0;font-size:11px;line-height:1.6}.comment-actions{gap:13px;margin-top:11px;display:flex}.comment-actions button{color:var(--blue);background:0 0;border:0;padding:0;font-size:10px}.resolved-label{color:#35a653;margin-top:10px;font-size:10px;display:inline-block}.realtime-note{color:#7b7b81;align-items:center;gap:7px;margin-top:30px;font-size:10px;display:flex}.doc-outline{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.doc-outline .meta-label{margin-bottom:8px;display:block}.doc-outline button{color:#77777d;text-align:left;background:0 0;border:0;width:100%;padding:5px 4px;font-size:10px;line-height:1.4;display:block}.doc-outline button:hover{color:var(--blue)}.doc-outline button.indent{padding-left:15px}.document-sync-state{color:#65707a;background:#f5f7f9;align-items:center;gap:8px;max-width:650px;margin:18px auto -14px;padding:9px 11px;font-size:11px;display:flex}.document-sync-state.offline{color:#8a5b23;background:#fff7e8}.article-content h1,.article-content h2,.article-content h3{scroll-margin-top:24px}.article-content h3{margin:28px 0 8px;font-size:17px}.article-content ul,.article-content ol{color:var(--text-secondary);padding-left:22px;font-size:14px;line-height:1.8}.article-content table{border-collapse:collapse;width:100%;margin:20px 0;font-size:12px}.article-content th,.article-content td{border:1px solid var(--line);text-align:left;padding:9px 11px}.article-content blockquote{color:var(--text-secondary);border-left:3px solid var(--blue);margin:22px 0;padding:2px 16px}.article-content :not(pre)>code{color:#8b3d59;background:#f4f0f2;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.article-content pre{color:#d8dee9;background:#1d1d1f;margin:22px 0;padding:17px 19px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.75;overflow:auto}.article-content pre code{background:0 0}.article-content .hljs-keyword,.article-content .hljs-built_in{color:#c59bff}.article-content .hljs-string{color:#98d3a7}.article-content .hljs-number,.article-content .hljs-literal{color:#e6a66b}.article-content .hljs-title,.article-content .hljs-function{color:#8bc4ff}.overview-view,.download-view,.code-view{background:#fff;grid-template-columns:1fr 1fr;gap:70px;max-width:1280px;min-height:580px;margin:0 auto;padding:76px clamp(20px,8vw,130px);display:grid}.overview-main h2,.download-intro h2{max-width:530px;margin:12px 0 16px;font-size:35px;line-height:1.15}.overview-main>p,.download-intro>p{color:#66666b;max-width:510px;font-size:14px;line-height:1.75}.feature-list{flex-direction:column;gap:11px;margin:26px 0;display:flex}.feature-list div{color:#5f5f65;align-items:center;gap:8px;font-size:12px;display:flex}.feature-list svg{color:var(--blue)}.overview-visual{color:#fff;min-height:320px;padding:18px}.overview-lines{flex-direction:column;gap:17px;margin:60px 20px 40px;display:flex}.overview-lines span{border-bottom:1px solid #ffffff59;padding:12px;font-family:ui-monospace,monospace;font-size:13px}.overview-bottom{color:#ffffffb3;justify-content:space-between;font-size:10px;display:flex}.download-view{grid-template-columns:.8fr 1.2fr}.resource-list{flex-direction:column;gap:10px;display:flex}.resource-row{border:1px solid var(--line);grid-template-columns:38px 1fr 54px 36px;align-items:center;gap:12px;padding:15px;display:grid}.resource-icon{width:36px;height:36px;color:var(--blue);background:#eef6fd;place-items:center;display:grid}.resource-row strong,.resource-row small{display:block}.resource-row strong{font-size:12px}.resource-row small{color:#8b8b90;margin-top:4px;font-size:10px}.resource-row>span{color:#98989e;font-size:10px}.code-view{grid-template-columns:245px 1fr;padding:0}.file-tree{border-right:1px solid var(--line);padding:24px 16px}.file-item{color:#65656b;text-align:left;background:0 0;border:0;grid-template-columns:18px 1fr auto;align-items:center;gap:5px;width:100%;min-height:37px;padding:0 7px;font-size:11px;display:grid}.file-item.active{color:var(--blue);background:#edf6fd}.file-item small{color:#a1a1a6;font-size:9px}.file-tree-note{color:#8b8b90;border-top:1px solid var(--line);gap:8px;margin-top:40px;padding-top:16px;font-size:10px;display:flex}.source-panel{min-width:0;padding:24px}.source-code{color:#4c4c53;background:#fff;min-height:430px;padding:20px 0;font-size:13px;line-height:2}.line-number{color:#b7b7bc;text-align:right;-webkit-user-select:none;user-select:none;width:32px;margin-right:17px;display:inline-block}.toast{z-index:40;color:#fff;background:#1d1d1f;align-items:center;gap:8px;padding:11px 15px;font-size:12px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 9px 25px #00000029}.toast svg{color:#68d27d}.modal-backdrop{z-index:50;background:#1d1d1f73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.login-modal{width:min(390px,100%);color:var(--ink);text-align:center;background:#fff;padding:35px;position:relative;box-shadow:0 25px 80px #00000038}.modal-close{position:absolute;top:14px;right:14px}.login-modal h2{margin:0 0 9px;font-size:24px}.login-modal>p{color:#77777d;margin-bottom:24px;font-size:12px;line-height:1.6}.provider-button,.email-login{width:100%;height:42px;margin-top:9px}.provider-button{color:#fff;justify-content:flex-start;padding:0 14px}.provider-button svg:last-child{margin-left:auto}.provider-button.github{background:#24292f}.provider-button.wechat{color:#1f793d;background:#eaf7ee}.wechat-icon{color:#fff;background:#35b85c;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.login-divider{color:#aaaab0;align-items:center;gap:12px;margin:22px 0 7px;font-size:11px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.email-login{color:var(--ink);border:1px solid var(--line);background:#fff}.login-modal>small{color:#a2a2a7;margin-top:20px;font-size:10px;display:block}@media (width<=1080px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-band{grid-template-columns:1fr 1fr;padding-inline:6vw}.doc-workspace{grid-template-columns:190px minmax(0,1fr) 250px}}@media (width<=760px){.site-header{gap:10px;height:62px;padding-inline:16px}.brand{flex:1;min-width:0}.brand small{display:none}.main-nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:2px;padding:12px 16px;display:none;position:absolute;top:62px;left:0;right:0}.main-nav.is-open{display:flex}.main-nav button{text-align:left;padding:12px}.main-nav button.active:after{display:none}.global-search{background:0 0;border-color:#0000;justify-content:center;width:38px;padding:0}.global-search-placeholder,.global-search kbd{display:none}.login-button{padding:0 9px}.admin-entry-button{width:36px;padding:0}.admin-entry-button span{display:none}.mobile-only{display:inline-grid}.hero-band{grid-template-columns:1fr;gap:40px;min-height:auto;padding:58px 20px 42px}.hero-copy h1{font-size:52px}.hero-visual{min-height:270px}.metrics-strip{flex-wrap:wrap;gap:21px 28px;padding:20px}.metrics-note{border-top:1px solid var(--line);width:100%;margin-left:0;padding-top:14px}.content-section{padding:54px 20px}.section-heading h2,.editorial-band h2,.compact-section h2{font-size:28px}.project-grid{grid-template-columns:1fr}.filter-more{margin-left:0}.editorial-band,.curated-row,.overview-view,.download-view{grid-template-columns:1fr;gap:32px}.editorial-band{padding:56px 20px}.curated-cover{min-height:200px}.site-footer{flex-direction:column;padding:20px}.detail-intro{grid-template-columns:58px 1fr;gap:14px;padding-top:30px}.detail-mark{width:58px;font-size:30px}.detail-copy h1{font-size:34px}.detail-copy>p{font-size:13px}.detail-actions{grid-column:1/-1;padding-top:8px}.detail-stats{gap:24px;padding-inline:20px;overflow:auto}.detail-tabs{gap:20px;padding-inline:20px;overflow:auto}.doc-workspace{display:block}.doc-sidebar{display:none}.comments-sidebar{border-top:1px solid var(--line);border-left:0}.document-article{padding:20px 20px 45px}.article-content h1{font-size:32px}.article-content .article-lead{font-size:15px}.workflow-preview{gap:4px}.workflow-node{padding:9px 5px}.workflow-node strong{font-size:10px}.workflow-arrow{font-size:12px}.comments-sidebar{padding:20px}.overview-view,.download-view{padding:48px 20px}.code-view{display:block}.file-tree{border-right:0;border-bottom:1px solid var(--line)}.source-panel{padding:20px}.resource-row{grid-template-columns:34px 1fr 30px 30px;gap:8px}.resource-row>span{display:none}}.app-shell{color:var(--ink);background:var(--page)}.site-header{background:color-mix(in srgb, var(--surface) 96%, transparent)}.brand,.main-nav button,.back-button,.detail-tabs button,.project-card h3 button{color:var(--ink)}.brand small,.project-category,.section-kicker,.meta-label,.eyebrow{color:var(--text-tertiary)}.global-search,.outline-button,.filter-chip,.filter-more,.email-login{color:var(--ink);background:var(--surface);border-color:var(--line)}.global-search{color:var(--text-tertiary)}.global-search-placeholder,.selection-composer textarea{color:var(--ink)}.icon-button{color:var(--muted);background:var(--surface);border-color:var(--line)}.icon-button.quiet{background:0 0}.icon-button:hover,.icon-button.saved,.outline-button:hover,.outline-button.is-saved{background:var(--soft-blue);border-color:var(--focus-line)}.hero-band,.detail-page{background:var(--canvas)}.hero-copy>p,.detail-copy>p,.overview-main>p,.download-intro>p{color:var(--text-secondary)}.metrics-strip,.detail-stats,.detail-tabs,.site-footer{border-color:var(--line)}.metrics-strip span,.detail-stats span,.card-footer,.site-footer{color:var(--text-tertiary)}.section-heading h2,.compact-section h2,.detail-copy h1,.overview-main h2,.download-intro h2,.curated-copy h3{color:var(--ink)}.filter-chip,.filter-more{color:var(--muted)}.filter-chip.active,.login-button{color:#fff;background:var(--ink);border-color:var(--ink)}.project-card,.doc-workspace,.overview-view,.download-view,.login-modal{background:var(--surface);border-color:var(--line)}.project-card-body>p,.curated-copy p,.article-content p,.comment-card p{color:var(--text-secondary)}.project-card:hover{border-color:var(--focus-line)}.tag-row span{color:var(--text-secondary);background:var(--soft)}.card-footer,.empty-state{border-color:var(--line)}.detail-topbar .breadcrumb,.breadcrumb{color:var(--text-tertiary)}.detail-meta{color:var(--muted)}.doc-sidebar,.comments-sidebar,.workflow-node{background:var(--surface-muted)}.doc-sidebar,.comments-sidebar,.file-tree{border-color:var(--line)}.sidebar-heading,.comments-heading,.tree-item,.sidebar-bottom p,.comment-card-head small,.realtime-note{color:var(--text-tertiary)}.doc-project-label,.sidebar-bottom,.article-toolbar,.source-head,.detail-stats,.detail-tabs{border-color:var(--line)}.doc-project-label strong,.comments-heading h3,.workflow-node strong,.comment-card-head strong,.resource-row strong{color:var(--ink)}.document-article,.source-panel{background:var(--surface)}.article-toolbar{border-color:var(--line)}.callout{color:var(--blue);background:var(--soft-blue);border-color:var(--blue)}.callout strong{color:var(--ink)}.workflow-node{border-color:var(--line)}.workflow-node.active{border-color:var(--focus-line);background:var(--soft-blue)}.workflow-node span,.workflow-node small,.workflow-arrow{color:var(--text-tertiary)}.inline-command{color:var(--text-secondary);background:var(--soft)}.selection-composer{background:var(--surface);border-color:var(--focus-line);box-shadow:0 12px 28px #0000003d}.composer-quote,.new-comment-button{color:var(--blue);background:var(--soft-blue);border-color:var(--focus-line)}.selection-composer textarea,.comment-card,.resource-row{background:var(--surface);border-color:var(--line)}.comment-quote,.comment-more,.comment-actions button,.tool-button{color:var(--blue)}.comment-replies{border-left:2px solid var(--line);flex-direction:column;gap:8px;margin-top:12px;padding-left:10px;display:flex}.comment-reply{background:var(--surface-muted);padding:8px 9px}.comment-reply>div{justify-content:space-between;gap:8px;margin-bottom:4px;display:flex}.comment-reply strong{font-size:10px}.comment-reply small{color:var(--text-tertiary);font-size:9px}.comment-reply>div>span{align-items:center;gap:7px;display:flex}.comment-reply button{color:var(--blue);background:0 0;border:0;padding:0;font-size:9px}.reply-composer{margin-top:11px}.reply-composer textarea{resize:vertical;width:100%;min-height:60px;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:8px;font-size:11px}.reply-composer>div{justify-content:flex-end;gap:10px;margin-top:7px;display:flex}.reply-composer button{color:var(--blue);background:0 0;border:0;padding:0;font-size:10px}.inline-edit{margin-top:9px}.inline-edit textarea{resize:vertical;width:100%;min-height:60px;color:var(--ink);background:var(--surface);border:1px solid var(--line);outline:0;padding:8px;font-size:11px;line-height:1.55}.inline-edit textarea:focus{border-color:var(--blue)}.inline-edit>div{justify-content:flex-end;gap:10px;margin-top:7px;display:flex}.inline-edit button{color:var(--blue);background:0 0;border:0;padding:0;font-size:10px}.inline-edit button:disabled{cursor:not-allowed;opacity:.55}.resource-icon{color:var(--blue);background:var(--soft-blue)}.source-head,.code-head{color:var(--text-tertiary);background:var(--dark-panel-raised)}.file-item{color:var(--text-secondary)}.file-item small{color:var(--text-tertiary)}.file-tree-note{color:var(--text-tertiary);border-color:var(--line)}.modal-backdrop{overscroll-behavior:contain;background:#0000009e;overflow:hidden}.login-modal>p,.login-modal>small{color:var(--text-tertiary)}.auth-notice{color:#176b3a;background:#eaf7ee;padding:9px;font-size:11px;line-height:1.5}.auth-secondary{justify-content:center;margin:8px auto 0}.auth-mode-tabs{background:var(--soft);grid-template-columns:1fr 1fr;gap:4px;margin-bottom:14px;padding:4px;display:grid}.auth-mode-tabs button{min-height:34px;color:var(--text-secondary);background:0 0;border:0;font-size:11px}.auth-mode-tabs button.active{color:var(--ink);background:var(--surface);box-shadow:0 1px 4px #00000014}.auth-form{text-align:left;flex-direction:column;gap:10px;display:flex}.auth-form input{width:100%;height:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line);outline:0;padding:0 12px;font-size:12px}.auth-form input:focus{border-color:var(--blue)}.auth-form .primary-button{width:100%;margin-top:2px}.auth-error{color:#b42318;background:#fff0ee;padding:9px 10px;font-size:10px;line-height:1.5}.account-control{position:relative}.account-popover{z-index:35;width:260px;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:10px;position:absolute;top:46px;right:0;box-shadow:0 16px 38px #00000029}.account-summary{border-bottom:1px solid var(--line);margin-bottom:5px;padding:7px 8px 10px}.account-popover strong,.account-popover small{display:block}.account-popover strong{font-size:12px}.account-popover small{color:var(--text-tertiary);margin-top:3px;font-size:9px}.account-popover button{width:100%;min-height:34px;color:var(--text-secondary);text-align:left;background:0 0;border:0;padding:0 8px;font-size:11px}.account-popover button:hover{color:var(--ink);background:var(--soft)}.account-popover button:last-child{color:#b42318}.session-list{border-bottom:1px solid var(--line);max-height:176px;margin-bottom:5px;padding:3px 0;overflow-y:auto}.session-row{align-items:center;gap:8px;padding:7px 8px;display:flex}.session-row>span{flex:1;min-width:0}.session-row button{color:#b42318;text-align:center;flex:none;width:auto;min-height:28px}.password-editor{border-bottom:1px solid var(--line);padding:8px}.password-editor input{width:100%;height:34px;color:var(--ink);background:var(--soft);border:1px solid var(--line);margin-bottom:6px;padding:0 9px;font-size:11px}.password-editor>div{gap:6px;display:flex}.password-editor>div button{text-align:center;flex:1;width:auto}.oauth-account-note,.profile-editor{border-bottom:1px solid var(--line);padding:8px}.profile-editor input{width:100%;height:34px;color:var(--ink);background:var(--soft);border:1px solid var(--line);margin-bottom:6px;padding:0 9px;font-size:11px}.profile-editor>div{gap:6px;display:flex}.profile-editor>div button{text-align:center;flex:1;width:auto}.theme-control,.notification-control{position:relative}.file-search{height:30px;color:var(--text-tertiary);background:var(--soft);border:1px solid var(--line);align-items:center;gap:6px;margin-bottom:10px;padding:0 8px;display:flex}.file-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.file-tree-empty{color:var(--text-tertiary);padding:18px 8px;font-size:10px;line-height:1.6}.file-item.is-dir{color:var(--text-tertiary);font-weight:500}.file-item:not(.is-dir):hover{background:var(--soft)}.file-item>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-head-actions{align-items:center;gap:6px;display:inline-flex}.source-head-actions .tool-button:disabled{opacity:.45}.source-head>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-placeholder{min-height:430px;color:var(--text-tertiary);text-align:center;place-items:center;padding:20px;font-size:11px;line-height:1.7;display:grid}.source-notice{color:#8a5a12;background:#fdf5e6;padding:9px 12px;font-size:10px;line-height:1.5}.source-line{white-space:pre;display:block}.line-content{white-space:pre}.source-code{align-items:flex-start;gap:16px;display:flex}.source-gutter{color:var(--text-tertiary);text-align:right;-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;display:flex}.source-gutter span{font-variant-numeric:tabular-nums;display:block}.source-code>code{white-space:pre;background:0 0;flex:1;min-width:0;display:block;overflow-x:auto}.source-code .hljs-comment,.source-code .hljs-quote{color:#8d8d95;font-style:italic}.source-code .hljs-keyword,.source-code .hljs-built_in,.source-code .hljs-type{color:#8250df}.source-code .hljs-string,.source-code .hljs-regexp{color:#0a7a3d}.source-code .hljs-number,.source-code .hljs-literal{color:#b35309}.source-code .hljs-title,.source-code .hljs-function,.source-code .hljs-section{color:#0b69b7}.source-code .hljs-attr,.source-code .hljs-attribute,.source-code .hljs-variable{color:#953800}.source-code .hljs-meta,.source-code .hljs-symbol{color:#6e6e76}.source-code .hljs-deletion{color:#b42318}.source-code .hljs-addition{color:#0a7a3d}.source-code .hljs-emphasis{font-style:italic}.source-code .hljs-strong{font-weight:600}.error-boundary{max-width:520px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--line);border-left:3px solid #b42318;margin:60px auto;padding:22px}.error-boundary strong{color:var(--ink);margin-bottom:8px;font-size:14px;display:block}.error-boundary p{margin:0 0 12px;font-size:12px;line-height:1.7}.error-boundary code{color:#b42318;word-break:break-word;background:#fff5f4;padding:9px 11px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.6;display:block}.error-boundary-actions{gap:10px;margin-top:14px;display:flex}.error-boundary-actions button{min-height:30px;color:var(--blue);background:var(--soft-blue);border:1px solid var(--focus-line);padding:0 13px;font-size:11px}.notification-button{position:relative}.notification-badge{color:#fff;background:#d92d20;border-radius:999px;place-items:center;min-width:15px;height:15px;padding:0 4px;font-size:8px;font-weight:600;line-height:1;display:inline-grid;position:absolute;top:2px;right:1px}.notification-popover{z-index:35;width:300px;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:10px;position:absolute;top:46px;right:0;box-shadow:0 16px 38px #00000029}.notification-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:4px 6px 10px;display:flex}.notification-heading strong{font-size:12px}.notification-heading button{min-height:26px;color:var(--blue);background:0 0;border:0;padding:0 8px;font-size:10px}.notification-heading button:disabled{color:var(--text-tertiary)}.notification-empty{color:var(--text-tertiary);text-align:center;padding:22px 8px;font-size:11px}.notification-list{max-height:320px;overflow-y:auto}.notification-row{width:100%;color:var(--text-secondary);border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;flex-direction:column;gap:3px;padding:9px 8px;display:flex}.notification-row:last-child{border-bottom:0}.notification-row:hover{color:var(--ink);background:var(--soft)}.notification-row.is-unread{color:var(--ink)}.notification-row.is-unread .notification-row-title{padding-left:12px;font-weight:600;position:relative}.notification-row.is-unread .notification-row-title:before{content:"";background:var(--blue);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;left:0}.notification-row-title{font-size:11px;line-height:1.5}.notification-row-body{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.5;display:-webkit-box;overflow:hidden}.notification-row-time{color:var(--text-tertiary);font-size:9px}.theme-popover{z-index:30;width:224px;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:13px;position:absolute;top:46px;right:0;box-shadow:0 18px 45px #0000002e}.theme-popover-heading{justify-content:space-between;align-items:center;padding:2px 4px 10px;display:flex}.theme-popover-heading span{align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.theme-popover-heading small{color:var(--text-tertiary);font-size:9px}.theme-mode-list,.skin-list{flex-direction:column;gap:3px;display:flex}.theme-mode-list button,.skin-list button{width:100%;min-height:34px;color:var(--text-secondary);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;font-size:11px;display:flex}.theme-mode-list button svg:last-child,.skin-list button svg:last-child{color:var(--blue);margin-left:auto}.theme-mode-list button:hover,.theme-mode-list button.selected,.skin-list button:hover,.skin-list button.selected{color:var(--ink);background:var(--soft)}.theme-popover-divider{background:var(--line);height:1px;margin:10px 0}.theme-section-label{color:var(--text-tertiary);padding:0 4px 6px;font-size:9px;display:block}.skin-swatch{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}@media (width<=760px){.main-nav{background:var(--surface)}.theme-popover{position:fixed;top:58px;right:14px}}.author-center{width:min(1080px,96vw);max-height:92vh;color:var(--ink);background:var(--surface);padding:34px;position:relative;overflow:auto;box-shadow:0 25px 80px #0000003d}.author-center header h2{margin:7px 0;font-size:28px}.author-center header p{color:var(--text-secondary);margin:0 0 24px;font-size:12px}.author-center-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:28px;display:grid}.project-form,.author-project-list{border:1px solid var(--line);background:var(--surface-muted);padding:20px}.project-form h3,.author-project-list h3{margin:0 0 16px;font-size:15px}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.project-form label{color:var(--muted);margin-bottom:10px;font-size:10px;display:block}.project-form input,.project-form textarea{width:100%;color:var(--ink);border:1px solid var(--line);background:var(--surface);font:inherit;outline:none;margin-top:5px;padding:9px 10px}.project-form textarea{resize:vertical;min-height:72px;line-height:1.5}.project-form input:focus,.project-form textarea:focus{border-color:var(--focus-line)}.project-form .primary-button{width:100%;margin-top:5px}.author-project-list{flex-direction:column;align-content:start;gap:10px;display:flex}.author-project-list h3{margin-bottom:6px}.author-project-list article{border:1px solid var(--line);background:var(--surface);padding:14px}.author-project-list article>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.author-project-list article small{color:var(--text-tertiary);margin-top:4px;display:block}.author-project-list article p{color:var(--text-secondary);margin:9px 0;font-size:11px;line-height:1.5}.project-status{color:var(--muted);background:var(--soft);padding:3px 6px;font-size:9px}.status-pending_review{color:#956000;background:#fff3cf}.status-published{color:#16743a;background:#e7f7ed}.status-rejected,.review-reason{color:#a53a3a!important}.empty-copy{color:var(--text-tertiary);font-size:11px}.project-files{border:1px dashed var(--line);margin:12px 0;padding:12px}.project-files input{padding:6px;font-size:10px}.project-files small{color:var(--text-tertiary);margin-top:5px;display:block}.review-center{width:min(820px,96vw)}.review-list{flex-direction:column;gap:12px;display:flex}.review-list article{border:1px solid var(--line);background:var(--surface-muted);padding:18px}.review-project-head{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.review-project-head strong,.review-project-head small{display:block}.review-project-head small{color:var(--text-tertiary);margin-top:4px;font-size:10px}.review-list article>p,.review-list details p{color:var(--text-secondary);font-size:12px;line-height:1.6}.review-list summary{color:var(--blue);cursor:pointer;font-size:11px}.review-list textarea{width:100%;min-height:70px;color:var(--ink);border:1px solid var(--line);background:var(--surface);resize:vertical;margin-top:12px;padding:10px}.review-actions{justify-content:flex-end;gap:9px;margin-top:10px;display:flex}@media (width<=760px){.author-center{width:100%;max-height:96vh;padding:24px 16px}.author-center-grid,.form-grid{grid-template-columns:1fr}}.document-author-center{overscroll-behavior:contain;flex-direction:column;width:min(1440px,98vw);height:min(920px,96vh);max-height:96vh;padding:25px;display:flex;overflow:hidden}.author-editor-head{flex:none;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.author-editor-head h2{margin-bottom:3px!important}.author-editor-head p{margin-bottom:15px!important}.save-indicator{color:var(--text-tertiary);background:var(--soft);margin-bottom:15px;padding:6px 10px;font-size:10px}.document-editor-layout{border:1px solid var(--line);flex:1;grid-template-columns:190px minmax(0,1fr);min-height:0;display:grid}.author-project-rail{background:var(--surface-muted);border-right:1px solid var(--line);padding:14px;overflow-y:auto}.author-project-rail>.primary-button{width:100%;margin-bottom:20px}.author-project-rail h3{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin:0 5px 8px;font-size:10px}.author-project-rail>button:not(.primary-button){width:100%;color:var(--text-secondary);text-align:left;background:0 0;border:0;margin-bottom:4px;padding:10px;display:block}.author-project-rail>button:not(.primary-button):hover,.author-project-rail>button.active{color:var(--ink);background:var(--surface)}.author-project-rail strong,.author-project-rail small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.author-project-rail strong{font-size:11px}.author-project-rail small{color:var(--text-tertiary);margin-top:4px;font-size:9px}.document-project-editor{overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:var(--surface);flex-direction:column;min-width:0;min-height:0;max-height:100%;padding:18px 22px;display:flex;overflow:hidden auto}.document-title-row{align-items:center;gap:20px;display:flex}.document-title-input{min-width:0;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #0000;outline:0;flex:1;padding:3px 0 8px;font-size:27px;font-weight:700}.document-title-input:focus{border-color:var(--line)}.document-summary-input{width:100%;color:var(--text-secondary);background:0 0;border:0;outline:0;padding:7px 0 13px;font-size:12px}.editor-mode-switch{background:var(--soft);padding:3px;display:flex}.editor-mode-switch button{color:var(--text-tertiary);background:0 0;border:0;padding:6px 9px;font-size:9px}.editor-mode-switch button.active{color:var(--ink);background:var(--surface)}.markdown-toolbar{z-index:6;border:1px solid var(--line);background:var(--surface-muted);border-bottom:0;flex-wrap:wrap;align-items:center;gap:3px;min-height:40px;padding:5px 7px;display:flex;position:sticky;top:0}.markdown-toolbar>button,.toolbar-upload,.emoji-picker>button{min-width:30px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0 8px;font-size:10px;display:inline-grid}.markdown-toolbar>button:hover,.toolbar-upload:hover,.emoji-picker>button:hover{color:var(--ink);background:var(--soft-blue)}.toolbar-upload input{display:none}.markdown-toolbar>span:last-child{color:var(--text-tertiary);font-size:9px}.markdown-workspace{border:1px solid var(--line);flex:1;grid-template-columns:1fr 1fr;min-width:0;min-height:430px;display:grid}.markdown-workspace.mode-rich,.markdown-workspace.mode-write,.markdown-workspace.mode-preview{grid-template-columns:1fr}.markdown-workspace.mode-rich{flex:none}.markdown-source{resize:none;width:100%;min-height:430px;color:var(--ink);background:var(--surface);border:0;border-right:1px solid var(--line);tab-size:2;outline:0;padding:24px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.8}.rich-markdown-editor{touch-action:pan-y;width:100%;min-width:0;min-height:430px;color:var(--ink);background:var(--surface);position:relative;overflow:visible}.rich-markdown-editor>div,.rich-markdown-editor .milkdown{width:100%;min-width:0}.rich-markdown-editor .milkdown{min-height:430px}.rich-markdown-editor .milkdown-top-bar{max-width:100%;overflow-x:auto}.rich-markdown-editor .top-bar-inner{width:max-content}.rich-markdown-editor .ProseMirror{outline:0;min-height:430px;padding:28px 42px 80px}.rich-editor-loading{z-index:2;color:var(--text-secondary);background:var(--surface);place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.markdown-canvas{min-width:0;color:var(--ink);background:var(--surface);padding:24px 30px;line-height:1.75;overflow:auto}.markdown-canvas h1{margin:0 0 20px;font-size:32px}.markdown-canvas h2{margin:30px 0 12px;font-size:23px}.markdown-canvas h3{margin:24px 0 10px;font-size:18px}.markdown-canvas p,.markdown-canvas li{color:var(--text-secondary);font-size:13px}.markdown-canvas blockquote{border-left:3px solid var(--blue);background:var(--soft-blue);margin:18px 0;padding:4px 15px}.markdown-canvas pre{color:#d8dee9;background:#1d1d1f;padding:16px;overflow:auto}.markdown-canvas img{max-width:100%;height:auto;margin:18px auto;display:block}.markdown-canvas table{border-collapse:collapse;width:100%;font-size:11px}.markdown-canvas th,.markdown-canvas td{border:1px solid var(--line);padding:8px}.markdown-empty{color:var(--text-tertiary);font-size:12px}.mermaid-canvas{border:1px solid var(--line);text-align:center;background:#fff;margin:18px 0;padding:16px;overflow:auto}.project-metadata{border:1px solid var(--line);margin-top:12px;padding:11px 14px}.project-metadata summary{color:var(--text-secondary);cursor:pointer;font-size:11px}.project-metadata[open] summary{margin-bottom:14px}.project-metadata label{color:var(--muted);font-size:10px;display:block}.project-metadata input{width:100%;color:var(--ink);border:1px solid var(--line);background:var(--surface);margin-top:5px;padding:8px}.document-editor-actions{justify-content:flex-end;gap:9px;padding-top:12px;display:flex}.emoji-picker{display:inline-flex;position:relative}.emoji-popover{z-index:30;background:var(--surface);border:1px solid var(--line);width:min(352px,100vw - 36px);padding:6px;position:absolute;top:34px;left:0;box-shadow:0 16px 45px #00000038}.emoji-popover.placement-up{top:auto;bottom:34px}.article-empty{min-height:320px;color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.article-empty h3{color:var(--text-secondary);margin:0;font-size:15px}.article-empty p{max-width:340px;margin:0;font-size:12px;line-height:1.7}.doc-tree-empty{color:var(--text-tertiary);padding:10px 6px;font-size:11px;display:block}.document-tree-panel{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.document-tree-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.document-tree-head button{min-height:26px;color:var(--blue);background:var(--soft-blue);border:1px solid var(--focus-line);align-items:center;gap:4px;padding:0 8px;font-size:10px;display:inline-flex}.document-tree-empty{color:var(--text-tertiary);padding:12px 6px;font-size:10px;line-height:1.7}.document-tree-list{max-height:320px;overflow-y:auto}.document-tree-row{align-items:center;gap:4px;min-height:30px;padding-right:4px;display:flex}.document-tree-row:hover{background:var(--soft)}.document-tree-row.active{background:var(--soft-blue)}.document-tree-toggle{width:18px;height:18px;color:var(--text-tertiary);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.document-tree-title{min-width:0;color:var(--text-secondary);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:0;font-size:11px;overflow:hidden}.document-tree-row.active .document-tree-title{color:var(--blue);font-weight:600}.document-tree-rename{min-width:0;height:22px;color:var(--ink);background:var(--surface);border:1px solid var(--focus-line);flex:1;padding:0 5px;font-size:11px}.document-tree-actions{flex:none;align-items:center;gap:1px;display:none}.document-tree-actions.is-visible{display:flex}.document-tree-row.is-editing,.document-tree-row.is-danger{background:var(--soft)}.document-tree-row.is-danger{background:#fff0ee}.document-tree-confirm{color:#b42318;flex:1;min-width:0;font-size:10px;line-height:1.5}.document-tree-actions button.danger{color:#b42318;width:auto;padding:0 6px}.document-tree-actions.is-visible button{width:auto;min-width:19px;padding:0 5px}.document-tree-row:hover .document-tree-actions,.document-tree-row.active .document-tree-actions{display:flex}.document-tree-actions button{width:19px;height:19px;color:var(--text-tertiary);background:0 0;border:0;place-items:center;padding:0;font-size:10px;display:inline-grid}.document-tree-actions button:hover:not(:disabled){color:var(--blue);background:var(--surface)}.document-tree-actions button:disabled{opacity:.3}.document-tree-tip{color:var(--text-tertiary);margin:10px 0 0;font-size:9px;line-height:1.6}.document-tree-create .document-tree-row{padding-left:0}.document-tree-slug-hint{color:var(--text-tertiary);word-break:break-all;padding:2px 0 5px 22px;font-size:9px;display:block}.document-context-banner{color:var(--text-secondary);background:var(--soft-blue);border:1px solid var(--focus-line);flex:1;justify-content:space-between;align-items:center;gap:10px;padding:8px 11px;font-size:12px;display:flex}.document-context-banner button{color:var(--blue);background:0 0;border:0;padding:0;font-size:11px}.author-toast{z-index:60;color:#fff;background:#141416eb;align-items:center;gap:6px;padding:7px 13px;font-size:11px;display:inline-flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.article-toolbar-actions{align-items:center;gap:8px;display:flex}.document-search{height:28px;color:var(--text-tertiary);background:var(--soft);border:1px solid var(--line);align-items:center;gap:5px;padding:0 8px;display:flex}.document-search input{width:132px;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.document-search-hint{color:var(--text-tertiary);white-space:nowrap;font-size:10px}.document-search button{color:var(--text-tertiary);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}::highlight(reader-search){color:#1f2933;background-color:#fde68a}::highlight(reader-search-active){color:#fff;background-color:#f59e0b}.reader-heading{position:relative}.heading-anchor{color:var(--text-tertiary);opacity:0;vertical-align:middle;background:0 0;border:0;margin-left:7px;padding:0;transition:opacity .15s}.reader-heading:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.heading-anchor:hover{color:var(--blue)}.reader-code-block{background:#1d1d1f;margin:22px 0;overflow:hidden}.reader-code-head{color:#9b9ba2;background:#2b2b2d;justify-content:space-between;align-items:center;min-height:32px;padding:0 12px;font-size:10px;display:flex}.reader-code-head button{color:#c8c8ce;background:0 0;border:0;align-items:center;gap:4px;padding:3px 7px;font-size:10px;display:inline-flex}.reader-code-head button:hover{color:#fff;background:#ffffff1a}.reader-code-block pre{margin:0;padding:16px 18px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.75;overflow-x:auto}.reader-code-block code{color:#d8dee9;background:0 0}.reader-image{cursor:zoom-in;border:1px solid var(--line);max-width:100%;height:auto;margin:18px 0}.image-lightbox{z-index:90;cursor:zoom-out;background:#000000d1;place-items:center;gap:12px;padding:40px;display:grid;position:fixed;inset:0}.image-lightbox img{object-fit:contain;cursor:default;max-width:min(1100px,92vw);max-height:84vh}.image-lightbox-caption{color:#ffffffdb;text-align:center;font-size:12px}.image-lightbox-close{color:#fff;background:#ffffff24;border:0;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:20px;right:24px}.image-lightbox-close:hover{background:#ffffff42}.video-embed{background:#000;margin:22px 0;padding-top:56.25%;position:relative}.video-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.mermaid-fallback{color:var(--text-secondary);background:var(--soft);border:1px dashed var(--line);margin:22px 0;padding:12px 14px;font-size:11px}.mermaid-fallback pre{margin:8px 0 0;font-size:11px;overflow-x:auto}.reader-tips{color:var(--text-tertiary);border-top:1px solid var(--line);margin-top:34px;padding-top:14px;font-size:10px}.article-content ul.contains-task-list{padding-left:18px;list-style:none}.article-content li.task-list-item{align-items:flex-start;gap:8px;display:flex}.article-content li.task-list-item input{margin-top:5px}.article-content table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.selection-composer.is-anchored{width:auto;max-width:650px;margin:0;position:absolute;bottom:auto;left:clamp(20px,4vw,62px);right:clamp(20px,4vw,62px)}.selection-composer.is-anchored:before{content:"";background:inherit;border-top:1px solid var(--focus-line);border-left:1px solid var(--focus-line);width:11px;height:11px;position:absolute;top:-6px;left:22px;transform:rotate(45deg)}.emoji-mart-host{width:100%;display:block}.emoji-popover em-emoji-picker{--border-radius:0;--category-icon-size:18px;--font-family:inherit;width:100%;max-height:min(435px,70vh)}.emoji-loading{min-height:120px;color:var(--text-secondary);place-items:center;font-size:12px;display:grid}.overview-main .markdown-canvas{padding:0}.detail-collaboration-workspace{background:var(--surface);border:1px solid var(--line);max-width:1280px;margin:0 auto 70px;padding:28px clamp(20px,4vw,54px)}.detail-collaboration-workspace>header{justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px;display:flex}.detail-collaboration-workspace>header h2{margin:6px 0;font-size:26px}.detail-collaboration-workspace>header p{color:var(--text-secondary);margin:0;font-size:12px}.detail-collaboration-workspace>header .outline-button{flex:none}.collaboration-loading{min-height:440px;color:var(--text-secondary);background:var(--surface-muted);place-items:center;display:grid}.collaborative-editor{border:1px solid var(--line);background:var(--surface);min-width:0}.collaboration-statusbar{border-bottom:1px solid var(--line);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:18px;min-height:50px;padding:8px 13px;display:flex}.collaboration-state{color:var(--text-secondary);align-items:center;gap:7px;font-size:10px;display:inline-flex}.collaboration-state i{background:#8c8c92;border-radius:50%;width:7px;height:7px;display:block}.collaboration-state.online i,.collaboration-state.saved i{background:#23a55a}.collaboration-state.connecting i,.collaboration-state.saving i{background:#d59316;box-shadow:0 0 0 4px #d593161f}.collaboration-state.offline{color:#a43d3d}.collaboration-state.offline i{background:#c44646}.collaboration-presence{align-items:center;display:flex}.collaboration-presence>span{color:#fff;border:2px solid var(--surface);border-radius:50%;place-items:center;width:28px;height:28px;margin-left:-6px;font-size:10px;font-weight:700;display:grid}.collaboration-presence>span:first-child{margin-left:0}.collaboration-presence small{color:var(--text-tertiary);margin-left:9px;font-size:9px}.collaboration-editor-root,.collaboration-editor-root .milkdown{min-height:560px}.collaboration-editor-root .ProseMirror{outline:0;min-height:560px;padding:34px clamp(24px,6vw,86px) 100px}.collaboration-editor-root .ProseMirror>*{max-width:760px;margin-inline:auto}.collaboration-editor-root .ProseMirror{font-size:15px;line-height:1.8}.collaboration-editor-root .ProseMirror h1{margin:26px auto 14px;font-size:30px;line-height:1.3}.collaboration-editor-root .ProseMirror h2{margin:30px auto 12px;font-size:22px;line-height:1.35}.collaboration-editor-root .ProseMirror h3{margin:24px auto 10px;font-size:18px}.collaboration-editor-root .ProseMirror p{margin:12px auto}.collaboration-editor-root .ProseMirror pre{padding:14px 16px;overflow-x:auto}.collaboration-editor-root .ProseMirror blockquote{border-left:3px solid var(--focus-line);color:var(--text-secondary);padding-left:14px}.collaboration-editor-root .ProseMirror img{max-width:100%;height:auto}.collaboration-editor-root .ProseMirror table{width:100%;display:block;overflow-x:auto}.collaboration-editor-root .milkdown-top-bar{max-width:100%;overflow-x:auto}.collaboration-remote-cursor{pointer-events:none;border-left:2px solid;width:0;height:1.2em;display:inline;position:relative}.collaboration-remote-cursor>span{z-index:8;color:#fff;white-space:nowrap;border-radius:3px 3px 3px 0;padding:2px 5px;font-size:9px;line-height:1.2;position:absolute;top:-1.55em;left:-2px}.collaboration-permissions{width:min(720px,94vw);max-height:88vh;color:var(--ink);background:var(--surface);padding:30px;position:relative;overflow-y:auto;box-shadow:0 25px 80px #0000003d}.collaboration-permissions header h2{margin:7px 0;font-size:26px}.collaboration-permissions header p{color:var(--text-secondary);margin:0 0 22px;font-size:12px;line-height:1.6}.collaborator-invite{background:var(--surface-muted);border:1px solid var(--line);grid-template-columns:minmax(0,1fr) 110px auto;gap:8px;padding:14px;display:grid}.collaborator-invite input,.collaborator-invite select,.collaborator-list select{min-height:38px;color:var(--ink);background:var(--surface);border:1px solid var(--line);outline:0;padding:0 10px;font-size:11px}.collaborator-invite input:focus,.collaborator-invite select:focus,.collaborator-list select:focus{border-color:var(--blue)}.collaborator-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.collaborator-list>p{text-align:center;padding:20px}.collaborator-list article{border:1px solid var(--line);background:var(--surface);grid-template-columns:30px minmax(0,1fr) 105px 34px;align-items:center;gap:10px;padding:11px;display:grid}.collaborator-list article strong,.collaborator-list article small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.collaborator-list article strong{font-size:11px}.collaborator-list article small{color:var(--text-tertiary);margin-top:3px;font-size:9px}.icon-button.danger{color:#b42318}@media (width<=900px){.document-author-center{padding:14px}.document-editor-layout{grid-template-columns:1fr}.author-project-rail{border-right:0;border-bottom:1px solid var(--line);max-height:130px}.author-project-rail>button:not(.primary-button){width:160px;margin-right:4px;display:inline-block}.markdown-workspace{grid-template-columns:1fr}.markdown-workspace.mode-split .markdown-source{border-right:0;border-bottom:1px solid var(--line);min-height:300px}.detail-collaboration-workspace>header{flex-direction:column}}@media (width<=600px){.document-project-editor{padding:14px 10px}.document-title-row{flex-direction:column;align-items:stretch;gap:8px}.editor-mode-switch{align-self:flex-end}.rich-markdown-editor .ProseMirror{padding:22px 18px 60px}.emoji-popover{width:calc(100vw - 36px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.collaborator-invite{grid-template-columns:1fr}.collaborator-list article{grid-template-columns:30px minmax(0,1fr) 34px}.collaborator-list article select{grid-column:2/3}.collaboration-statusbar{flex-direction:column;align-items:flex-start}.collaboration-editor-root .ProseMirror{padding:25px 18px 70px}}.comment-card.is-focused{border-color:var(--blue);animation:2.4s ease-out comment-focus-pulse;box-shadow:0 0 0 3px #007aff38}@keyframes comment-focus-pulse{0%{box-shadow:0 0 0 4px #007aff61}to{box-shadow:0 0 0 3px #007aff00}}.project-cover-image{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block;position:absolute;inset:0}.project-card:hover .project-cover-image{transform:scale(1.025)}.author-editor-page{z-index:50;color:var(--ink);background:var(--surface);position:fixed;inset:0;overflow:hidden}.author-editor-page .document-author-center{width:100%;height:100dvh;max-height:none;box-shadow:none;padding:24px clamp(18px,3vw,44px)}.author-editor-page .document-editor-layout{grid-template-columns:240px minmax(0,1fr)}.author-editor-page .document-project-editor{padding-top:0}.author-editor-page .document-title-row{padding-top:18px}.author-editor-page .markdown-toolbar{z-index:12;flex:none;top:0;box-shadow:0 8px 18px #00000009}.editor-outline{border-bottom:1px solid var(--line);margin:0 -4px 22px;padding:0 4px 18px}.editor-outline h3{margin-inline:1px}.editor-outline button{width:100%;min-height:30px;color:var(--text-secondary);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:6px 7px;font-size:11px;display:block;overflow:hidden}.editor-outline button:hover,.editor-outline button:focus-visible{color:var(--blue);background:var(--soft-blue);outline:none}.editor-outline .outline-level-2{padding-left:18px}.editor-outline .outline-level-3{color:var(--text-tertiary);padding-left:30px;font-size:10px}.editor-outline .empty-copy{margin:8px 7px 0;line-height:1.6}@media (width<=900px){.author-editor-page .document-editor-layout{grid-template-columns:1fr}.author-editor-page .author-project-rail{max-height:180px}.author-editor-page .document-title-row{padding-top:14px}.editor-outline{white-space:nowrap;max-width:100%;overflow-x:auto}.editor-outline button{width:auto;padding-left:8px;display:inline-block}}.comment-quote{cursor:pointer}.block-located{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px;animation:2.2s ease-out block-locate-flash}@keyframes block-locate-flash{0%{background:#007aff2e;box-shadow:0 0 0 6px #007aff29}to{background:0 0;box-shadow:0 0 0 6px #007aff00}}.level-avatar{border-radius:9px;flex:none;place-items:center;display:inline-grid;position:relative}.level-avatar.size-sm{width:34px;height:34px}.level-avatar.size-md{width:40px;height:40px}.level-avatar.size-lg{width:50px;height:50px}.level-avatar-inner{z-index:1;color:#fff;background:var(--ink);border-radius:6px;place-items:center;width:74%;height:74%;font-weight:600;display:grid;position:relative}.level-avatar-image{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.level-avatar.size-sm .level-avatar-inner{font-size:12px}.level-avatar.size-md .level-avatar-inner{font-size:14px}.level-avatar.size-lg .level-avatar-inner{font-size:18px}.level-avatar-frame{border-radius:inherit;border:2px solid #0000;position:absolute;inset:0}.level-avatar.lvl-1 .level-avatar-frame{border-color:#d2d2d7}.level-avatar.lvl-2 .level-avatar-frame{border-color:#5aa469}.level-avatar.lvl-3 .level-avatar-frame{border-color:#2f80ed}.level-avatar.lvl-4 .level-avatar-frame{border-color:#8a72ff}.level-avatar.lvl-5 .level-avatar-frame{border-color:#f5a623}.level-avatar.lvl-6 .level-avatar-frame{border-color:#ff4d6d}.level-badge{color:#fff;vertical-align:middle;white-space:nowrap;background:#9a9aa0;border-radius:999px;margin-left:6px;padding:0 6px;font-size:9px;font-weight:700;line-height:16px;display:inline-block}.level-badge.lvl-1{background:#9a9aa0}.level-badge.lvl-2{background:#5aa469}.level-badge.lvl-3{background:#2f80ed}.level-badge.lvl-4{background:#8a72ff}.level-badge.lvl-5{background:#f5a623}.level-badge.lvl-6{background:linear-gradient(90deg,#ff4d6d,#ff9a5a)}.name-row{align-items:center;display:inline-flex}.comment-card-head .name-row strong{display:inline-block}.reply-head{align-items:center;gap:7px;display:flex}.reply-head strong{font-size:11px}.reply-head>span{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.account-summary{align-items:center;gap:11px;display:flex}.account-summary-text{min-width:0}.account-summary-text strong{display:inline-block}@property --lv-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.level-avatar.lvl-4 .level-avatar-frame,.level-avatar.lvl-5 .level-avatar-frame,.level-avatar.lvl-6 .level-avatar-frame{border:none}.level-avatar.lvl-4 .level-avatar-frame{background:conic-gradient(from var(--lv-angle), #6f5bff, #b9a7ff, #6f5bff);animation:6s linear infinite level-ring-spin}.level-avatar.lvl-5 .level-avatar-frame{background:conic-gradient(from var(--lv-angle), #f5a623, #ffe0a3, #f5a623);animation:5s linear infinite level-ring-spin}.level-avatar.lvl-6 .level-avatar-frame{background:conic-gradient(from var(--lv-angle), #ff4d6d, #ff9a5a, #ffd24d, #4dd0ff, #ff4d6d);animation:3.6s linear infinite level-ring-spin}@keyframes level-ring-spin{to{--lv-angle:360deg}}.level-avatar.lvl-6{animation:2.4s ease-in-out infinite level-glow}@keyframes level-glow{0%,to{box-shadow:0 0 #ff4d6d00,0 0 6px 1px #ff9a5a59}50%{box-shadow:0 0 0 3px #ff4d6d2e,0 0 12px 3px #ff9a5a8c}}.nickname-legendary{background:linear-gradient(90deg,#ff4d6d,#ff9a5a,#ffd24d,#ff4d6d) 0 0/200% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700;animation:4s linear infinite nickname-shimmer}@keyframes nickname-shimmer{to{background-position:200% 0}}.comment-card.legendary{background:linear-gradient(var(--surface,#fff), var(--surface,#fff)) padding-box, linear-gradient(120deg, #ff4d6d, #ff9a5a, #ffd24d) border-box;border:1px solid #0000}@media (prefers-reduced-motion:reduce){.level-avatar.lvl-4 .level-avatar-frame,.level-avatar.lvl-5 .level-avatar-frame,.level-avatar.lvl-6 .level-avatar-frame,.level-avatar.lvl-6,.nickname-legendary{animation:none}}.comment-like{color:#77777d;border:1px solid var(--line);background:0 0;border-radius:999px;align-items:center;gap:4px;margin-top:9px;padding:2px 8px;font-size:10px;line-height:18px;display:inline-flex}.comment-like:hover{color:var(--blue);border-color:#a9ccee}.comment-like.liked{color:var(--blue);background:#f1f7fd;border-color:#a9ccee}.comment-reply .comment-like{margin-top:6px}.markdown-toolbar .toolbar-divider{background:var(--line);align-self:center;width:1px;height:18px;margin:0 3px}.markdown-toolbar .toolbar-upload-hint{color:var(--text-tertiary);font-size:9px}.markdown-toolbar>button:disabled{opacity:.4;cursor:not-allowed}.markdown-toolbar>button:disabled:hover{color:var(--text-secondary);background:0 0}.editor-toolbar-status{align-items:center;gap:10px;margin-left:auto;padding-left:6px;display:flex}.editor-word-count{color:var(--text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px}.editor-save-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:10px;line-height:1.4;display:inline-flex}.editor-save-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.editor-save-badge.is-idle{color:var(--text-tertiary);background:var(--soft)}.editor-save-badge.is-dirty{color:#a36c18;background:#d19a3e29;border-color:#d19a3e52}.editor-save-badge.is-saving{color:var(--blue);background:var(--soft-blue)}.editor-save-badge.is-saving .editor-save-dot{animation:1.1s ease-in-out infinite editor-save-pulse}.editor-save-badge.is-saved{color:#278744;background:#35a65324}@keyframes editor-save-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (width<=760px){.editor-toolbar-status{gap:7px;padding-left:3px}.editor-word-count .editor-word-count-extra{display:none}}.editor-history-button{cursor:pointer;color:var(--text-secondary,#55555c);border:1px solid var(--line);border-radius:var(--radius-control,8px);background:0 0;align-items:center;gap:5px;padding:5px 10px;font-size:12px;display:inline-flex}.editor-history-button:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}.editor-history-button:disabled{cursor:not-allowed;opacity:.5}.code-toolbar-left{align-items:center;gap:8px;min-width:0;display:inline-flex}.code-breadcrumb{flex-wrap:wrap;align-items:center;gap:2px;min-width:0;font-size:11px;display:flex}.code-crumb-item{align-items:center;gap:2px;min-width:0;display:inline-flex}.code-crumb{max-width:190px;color:var(--text-tertiary);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;align-items:center;padding:2px 4px;display:inline-flex;overflow:hidden}.code-crumb.is-link:hover{color:var(--blue);text-decoration:underline}.code-crumb.is-leaf{color:var(--ink);font-weight:600}.code-crumb-sep{color:var(--text-tertiary);opacity:.7}.code-crumb-home{color:var(--text-tertiary);background:0 0;border:0;place-items:center;padding:2px;display:inline-grid}.code-crumb-home:hover{color:var(--blue)}.code-lang-chip{color:var(--text-secondary);background:var(--soft);border:1px solid var(--line);letter-spacing:.4px;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 7px;font-size:9px;font-weight:600;display:inline-flex}.code-file-size{color:var(--text-tertiary);white-space:nowrap;font-size:10px}.code-wrap-toggle[aria-pressed=true]{color:var(--blue);background:var(--soft-blue)}.ft-dot{background:var(--ft-color,#9a9aa0);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.ft-ts{--ft-color:#3178c6}.ft-js{--ft-color:#d6a915}.ft-style{--ft-color:#c56bd6}.ft-markup{--ft-color:#e0703a}.ft-data{--ft-color:#2f9e6f}.ft-doc{--ft-color:#6b8fb5}.ft-config{--ft-color:#3fa8a0}.ft-sys{--ft-color:#8a6de0}.ft-script{--ft-color:#4a9e5c}.ft-media{--ft-color:#d64f8a}.ft-other{--ft-color:#9a9aa0}.file-item .ft-dot{margin-left:3px}.file-readme-tag{color:var(--blue);background:var(--soft-blue);letter-spacing:.3px;border-radius:3px;margin-left:2px;padding:1px 5px;font-size:8px;font-weight:600}.code-reader{min-height:430px;color:var(--ink);background:var(--surface);tab-size:2;margin:0;padding:14px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.7;overflow-x:auto}.code-reader-lines{width:max-content;min-width:100%;margin:0;padding:0;list-style:none}.code-reader-line{align-items:flex-start;scroll-margin-top:90px;display:flex}.code-reader-line.is-active{background:var(--soft-blue)}.code-reader-gutter{z-index:1;background:var(--surface);border-right:1px solid var(--line);flex:none;align-items:flex-start;gap:6px;padding:0 12px 0 14px;display:inline-flex;position:sticky;left:0}.code-reader-line.is-active .code-reader-gutter{background:var(--soft-blue)}.code-reader-no{min-width:34px;color:var(--text-tertiary);text-align:right;font:inherit;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0}.code-reader-no:hover{color:var(--blue)}.code-reader-line.is-active .code-reader-no{color:var(--blue);font-weight:600}.code-reader-link{width:16px;height:16px;color:var(--text-tertiary);opacity:0;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.code-reader-line:hover .code-reader-link,.code-reader-line.is-active .code-reader-link,.code-reader-link:focus-visible{opacity:1}.code-reader-link:hover{color:var(--blue)}.code-reader-code{white-space:pre;background:0 0;flex:auto;min-width:0;padding:0 16px 0 12px;display:block}.code-reader.is-wrap{overflow-x:hidden}.code-reader.is-wrap .code-reader-lines{width:100%}.code-reader.is-wrap .code-reader-code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.code-reader .hljs-comment,.code-reader .hljs-quote{color:#8d8d95;font-style:italic}.code-reader .hljs-keyword,.code-reader .hljs-built_in,.code-reader .hljs-type{color:#8250df}.code-reader .hljs-string,.code-reader .hljs-regexp{color:#0a7a3d}.code-reader .hljs-number,.code-reader .hljs-literal{color:#b35309}.code-reader .hljs-title,.code-reader .hljs-function,.code-reader .hljs-section{color:#0b69b7}.code-reader .hljs-attr,.code-reader .hljs-attribute,.code-reader .hljs-variable{color:#953800}.code-reader .hljs-meta,.code-reader .hljs-symbol{color:#6e6e76}.code-reader .hljs-deletion{color:#b42318}.code-reader .hljs-addition{color:#0a7a3d}.code-reader .hljs-emphasis{font-style:italic}.code-reader .hljs-strong{font-weight:600}:root[data-theme-mode=dark] .code-reader .hljs-keyword,:root[data-theme-mode=dark] .code-reader .hljs-built_in,:root[data-theme-mode=dark] .code-reader .hljs-type{color:#c59bff}:root[data-theme-mode=dark] .code-reader .hljs-string,:root[data-theme-mode=dark] .code-reader .hljs-regexp,:root[data-theme-mode=dark] .code-reader .hljs-addition{color:#98d3a7}:root[data-theme-mode=dark] .code-reader .hljs-number,:root[data-theme-mode=dark] .code-reader .hljs-literal{color:#e6a66b}:root[data-theme-mode=dark] .code-reader .hljs-title,:root[data-theme-mode=dark] .code-reader .hljs-function,:root[data-theme-mode=dark] .code-reader .hljs-section{color:#8bc4ff}:root[data-theme-mode=dark] .code-reader .hljs-attr,:root[data-theme-mode=dark] .code-reader .hljs-attribute,:root[data-theme-mode=dark] .code-reader .hljs-variable{color:#e6a66b}@media (prefers-color-scheme:dark){:root[data-theme-mode=system] .code-reader .hljs-keyword,:root[data-theme-mode=system] .code-reader .hljs-built_in,:root[data-theme-mode=system] .code-reader .hljs-type{color:#c59bff}:root[data-theme-mode=system] .code-reader .hljs-string,:root[data-theme-mode=system] .code-reader .hljs-regexp,:root[data-theme-mode=system] .code-reader .hljs-addition{color:#98d3a7}:root[data-theme-mode=system] .code-reader .hljs-number,:root[data-theme-mode=system] .code-reader .hljs-literal{color:#e6a66b}:root[data-theme-mode=system] .code-reader .hljs-title,:root[data-theme-mode=system] .code-reader .hljs-function,:root[data-theme-mode=system] .code-reader .hljs-section{color:#8bc4ff}:root[data-theme-mode=system] .code-reader .hljs-attr,:root[data-theme-mode=system] .code-reader .hljs-attribute,:root[data-theme-mode=system] .code-reader .hljs-variable{color:#e6a66b}}@media (width<=760px){.code-reader-no{min-width:26px}.code-reader-gutter{padding:0 8px 0 10px}.code-crumb{max-width:130px}}:root{--app-bg:radial-gradient(1200px 640px at 8% -12%, #0066cc1a, transparent 60%), radial-gradient(1000px 560px at 108% 0%, #388ee812, transparent 58%), linear-gradient(180deg, #fff 0%, #f5f9fd 100%)}.app-shell{background:var(--app-bg);background-attachment:fixed;transition:background .45s}@media (prefers-reduced-motion:reduce){.app-shell{transition:none}}.skin-list .skin-option{border-radius:8px;align-items:center;min-height:44px;padding:5px 8px}.skin-list .skin-option .skin-swatch{border-radius:7px;flex:none;width:26px;height:26px;box-shadow:inset 0 0 0 1px #00000024}.skin-list .skin-option.selected .skin-swatch{box-shadow:inset 0 0 0 1px #00000024, 0 0 0 2px var(--surface), 0 0 0 3px var(--blue)}.skin-list .skin-option-text{flex-direction:column;gap:1px;min-width:0;display:flex}.skin-list .skin-option-text strong{font-size:12px;font-weight:600;line-height:1.3}.skin-list .skin-option-text small{color:var(--text-tertiary);font-size:9px;line-height:1.3}.brand-mark-svg{border-radius:8px;flex:none;display:block}.brand-mark-svg.large{margin:0 auto 18px}.level-avatar-inner{color:#fff;background:radial-gradient(115% 115% at 28% 22%, #ffffff4d, #fff0 58%), linear-gradient(145deg, color-mix(in srgb, var(--blue) 92%, #fff 8%), color-mix(in srgb, var(--blue) 60%, #000 40%));text-shadow:0 1px 1px #00000047;box-shadow:inset 0 0 0 1px #ffffff24}:root{--radius-control:10px;--radius-panel:16px;--shadow-raised:0 18px 48px -28px color-mix(in srgb, var(--ink) 32%, transparent);--shadow-hover:0 22px 50px -30px color-mix(in srgb, var(--blue) 30%, var(--ink))}body{line-height:1.5}.app-shell{background:var(--app-bg)}.site-header{background:color-mix(in srgb, var(--surface) 88%, transparent);border-color:color-mix(in srgb, var(--line) 82%, transparent);-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);height:76px;box-shadow:0 8px 28px -28px color-mix(in srgb, var(--ink) 55%, transparent);gap:30px;padding-inline:clamp(20px,4vw,64px)}.brand{gap:11px;min-width:198px}.brand strong{letter-spacing:-.025em;font-size:16px;font-weight:680}.brand small{color:var(--text-tertiary);letter-spacing:1.55px}.brand-mark-svg{border-radius:9px;width:36px;height:36px}.main-nav{gap:30px}.main-nav button{font-size:13px;font-weight:520;transition:color .2s}.main-nav button.active:after{border-radius:2px;height:2px;bottom:-7px}.header-actions{gap:6px}.global-search{border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-muted) 84%, transparent);height:40px;box-shadow:inset 0 1px #ffffff0f}.icon-button,.login-button,.admin-entry-button,.primary-button,.outline-button,.filter-chip,.filter-more,.new-comment-button,.provider-button,.email-login{border-radius:var(--radius-control);transition:transform .18s,color .18s,background-color .18s,border-color .18s,box-shadow .18s}.icon-button:active,.login-button:active,.admin-entry-button:active,.primary-button:active,.outline-button:active,.filter-chip:active,.filter-more:active{transform:translateY(1px)scale(.98)}.icon-button.quiet:hover{background:var(--soft);border-color:#0000}.login-button{color:var(--surface);background:var(--ink);border:1px solid color-mix(in srgb, var(--ink) 82%, transparent);box-shadow:none}.login-button:hover{opacity:.9;transform:translateY(-1px)}.admin-entry-button{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 72%, var(--line));background:0 0}.admin-entry-button:hover{color:var(--surface);background:var(--blue);border-color:var(--blue)}.primary-button{min-height:44px;box-shadow:0 12px 24px -18px var(--blue);padding-inline:19px;font-weight:650}.primary-button:hover{box-shadow:0 16px 28px -18px var(--blue);transform:translateY(-1px)}.outline-button{min-height:38px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.hero-band{isolation:isolate;background:radial-gradient(720px 420px at 84% 22%, color-mix(in srgb, var(--blue) 11%, transparent), transparent 68%), color-mix(in srgb, var(--canvas) 86%, var(--page));min-height:530px;padding-block:82px 78px;position:relative;overflow:hidden}.hero-band:before{content:"";border:1px solid color-mix(in srgb, var(--blue) 18%, transparent);pointer-events:none;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-300px;left:-240px}.hero-copy{z-index:1;position:relative}.hero-copy .eyebrow{display:none}.hero-copy h1{letter-spacing:-.038em;text-wrap:balance;max-width:660px;margin:0 0 22px;font-size:clamp(48px,5.25vw,70px);font-weight:700;line-height:.99}.hero-copy h1 em{color:var(--blue)}.hero-copy>p{max-width:52ch;margin-bottom:30px;font-size:15px}.hero-actions{gap:18px}.hero-visual{border-radius:var(--radius-panel);min-height:340px;box-shadow:var(--shadow-raised), inset 0 1px 0 #ffffff0d;background:#151a18;border:1px solid #ffffff17}.hero-media-card{background:radial-gradient(circle at 50% 48%, #9d91da2e, transparent 62%), color-mix(in srgb, var(--surface-muted) 78%, var(--surface));min-height:390px;padding:0;display:grid}.hero-media{object-fit:contain;grid-area:1/1;width:100%;height:100%;min-height:390px}.hero-media-caption{z-index:1;color:color-mix(in srgb, var(--ink) 68%, transparent);letter-spacing:.08em;pointer-events:none;grid-area:1/1;justify-content:space-between;align-self:end;gap:16px;padding:16px 18px;font-size:9px;display:flex}.visual-topline,.visual-footer{color:#86908b}.visual-pulse{color:#7bcab2}.signal-grid{background-color:#151a18}.signal-line{opacity:.65;background:#4fa98f}.line-three{background:#77b29f}.signal-node{background:#202724;border-color:#46514d;border-radius:12px;box-shadow:0 12px 26px -20px #000}.node-b,.node-d{border-color:#4fa98f}.signal-node small{color:#84908b}.signal-node span{place-items:center;display:grid}.metrics-strip{background:color-mix(in srgb, var(--surface) 76%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding-block:26px}.metrics-strip strong{letter-spacing:-.025em}.metrics-note{color:var(--text-tertiary)}.metrics-note svg{color:var(--blue)}.content-section{padding-block:86px}.section-heading{margin-bottom:32px}.section-heading h2,.editorial-band h2,.compact-section h2{letter-spacing:-.03em;margin-top:0;font-size:34px;font-weight:680}.section-kicker{display:none}.filter-row{gap:8px;margin-bottom:26px}.filter-chip,.filter-more{height:36px;padding-inline:13px}.filter-chip.active{color:var(--surface);background:var(--ink);border-color:var(--ink)}.project-grid{gap:18px}.project-card{border-radius:var(--radius-panel);transition:transform .24s cubic-bezier(.16,1,.3,1),border-color .24s,box-shadow .24s;overflow:hidden;box-shadow:0 1px #ffffff0d}.project-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px)}.project-cover.blue,.detail-mark.blue,.overview-visual.blue{background:#245e55}.project-cover.orange,.detail-mark.orange,.overview-visual.orange{background:#8b573d}.project-cover.green,.detail-mark.green,.overview-visual.green{background:#3f6650}.project-cover.purple,.detail-mark.purple,.overview-visual.purple{background:#625c73}.cover-monogram{letter-spacing:-.055em;font-size:62px}.project-card-body{padding:19px 19px 16px}.project-card h3{letter-spacing:-.025em;font-size:19px}.tag-row span{border-radius:6px}.editorial-band{background:radial-gradient(560px 320px at 78% 30%,#4fa98f1f,#0000 72%),#151917;padding-block:84px}.editorial-band h2{letter-spacing:-.035em;font-size:40px}.editorial-quote{border-color:#46514d}.editorial-quote svg{color:#7bcab2}.curated-cover{border-radius:var(--radius-panel);box-shadow:var(--shadow-raised), inset 0 1px 0 #ffffff14;background:linear-gradient(145deg,#24493f,#172c26)}.curated-cover:after{content:"";border:1px solid #fff3;border-radius:50%;width:180px;height:180px;bottom:-72px;right:-44px}.curated-copy h3{letter-spacing:-.025em}.site-footer{background:color-mix(in srgb, var(--surface) 70%, transparent)}@media (width<=760px){.site-header{gap:6px;height:62px;padding-inline:14px}.brand{gap:8px;min-width:0}.brand-mark-svg{width:34px;height:34px}.brand strong{font-size:14px}.global-search,.theme-control{display:none}.header-actions{gap:3px}.header-actions .icon-button,.login-button{width:34px;height:34px;padding:0}.login-button span{display:none}.main-nav{background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);top:62px}.hero-band{gap:38px;padding:58px 20px 48px}.hero-copy h1{letter-spacing:-.04em;font-size:clamp(42px,13.5vw,54px)}.hero-copy>p{font-size:14px}.hero-visual,.hero-media,.hero-media-card{min-height:272px}.metrics-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px;display:grid}.metrics-strip strong{font-size:18px}.metrics-note{grid-column:1/-1}.content-section{padding-block:62px}.section-heading h2,.editorial-band h2,.compact-section h2{font-size:30px}.filter-row{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-chip,.filter-more{flex:none}.project-grid{gap:20px}.editorial-band{padding-block:64px}}button,[role=button],.avatar-frame-upload{font:inherit;-webkit-tap-highlight-color:transparent}button:not(:disabled),[role=button]:not([aria-disabled=true]),.avatar-frame-upload:not(.busy){cursor:pointer}button:disabled,[aria-disabled=true],.avatar-frame-upload.busy{opacity:.48;cursor:not-allowed;box-shadow:none!important;transform:none!important}button svg,[role=button] svg,.avatar-frame-upload svg{flex:none}.primary-button,.admin-btn.primary,.ak-btn.primary,.report-submit,.email-login{color:#fff;background:var(--blue);border:1px solid var(--blue);box-shadow:0 10px 22px -17px var(--blue)}.outline-button,.admin-btn:not(.primary):not(.danger),.ak-btn:not(.primary):not(.danger),.report-cancel,.auth-secondary{color:var(--text-secondary);background:var(--surface);border:1px solid var(--line)}.primary-button:hover:not(:disabled),.admin-btn.primary:hover:not(:disabled),.ak-btn.primary:hover:not(:disabled),.report-submit:hover:not(:disabled),.email-login:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 14px 26px -17px var(--blue);transform:translateY(-1px)}.outline-button:hover:not(:disabled),.admin-btn:not(.primary):not(.danger):hover:not(:disabled),.ak-btn:not(.primary):not(.danger):hover:not(:disabled),.report-cancel:hover:not(:disabled),.auth-secondary:hover:not(:disabled){color:var(--ink);border-color:color-mix(in srgb, var(--ink) 28%, var(--line));background:var(--surface-muted)}.admin-btn.danger,.ak-btn.danger,.danger,.is-danger{color:#d83a42;background:color-mix(in srgb, #d83a42 7%, var(--surface));border-color:color-mix(in srgb, #d83a42 35%, var(--line))}.admin-btn,.ak-btn,.report-submit,.report-cancel,.auth-secondary{border-radius:var(--radius-control);min-height:38px;transition:transform .16s,color .16s,background-color .16s,border-color .16s,box-shadow .16s}.modal-close,.admin-close,.ak-close,.oad-close,.ai-assistant-close,.image-lightbox-close,.reader-settings-close,.document-search-close{place-items:center;min-width:38px;min-height:38px;line-height:1;box-shadow:inset 0 1px #ffffff14;width:38px!important;height:38px!important;color:var(--text-secondary)!important;background:color-mix(in srgb, var(--surface-muted) 72%, var(--surface))!important;border:1px solid var(--line)!important;border-radius:var(--radius-control)!important;padding:0!important;transition:transform .16s,color .16s,background-color .16s,border-color .16s!important;display:inline-grid!important}.modal-close:hover:not(:disabled),.admin-close:hover:not(:disabled),.ak-close:hover:not(:disabled),.oad-close:hover:not(:disabled),.ai-assistant-close:hover:not(:disabled),.reader-settings-close:hover:not(:disabled),.document-search-close:hover:not(:disabled){color:var(--ink)!important;background:var(--surface)!important;border-color:color-mix(in srgb, var(--ink) 24%, var(--line))!important}.image-lightbox-close{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff!important;background:#121816a3!important;border-color:#ffffff38!important}.image-lightbox-close:hover:not(:disabled){background:#121816d6!important}.modal-close:active:not(:disabled),.admin-close:active:not(:disabled),.ak-close:active:not(:disabled),.oad-close:active:not(:disabled),.ai-assistant-close:active:not(:disabled),.image-lightbox-close:active:not(:disabled),.reader-settings-close:active:not(:disabled),.document-search-close:active:not(:disabled){transform:scale(.94)}.account-avatar-edit{position:relative;overflow:visible;background:0 0!important;width:auto!important;min-height:0!important;padding:0!important}.account-avatar-edit>span:last-child{z-index:5;color:#fff;background:color-mix(in srgb, var(--ink) 88%, transparent);white-space:nowrap;pointer-events:none;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:3px;padding:2px 5px;font-size:8px;line-height:1;display:inline-flex;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.account-avatar-edit:hover .level-avatar{transform:translateY(-1px)}@media (width<=430px){.brand>span{display:none}.hero-actions{align-items:stretch;gap:12px}.hero-actions .primary-button{flex:1}}@media (prefers-reduced-motion:reduce){.project-card,.primary-button,.icon-button,.login-button,.filter-chip{transition:none}}.project-card,.doc-workspace,.overview-view,.download-view,.code-view,.comment-card,.selection-composer,.login-modal,.account-menu,.notification-panel,.emoji-picker,.collaborator-panel{background:var(--surface)}.doc-sidebar,.comments-sidebar,.file-tree{background:color-mix(in srgb, var(--surface-muted) 70%, var(--surface))}.project-category,.project-card-body>p,.card-footer,.detail-copy>p,.detail-meta,.breadcrumb,.sidebar-heading,.tree-item,.tool-button,.comment-card p,.doc-outline button,.overview-main>p,.download-intro>p,.feature-list div,.resource-row small,.resource-row>span,.file-item{color:var(--text-secondary)}.tag-row span,.workflow-node,.inline-command,.document-sync-state,.resource-icon,.file-item.active,.tree-item.active{background:var(--soft);color:var(--text-secondary)}.tree-item.active,.file-item.active{color:var(--blue);background:var(--soft-blue)}.article-toolbar,.card-footer{border-color:var(--line)}.article-content p,.article-content .article-lead{color:var(--text-secondary)}.article-content :not(pre)>code{color:var(--blue);background:color-mix(in srgb, var(--blue) 10%, var(--surface))}.callout{color:var(--text-secondary);background:var(--soft-blue);border:1px solid color-mix(in srgb, var(--blue) 32%, var(--line));border-radius:10px}.callout p{color:var(--text-secondary)}.selection-composer{border-color:var(--focus-line);border-radius:12px}.composer-quote{color:var(--text-secondary);background:var(--soft-blue);border-radius:8px}.selection-composer textarea{color:var(--ink);background:var(--surface-muted)}.comment-card,.resource-row,.workflow-node{border-radius:10px}.new-comment-button{min-height:40px;color:var(--blue);border-color:var(--focus-line);background:var(--soft-blue)}.overview-view,.download-view,.code-view{background:var(--surface)}.source-code{color:var(--ink);background:var(--surface)}.resource-icon{color:var(--blue);background:var(--soft-blue);border-radius:9px}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08110e9e}.login-modal{border:1px solid var(--line);box-shadow:var(--shadow-raised);border-radius:18px}.provider-button,.email-login,.login-modal input{color:var(--ink);background:var(--surface);border-color:var(--line)}.detail-stats,.detail-tabs{border-color:var(--line)}.section-heading h2,.compact-section h2{font-size:clamp(28px,3vw,33px)}@media (width<=760px){.header-actions .icon-button,.login-button{width:40px;height:40px}.filter-chip,.filter-more{min-height:40px}.section-heading h2,.compact-section h2{font-size:27px}.detail-copy h1{font-size:clamp(32px,10vw,42px)}.reader-back-to-top{width:44px;height:44px}}
