:root{--bg:#0f1318;--surface:#171b21;--surface-2:#1b2026;--surface-3:#252a31;--border:#43474e;--text:#e1e2e8;--muted:#c4c6cf;--faint:#9aa0ab;--accent:#a9c7ff;--accent-ink:#002f65;--container:#00458f;--on-container:#d6e3ff;--secondary:#84d5c7;--secondary-container:#005047;--on-secondary-container:#a0f2e3;--ok:#6dd58c;--ok-bg:#123822;--warn:#f5b83d;--warn-bg:#3d2e0a;--danger:#ff8a80;--danger-bg:#4a1512;--info-bg:#0e2e57;--coin:#fbbf24;--radius:16px;--shadow:0 8px 24px #0006;--font:Roboto, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#f6f8fc;--surface:#fff;--surface-2:#eef1f7;--surface-3:#e6eaf2;--border:#c4c6cf;--text:#191c20;--muted:#43474e;--faint:#5c6370;--accent:#0b5cad;--accent-ink:#fff;--container:#d6e3ff;--on-container:#001b3e;--secondary:#00796b;--secondary-container:#b4eee3;--on-secondary-container:#00201c;--ok:#136b2b;--ok-bg:#ddf5e3;--warn:#9a5b00;--warn-bg:#fff0cc;--danger:#c62828;--danger-bg:#ffe1de;--info-bg:#d6e3ff;--shadow:0 8px 24px #141e321a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:16px/1.55 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0;line-height:1.25}h1{font-size:1.75rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--mono);font-size:.9em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.875rem}.stack{flex-direction:column;gap:16px;display:flex}.stack-lg{flex-direction:column;gap:28px;display:flex}.row{align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{background:var(--secondary-container);color:var(--on-secondary-container);font:inherit;letter-spacing:.01em;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:.875rem;font-weight:600;transition:filter .15s,transform 50ms,opacity .15s;display:inline-flex}.btn:hover{filter:brightness(1.08);text-decoration:none}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--danger);border-color:var(--border);background:0 0}.btn.ghost{color:var(--accent);background:0 0}.btn.block{width:100%}.btn.small{padding:6px 14px;font-size:.8125rem}.btn:disabled{opacity:.55;cursor:not-allowed}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:6px;display:flex}.field>label{font-size:.875rem;font-weight:600}.input-wrap{display:flex;position:relative}.input{background:var(--surface-2);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:12px;padding:11px 14px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.input.invalid{border-color:var(--danger)}.input-wrap .reveal{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.code-input{text-align:center;letter-spacing:.5em;font-size:1.5rem;font-family:var(--mono);padding-left:.5em}.hint{color:var(--muted);font-size:.8125rem}.error-text{color:var(--danger);font-size:.8125rem}.meter{gap:4px;display:flex}.meter i{background:var(--border);border-radius:2px;flex:1;height:4px}.meter i.on{background:var(--c)}.alert{border:0;border-radius:14px;padding:12px 16px;font-size:.9375rem}.alert.error{color:var(--danger);background:var(--danger-bg)}.alert.ok{color:var(--ok);background:var(--ok-bg)}.alert.info{color:var(--on-container);background:var(--info-bg)}.card{background:var(--surface);border:1px solid color-mix(in srgb, var(--border) 55%, transparent);border-radius:var(--radius);padding:20px}.card>h2+*{margin-top:14px}.badge{background:var(--surface-3);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.badge.ok{color:var(--ok);background:var(--ok-bg)}.badge.warn{color:var(--warn);background:var(--warn-bg)}.badge.accent{color:var(--on-container);background:var(--container)}.bar{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.bar>i{background:var(--accent);border-radius:4px;height:100%;display:block}.stat{flex-direction:column;gap:2px;display:flex}.stat b{letter-spacing:-.02em;font-size:1.75rem}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.list{flex-direction:column;display:flex}.list>*{border-top:1px solid var(--border);padding:14px 0}.list>:first-child{border-top:0;padding-top:0}.list>:last-child{padding-bottom:0}.icon-box{background:var(--container);width:40px;height:40px;color:var(--on-container);border-radius:12px;flex:none;place-items:center;display:grid}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100%;display:grid}.auth-brand{border-right:1px solid var(--border);background:radial-gradient(1200px 500px at 0% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 60%), var(--surface);flex-direction:column;justify-content:space-between;padding:48px;display:flex}.auth-brand h1{max-width:14ch;font-size:2.25rem}.auth-brand ul{color:var(--muted);gap:12px;margin:20px 0 0;padding:0;list-style:none;display:grid}.auth-brand li:before{content:"✓";color:var(--ok);margin-right:10px;font-weight:700}.auth-main{place-items:center;padding:32px 20px;display:grid}.auth-card{width:100%;max-width:400px}.logo{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.125rem;font-weight:800;display:inline-flex}.logo:hover{text-decoration:none}.logo img{width:32px;height:32px}.auth-mobile-logo{display:none}@media (max-width:860px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-mobile-logo{margin-bottom:8px;display:block}}.app{min-height:100vh;grid-template:"bar"64px"main"1fr/minmax(0,1fr);min-height:100dvh;display:grid}.appbar{z-index:30;background:var(--bg);grid-area:bar;align-items:center;gap:4px;padding:0 12px 0 16px;display:flex;position:sticky;top:0}.screen-icon{background:var(--container);width:40px;height:40px;color:var(--on-container);border-radius:12px;place-items:center;display:grid}.icon-btn{width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--surface-3)}.count-badge{background:var(--danger);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.6875rem;font-weight:700;display:grid;position:absolute;top:2px;right:0}.coin-chip{background:color-mix(in srgb, var(--coin) 20%, transparent);color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:4px;margin-right:4px;padding:5px 10px;font-size:.875rem;font-weight:700;display:inline-flex}.coin-chip svg{color:var(--coin)}.avatar-btn{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:50%;font-size:.8125rem;font-weight:700}.rail{z-index:25;padding:10px 4px calc(12px + env(safe-area-inset-bottom));background:var(--surface-2);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.rail-item{min-width:0;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:4px;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.rail-item:hover{color:var(--text);text-decoration:none}.rail-item .pill{border-radius:16px;place-items:center;width:56px;height:32px;transition:background .15s;display:grid}.rail-item.active{color:var(--text)}.rail-item.active .pill{background:var(--secondary-container);color:var(--on-secondary-container)}.content{min-width:0;padding:4px 16px calc(104px + env(safe-area-inset-bottom));grid-area:main;width:100%;max-width:1240px;margin:0 auto}.menu{z-index:40;background:var(--surface-3);width:min(320px,100vw - 16px);max-height:calc(100dvh - 80px);box-shadow:var(--shadow);border-radius:14px;padding:8px 0;position:absolute;top:56px;right:8px;overflow-y:auto}.menu-section{color:var(--accent);padding:10px 16px 4px;font-size:.75rem;font-weight:700}.menu-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:10px 16px;font-size:.9375rem;text-decoration:none;display:flex}.menu-item:hover{background:color-mix(in srgb, var(--text) 8%, transparent);text-decoration:none}.menu-item svg{color:var(--muted);flex:none}.menu-item .grow{min-width:0}.menu-desc{color:var(--muted);white-space:normal;margin-top:2px;font-size:.75rem;font-weight:400;line-height:1.35;display:block}.menu hr{border:0;border-top:1px solid var(--border);margin:6px 0}.menu-scrim{z-index:30;position:fixed;inset:0}@media (min-width:861px){.app{grid-template-columns:88px minmax(0,1fr);grid-template-areas:"bar bar""rail main"}.rail{flex-direction:column;grid-area:rail;justify-content:flex-start;align-self:start;gap:14px;height:calc(100dvh - 64px);padding:16px 0;position:sticky;top:64px}.rail-item{flex:none;width:100%}.content{padding:8px 32px 56px}}.center{place-items:center;min-height:100%;display:grid}.page-fade{animation:.25s fade}@keyframes fade{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.center-text{text-align:center}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.875rem;font-weight:600}.chip:hover{background:var(--surface-2)}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:#0000}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex-direction:column;transition:transform .15s,border-color .15s;display:flex;overflow:hidden}.product-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.product-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.product-img{aspect-ratio:1;object-fit:cover;background:var(--surface-2);width:100%;display:block}.product-img.placeholder{place-items:center;font-size:2.5rem;display:grid}.product-img.large{border-radius:var(--radius);border:1px solid var(--border)}.product-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px;display:grid}.thumb{border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;width:64px;height:64px;padding:0;overflow:hidden}.thumb.on{border-color:var(--accent)}.thumb img{object-fit:cover;width:100%;height:100%}.checkout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.line-img{object-fit:cover;background:var(--surface-2);border-radius:10px;flex:none;place-items:center;width:56px;height:56px;display:grid}.option{border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:10px 12px}.order-row{color:var(--text)}.order-row:hover{background:var(--surface-2);text-decoration:none}.timeline{gap:10px;margin:0;padding-left:18px;display:grid}.code-badge{font-family:var(--mono);letter-spacing:.2em;font-size:1.125rem}.plans{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.plan{display:flex}.plan.current{border-color:var(--accent)}.features{gap:6px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.features li:before{content:"✓";color:var(--ok);margin-right:8px;font-weight:700}.dot{border:2px solid var(--c);background:color-mix(in srgb, var(--c) 15%, transparent);border-radius:50%;width:56px;height:56px;margin:0 auto}.modal-back{z-index:50;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:360px;box-shadow:var(--shadow)}textarea.input{resize:vertical}@media (max-width:760px){.product-layout,.checkout{grid-template-columns:1fr}.hide-narrow{display:none}}.workspace{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start;gap:16px;display:grid}.tabs{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tab{border:1px solid var(--border);background:var(--surface);border-radius:10px;display:inline-flex;overflow:hidden}.tab.on{border-color:var(--accent)}.tab button{color:var(--text);font:inherit;cursor:pointer;font-size:.875rem;font-family:var(--mono);background:0 0;border:0;padding:6px 12px}.tab .x{color:var(--muted);padding:6px 8px}.tab .x:hover{color:var(--danger)}.tab-add{border:1px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;padding:4px 12px;font-size:1rem}.editor-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:52vh;min-height:320px;overflow:hidden}.editor-host,.editor-host .cm-editor{height:100%}.err-row{text-align:left;border:0;border-top:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;padding:10px 0;font-size:.875rem}.err-row:hover{background:var(--surface-2)}.log{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;border-radius:10px;max-height:240px;padding:10px;font-size:.75rem;overflow:auto}.ai-panel{flex-direction:column;gap:12px;max-height:calc(100vh - 100px);display:flex;position:sticky;top:76px}.ai-log{flex-direction:column;flex:1;gap:10px;min-height:160px;display:flex;overflow-y:auto}.msg{border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;font-size:.9375rem;display:flex}.msg.user{background:var(--surface-2);align-self:flex-end;max-width:92%}.msg.assistant{border:1px solid var(--border)}@media (max-width:960px){.workspace{grid-template-columns:1fr}.ai-panel{max-height:none;position:static}}.scrim{z-index:60;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.scrim.center{align-items:center;padding:16px}.sheet{background:var(--surface-2);width:100%;max-height:92dvh;padding:12px 20px calc(24px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;animation:.22s slide-up;overflow-y:auto}.sheet-handle{background:var(--border);border-radius:2px;width:32px;height:4px;margin:0 auto 14px;display:block}.sheet-title{margin:0;font-size:1.375rem;font-weight:600}.sheet-body{flex-direction:column;gap:12px;margin-top:12px;display:flex}.dialog{background:var(--surface-3);width:min(100%,420px);box-shadow:var(--shadow);border-radius:28px;padding:24px}.dialog h2{font-size:1.375rem;font-weight:500}.dialog-body{color:var(--muted);flex-direction:column;gap:12px;margin-top:14px;font-size:.9375rem;display:flex}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:22px;display:flex}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}}@media (min-width:700px){.scrim{align-items:center;padding:24px}.sheet{border-radius:28px;max-width:560px;padding-bottom:24px}.sheet.wide{max-width:960px}}.menu-anchor{display:inline-flex;position:relative}.menu-trigger{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.menu.dropdown{margin-top:4px;top:100%;left:auto;right:auto}.menu.dropdown.right{right:0}.menu.dropdown.left{left:0}.menu-item:disabled{opacity:.45;cursor:default}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.scroll-x{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.scroll-x>*{flex:none}.code-tab{height:calc(100dvh - 172px - env(safe-area-inset-bottom));flex-direction:column;gap:8px;min-height:420px;display:flex}.code-main{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.top-row{gap:8px}.top-row>.menu-anchor{flex:1;min-width:0}.top-row .menu-trigger{width:100%}.outlined-btn{border:1px solid var(--border);width:100%;height:40px;color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:.875rem;font-weight:500;display:flex}.outlined-field{border:1px solid var(--border);min-width:0;height:30px;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border-radius:12px;flex:1;align-items:center;gap:6px;padding:0 10px;display:flex;position:relative}.outlined-field .field-label{background:var(--bg);color:var(--muted);padding:0 4px;font-size:.6875rem;position:absolute;top:-8px;left:10px}.outlined-field .ellipsis{flex:1}.cloud-status{padding-left:4px;font-size:.6875rem}.ai-bar{border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:.8125rem;display:flex}.ai-bar.info{background:var(--info-bg);color:var(--on-container)}.ai-bar.ok{background:var(--ok-bg);color:var(--ok)}.editor-card{background:var(--surface);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);border-radius:8px;flex-direction:column;flex:1;min-height:220px;display:flex;overflow:hidden}.editor-toolbar{background:var(--surface-2);flex:none;align-items:center;height:44px;display:flex}.tabs-row{scrollbar-width:none;flex:0 auto;align-items:stretch;min-width:0;height:100%;display:flex;overflow-x:auto}.tabs-row::-webkit-scrollbar{display:none}.file-tab{color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:8px;padding:0 6px 0 14px;font-size:.875rem;font-weight:500;transition:background .12s,color .12s;display:inline-flex;position:relative}.file-tab:hover{background:var(--surface-3);color:var(--text)}.file-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.file-tab.on{background:var(--surface);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.file-tab .name{text-overflow:ellipsis;max-width:16ch;overflow:hidden}.file-tab .lang,.lang-chip{letter-spacing:.05em;background:var(--surface-3);color:var(--muted);border-radius:4px;flex:none;padding:1px 5px;font-size:.5625rem;font-weight:700}.file-tab .dot{border-radius:50%;flex:none;width:8px;height:8px}.file-tab .x{width:24px;height:24px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.file-tab.on .x,.file-tab:hover .x,.file-tab .x:focus-visible{opacity:1}@media (hover:none){.file-tab .x{opacity:1;width:28px;height:28px}}.file-tab .x:hover{background:var(--surface-3);color:var(--danger)}.file-tab.add{padding:0 12px;font-size:1.125rem}.menu-anchor .file-tab.add{height:100%;color:var(--muted)}.menu-anchor .file-tab.add:hover{color:var(--accent)}.tool-icon{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.tool-icon:hover:not(:disabled){background:var(--surface-3)}.tool-icon:disabled{opacity:.35;cursor:default}.tool-icon.on{color:var(--accent)}.editor-body{border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent);border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);flex:1;min-height:0}.editor-host{height:100%}.editor-body.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.editor-pane{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.editor-pane>.editor-host{flex:1;height:auto;min-height:0}.editor-pane.second{border-left:1px solid color-mix(in srgb, var(--border) 60%, transparent)}.pane-head{background:var(--surface-2);flex:none;align-items:center;gap:6px;height:30px;padding:0 4px 0 8px;display:flex}.pane-file{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:var(--surface);min-width:0;max-width:70%;height:24px;color:var(--text);font:inherit;border-radius:6px;font-size:.8125rem}@media (max-width:760px){.editor-body.split{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.editor-pane.second{border-left:0;border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent)}}.breadcrumbs{height:26px;color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:2px;padding:0 8px;font-size:.75rem;display:flex;overflow:hidden}.breadcrumbs button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:2px 4px}.breadcrumbs button:hover{color:var(--text);background:var(--surface-3)}.find-bar{background:var(--surface-2);flex-direction:column;gap:4px;padding:6px 8px;display:flex}.find-bar .input{padding:6px 10px}.status-bar{background:var(--surface-2);height:28px;color:var(--muted);flex:none;align-items:center;gap:12px;padding:0 12px;font-size:.6875rem;display:flex}.chip.small{padding:4px 10px;font-size:.75rem}.problems{border-radius:16px;flex-direction:column;gap:8px;max-height:40%;padding:12px;display:flex;overflow-y:auto}.problems.success{background:var(--ok-bg);color:var(--ok)}.problems.danger{background:var(--danger-bg);color:var(--text)}.problems.info{background:var(--info-bg);color:var(--on-container)}.problems.success .btn,.problems.danger .btn{background:var(--surface-3);color:var(--text)}.count-pill{background:color-mix(in srgb, var(--danger) 25%, transparent);color:var(--danger);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.progress{background:color-mix(in srgb, currentColor 20%, transparent);border-radius:2px;height:4px;position:relative;overflow:hidden}.progress:after{content:"";background:currentColor;border-radius:2px;width:35%;animation:1.2s ease-in-out infinite indeterminate;position:absolute;inset:0}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(300%)}}.problem-list{max-height:132px;overflow-y:auto}.problem{align-items:flex-start;display:flex}.problem-main{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-start;gap:8px;padding:6px 0;display:flex}.problem-msg{color:var(--text);font-size:.8125rem;display:block}.problem-where{opacity:.7;font-size:.6875rem;font-family:var(--mono)}.build-row{gap:10px;padding-top:2px;display:flex}.build-row .btn{border-radius:14px;height:48px;font-size:.9375rem}.btn.outlined{color:var(--accent);border-color:var(--border);background:0 0}.ai-drawer{background:var(--surface-2);border-radius:24px 24px 0 0;flex-direction:column;flex:0 0 56%;min-height:0;padding-top:4px;display:flex;overflow:hidden}.code-tab.ai-open .editor-card{min-height:120px}@media (min-width:861px){.code-tab{height:calc(100dvh - 128px)}}@media (min-width:1100px){.code-tab.ai-open{flex-direction:row}.code-tab.ai-open .code-main{flex:1}.ai-drawer{border-radius:24px;flex:0 0 420px}}.review{flex-direction:column;height:100%;min-height:0;display:flex}.review-head,.review-sub{flex-wrap:wrap;gap:8px;padding:10px 12px}.review-sub{border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent);font-size:.875rem}.diff{font-family:var(--mono);background:var(--surface);border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent);flex:1;font-size:.8125rem;overflow:auto}.diff-line{white-space:pre;gap:8px;min-width:max-content;padding:0 8px;display:flex}.diff-line .mark{width:1ch;font-weight:700}.diff-line.add{background:color-mix(in srgb, var(--ok) 18%, transparent)}.diff-line.del{background:color-mix(in srgb, var(--danger) 18%, transparent)}.diff-line.gap{color:var(--muted);background:var(--surface-2);padding:4px 8px}.info-row{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);justify-content:space-between;gap:12px;padding:8px 0;font-size:.9375rem;display:flex}.search-field{border:1px solid var(--border);border-radius:14px;align-items:center;gap:8px;height:52px;padding:0 12px;display:flex}.search-field input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1}.board-list{flex-direction:column;gap:6px;max-height:52dvh;display:flex;overflow-y:auto}.board-row,.template-row,.chat-row,.model-row{background:var(--surface-3);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.board-row.on{background:var(--secondary-container);color:var(--on-secondary-container)}.model-row{background:0 0}.model-row.on{background:color-mix(in srgb, var(--container) 55%, transparent)}.template-row{background:0 0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px}.template-row:hover{background:var(--surface-2)}.chat-row{background:0 0;flex-direction:column;align-items:flex-start;gap:0;padding:8px 4px}.provider-dot{color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.model-chip{background:var(--surface-3);color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:5px 6px 5px 8px;font-size:.75rem;display:inline-flex}.model-chip b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.free-tag{color:#3b82f6;font-size:.6875rem;font-weight:700}.plan-pill{background:var(--secondary-container);color:var(--on-secondary-container);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.ai-tab{height:calc(100dvh - 172px - env(safe-area-inset-bottom));min-height:420px}@media (min-width:861px){.ai-tab{height:calc(100dvh - 128px)}}.ai-chat{flex-direction:column;width:100%;max-width:820px;height:100%;min-height:0;margin:0 auto;display:flex}.context-bar{gap:2px;padding:0 4px}.chat-tabs{scrollbar-width:none;flex:0 auto;align-items:center;gap:4px;min-width:0;padding:6px 2px;display:flex;overflow-x:auto}.chat-tabs::-webkit-scrollbar{display:none}.chat-tab{max-width:190px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:16px;flex:none;align-items:center;gap:6px;padding:0 4px 0 12px;font-size:.8125rem;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.chat-tab:hover{background:var(--surface-3);color:var(--text)}.chat-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat-tab.on{background:var(--surface-3);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.chat-tab .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-tab .spinner{flex:none;width:12px;height:12px}.bubble-row.from-chat .bubble{background:var(--surface-3);border:1px dashed var(--accent)}.handoff{background:var(--surface-3);border-radius:10px;padding:6px 8px}.handoff .spinner{width:14px;height:14px}.chat-tab .unread-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.chat-tab:not(.busy){padding-right:4px}.chat-tab.busy{padding-right:12px}.chat-tab .x{width:24px;height:24px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.chat-tab.on .x,.chat-tab:hover .x,.chat-tab .x:focus-visible{opacity:1}@media (hover:none){.chat-tab .x{opacity:1;width:28px;height:28px}}.chat-tab .x:hover{background:var(--surface-2);color:var(--danger)}.chat-title{color:var(--text);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;font-weight:600;overflow:hidden}.context-chips{gap:6px;padding:0 12px 6px}.ctx-chip{border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;display:inline-flex}.ctx-chip.on{background:var(--secondary-container);color:var(--on-secondary-container);border-color:#0000}.ai-log{flex-direction:column;flex:1;gap:18px;min-height:0;padding:12px 8px;display:flex;overflow-y:auto}.ai-avatar{background:linear-gradient(135deg, var(--accent), var(--secondary));color:#fff;border-radius:50%;flex:none;place-items:center;display:inline-grid}.welcome{text-align:center;flex-direction:column;align-items:center;gap:10px;padding-top:12px;display:flex}.welcome h2{font-size:1.5rem;font-weight:600}.quick-action{background:var(--secondary-container);color:var(--on-secondary-container);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.875rem;font-weight:600;display:inline-flex}.idea-card{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:14px;display:flex}.idea-card:hover{background:var(--surface-2)}.idea-icon{background:var(--container);width:34px;height:34px;color:var(--on-container);border-radius:10px;flex:none;place-items:center;display:grid}.bubble-row.user{flex-direction:column;align-items:flex-end;display:flex}.mode-tag{color:var(--muted);align-items:center;gap:4px;padding:0 6px 4px;font-size:.6875rem;display:inline-flex}.bubble{background:var(--container);max-width:min(320px,88%);color:var(--on-container);border-radius:20px 20px 6px;padding:10px 14px}.assistant-row{align-items:flex-start;gap:10px;display:flex}.assistant-body{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.info-section{flex-direction:column;gap:6px;font-size:.875rem;display:flex}.info-section b{align-items:center;gap:6px;display:flex}.step-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.step-list li{align-items:flex-start;gap:10px;display:flex}.step-n{background:var(--accent);width:20px;height:20px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-size:.6875rem;font-weight:700;display:grid}.steps{color:var(--muted);margin:0;padding:0;font-size:.8125rem;list-style:none}.typing{align-items:center;gap:8px;display:inline-flex}.composer{margin:8px 4px calc(4px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;flex-direction:column;gap:4px;padding:8px 0 6px;display:flex}.mode-row{scrollbar-width:none;gap:6px;padding:0 10px;display:flex;overflow-x:auto}.mode-chip{background:var(--surface-3);color:var(--muted);font:inherit;cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;gap:5px;padding:6px 12px;font-size:.75rem;font-weight:500;display:inline-flex}.mode-chip.on{background:var(--accent);color:var(--accent-ink)}.composer-input{resize:none;color:var(--text);font:inherit;background:0 0;border:0;outline:0;max-height:150px;padding:12px 0;font-size:1rem}.send-btn{background:linear-gradient(135deg, var(--accent), var(--secondary));color:#fff;cursor:pointer;border:0;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.msg-actions{opacity:0;justify-content:flex-end;gap:2px;margin-top:2px;transition:opacity .15s;display:flex}.bubble-row:hover .msg-actions,.bubble-row:focus-within .msg-actions{opacity:1}.msg-actions .icon-btn{width:24px;height:24px;color:var(--muted)}.msg-actions .icon-btn:hover{color:var(--text)}.send-btn:disabled{background:color-mix(in srgb, var(--text) 12%, transparent);color:color-mix(in srgb, var(--text) 38%, transparent);cursor:default}.send-btn.stop{background:var(--surface-3);color:var(--text)}.command-list{flex-direction:column;max-height:190px;display:flex;overflow-y:auto}.command-list button{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:12px;padding:7px 16px;display:flex}.command-list button:hover{background:var(--surface-2)}.command-list b{color:var(--accent);min-width:104px}.md{overflow-wrap:anywhere;flex-direction:column;gap:8px;font-size:.9375rem;display:flex}.md p{margin:0}.md-head{font-size:1rem;font-weight:600}.md-list{flex-direction:column;gap:3px;margin:0;padding-left:20px;display:flex}.md-code{font-family:var(--mono);background:var(--surface-3);border-radius:5px;padding:1px 5px;font-size:.85em}.bubble .md-code{background:color-mix(in srgb, currentColor 14%, transparent)}.md-fence{color:#e1e2e8;background:#15191f;border-radius:12px;overflow:hidden}.md-fence-bar{color:#9aa0ab;background:#111418;justify-content:space-between;padding:6px 12px;font-size:.75rem;display:flex}.md-fence-bar button{color:#a9c7ff;font:inherit;cursor:pointer;background:0 0;border:0}.md-fence pre{font-family:var(--mono);margin:0;padding:12px;font-size:.8125rem;overflow-x:auto}.sim-page.embedded{height:100%;min-height:0;padding:4px 8px 8px}.code-preview{background:var(--surface-2);max-height:260px;font:12px/1.5 var(--mono);white-space:pre;border-radius:10px;margin:8px 0 0;padding:10px;overflow:auto}.code-tab.sim-open .code-main{flex:0 0 34%}.code-tab.sim-open .ai-drawer{border-radius:18px;flex:auto}@media (min-width:861px){.code-tab.sim-open{flex-direction:row}.code-tab.sim-open .code-main{flex:1}.code-tab.sim-open .ai-drawer{flex:0 0 54%}}.hunk-bar{font-family:var(--font,inherit);color:var(--muted);background:var(--surface-2);border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent);align-items:center;gap:8px;padding:4px 8px;font-size:.75rem;font-weight:600;display:flex;position:sticky;left:0}.hunk-bar.off{color:var(--warn)}.hunk-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600}.hunk-toggle:hover{background:var(--surface-3,var(--surface-2))}.hunk-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.diff-line.skipped{opacity:.45;text-decoration:line-through;text-decoration-thickness:1px}.diff-line.skipped.add,.diff-line.skipped.del{background:0 0}.sel-preview{max-height:160px;font-family:var(--mono);background:var(--surface-2);white-space:pre;border-radius:10px;margin:0;padding:10px 12px;font-size:.8125rem;overflow:auto}.ai-log{min-height:140px}@media (min-width:861px){.code-tab.ai-open{flex-direction:row}.code-tab.ai-open .code-main{flex:1 1 0;min-width:0}.code-tab.ai-open .ai-drawer{border-radius:24px;flex:0 0 clamp(340px,38vw,460px)}}@media (max-width:860px){.code-tab.ai-open{height:auto;min-height:calc(100dvh - 172px - env(safe-area-inset-bottom))}.code-tab.ai-open .code-main{flex:none}.code-tab.ai-open .editor-card{flex:0 0 clamp(150px,26dvh,260px);min-height:0}.code-tab.ai-open .ai-drawer{flex:1 0 380px}}@media (max-height:760px){.ai-drawer .usage-strip{display:none}}.editor-card:has(.review){min-height:min(62dvh,480px)}.ai-drawer .model-chip{flex:none}.palette-backdrop{z-index:300;background:#00000073;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{background:var(--surface,#16181d);border:1px solid var(--border,#2a2f3a);border-radius:14px;width:min(560px,92vw);overflow:hidden;box-shadow:0 18px 50px #00000080}.palette-input{border:0;border-bottom:1px solid var(--border,#2a2f3a);width:100%;color:var(--text,#e8eaee);background:0 0;outline:none;padding:14px 16px;font-size:.95rem}.palette-list{max-height:46vh;padding:6px;overflow-y:auto}.palette-row{text-align:left;width:100%;color:var(--text,#e8eaee);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:.88rem;display:flex}.palette-row.active,.palette-row:hover{background:var(--accent-bg,#638cff24)}.palette-row svg{color:var(--muted);flex:none}.palette-empty,.palette-foot{color:var(--muted);padding:10px 14px}.status-bar{border-top:1px solid var(--border,#2a2f3a);background:var(--surface,#16181d);color:var(--muted);z-index:250;align-items:center;gap:14px;padding:4px 14px;font-size:.74rem;display:flex;position:fixed;bottom:0;left:0;right:0}.status-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.status-item svg{color:var(--muted)}.status-item.warn{color:var(--warn,#e8a13c)}.status-item.err{color:var(--danger,#e05c5c)}.status-bell{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:2px;display:inline-flex;position:relative}.status-bell:hover{color:var(--text)}.status-badge{background:var(--accent,#638cff);color:#fff;border-radius:8px;padding:1px 4px;font-size:.58rem;line-height:1;position:absolute;top:-5px;right:-7px}.notice-panel{background:var(--surface,#16181d);border:1px solid var(--border,#2a2f3a);z-index:260;border-radius:12px;width:300px;max-height:50vh;padding:6px;position:absolute;bottom:22px;right:0;overflow-y:auto;box-shadow:0 12px 34px #00000080}.notice-row{color:var(--text);border-radius:7px;align-items:center;gap:8px;padding:7px 9px;font-size:.78rem;display:flex}.notice-row.error svg{color:var(--danger,#e05c5c)}.notice-row.success svg{color:var(--ok,#6fc47a)}.notice-row.warning svg{color:var(--warn,#e8a13c)}.notice-time{color:var(--muted);margin-left:auto;font-size:.68rem}.notice-empty{color:var(--muted);text-align:center;padding:14px;font-size:.76rem}.palette-input::placeholder{color:var(--muted);font-size:.85rem}.palette-input{white-space:nowrap}.problem-code{border:1px solid var(--border,#2a2f3a);color:var(--muted);border-radius:4px;margin-left:8px;padding:0 5px;font-size:.64rem;display:inline-block}:root{--tertiary:#efb8c8}@media (prefers-color-scheme:light){:root{--tertiary:#7d5260}}.sheet-page{gap:14px;width:100%;max-width:560px;margin:0 auto;padding:4px 0 8px}@media (min-width:861px){.sheet-page{max-width:720px}.sheet-page.wide{max-width:1120px}}@media (min-width:1500px){.sheet-page{max-width:780px}}.page-title{font-size:1.375rem;font-weight:600}.rule{border:0;border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);width:100%;margin:2px 0}.avatar-lg{background:var(--accent);width:56px;height:56px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-size:1.25rem;font-weight:700;display:grid}.plan-banner{border-radius:16px;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.plan-banner:hover{filter:brightness(1.05);text-decoration:none}.meter-bar{background:var(--surface-3);border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.meter-bar>i{background:var(--accent);border-radius:2px;max-width:100%;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1),background-color .3s;display:block}.meter-bar.big{border-radius:4px;height:8px}.meter-bar.big>i{background:var(--bar,var(--accent))}.coin-card{background:color-mix(in srgb, var(--coin) 12%, transparent);border-radius:20px;flex-direction:column;gap:8px;padding:18px;display:flex}.balance-card{color:#fff;background:linear-gradient(135deg, var(--accent), var(--tertiary));border-radius:22px;flex-direction:column;gap:6px;padding:18px;display:flex}.balance-card .icon-btn:hover{background:#ffffff26}.balance-amount{letter-spacing:-.01em;font-weight:700}.test-pill{background:#ffffff38;border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:700}.btn.white{color:var(--accent);background:#fff}.btn.white-outline{color:#fff;background:0 0;border-color:#fff}.btn.white:disabled,.btn.white-outline:disabled{opacity:.5}.hist-icon{background:var(--surface-3);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.pill{border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:600;display:inline-block}.input-wrap .input-prefix{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.segmented{border:1px solid var(--border);border-radius:999px;display:flex;overflow:hidden}.segmented button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;flex:1;padding:8px 12px;font-size:.875rem}.segmented button.on{background:var(--secondary-container);color:var(--on-secondary-container)}.payout{background:var(--surface-2);border-radius:12px;align-items:center;display:flex}.payout.on{background:var(--container);color:var(--on-container)}.payout-main{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;padding:8px 12px;display:flex}.payout-main:disabled{cursor:default}.method-tile{background:var(--surface-2);width:100%;color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.method-tile:disabled{cursor:default;opacity:.85}.pin-boxes{cursor:text;gap:12px;display:flex;position:relative}.pin-hidden{opacity:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.pin-box{border:1px solid var(--border);border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.pin-box.active{border:2px solid var(--accent)}.pin-box i{background:var(--text);border-radius:50%;width:14px;height:14px}.plan-card{background:var(--surface-3);border:2px solid #0000;border-radius:18px;flex-direction:column;gap:6px;padding:16px;display:flex}.plan-card.open{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--border)}.plan-card.clickable{cursor:pointer}.plan-card.current{border-color:var(--ok)}.plan-card.popular{border-color:var(--accent)}.option-tile{background:var(--surface);width:96px;color:var(--text);font:inherit;text-align:center;cursor:pointer;border:0;border-radius:14px;flex-direction:column;gap:2px;padding:10px 8px;display:flex}.option-tile.on{background:var(--accent);color:var(--accent-ink)}.credit-pack{background:var(--surface);width:100%;color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.google-slot{justify-content:center;width:100%;display:flex}.or-divider{color:var(--muted);align-items:center;gap:10px;font-size:.8125rem;display:flex}.or-divider hr{border:0;border-top:1px solid var(--border);flex:1}.btn.ghost.small{padding:6px 8px}.banner{width:100%;font:inherit;text-align:left;cursor:pointer;border:0;border-radius:12px;margin:0 0 8px;padding:10px 16px;font-size:.875rem;display:block}.banner.info{background:var(--ok-bg);color:var(--ok)}.banner.error{background:var(--danger-bg);color:var(--danger)}.banner-progress{margin-bottom:8px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 16px;display:flex}.line-clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.shop-img{background:var(--surface-3);flex:none;place-items:center;display:grid;overflow:hidden}.shop-img img{object-fit:cover;width:100%;height:100%;display:block}.shop-img.square{aspect-ratio:1;width:100%}.search-field.pill-field{border-radius:28px}.store,.cart-page,.product-page{flex-direction:column;gap:12px;width:100%;max-width:1000px;margin:0 auto;padding-top:4px;display:flex}.cart-page,.product-page{max-width:640px}.products{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.product-card{background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:16px;flex-direction:column;padding:0;transition:transform .15s;display:flex;overflow:hidden}.product-card:hover{transform:translateY(-2px)}.product-photo{display:block;position:relative}.pill.corner{position:absolute;top:8px;left:8px}.pill.corner.right{left:auto;right:8px}.product-info{flex-direction:column;gap:2px;padding:10px;display:flex}.product-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;font-weight:600;display:-webkit-box;overflow:hidden}.gallery{scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:16px;display:flex;overflow-x:auto}.gallery::-webkit-scrollbar{display:none}.gallery-slide{scroll-snap-align:center;flex:0 0 100%}.gallery-slide .shop-img{aspect-ratio:1.25}.dots{justify-content:center;gap:6px;margin-top:-22px;display:flex;position:relative}.dots i{background:var(--border);border-radius:50%;width:7px;height:7px}.dots i.on{background:var(--accent);width:9px;height:9px}.part-row{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:4px 0;display:flex}.reply-box{background:var(--surface-3);border-radius:10px;flex-direction:column;gap:2px;padding:10px;display:flex}.list-card{background:var(--surface-2);width:100%;color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.prog-dot{border-radius:50%;width:14px;height:14px;display:block}.info-box{background:var(--info-bg);color:var(--on-container);border-radius:12px;flex-direction:column;gap:2px;padding:12px;display:flex}@media (min-width:861px){.products{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.icon-badge{border-radius:50%;flex:none;place-items:center;display:inline-grid}.learn-card{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:var(--surface);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:20px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.learn-card.small{border-radius:16px;padding:14px}.learn-card:hover{background:var(--surface-2)}div.learn-card{cursor:default}div.learn-card:hover{background:var(--surface)}.section-card{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:var(--surface);border-radius:20px;padding:18px}.plain-card{border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:var(--surface-2);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;display:flex}.class-code{background:var(--container);color:var(--on-container);border-radius:14px;flex-direction:column;align-items:center;padding:16px;display:flex}.class-code b{font-family:var(--mono);letter-spacing:.2em;font-size:1.875rem}.progress-table{border-collapse:separate;border-spacing:12px 6px;font-size:.875rem}.progress-table th{text-align:left;white-space:nowrap;font-weight:600}.progress-table td{white-space:nowrap}.link-btn{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.code-view{background:var(--surface-3);font-family:var(--mono);border-radius:10px;margin:0;padding:10px;font-size:.75rem;overflow-x:auto}.num-badge{background:var(--danger);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.6875rem;font-weight:700;display:grid;position:absolute;top:2px;right:0}.notif-list{flex-direction:column;display:flex}.notif{width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px 4px;display:flex}.notif.unread{background:color-mix(in srgb, var(--accent) 8%, transparent)}.unread-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.mono{font-family:var(--mono)}.btn.tonal{background:var(--container);color:var(--on-container)}.btn.icon-only{justify-content:center;width:48px;padding:0}.card.hero{border:0;border-radius:24px;gap:10px;padding:20px}.tone-bg-info{background:var(--info-bg);color:var(--text)}.tone-bg-ok{background:var(--ok-bg)}.tone-bg-warn{background:var(--warn-bg)}.tone-bg-danger{background:var(--danger-bg)}.tone-bg-neutral{background:var(--surface-2)}.tone-ok{color:var(--ok)}.tone-warn{color:var(--warn)}.tone-danger{color:var(--danger)}.tone-info{color:var(--accent)}.tone-neutral{color:var(--muted)}.section-card{color:inherit;flex-direction:column;gap:8px;padding:16px;text-decoration:none;display:flex}.info-row{justify-content:space-between;gap:12px;display:flex}.info-row b{text-align:right;font-weight:600}.bullets{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.pill-tag{background:var(--surface-3);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:600}.pill-tag.ok{background:var(--ok-bg);color:var(--ok)}.terminal{flex-direction:column;gap:8px;height:calc(100dvh - 144px);min-height:360px;display:flex}.terminal-workspace{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.terminal-main{flex-direction:column;flex:1;gap:8px;min-height:120px;display:flex}.terminal-aux{flex-direction:column;gap:8px;display:flex}.terminal-log{background:var(--surface-2);border-radius:18px;flex-direction:column;flex:1;min-height:120px;padding:12px;font-size:.8125rem;display:flex;overflow:auto}.log-row{white-space:pre-wrap;word-break:break-all;gap:8px;padding:1px 0;display:flex}.progress-bar{background:var(--surface);border-radius:4px;height:8px;overflow:hidden}.progress-bar i{background:var(--ok);height:100%;display:block}.step-head{width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.step-head:disabled{cursor:default}.preflight{width:100%;color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;display:flex}.tour{z-index:70;background:var(--bg);justify-content:center;display:flex;position:fixed;inset:0}.tour-inner{width:min(560px,100%);padding:12px 24px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex}.get-started{background:color-mix(in srgb, var(--container) 55%, transparent);border:0;border-radius:18px;gap:8px;padding:16px}.sim-page{flex-direction:column;height:calc(100dvh - 144px);min-height:420px;display:flex}.sim-frame{background:#0b1020;border:0;border-radius:14px;flex:1;width:100%}.notif-chips{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.notif-chips::-webkit-scrollbar{display:none}.notif-chips .chip{flex:none}.notif-day{color:var(--muted);margin:14px 4px 4px;font-size:.8125rem;font-weight:700}.notif-row{border-radius:10px;align-items:center;gap:4px;display:flex}.notif-row .notif{flex:1;min-width:0}.notif-row.unread{background:color-mix(in srgb, var(--accent) 8%, transparent)}.notif-row .notif.unread{background:0 0}.notif-actions{opacity:0;flex:none;transition:opacity .12s;display:flex}.notif-row:hover .notif-actions,.notif-row:focus-within .notif-actions{opacity:1}@media (hover:none){.notif-actions{opacity:1}}.icon-btn.small{width:32px;height:32px}.notif-undo{background:var(--text);color:var(--bg);border-radius:12px;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex;position:sticky;bottom:0}.notif-undo .btn{color:var(--bg)}.notif-setting{align-items:center;gap:12px}.switch{background:var(--border);cursor:pointer;border:0;border-radius:999px;flex:none;width:46px;height:28px;padding:3px;transition:background .15s}.switch i{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;display:block}.switch.on{background:var(--accent)}.switch.on i{transform:translate(18px)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.edu-page{flex-direction:column;gap:16px;width:100%;max-width:980px;margin:0 auto;padding:4px 0 8px;display:flex}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.page-head .titles{flex-direction:column;flex:1;gap:2px;min-width:200px;display:flex}.page-head h1{font-size:1.5rem;font-weight:700}.page-head .subtitle{color:var(--muted);font-size:.875rem}.page-head .head-actions{flex-wrap:wrap;gap:8px;display:flex}.tab-bar{scrollbar-width:none;border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-link{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;margin-bottom:-1px;padding:9px 14px;font-size:.875rem;font-weight:600;display:inline-flex}.tab-link:hover{color:var(--text)}.tab-link.on{color:var(--accent);border-bottom-color:var(--accent)}.avatar-tile{background:color-mix(in srgb, var(--hue,var(--accent)) 22%, var(--surface-2));width:46px;height:46px;color:var(--hue,var(--accent));border-radius:12px;flex:none;place-items:center;font-size:1.0625rem;font-weight:800;display:grid}.avatar-tile.lg{border-radius:18px;width:64px;height:64px;font-size:1.375rem}.class-name{font-size:1rem;font-weight:600}.class-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.8125rem;display:flex}.meta-item{align-items:center;gap:6px;min-width:0;display:inline-flex}.meta-item svg{color:var(--faint);flex:none}.section-title{align-items:center;gap:8px;font-size:1.0625rem;font-weight:700;display:inline-flex}.section-title svg{color:var(--accent)}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.crumb{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-left:-6px;padding:6px 10px 6px 6px;font-size:.875rem;font-weight:600;display:inline-flex}.crumb:hover{background:var(--surface-2);color:var(--text)}.crumb:focus-visible,.class-card:focus-visible,.assign-row:focus-visible,.stat:focus-visible,.link-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:4px 0;font-size:.875rem;font-weight:600}.link-btn:hover{text-decoration:underline}.class-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.class-card{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:linear-gradient(160deg, color-mix(in srgb, var(--hue,var(--accent)) 9%, var(--surface)) 0%, var(--surface) 55%);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:18px;flex-direction:column;gap:8px;padding:16px;transition:border-color .15s,transform .15s;display:flex}.class-card:hover{border-color:color-mix(in srgb, var(--hue,var(--accent)) 60%, var(--border));transform:translateY(-1px)}.class-card:active{transform:translateY(0)}.class-card .class-name{margin-top:4px;font-size:1.0625rem;font-weight:700}.class-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.class-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;line-height:1.45;display:-webkit-box;overflow:hidden}.skel-card{cursor:default}.skel-card .skel{display:block}.role-pill{background:var(--surface-3);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.role-pill.teach{background:var(--container);color:var(--on-container)}.class-hero{border:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--hue,var(--accent)) 16%, var(--surface)) 0%, var(--surface) 70%);border-radius:22px;align-items:flex-start;gap:18px;padding:22px;display:flex;position:relative}.hero-body{flex-direction:column;flex:1;align-items:flex-start;gap:8px;min-width:0;display:flex}.class-hero h1{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:1.75rem;font-weight:800;line-height:1.15}.hero-meta{font-size:.875rem}.hero-desc{max-width:64ch;color:var(--text);opacity:.86;margin:2px 0 0;font-size:.9375rem;line-height:1.55}.hero-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.invite-card{background:var(--surface);border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:16px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.invite-text{flex-direction:column;gap:2px;min-width:220px;display:flex}.join-code{font-family:var(--mono);letter-spacing:.2em;background:var(--container);color:var(--on-container);border-radius:10px;padding:6px 12px;font-size:1.375rem;font-weight:700}.invite-actions{gap:6px;display:flex}.summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stat{border:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:var(--surface);color:var(--text);font:inherit;text-align:left;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:12px 14px;display:grid}button.stat{cursor:pointer}button.stat:hover{border-color:var(--accent)}.stat svg{color:var(--faint);grid-row:span 2}.stat b{font-size:1.25rem;line-height:1.1}.stat span{color:var(--muted);font-size:.75rem;font-weight:600}.stat.bad{background:var(--danger-bg);border-color:#0000}.stat.bad svg,.stat.bad b{color:var(--danger)}.stat.in{background:var(--info-bg);border-color:#0000}.stat.in svg,.stat.in b{color:var(--on-container)}.stat.done svg,.stat.done b{color:var(--ok)}.ann-item{background:var(--surface);border:1px solid color-mix(in srgb, var(--border) 45%, transparent);border-left:3px solid var(--accent);border-radius:16px;gap:14px;padding:14px 16px;display:flex}.ann-badge{background:var(--container);width:36px;height:36px;color:var(--on-container);border-radius:50%;flex:none;place-items:center;display:grid}.ann-head{align-items:flex-start;gap:8px;display:flex}.ann-title{flex:1;font-size:1rem;font-weight:700;line-height:1.35}.ann-meta{color:var(--muted);align-items:center;gap:6px;margin-top:2px;font-size:.75rem;display:flex}.ann-body{white-space:pre-wrap;color:var(--text);margin:8px 0 0;font-size:.9375rem;line-height:1.55}.mini-avatar.xs{width:20px;height:20px;font-size:.5625rem}.mini-avatar.lg{width:48px;height:48px;font-size:1rem}.inline-empty{border:1px dashed color-mix(in srgb, var(--border) 80%, transparent);border-radius:16px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.inline-empty .grow{flex-direction:column;gap:2px;min-width:200px;display:flex}.assign-list{flex-direction:column;display:flex}.assign-row{border:0;border-top:1px solid color-mix(in srgb, var(--border) 45%, transparent);width:calc(100% + 16px);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:14px;margin:0 -8px;padding:14px 8px;display:flex}.assign-row:first-child{border-top:0}.assign-row:hover{background:color-mix(in srgb, var(--text) 3%, transparent)}.assign-row:hover .assign-title{color:var(--accent)}.assign-title{font-size:.9375rem;font-weight:600}.assign-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:2px;font-size:.8125rem;display:flex}.assign-sub .due{align-items:center;gap:4px;display:inline-flex}.assign-sub .due.bad{color:var(--danger);font-weight:600}.assign-icon{background:var(--surface-3);width:42px;height:42px;color:var(--muted);border-radius:12px;flex:none;place-items:center;display:grid}.assign-icon.lab{background:var(--ok-bg);color:var(--ok)}.assign-icon.starter{background:var(--warn-bg);color:var(--warn)}.assign-icon.course{background:var(--info-bg);color:var(--on-container)}.assign-progress{flex-direction:column;align-items:flex-end;gap:5px;min-width:150px;display:flex}.bar.thin{width:120px;height:5px}.due-chip{background:var(--surface-3);color:var(--text);border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.due-chip.bad{background:var(--danger-bg);color:var(--danger)}.assign-detail .instructions{white-space:pre-wrap;color:var(--text);margin:0;line-height:1.55}.callout{background:var(--info-bg);color:var(--on-container);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.callout svg{flex:none;margin-top:1px}.callout.warn{background:var(--warn-bg);color:var(--warn)}.feedback-card{background:var(--ok-bg);color:var(--text);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.feedback-card blockquote{border-left:3px solid var(--ok);white-space:pre-wrap;margin:0;padding-left:12px;line-height:1.5}.grade-badge{background:var(--ok);color:var(--ok-bg);border-radius:8px;padding:3px 10px;font-size:.8125rem;font-weight:800}.kind-tag{letter-spacing:.02em;text-transform:uppercase;border-radius:8px;flex:none;align-items:center;gap:6px;padding:5px 10px;font-size:.6875rem;font-weight:700;display:inline-flex}.kind-tag svg{flex:none}.kind-tag.lab{background:var(--ok-bg);color:var(--ok)}.kind-tag.starter{background:var(--warn-bg);color:var(--warn)}.kind-tag.course{background:var(--info-bg);color:var(--on-container)}.kind-tag.custom{background:var(--surface-3);color:var(--muted)}.status-chip{white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.status-chip svg{flex:none}.status-chip.sm{gap:4px;padding:3px 8px;font-size:.6875rem}button.status-chip{cursor:pointer;border:0;font-family:inherit}button.status-chip:hover{filter:brightness(1.12)}.status-chip.todo{background:var(--surface-3);color:var(--muted)}.status-chip.doing{background:var(--warn-bg);color:var(--warn)}.status-chip.in{background:var(--info-bg);color:var(--on-container)}.status-chip.done{background:var(--ok-bg);color:var(--ok)}.status-chip.bad{background:var(--danger-bg);color:var(--danger)}.table-wrap{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);border-radius:14px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th{background:var(--surface-2);text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:.6875rem;font-weight:700;position:sticky;top:0}.data-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);vertical-align:middle;padding:10px 12px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:color-mix(in srgb, var(--text) 3%, transparent)}.cell-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.roster .sticky-col{z-index:1;background:var(--surface);min-width:210px;position:sticky;left:0}.roster thead .sticky-col{background:var(--surface-2);z-index:2}.roster tbody tr:hover .sticky-col{background:color-mix(in srgb, var(--text) 3%, var(--surface))}.th-title{white-space:normal;text-transform:none;letter-spacing:0;align-items:center;gap:5px;max-width:170px;font-size:.75rem;line-height:1.3;display:inline-flex}.th-title svg{flex:none}.review-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.review-head h1{font-size:1.375rem;font-weight:700}.review-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.review-panel{background:var(--surface);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex;position:sticky;top:76px}.review-panel h3{font-size:.875rem}.code-file{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);border-radius:12px;overflow:hidden}.code-file>summary{background:var(--surface-2);font-family:var(--mono);cursor:pointer;align-items:center;gap:8px;padding:9px 12px;font-size:.8125rem;font-weight:600;list-style:none;display:flex}.code-file>summary:before{content:"";background:var(--accent);border-radius:2px;flex:none;width:8px;height:8px}.code-file pre{font-family:var(--mono);background:var(--surface);margin:0;padding:12px;font-size:.75rem;line-height:1.55;overflow-x:auto}@media (max-width:900px){.review-grid{grid-template-columns:1fr}.review-panel{position:static}}.empty-state{text-align:center;border:1px dashed color-mix(in srgb, var(--border) 80%, transparent);border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:36px 16px;display:flex}.skel-row{align-items:center;gap:14px;padding:10px 0;display:flex}.skel{background:linear-gradient(100deg, var(--surface-2) 40%, var(--surface-3) 50%, var(--surface-2) 60%);background-size:200% 100%;border-radius:8px;animation:1.4s infinite skel;display:block}.skel-thumb{border-radius:12px;flex:none;width:46px;height:46px}.skel-lines{flex-direction:column;flex:1;gap:8px;display:flex}.skel-lines .skel{height:12px}@keyframes skel{0%{background-position:120% 0}to{background-position:-80% 0}}.panel{background:var(--surface);border:1px solid color-mix(in srgb, var(--border) 55%, transparent);border-radius:14px}.panel-head{border-bottom:1px solid color-mix(in srgb, var(--border) 45%, transparent);align-items:center;gap:12px;padding:14px 16px;display:flex}.panel-head .grow{min-width:0}.panel-section{border-top:1px solid color-mix(in srgb, var(--border) 35%, transparent);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.panel-section:first-of-type{border-top:0}.staff-row{align-items:center;gap:10px;display:flex}.mini-avatar{background:color-mix(in srgb, var(--hue,var(--accent)) 22%, var(--surface-2));width:30px;height:30px;color:var(--hue,var(--accent));border-radius:50%;flex:none;place-items:center;font-size:.6875rem;font-weight:800;display:grid}.post-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.post-tile{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;padding:0;transition:border-color .15s;display:flex;overflow:hidden}.post-tile:hover{border-color:var(--accent)}.post-cover{aspect-ratio:16/10;background:var(--surface-3);color:var(--faint);place-items:center;display:grid;position:relative;overflow:hidden}.post-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.post-flags{gap:6px;display:flex;position:absolute;top:8px;left:8px}.post-body{flex-direction:column;gap:2px;padding:10px 12px;display:flex}.post-body b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}.comm-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.comm-card{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;padding:0;transition:transform .15s,border-color .15s;display:flex;overflow:hidden}.comm-card:hover{border-color:var(--accent);transform:translateY(-2px)}.comm-card .thumb{aspect-ratio:16/9;background:var(--surface-2);width:100%;color:var(--faint);cursor:pointer;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.comm-card .thumb img{object-fit:cover;width:100%;height:100%;display:block}.comm-body{flex-direction:column;gap:4px;padding:12px 14px;display:flex}.comm-body b{font-size:.9375rem}.comm-meta{color:var(--muted);align-items:center;gap:10px;font-size:.75rem;display:flex}.comm-meta .with-icon{align-items:center;gap:4px;display:inline-flex}.comm-hero{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:var(--surface-2);border-radius:16px;width:100%;overflow:hidden}.comm-hero img{object-fit:cover;width:100%;max-height:480px;display:block}.detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mine-row{border-top:1px solid color-mix(in srgb, var(--border) 45%, transparent);flex-wrap:wrap;align-items:center;gap:14px;padding:14px 0;display:flex}.mine-row:first-child{border-top:0}.mine-body{flex-direction:column;flex:220px;gap:2px;min-width:0;display:flex}@media (max-width:640px){.edu-page{gap:12px}.page-head h1{font-size:1.25rem}.post-grid,.comm-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.class-hero{border-radius:18px;flex-wrap:wrap;gap:12px;padding:16px}.class-hero .avatar-tile.lg{display:none}.class-hero .menu-anchor{position:absolute;top:10px;right:10px}.hero-body{flex-basis:100%}.class-hero h1{padding-right:32px;font-size:1.375rem}.hero-actions{flex-direction:column;width:100%}.hero-actions>*{white-space:nowrap;width:100%}.invite-card{padding:12px}.join-code{text-align:center;flex:1}.invite-actions{width:100%}.invite-actions>*{flex:1}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.assign-row{flex-wrap:wrap;row-gap:8px}.assign-row>.grow{flex-basis:calc(100% - 56px)}.assign-row>.status-chip,.assign-progress{margin-left:56px}.assign-progress{flex-flow:wrap;flex-basis:calc(100% - 56px);align-items:center;gap:6px 10px;min-width:0}.assign-row>svg:last-child{display:none}.roster .sticky-col{min-width:160px}.detail-actions{width:100%}.panel-section{flex-wrap:wrap}}.role-list{gap:10px;display:grid}.role-card{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:1.5px solid var(--outline,#8c96a559);background:0 0;border-radius:16px;align-items:center;gap:14px;padding:14px 16px;display:flex}.role-card:hover{background:var(--container)}.role-card.on{border-color:var(--accent);background:var(--container)}.role-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.role-icon{background:var(--container);width:44px;height:44px;color:var(--on-container);border-radius:50%;flex:none;place-items:center;display:grid}.dev-hero{flex-direction:column;gap:10px;padding:8px 0 4px;display:flex}.dev-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:800}.dev-hero h1{letter-spacing:-.02em;font-size:2rem}.dev-hero p{color:var(--muted);max-width:64ch}.dev-hero .row{gap:10px}.dev-steps{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.dev-step{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:var(--surface);border-radius:14px;flex-direction:column;gap:6px;padding:14px;display:flex}.dev-step.done{border-color:color-mix(in srgb, var(--ok) 55%, transparent)}.dev-step b{font-size:.9375rem}.dev-step span{color:var(--muted);font-size:.8125rem}.dev-step .n{background:var(--surface-3);width:26px;height:26px;color:var(--muted);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.dev-step.done .n{background:var(--ok-bg);color:var(--ok)}.dev-step.current{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.dev-step.current .n{background:var(--container);color:var(--on-container)}.dev-section{flex-direction:column;gap:14px;min-width:0;display:flex}.dev-section>.ds-head{align-items:flex-start;gap:12px;margin-bottom:2px;display:flex}.ds-icon{border-radius:10px;width:34px;height:34px}.ds-title{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ds-title p{color:var(--muted);max-width:80ch;font-size:.875rem}.ds-actions{flex-wrap:wrap;flex:none;gap:8px;display:flex}.dev-section h2{letter-spacing:-.01em;font-size:1.125rem}.doc-layout{grid-template-columns:1fr;align-items:start;gap:20px;display:grid}.doc-nav{flex-wrap:wrap;gap:4px;display:flex}.doc-nav a{color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.8125rem;font-weight:600;text-decoration:none}.doc-nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}@media (min-width:980px){.doc-layout{grid-template-columns:220px minmax(0,1fr);gap:36px}.doc-nav{flex-flow:column;position:sticky;top:80px}.doc-nav a{border-radius:10px;padding:7px 12px}}.doc-body{flex-direction:column;gap:28px;min-width:0;display:flex}.doc-sec{flex-direction:column;gap:10px;scroll-margin-top:80px;display:flex}.doc-sec>h2{letter-spacing:-.01em;padding-top:4px;font-size:1.3rem}.doc-sec>p,.doc-sec>div>p{max-width:75ch}.codeblock{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:var(--bg);border-radius:12px;overflow:hidden}.codeblock .cb-head{border-bottom:1px solid color-mix(in srgb, var(--border) 45%, transparent);align-items:center;gap:8px;padding:6px 6px 6px 14px;display:flex}.codeblock .cb-title{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;flex:1;font-size:.75rem;font-weight:700}.codeblock pre{font-size:.8125rem;font-family:var(--mono);white-space:pre;margin:0;padding:14px;overflow-x:auto}.codeblock .cb-copy{flex:none}.cb-copy{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:700}.cb-copy:hover{background:var(--surface-3);color:var(--text)}.endpoint-group{flex-direction:column;display:flex}.endpoint-group h3{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:18px 0 6px;font-size:.8125rem;font-weight:800}.endpoint-group h3:first-child{padding-top:0}.endpoint{border-top:1px solid color-mix(in srgb, var(--border) 40%, transparent);flex-direction:column;gap:4px;padding:12px 0;display:flex}.endpoint-group .endpoint:first-of-type{border-top:0}.endpoint .line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.method{font-family:var(--mono);letter-spacing:.05em;text-align:center;border-radius:7px;min-width:58px;padding:3px 9px;font-size:.72rem;font-weight:800}.method.get{color:var(--ok);background:var(--ok-bg)}.method.post{color:var(--on-container);background:var(--container)}.method.delete{color:var(--danger);background:var(--danger-bg)}.endpoint .path{font-family:var(--mono);font-size:.875rem;font-weight:600}.endpoint .scope{margin-left:auto}.endpoint p{color:var(--muted);font-size:.875rem}.dodont{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.dodont>div{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);border-radius:12px;flex-direction:column;gap:6px;padding:14px;font-size:.875rem;display:flex}.dodont .do{border-top:3px solid var(--ok)}.dodont .dont{border-top:3px solid var(--danger)}.dodont b{align-items:center;gap:6px;display:flex}.dodont .do b{color:var(--ok)}.dodont .dont b{color:var(--danger)}.dodont ul{color:var(--muted);gap:4px;margin:0;padding-left:18px;display:grid}.doc-table{border-collapse:collapse;width:100%;font-size:.875rem}.doc-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:0 12px 8px 0;font-size:.75rem;font-weight:800}.doc-table td{border-top:1px solid color-mix(in srgb, var(--border) 40%, transparent);vertical-align:top;padding:9px 12px 9px 0}.doc-table td:first-child{font-family:var(--mono);white-space:nowrap;font-size:.8125rem}.doc-table td:last-child{color:var(--muted)}.key-item{border-top:1px solid color-mix(in srgb, var(--border) 45%, transparent);flex-direction:column;gap:6px;padding:14px 0;display:flex}.key-item:first-child{border-top:0;padding-top:0}.key-item .key-id{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.key-item .key-mono{font-family:var(--mono);color:var(--muted);font-size:.875rem}.key-meta{color:var(--muted);flex-wrap:wrap;gap:4px 16px;font-size:.8125rem;display:flex}.secret-reveal{border:1px solid var(--warn);background:color-mix(in srgb, var(--warn-bg) 55%, var(--surface));box-shadow:0 8px 30px -12px color-mix(in srgb, var(--warn) 45%, transparent);flex-direction:column;gap:12px;display:flex}.secret-reveal code{font-family:var(--mono);font-size:.875rem}.sr-head{align-items:flex-start;gap:12px;display:flex}.sr-icon{background:var(--warn-bg);color:var(--warn)}.secret-value{-webkit-user-select:all;user-select:all;font-size:.875rem!important}.codeblock pre.wrap{white-space:pre-wrap;word-break:break-all}.build-file{border:1px solid color-mix(in srgb, var(--border) 45%, transparent);border-radius:12px;overflow:hidden}.build-file .bf-head{background:var(--surface-2);align-items:center;gap:8px;padding:6px 10px;display:flex}.build-file .bf-head input{color:var(--text);font:inherit;font-family:var(--mono);background:0 0;border:0;width:180px;padding:4px 2px;font-size:.8125rem}.build-file .bf-head input:focus{outline:none}.build-file textarea{font-family:var(--mono);border:0;border-radius:0;font-size:.8125rem}.build-file textarea:focus{box-shadow:none;border-color:#0000}.dev-portal{--dp-line:color-mix(in srgb, var(--border) 50%, transparent)}.chip.small{cursor:pointer;padding:4px 11px;font-size:.78rem}.mono-input{font-family:var(--mono);font-size:.8125rem}.dp-label{font-weight:600}.hint svg{vertical-align:-2px}.dp-hero{border:1px solid var(--dp-line);background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--accent) 16%, transparent) 0%, transparent 55%), var(--surface);border-radius:24px;grid-template-columns:1fr;gap:18px;padding:24px;display:grid}.dp-hero-text{flex-direction:column;gap:10px;min-width:0;display:flex}.dp-hero-text h1{letter-spacing:-.025em;font-size:clamp(1.6rem,3.4vw,2.25rem);line-height:1.15}.dp-hero-text p{color:var(--muted);max-width:62ch}.dp-hero-text .btn svg{margin-right:2px}.dp-hero-meta{background:color-mix(in srgb, var(--surface-2) 70%, transparent);border:1px solid var(--dp-line);border-radius:16px;flex-direction:column;align-self:start;gap:2px;min-width:0;padding:12px 14px;display:flex}.hm-row{align-items:center;gap:10px;min-width:0;padding:6px 0;font-size:.875rem;display:flex}.hm-row+.hm-row{border-top:1px solid var(--dp-line)}.hm-row>span:first-child{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;flex:none;width:72px;font-size:.75rem;font-weight:700}.hm-row b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hm-row.base code{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.78rem;overflow:hidden}@media (min-width:860px){.dp-hero{grid-template-columns:minmax(0,1fr) 320px;padding:30px 32px}}.dp-pill{letter-spacing:.02em;background:var(--surface-3);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.dp-pill i{opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.dp-pill.ok{color:var(--ok);background:var(--ok-bg)}.dp-pill.warn{color:var(--warn);background:var(--warn-bg)}.dp-pill.danger{color:var(--danger);background:var(--danger-bg)}.dp-pill.accent,.dp-pill.live{color:var(--on-container);background:var(--container)}.dp-workspace{flex-direction:column;gap:16px;display:flex}.dp-nav{z-index:5;scrollbar-width:none;border:1px solid var(--dp-line);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-radius:16px;gap:4px;padding:5px;display:flex;position:sticky;top:64px;overflow-x:auto}.dp-nav::-webkit-scrollbar{display:none}.dp-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px;flex:none;align-items:center;gap:7px;padding:8px 14px;font-size:.875rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.dp-tab:hover{background:var(--surface-2);color:var(--text)}.dp-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dp-tab.on{background:var(--accent);color:var(--accent-ink)}.dp-count{text-align:center;background:var(--surface-3);min-width:20px;color:var(--muted);border-radius:999px;padding:0 6px;font-size:.7rem;font-weight:800;line-height:18px}.dp-tab.on .dp-count{background:color-mix(in srgb, var(--accent-ink) 22%, transparent);color:var(--accent-ink)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.stat-tile{border:1px solid var(--dp-line);background:var(--surface);border-radius:16px;flex-direction:column;gap:6px;min-width:0;padding:16px;display:flex}.stat-tile.warn{border-color:color-mix(in srgb, var(--warn) 55%, transparent)}.stat-tile.danger{border-color:color-mix(in srgb, var(--danger) 55%, transparent)}.st-head{color:var(--faint);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.st-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1.1}.st-sub{color:var(--muted);font-size:.78rem}.st-bar{background:var(--surface-3);border-radius:3px;height:6px;overflow:hidden}.st-bar.big{border-radius:4px;height:8px}.st-bar>i{border-radius:inherit;background:var(--accent);height:100%;transition:width .4s;display:block}.st-bar>i.ok{background:var(--ok)}.st-bar>i.warn{background:var(--warn)}.st-bar>i.danger{background:var(--danger)}.stat-tile.warn .st-bar>i{background:var(--warn)}.stat-tile.danger .st-bar>i{background:var(--danger)}.overview-grid{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}@media (min-width:1000px){.overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.seg{background:var(--surface-2);border-radius:10px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 12px;font-size:.8125rem;font-weight:600}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000026}.check-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.check-list li{border-top:1px solid var(--dp-line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.check-list li:first-child{border-top:0}.ck-icon{flex:none;margin-top:1px}.check-list li.ok .ck-icon{color:var(--ok)}.check-list li.warn .ck-icon{color:var(--warn)}.ck-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:.875rem;display:flex}.mini-builds{flex-direction:column;display:flex}.mini-build{border:0;border-top:1px solid var(--dp-line);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 6px;display:flex}.mini-build:first-child{border-top:0}.mini-build:hover{background:var(--surface-2)}.mini-build code{font-family:var(--mono);font-size:.8125rem}.keys-grid{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}@media (min-width:1060px){.keys-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.keys-grid>.dev-section{position:sticky;top:128px}}.key-list{flex-direction:column;gap:10px;display:flex}.key-card{border:1px solid var(--dp-line);background:color-mix(in srgb, var(--surface-2) 45%, var(--surface));border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:14px 16px;transition:border-color .15s;display:flex}.key-card:hover{border-color:color-mix(in srgb, var(--border) 85%, transparent)}.key-card.inactive{opacity:.62}.key-card .key-id{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.key-card .key-mono{font-family:var(--mono);color:var(--muted);overflow-wrap:anywhere;font-size:.8125rem}.key-glyph{background:var(--surface-3);width:28px;height:28px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}.key-glyph.live{background:var(--container);color:var(--on-container)}.scope-chips{flex-wrap:wrap;gap:6px;display:flex}.scope-chips code{font-family:var(--mono);background:var(--surface-3);color:var(--muted);overflow-wrap:anywhere;border-radius:6px;padding:2px 8px;font-size:.72rem}.key-facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px;margin:0;display:grid}.key-facts div{min-width:0}.key-facts dt{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-size:.7rem;font-weight:700}.key-facts dd{color:var(--text);overflow-wrap:anywhere;margin:2px 0 0;font-size:.8125rem}.rotate-panel{background:var(--surface);border:1px dashed var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.spend{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.mode-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.mode-card{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px 12px 38px;display:flex;position:relative}.mode-card input{accent-color:var(--accent);margin:0;position:absolute;top:15px;left:13px}.mode-card.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.mode-card.disabled{opacity:.55;cursor:not-allowed}.scope-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.scope-card{border:1px solid var(--dp-line);cursor:pointer;background:var(--surface);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.scope-card input{accent-color:var(--accent);margin-top:3px}.scope-card>span{flex-direction:column;gap:2px;min-width:0;display:flex}.scope-card code{font-family:var(--mono);font-size:.8125rem;font-weight:600}.scope-card.on{border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.reauth{background:var(--surface-2);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.reauth>svg{color:var(--faint);flex:none;margin-top:3px}.otp{max-width:140px;font-family:var(--mono);letter-spacing:.25em;text-align:center}.apply-grid{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}@media (min-width:900px){.apply-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}.apply-pitch{background:radial-gradient(140% 120% at 100% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%), var(--surface);flex-direction:column;gap:12px;display:flex}.apply-pitch h2{font-size:1.25rem}.perk-list{flex-direction:column;gap:14px;margin:4px 0 0;padding:0;list-style:none;display:flex}.perk-list li{align-items:flex-start;gap:12px;display:flex}.perk-list li>span:last-child{flex-direction:column;gap:2px;display:flex}.console-grid{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}@media (min-width:980px){.console-grid{grid-template-columns:minmax(0,1fr) 300px}}.console-editor{flex-direction:column;gap:6px;min-width:0;display:flex}.console-side{background:var(--surface-2);border-radius:14px;flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex}.cf-tabs{scrollbar-width:thin;gap:4px;display:flex;overflow-x:auto}.cf-tab{border:1px solid var(--dp-line);background:var(--surface-2);color:var(--muted);font:inherit;font-family:var(--mono);cursor:pointer;border-bottom:0;border-radius:10px 10px 0 0;flex:none;padding:6px 12px;font-size:.78rem}.cf-tab.on{background:var(--surface-3);color:var(--text);font-weight:600}.cf-tab.bad{color:var(--danger)}.cf-tab.add{background:0 0;border-style:dashed}.console-editor .build-file{border-top-left-radius:0}.console-editor .build-file textarea{resize:vertical;tab-size:2;min-height:280px}.dp-callout{background:var(--info-bg,var(--container));color:var(--on-container);border-radius:10px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:.8125rem;display:flex}.dp-callout svg{flex:none;margin-top:1px}.dp-callout.warn{background:var(--warn-bg);color:var(--warn)}.curl-details>summary{cursor:pointer;color:var(--muted);padding:2px 0;font-weight:600}.curl-details[open]>summary{margin-bottom:8px}.curl-details .codeblock pre{max-height:280px;overflow:auto}.build-list{flex-direction:column;gap:8px;display:flex}.dp-build{border:1px solid var(--dp-line);background:var(--surface);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.br-main{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.br-text{flex-direction:column;flex:260px;gap:4px;min-width:0;display:flex}.br-text .key-id{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.br-text .key-mono{font-family:var(--mono);font-size:.8125rem}.br-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.state-dot{background:var(--border);border-radius:50%;flex:none;width:10px;height:10px;margin-top:5px}.state-dot.ok{background:var(--ok)}.state-dot.warn{background:var(--warn)}.state-dot.danger{background:var(--danger)}.state-dot.accent{background:var(--accent)}.state-dot.pulse{animation:1.4s ease-in-out infinite dp-pulse}@keyframes dp-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent)}50%{box-shadow:0 0 0 5px #0000}}@media (prefers-reduced-motion:reduce){.state-dot.pulse{animation:none}.st-bar>i{transition:none}}.live-note{color:var(--accent);align-items:center;gap:6px;font-weight:600;display:inline-flex}.live-note i{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite dp-pulse}.hook-url{font-family:var(--mono);overflow-wrap:anywhere;min-width:0;font-size:.8125rem}.delivery-log{background:var(--surface);border-radius:10px;flex-direction:column;gap:2px;max-height:260px;padding:8px 10px;display:flex;overflow:auto}.dp-delivery{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;font-size:.8125rem;display:flex}.dp-delivery code{font-family:var(--mono);font-size:.78rem}.cb-copy{align-items:center;gap:4px;display:inline-flex}@media (max-width:560px){.dp-hero{border-radius:18px;padding:18px}.key-card,.dp-build{padding:12px}.dp-nav{top:56px}.br-actions{width:100%}}:is(.chip:has(input:focus-visible),.mode-card:has(input:focus-visible),.scope-card:has(input:focus-visible)){outline:2px solid var(--accent);outline-offset:2px}.sheet:has(.ws-root){max-width:1180px}.ws-root{flex-direction:column;gap:12px;min-width:0;display:flex}.ws-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ws-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (min-width:860px){.ws-layout{grid-template-columns:minmax(0,1fr) 340px}.ws-nav{grid-column:1/-1}}@media (min-width:1180px){.ws-layout{grid-template-columns:190px minmax(0,1fr) 380px}.ws-nav{grid-column:auto}}.ws-nav{scrollbar-width:none;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.ws-nav::-webkit-scrollbar{display:none}@media (min-width:1180px){.ws-nav{flex-direction:column;position:sticky;top:4px;overflow:visible}}.ws-tab{color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex:none;align-items:center;gap:10px;padding:9px 12px;display:flex;position:relative}.ws-tab:hover{background:var(--surface-3);color:var(--text)}.ws-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ws-tab.on{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:0 1px 3px #0000001f}.ws-tab.on>svg{color:var(--accent)}.ws-tab-text{flex-direction:column;min-width:0;display:flex}.ws-tab-text b{white-space:nowrap;font-size:.875rem;font-weight:700}.ws-tab-text small{color:var(--faint);font-size:.72rem;display:none}@media (min-width:1180px){.ws-tab-text small{display:block}}.ws-dot{background:var(--warn);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}.ws-main{background:var(--surface);border:1px solid color-mix(in srgb, var(--border) 55%, transparent);border-radius:16px;flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.ws-panel-head h3{margin:0;font-size:1.05rem}.ws-panel-head p{color:var(--muted);max-width:70ch;margin:2px 0 0;font-size:.8125rem}.ws-main .check-list li.info .ck-icon{color:var(--accent)}.ws-presets{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;display:grid}.ws-preset{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;gap:8px;padding:8px;font-size:.8125rem;font-weight:600;display:flex}.ws-preset:hover{background:var(--surface-2)}.ws-preset.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.ws-swatch{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:8px;display:flex}.ws-swatch i{border-radius:3px;width:100%;height:6px;display:block}.ws-swatch i:first-child{width:55%;height:9px}.ws-preview{flex-direction:column;gap:8px;min-width:0;display:flex}@media (min-width:860px){.ws-preview{position:sticky;top:4px}}.ws-preview-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ws-device{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;align-self:center;max-width:100%;overflow:hidden;box-shadow:0 10px 30px -14px #00000073}.ws-device.phone{border-width:6px;border-color:var(--surface-3);border-radius:26px}.ws-device-bar{background:var(--surface-3);align-items:center;gap:5px;padding:7px 10px;display:flex}.ws-device-bar i{background:var(--border);border-radius:50%;width:8px;height:8px}.ws-device-bar span{background:var(--surface);min-width:0;color:var(--faint);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;flex:1;margin-left:8px;padding:2px 10px;font-size:.72rem;overflow:hidden}.ws-device iframe{background:var(--surface-2);border:0;width:100%;display:block}.ws-savebar{z-index:3;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 97%, transparent);-webkit-backdrop-filter:blur(8px);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 -8px -24px;padding:10px 12px;display:flex;position:sticky;bottom:-24px;box-shadow:0 -6px 20px -12px #00000080}.ws-savebar-status{color:var(--muted)}@media (max-width:560px){.ws-savebar .btn{white-space:nowrap;flex:1;padding-left:8px;padding-right:8px}.ws-savebar .grow{display:none}.ws-savebar-status{flex-basis:100%}}.mjd{min-height:100vh;background:var(--bg);grid-template:"bar"56px"main"1fr/1fr;min-height:100dvh;display:grid}.mjd-bar{z-index:30;background:var(--bg);border-bottom:1px solid color-mix(in srgb, var(--border) 45%, transparent);grid-area:bar;align-items:center;gap:8px;padding:0 12px;display:flex;position:sticky;top:0}.mjd-brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:9px;font-weight:800;display:inline-flex}.mjd-brand:hover{text-decoration:none}.mjd-brand img{width:28px;height:28px}.mjd-brand .mjd-tag{letter-spacing:.09em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:700}.mjd-body{grid-area:main;grid-template-columns:1fr;width:100%;max-width:1240px;min-height:0;margin:0 auto;display:grid}.mjd-side{display:none}@media (min-width:1060px){.mjd-menu-btn{display:none}}.mjd-side-head{align-items:center;gap:8px;padding:10px 12px 6px;display:flex}@media (min-width:1060px){.mjd-body{grid-template-columns:264px minmax(0,1fr)}.mjd-side{height:calc(100vh - 56px);border-right:1px solid color-mix(in srgb, var(--border) 40%, transparent);scrollbar-width:thin;align-self:start;height:calc(100dvh - 56px);padding:14px 10px 30px 16px;display:block;position:sticky;top:56px;overflow-y:auto}}.mjd-search{width:100%}.mjd-sec{margin-top:6px}.mjd-sec-head{width:100%;color:var(--faint);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;padding:9px 8px 5px;font-size:.78rem;font-weight:800;display:flex}.mjd-sec-head:hover{color:var(--text);background:var(--surface-2)}.mjd-sec-head svg{transition:transform .15s}.mjd-sec-head.closed svg{transform:rotate(-90deg)}.mjd-sec-items{flex-direction:column;display:flex}.mjd-sec.closed .mjd-sec-items{display:none}.mjd-group{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding:7px 8px 2px;font-size:.72rem;font-weight:700}.mjd-link{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-left:2px solid #0000;border-radius:8px;padding:5px 8px 5px 14px;font-size:.875rem;text-decoration:none;display:block;overflow:hidden}.mjd-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.mjd-link.on{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);font-weight:600}.mjd-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mjd-drawer-scrim{z-index:39;background:#00000080;position:fixed;inset:0}.mjd-drawer{z-index:40;background:var(--bg);border-right:1px solid var(--border);flex-direction:column;width:min(300px,86vw);padding:8px 10px 30px 12px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.mjd-main{justify-content:center;min-width:0;display:flex}@media (min-width:1060px){.mjd-main{justify-content:flex-start}}.mjd-article{flex-direction:column;gap:14px;width:100%;max-width:800px;padding:22px 18px 80px;display:flex}@media (min-width:1060px){.mjd-article{max-width:960px;padding:30px 40px 90px}}@media (min-width:1400px){.mjd-body{max-width:1440px}}.mjd-crumbs{color:var(--faint);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8125rem;display:flex}.mjd-crumbs a{color:var(--muted)}.mjd-crumbs svg{opacity:.6}.mjd-page-head h1{letter-spacing:-.02em;font-size:clamp(1.55rem,3.4vw,2.05rem)}.mjd-page-head .mjd-lead{color:var(--muted);max-width:70ch;margin-top:8px;font-size:1rem}.mjd-doc{flex-direction:column;gap:12px;display:flex}.mjd-doc h2{letter-spacing:-.01em;padding-top:18px;scroll-margin-top:72px;font-size:1.3rem}.mjd-doc h3{padding-top:10px;scroll-margin-top:72px;font-size:1.05rem}.mjd-doc h4{padding-top:6px;scroll-margin-top:72px;font-size:.95rem}.mjd-doc h1{letter-spacing:-.02em;scroll-margin-top:72px;font-size:1.6rem}.mjd-doc p{max-width:76ch}.mjd-doc ul,.mjd-doc ol{flex-direction:column;gap:4px;max-width:76ch;margin:0;padding-left:22px;display:flex}.mjd-doc li>ul,.mjd-doc li>ol{margin-top:4px}.mjd-doc hr{border:0;border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent);margin:14px 0 4px}.mjd-doc a{color:var(--accent)}.mjd-doc .mjd-h>a.mjd-anchor{float:left;color:var(--faint);opacity:0;margin-left:-.9em;padding-right:.35em;font-weight:400;text-decoration:none}.mjd-doc .mjd-h:hover>a.mjd-anchor,.mjd-doc .mjd-h>a.mjd-anchor:focus-visible{opacity:1}.mjd-doc code{background:var(--surface-3);border-radius:5px;padding:1px 5px;font-size:.86em}.mjd-doc pre code{font-size:inherit;background:0 0;padding:0}.mjd-doc .doc-table{width:100%}.mjd-note{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);border-radius:0 10px 10px 0;flex-direction:column;gap:8px;padding:10px 14px;display:flex}.mjd-note.warn{border-left-color:var(--warn);background:color-mix(in srgb, var(--warn) 9%, transparent)}.mjd-note.danger{border-left-color:var(--danger);background:color-mix(in srgb, var(--danger) 9%, transparent)}.mjd-note.ok{border-left-color:var(--ok);background:color-mix(in srgb, var(--ok) 9%, transparent)}.mjd-note p{max-width:none}.mjd-code .cb-title{align-items:center;gap:6px;display:inline-flex}.mjd-code pre{tab-size:4;line-height:1.55}.tok-keyword{color:var(--tok-kw,#c792ea)}.tok-atom{color:var(--tok-at,#f78c6c)}.tok-string{color:var(--tok-str,#7ec699)}.tok-number{color:var(--tok-num,#f78c6c)}.tok-builtin{color:var(--tok-bi,#82aaff)}.tok-typeName{color:var(--tok-ty,#ffcb6b)}.tok-lineComment{color:var(--tok-cm,#8b949e);font-style:italic}.tok-meta{color:var(--tok-meta,#89ddff)}.tok-variableName{color:inherit}@media (prefers-color-scheme:light){:root{--tok-kw:#7c3aed;--tok-at:#b45309;--tok-str:#15803d;--tok-num:#b45309;--tok-bi:#1d4ed8;--tok-ty:#a16207;--tok-cm:#6b7280;--tok-meta:#0e7490}}.mjd-pager{grid-template-columns:1fr 1fr;gap:12px;margin-top:34px;display:grid}.mjd-pager a{border:1px solid color-mix(in srgb, var(--border) 50%, transparent);color:var(--text);background:var(--surface);border-radius:12px;flex-direction:column;gap:3px;padding:12px 16px;text-decoration:none;display:flex}.mjd-pager a:hover{border-color:var(--accent);text-decoration:none}.mjd-pager a.next{text-align:right}.mjd-pager .dir{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.mjd-pager .name{font-weight:600}.mjd-toc{display:none}@media (min-width:1400px){.mjd-main{gap:40px}.mjd-toc{width:210px;max-height:calc(100vh - 56px);flex:none;align-self:flex-start;max-height:calc(100dvh - 56px);margin-left:auto;padding:26px 18px 30px 0;display:block;position:sticky;top:56px;overflow-y:auto}}.mjd-toc-title{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding-bottom:6px;font-size:.72rem;font-weight:800}.mjd-toc a{border-left:2px solid color-mix(in srgb, var(--border) 50%, transparent);color:var(--muted);padding:3px 0 3px 12px;font-size:.8125rem;text-decoration:none;display:block}.mjd-toc a.l3{padding-left:26px}.mjd-toc a:hover{color:var(--text);text-decoration:none}.mjd-toc a.on{color:var(--accent);border-left-color:var(--accent)}.mjd-search-pop{z-index:50;background:#00000080;justify-content:center;padding:9vh 14px 14px;display:flex;position:fixed;inset:0}.mjd-search-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:560px;max-height:72vh;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;align-self:flex-start;display:flex;overflow:hidden}.mjd-search-bar{border-bottom:1px solid color-mix(in srgb, var(--border) 45%, transparent);align-items:center;gap:8px;padding:10px 14px;display:flex}.mjd-search-bar input{color:var(--text);font:inherit;background:0 0;border:0;flex:1;font-size:1rem}.mjd-search-bar input:focus{outline:none}.mjd-search-results{padding:6px;overflow-y:auto}.mjd-hit{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;gap:2px;padding:9px 12px;display:flex}.mjd-hit:hover,.mjd-hit.on{background:var(--surface-2)}.mjd-hit .path{color:var(--faint);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:700}.mjd-hit .snip{color:var(--muted);font-size:.8125rem}.mjd-search-empty{text-align:center;color:var(--muted);padding:22px;font-size:.9rem}.mjd-hero{border:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:radial-gradient(130% 150% at 0% 0%, color-mix(in srgb, var(--accent) 15%, transparent) 0%, transparent 55%), var(--surface);border-radius:22px;flex-direction:column;gap:12px;padding:26px 22px;display:flex}.mjd-hero .mjd-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:800}.mjd-hero h1{letter-spacing:-.025em;font-size:clamp(1.7rem,4vw,2.4rem)}.mjd-hero p{color:var(--muted);max-width:62ch}.mjd-hero .row{margin-top:4px}.mjd-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.mjd-card{text-align:left;border:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;gap:6px;padding:16px;text-decoration:none;transition:border-color .15s;display:flex}.mjd-card:hover{border-color:color-mix(in srgb, var(--accent) 65%, transparent);text-decoration:none}.mjd-card b{font-size:.9375rem}.mjd-card span{color:var(--muted);font-size:.8125rem}.mjd-card .ic{background:var(--container);width:34px;height:34px;color:var(--on-container);border-radius:10px;place-items:center;margin-bottom:4px;display:grid}.mjd-steps{counter-reset:mjdstep;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mjd-steps a{color:var(--text);border-radius:10px;align-items:flex-start;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.mjd-steps a:hover{background:var(--surface-2);text-decoration:none}.mjd-steps .n{counter-increment:mjdstep;background:var(--surface-3);width:24px;height:24px;color:var(--muted);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:.75rem;font-weight:800;display:grid}.mjd-steps .n:before{content:counter(mjdstep)}.mjd-steps .t b{font-size:.9375rem;display:block}.mjd-steps .t span{color:var(--muted);font-size:.8125rem}.mjd-flow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mjd-flow .st{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:var(--surface);border-radius:10px;padding:8px 13px;font-size:.8125rem;font-weight:600}.mjd-flow .st.mine{border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 9%, transparent)}.mjd-flow .arr{color:var(--faint);font-size:.9rem}.mjd-sec-h{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-size:.8rem;font-weight:800}.console-win{z-index:65;background:var(--surface,#14181d);border:1px solid var(--border);min-width:0;box-shadow:0 24px 60px -12px #0000008c, 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent);border-radius:16px;flex-direction:column;animation:.16s console-in;display:flex;position:fixed;overflow:hidden}@keyframes console-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.console-win{animation:none}}.console-win.min{height:auto}.console-win.sheet{left:8px;right:8px;bottom:calc(64px + env(safe-area-inset-bottom));border-radius:16px;width:auto;height:min(56vh,440px)}body.console-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}body.console-dragging .console-win{box-shadow:0 30px 70px -10px #000000a6, 0 0 0 2px var(--accent)}.console-head{border-bottom:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:6px;padding:6px 8px 6px 12px;display:flex}.console-win.sheet .console-head,.console-win.max .console-head{cursor:default}.console-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.console-title{letter-spacing:.02em;font-size:.8125rem}.console-running{background:var(--container);color:var(--on-container);border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.console-menu-anchor{display:inline-flex;position:relative}.console-menu-scrim{z-index:1;cursor:default;position:fixed;inset:0}.console-menu{z-index:2;cursor:default;min-width:250px;position:absolute;top:calc(100% + 6px);right:0}.menu-kbd{font:inherit;border:1px solid var(--border);color:var(--faint);background:var(--surface-2);border-radius:6px;padding:1px 6px;font-size:.7rem}.console-log{background:color-mix(in srgb, var(--bg) 70%, var(--surface));scrollbar-width:thin;flex:1;min-height:0;padding:10px 14px;font-size:13px;line-height:1.55;overflow-y:auto}.console-row{white-space:pre-wrap;word-break:break-word;color:var(--text);gap:8px;display:flex}.console-row.in{color:var(--text);margin-top:6px;font-weight:600}.console-row.err{color:var(--danger);border-left:2px solid var(--danger);padding-left:8px}.console-row.info{color:var(--muted)}.console-prompt{color:var(--accent);-webkit-user-select:none;user-select:none;flex:none;font-weight:700}.console-text{white-space:pre-wrap;min-width:0}.console-quick{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ctask{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:8px 0;overflow:hidden}.ctask.ok{border-color:color-mix(in srgb, var(--ok) 55%, var(--border))}.ctask.fail{border-color:color-mix(in srgb, var(--danger) 55%, var(--border))}.ctask-head{flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;display:flex}.ctask-icon{flex:none;place-items:center;width:18px;height:18px;display:inline-grid}.ctask.ok .ctask-icon{color:var(--ok)}.ctask.fail .ctask-icon{color:var(--danger)}.ctask-title{font-size:.8125rem}.ctask-text{color:var(--muted);overflow-wrap:anywhere;flex:1;min-width:120px;font-size:.78rem}.ctask.ok .ctask-text{color:var(--ok)}.ctask.fail .ctask-text{color:var(--danger)}.ctask-time{font-variant-numeric:tabular-nums;color:var(--faint);font-size:.75rem}.ctask-spin{border:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-top-color:var(--accent);border-radius:50%;width:13px;height:13px;animation:.8s linear infinite ctask-spin;display:inline-block}@keyframes ctask-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ctask-spin{animation-duration:2.4s}}.ctask-bar{background:var(--surface-3);height:4px}.ctask-bar>i{background:var(--accent);height:100%;transition:width .25s;display:block}.ctask-body{border-top:1px solid var(--border);background:var(--bg);max-height:240px;color:var(--muted);font:inherit;white-space:pre-wrap;word-break:break-word;scrollbar-width:thin;margin:0;padding:8px 10px;font-size:12px;line-height:1.5;overflow:auto}.ctask-body:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.console-suggest{border-top:1px solid var(--border);flex:none;gap:6px;padding:6px 10px;display:flex;overflow-x:auto}.console-form{border-top:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.console-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:14px}.console-input::placeholder{color:var(--faint)}.console-foot{color:var(--faint);flex-wrap:wrap;flex:none;gap:12px;padding:4px 12px 7px;font-size:.7rem;display:flex}.console-win.sheet .console-foot{display:none}.console-resize{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 52%, var(--border) 52%, var(--border) 58%, transparent 58%, transparent 70%, var(--border) 70%, var(--border) 76%, transparent 76%);width:18px;height:18px;position:absolute;bottom:0;right:0}
