:root{color-scheme:light;--paper: #f5f6f1;--paper-strong: #ecefe8;--surface: #ffffff;--surface-soft: #f0f4f1;--surface-blue: #eef4ff;--ink: #171b22;--ink-soft: #303842;--muted: #69736f;--line: #d9dfd7;--line-strong: #c6cdc4;--brand: #286d58;--brand-strong: #1f5446;--blue: #4169d8;--coral: #cf5b48;--gold: #c08a28;--danger: #a23b18;--success: #16834a;--shadow: 0 16px 34px rgba(28, 33, 38, .08)}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}.brand-mark,.sidebar-brand,.language-switch,.topbar-leading,.topbar-actions,.login-topbar,.provider-button,.icon-button,.topbar-save-button,.topbar-sync-button,.account-chip,.security-note{display:inline-flex;align-items:center}.brand-mark,.sidebar-brand{gap:11px;color:var(--ink);font-weight:900;text-decoration:none}.brand-mark-text-only{gap:0;font-size:18px}.brand-icon-frame{flex:0 0 auto;width:36px;height:36px;border-radius:8px;background:#fff url(/assets/icon-brand-60.png?v=20260703-small-icon) center / 30px 30px no-repeat;box-shadow:0 8px 18px #286d5829}.language-switch{gap:3px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.language-switch button{min-width:36px;min-height:30px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:850}.language-switch button[aria-pressed=true]{background:var(--ink);color:#fff}.icon-button{justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer}.icon-button:hover,.topbar-save-button:hover,.topbar-sync-button:hover,.provider-button:hover,.action-button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.icon-button:disabled,.topbar-save-button:disabled,.topbar-sync-button:disabled,.provider-button:disabled,.action-button:disabled{border-color:#cbd1c8;background:#ecefea;color:#838b83;cursor:not-allowed}.kicker{margin:0 0 8px;color:var(--brand-strong);font-size:12px;font-weight:900;letter-spacing:0}h1,h2,h3{margin-top:0;color:var(--ink);letter-spacing:0;line-height:1.14}.loading-page{min-height:100vh;display:grid;place-items:center;align-content:center;gap:16px;padding:24px}.loading-page p{margin:0;color:var(--muted);font-weight:760}.workspace-loading{min-height:320px;display:grid;place-items:center;align-content:center;gap:14px;padding:32px 16px}.workspace-loading p{margin:0;color:var(--muted);font-weight:760}.loading-mark{width:44px;height:44px;border:4px solid var(--line);border-top-color:var(--brand);border-radius:999px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;padding:22px clamp(16px,4vw,44px) 52px}.login-topbar{min-height:54px;justify-content:space-between;gap:16px}.login-shell{min-height:calc(100vh - 128px);display:grid;grid-template-columns:minmax(0,440px);justify-content:center;align-items:center;padding:32px 0 0}.login-card{width:100%;max-width:440px;display:grid;gap:14px;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.login-card h1,.login-card h2{margin-bottom:10px;font-size:clamp(32px,4vw,48px);overflow-wrap:anywhere}.workspace-login-shell{display:grid;grid-template-columns:minmax(0,1fr);justify-content:start;width:100%;max-width:440px;padding-top:4px}.workspace-login-shell .login-card{box-shadow:none}.login-lead{margin:0;color:var(--muted);font-size:15px}.status{min-height:42px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--brand-strong);font-size:14px;font-weight:760}.status-success{border-color:#bfe6ce;background:#effbf3;color:var(--success)}.status-error{border-color:#f3c0aa;background:#fff5ef;color:var(--danger)}.privacy-consent-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;color:var(--ink-soft);font-size:13px;font-weight:730}.privacy-consent-row input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--brand)}.privacy-consent-row span{min-width:0;overflow-wrap:anywhere}.privacy-policy-link{color:var(--brand-strong);font-size:13px;font-weight:850;text-decoration:underline;text-underline-offset:3px}.login-actions{display:grid;gap:10px}.provider-button,.action-button,.topbar-save-button,.topbar-sync-button{min-height:42px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:850}.action-button{padding:0 14px}.provider-button{justify-content:center;gap:9px;width:100%}.provider-button.primary,.action-button.primary,.topbar-save-button,.topbar-sync-button{border-color:var(--ink);background:var(--ink);color:#fff}.provider-button.primary:disabled,.action-button.primary:disabled,.topbar-save-button:disabled,.topbar-sync-button:disabled{border-color:#cbd1c8;background:#ecefea;color:#838b83;cursor:not-allowed}.action-button.secondary{background:var(--surface);color:var(--ink)}.security-note{gap:8px;margin:0;color:var(--muted);font-size:12px;font-weight:680}.security-note svg{flex:0 0 auto;color:var(--success)}.app-page{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr);grid-template-rows:62px minmax(0,1fr);background:var(--paper)}.app-page[data-sidebar-collapsed=true]{grid-template-columns:84px minmax(0,1fr)}.app-topbar{position:sticky;top:0;z-index:40;grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:18px;height:62px;padding:0 18px;border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-leading,.topbar-actions{gap:10px;min-width:0}.menu-button{display:none}.account-menu{position:relative;display:inline-flex}.account-chip{gap:7px;max-width:230px;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-soft);cursor:pointer;font-size:13px;font-weight:760}.account-chip-icon{flex:0 0 auto}.account-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-sign-in-link{text-decoration:none}.account-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:70;min-width:148px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.account-menu-item{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--ink);cursor:pointer;font-size:13px;font-weight:820;text-align:left}.account-menu-item:hover{background:var(--surface-soft)}.topbar-save-button,.topbar-sync-button{gap:8px;padding:0 14px}.topbar-sync-done{border-color:var(--line);background:var(--surface-soft);color:var(--ink-soft)}.topbar-sync-failed{border-color:#f3c0aa;background:#fff5ef;color:var(--danger)}.topbar-sync-ready,.topbar-sync-ready:hover{border-color:var(--brand-strong);background:var(--brand-strong);color:#fff}.topbar-sync-syncing{border-color:#d8c27d;background:#fff7d6;color:#6f5100}.topbar-sync-done:disabled{border-color:#bfdec9;background:#f0fbf4;color:var(--success);opacity:1}.topbar-sync-failed:disabled{border-color:#f3c0aa;background:#fff5ef;color:var(--danger);opacity:1}.topbar-sync-syncing:disabled{border-color:#d8c27d;background:#fff7d6;color:#6f5100;opacity:1}.sync-spin{animation:spin .9s linear infinite}.portal-sidebar{grid-column:1;grid-row:2;position:sticky;top:62px;height:calc(100vh - 62px);display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:14px 10px;border-right:1px solid var(--line);background:var(--surface)}.sidebar-top{display:none}.app-page[data-sidebar-collapsed=true] .portal-sidebar{padding:12px 8px}.app-page[data-sidebar-collapsed=true] .sidebar-group-label,.app-page[data-sidebar-collapsed=true] .sidebar-more-note,.app-page[data-sidebar-collapsed=true] .sidebar-feature-tree{display:none}.app-page[data-sidebar-collapsed=true] .sidebar-item{grid-template-columns:1fr;justify-items:center;gap:4px;min-height:64px;padding:8px 4px;font-size:11px;text-align:center}.app-page[data-sidebar-collapsed=true] .sidebar-item span{max-width:70px;white-space:normal;line-height:1.2}.workspace{grid-column:2;grid-row:2;min-width:0;display:grid;align-content:start;gap:16px;padding:22px clamp(18px,3vw,34px) 52px}.workspace-titlebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:16px;align-items:end}.workspace-titlebar h1{margin:0;font-size:clamp(28px,4vw,42px)}.save-state{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.save-state.compact{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.save-state b{display:block;color:var(--ink);font-size:13px;line-height:1.3}.save-state p{margin:3px 0 0;color:var(--muted);font-size:12px}.save-dot{width:10px;height:10px;margin-top:4px;border-radius:999px;background:var(--success);box-shadow:0 0 0 5px #16834a1f}.save-dot-dirty,.save-dot-saving{background:var(--gold);box-shadow:0 0 0 5px #c08a2824}.save-dot-conflict,.save-dot-error{background:var(--coral);box-shadow:0 0 0 5px #cf5b4824}.save-dot-test{background:var(--blue);box-shadow:0 0 0 5px #4169d81f}.learning-lock-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;max-width:860px;padding:clamp(20px,4vw,32px);border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.learning-lock-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:8px;background:#fff7ed;color:var(--coral)}.learning-lock-copy{display:grid;gap:8px;min-width:0}.learning-lock-copy h2{margin:0;font-size:clamp(26px,4vw,38px)}.learning-lock-copy p{margin:0;color:var(--muted)}.learning-lock-error{padding:10px 12px;border:1px solid #fed7aa;border-radius:8px;background:#fff7ed;color:var(--danger)!important;font-size:13px;font-weight:760}.learning-lock-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:10px}.tabs,.placeholder-grid,.boundary-grid,.mobile-backdrop{display:none}@media(max-width:1040px){.account-chip{max-width:160px}.workspace-titlebar{grid-template-columns:1fr;align-items:start}}@media(max-width:860px){.login-shell{grid-template-columns:minmax(0,440px);padding-top:28px}.app-page,.app-page[data-sidebar-collapsed=true]{grid-template-columns:1fr}.menu-button{display:inline-flex}.collapse-button,.app-topbar .brand-mark:not(.brand-mark-text-only) span:last-child{display:none}.account-chip{max-width:150px}.app-topbar{padding:0 12px}.portal-sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:min(320px,calc(100vw - 44px));height:100vh;padding:14px;transform:translate(-105%);transition:transform .18s ease}.app-page[data-mobile-menu-open=true] .portal-sidebar{transform:translate(0)}.app-page[data-mobile-menu-open=true] .mobile-backdrop{position:fixed;inset:0;z-index:45;display:block;border:0;background:#171b226b;cursor:pointer}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:6px}.sidebar-mobile-close{font-weight:900}.workspace{grid-column:1;padding:18px 14px 44px}.app-page[data-sidebar-collapsed=true] .sidebar-group-label,.app-page[data-sidebar-collapsed=true] .sidebar-more-note,.app-page[data-sidebar-collapsed=true] .sidebar-feature-tree{display:block}.app-page[data-sidebar-collapsed=true] .sidebar-item{grid-template-columns:28px minmax(0,1fr);justify-items:start;min-height:42px;padding:0 12px;font-size:14px;text-align:left}.app-page[data-sidebar-collapsed=true] .sidebar-item span{max-width:none;white-space:nowrap}}@media(max-width:560px){.login-page{padding:16px 14px 34px}.login-topbar{align-items:flex-start}.login-shell{min-height:auto;padding-top:24px}.login-card{padding:20px}.login-card h1,.login-card h2{font-size:30px;word-break:keep-all}.topbar-save-button span,.topbar-sync-button span{display:none}.topbar-actions{flex:1;justify-content:flex-end;gap:6px;min-width:0;overflow:visible}.language-switch button{min-width:30px}.account-chip{max-width:44px;padding:0 10px}.account-chip span{display:none}.workspace-titlebar h1{font-size:30px}.learning-lock-panel{grid-template-columns:1fr}.learning-lock-actions{grid-column:1}}
