:root{--bg: #f5f7fb;--panel: #ffffff;--panel-sunken: #eef1f7;--ink: #1b1f2a;--muted: #3f4757;--accent: #3730a3;--accent-strong: #312e81;--success: #01492b;--danger: #a5121a;--warning: #7c3a00;--on-accent: #ffffff;--on-danger: #ffffff;--line: #d7dced;--line-card: #848da4;--line-strong: #767f8f;--focus: #7a2e00;--focus-halo: #1b1f2a;--focus-width: 3px;--focus-halo-width: 2px;--topbar-h: 56px;--bottombar-h: 92px;--side-w: 76px;--radius: 14px;--radius-sm: 10px;--min-touch-target: 44px;--vhfix: 100vh;--tool-size: 56px;--tool-icon: 34px;--tool-gap: 12px;--transition-fast: .15s ease;--transition-normal: .25s ease;--z-panel: 3;--z-bottombar: 4;--z-dropdown: 1000;--z-modal: 2000;--z-notification: 3000;--z-tooltip: 4000;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--line-height: 1.5;--para-spacing: 2em;--measure: 70ch}@supports (height: 100svh){:root{--vhfix: 100svh}}@supports (height: 100dvh){:root{--vhfix: min(100svh, 100dvh)}}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);line-height:var(--line-height);font-size:100%;-webkit-text-size-adjust:100%}p,li,dd,td,th,figcaption{text-align:start}p{margin:0 0 var(--para-spacing)}p:last-child{margin-bottom:0}.sw-prose{max-width:var(--measure)}h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;color:var(--ink)}h1{font-size:1.5rem;font-weight:800}h2{font-size:1.25rem;font-weight:700}h3{font-size:1.0625rem;font-weight:700}a{color:var(--accent);text-underline-offset:.15em;text-decoration-thickness:max(1px,.06em)}a:hover{color:var(--accent-strong)}input,button,select,textarea{font:inherit;color:inherit}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-halo-width);box-shadow:0 0 0 calc(var(--focus-width) + var(--focus-halo-width)) var(--focus-halo);position:relative;z-index:5;border-radius:inherit}:focus:not(:focus-visible){outline:none}[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none;box-shadow:none}.app{display:grid;grid-template-rows:var(--topbar-h) 1fr auto;grid-template-columns:var(--side-w) 1fr;grid-template-areas:"topbar topbar" "left   work" "bbar   bbar";height:var(--vhfix);width:100%;overflow:hidden;min-width:0;contain:layout style}.app>*{min-width:0}@supports (-webkit-touch-callout: none){.app{height:-webkit-fill-available;min-height:-webkit-fill-available}}.topbar{grid-area:topbar;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px));background:var(--panel);border-bottom:1px solid var(--line-card);z-index:var(--z-panel);user-select:none}.logo{display:flex;align-items:center;gap:8px;min-width:0;margin:0;font-weight:800;font-size:1.125rem;letter-spacing:.2px;color:var(--ink)}.logo svg{width:26px;height:26px;flex:none}.logo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sysmsg{justify-self:center;text-align:center;font-size:.9375rem;font-weight:600;min-height:1.2em;max-width:min(46ch,40vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transform:translateY(-6px);transition:opacity var(--transition-normal),transform var(--transition-normal);color:var(--success)}.sysmsg.show{opacity:1;transform:translateY(0)}.sysmsg[data-tone=error]{color:var(--danger)}.sysmsg[data-tone=info]{color:var(--muted)}.top-actions{display:flex;align-items:center;gap:8px}.sw-account-btn{display:inline-flex;align-items:center;gap:8px;padding:0 12px;min-height:var(--min-touch-target);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-weight:600;cursor:pointer;min-width:0;max-width:40vw;transition:background var(--transition-fast),border-color var(--transition-fast)}.sw-account-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-account-btn:hover{background:var(--bg);border-color:var(--accent)}.sw-account-btn svg{width:22px;height:22px;flex:none}.sw-account-btn[data-signed-in=true]{border-color:var(--success)}.sw-account-btn[data-signed-in=true]:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--success);flex:none}.top-actions #displayBtn,.top-actions #helpLink,.top-actions #accountBtn{position:relative;height:41.6px;min-height:41.6px}.top-actions #displayBtn:before,.top-actions #helpLink:before,.top-actions #accountBtn:after{content:"";position:absolute;inset:-1.2px 0}#accountBtn[data-signed-in=false]{background:#cfe8ff;border-color:#1d4ed8;color:#102a43}#accountBtn[data-signed-in=false]:hover{background:#b8dcff;border-color:#1d4ed8;color:#102a43}#accountBtn[data-signed-in=false]:active{background:#9fceff;border-color:#1e40af}#accountBtn[data-signed-in=false]:focus-visible{outline:3px solid #1d4ed8;outline-offset:3px;box-shadow:none}@media (forced-colors: active){#accountBtn[data-signed-in=false]{background:ButtonFace;border-color:ButtonText;color:ButtonText}}.left-panel{grid-area:left;display:flex;flex-direction:column;min-height:0;min-width:0;padding:8px 0;background:var(--panel);border-right:1px solid var(--line-card);overflow:hidden}.tools{display:flex;flex-direction:column;align-items:center;gap:var(--tool-gap);padding:var(--tool-gap) 0;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}.tools:not(.needs-scroll){justify-content:space-evenly}.tools::-webkit-scrollbar{width:6px}.tools::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.tool-btn{display:grid;place-items:center;width:var(--tool-size);height:var(--tool-size);min-width:var(--min-touch-target);min-height:var(--min-touch-target);flex:none;padding:0;border:1px solid var(--line-strong);border-radius:calc(var(--tool-size) * .23);background:var(--panel);color:var(--ink);cursor:pointer;touch-action:manipulation;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.tool-btn svg{width:var(--tool-icon);height:var(--tool-icon);pointer-events:none}.tool-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--accent)}.tool-btn[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));box-shadow:inset 0 0 0 2px var(--accent)}@supports not (background: color-mix(in srgb,red 10%,white)){.tool-btn[aria-pressed=true]{background:var(--panel-sunken)}}.tool-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.workspace{grid-area:work;position:relative;min-width:0;min-height:0;overflow:auto;background:var(--bg);padding:16px}.bottombar{grid-area:bbar;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:var(--bottombar-h);padding:10px max(12px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:var(--panel);border-top:1px solid var(--line-card);z-index:var(--z-bottombar)}.context{display:flex;align-items:center;gap:10px;min-width:0;min-height:var(--min-touch-target);overflow-x:auto;overflow-y:visible;scrollbar-width:thin;padding:2px 0}.context>*{flex-shrink:0}.context:before,.context:after{content:"";position:sticky;top:0;bottom:0;width:28px;flex:none;pointer-events:none;opacity:0;transition:opacity var(--transition-normal);z-index:1}.context:before{left:0;margin-right:-28px;background:linear-gradient(to right,var(--panel),transparent)}.context:after{right:0;margin-left:-28px;background:linear-gradient(to left,var(--panel),transparent)}.context.has-scroll-left:before{opacity:1}.context.has-scroll-right:after{opacity:1}@media (forced-colors: active),print{.context:before,.context:after{display:none}}.tool-context{display:flex;align-items:center;gap:10px}.tool-context[hidden]{display:none}.context-title{font-weight:700;font-size:.875rem;color:var(--accent);padding-right:6px;border-right:1px solid var(--line);margin-right:4px;white-space:nowrap}.file-actions{display:inline-flex;align-items:center;gap:8px;flex:none}.iconbtn{display:grid;place-items:center;width:50px;height:50px;min-width:var(--min-touch-target);min-height:var(--min-touch-target);border:1px solid var(--line-strong);border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer;touch-action:manipulation;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.iconbtn svg{width:28px;height:28px;pointer-events:none}.iconbtn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--accent)}.iconbtn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}#btnAutoSave{position:relative;transition:all .25s ease}#btnAutoSave.enabled{color:#059669;background:#ecfdf5;border-color:#d1fae5}#btnAutoSave.disabled{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}#btnAutoSave.saving{color:#3b82f6;background:#eff6ff;border-color:#dbeafe}#btnAutoSave.saving svg{animation:sw-autosave-rotate 1s linear infinite}#btnAutoSave.enabled:after{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;background:#10b981;border-radius:50%;box-shadow:0 0 0 2px #fff}@keyframes sw-autosave-rotate{to{transform:rotate(360deg)}}.sw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;min-height:var(--min-touch-target);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-weight:600;font-size:.9375rem;cursor:pointer;text-decoration:none;touch-action:manipulation;transition:background var(--transition-fast),border-color var(--transition-fast)}.sw-btn:hover{background:var(--bg);border-color:var(--accent)}.sw-btn:disabled{opacity:.45;cursor:not-allowed}.sw-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.sw-btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.sw-btn.danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.sw-btn.new-activity:disabled{opacity:1;background:#e5e7eb;border-color:#cbd5e1;color:#64748b;cursor:not-allowed}.sw-btn.new-activity.ready{background:var(--success);border-color:var(--success);color:#fff}.sw-btn.new-activity.ready:hover{filter:brightness(1.12)}.sw-btn svg{width:20px;height:20px;flex:none}.seg{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;min-height:var(--min-touch-target);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel)}.label{font-size:.8125rem;font-weight:600;color:var(--muted);white-space:nowrap}.num,.text-input,select.select{padding:8px 10px;min-height:var(--min-touch-target);border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);color:var(--ink);font-size:.9375rem}.num{width:5.5em;text-align:center}.text-input{width:100%}.slider{width:clamp(120px,18vw,260px);height:var(--min-touch-target);accent-color:var(--accent);cursor:pointer}.sw-switch{display:inline-flex;align-items:center;gap:10px;min-height:var(--min-touch-target);cursor:pointer;font-size:.9375rem;font-weight:600;color:var(--ink)}.sw-switch input{width:22px;height:22px;accent-color:var(--accent);cursor:pointer;flex:none}fieldset.sw-fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin:0 0 14px}fieldset.sw-fieldset>legend{padding:0 6px;font-weight:700;font-size:.9375rem;color:var(--ink)}.sw-radio{display:flex;align-items:flex-start;gap:10px;margin:10px 0;font-weight:600;cursor:pointer}.sw-radio input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--accent)}.sw-hint{display:block;margin:4px 0 0;font-size:.8125rem;color:var(--muted);max-width:var(--measure)}.sw-error{display:flex;align-items:flex-start;gap:6px;margin:6px 0 0;font-size:.875rem;font-weight:600;color:var(--danger)}.sw-error:before{content:"\26a0";font-size:1em;line-height:1.4}.sw-menu-wrap{position:relative;display:none}.sw-menu{position:absolute;right:0;bottom:calc(100% + 8px);min-width:220px;padding:6px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 12px 32px #0000002e;z-index:var(--z-dropdown)}.sw-menu[hidden]{display:none}.sw-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;min-height:var(--min-touch-target);border:0;border-radius:8px;background:none;color:var(--ink);font-size:.9375rem;font-weight:600;text-align:left;cursor:pointer}.sw-menu-item:hover{background:var(--bg)}.sw-menu-item svg{width:20px;height:20px;flex:none}.sw-menu-divider{height:1px;margin:6px 4px;background:var(--line)}.sw-modal-overlay{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:#0000008c;z-index:var(--z-modal);overflow-y:auto}.sw-modal-overlay[hidden]{display:none}.sw-modal{width:min(560px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-card);border-radius:var(--radius);box-shadow:0 24px 64px #00000059}.sw-modal.wide{width:min(820px,100%)}.sw-modal-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.sw-modal-title{margin:0;flex:1;font-size:1.1875rem;font-weight:700}.sw-modal-close{display:grid;place-items:center;width:var(--min-touch-target);height:var(--min-touch-target);border:1px solid var(--line-strong);border-radius:10px;background:var(--panel);color:var(--ink);cursor:pointer;flex:none}.sw-modal-close:hover{background:var(--bg);border-color:var(--accent)}.sw-modal-body{padding:18px;overflow-y:auto;max-width:100%}.sw-modal-body>p{max-width:var(--measure)}.sw-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--line);flex-wrap:wrap}.sw-note{margin:12px 0 0;padding:10px 12px;border-left:4px solid var(--accent);background:var(--panel-sunken);border-radius:0 8px 8px 0;font-size:.875rem;color:var(--ink);max-width:var(--measure)}.sw-note.error{border-left-color:var(--danger)}.sw-note.warn{border-left-color:var(--warning)}.sw-auth-buttons{display:flex;flex-direction:column;gap:10px;margin:16px 0 0}.sw-auth-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:calc(var(--min-touch-target) + 6px);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-size:1rem;font-weight:600;cursor:pointer}.sw-auth-btn:hover{background:var(--bg);border-color:var(--accent)}.sw-auth-btn:disabled{opacity:.5;cursor:progress}.auth-modal-card.login-modal{width:min(440px,100%);overflow:hidden;border:0;border-radius:24px;background:#fff;box-shadow:0 20px 60px #0000004d}.auth-modal-card.is-logout{width:min(480px,100%)}.login-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.login-modal-title{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.login-modal-close{display:flex;align-items:center;justify-content:center;padding:8px;border:0;border-radius:8px;background:transparent;color:#6b7280;cursor:pointer}.login-modal-close:hover{background:#f3f4f6;color:#1f2937}.login-modal-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.login-modal-content{padding:24px;overflow-y:auto}.login-modal-description{margin:0 0 24px;color:#4a5568;font-size:.95rem;line-height:1.5;text-align:center}.login-modal-buttons.sw-auth-buttons{gap:12px;margin:0}.login-provider-btn.sw-auth-btn{justify-content:center;gap:12px;width:100%;min-height:0;padding:14px 24px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;color:#1f2937;font-size:1rem;font-weight:500;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.login-provider-btn.sw-auth-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.login-provider-btn.google-btn:hover{border-color:#4285f4;background:#f8faff}.login-provider-btn.microsoft-btn:hover{border-color:#00a4ef;background:#f8fcff}.login-provider-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.provider-text{font-weight:500}.sd-logout-header{position:relative;padding:32px 24px 24px;border-radius:24px 24px 0 0;background:linear-gradient(135deg,#7c3aed 0,#a78bfa,#c4b5fd);color:#fff;text-align:center}.sd-logout-header .sd-modal-icon{display:inline-block;margin-bottom:16px;font-size:48px;filter:drop-shadow(0 4px 6px rgb(0 0 0 / .1))}.sd-logout-header .sd-modal-title{margin:0 0 8px;color:#fff;font-size:2rem;font-weight:700;text-shadow:0 2px 4px rgb(0 0 0 / .1)}.sd-logout-header .sd-modal-subtitle{margin:0;color:#fffffff2;font-size:1.125rem;font-weight:400;overflow-wrap:anywhere}.sd-logout-header .sd-modal-close{position:absolute;top:20px;right:20px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:50%;background:#ffffff4d;color:#fff;cursor:pointer}.sd-logout-header .sd-modal-close:hover{background:#fff6;transform:scale(1.1)}.sd-logout-header .sd-modal-close:focus-visible{outline:3px solid #ffffff;outline-offset:2px}.sd-logout-header .sd-modal-close svg{width:24px;height:24px}.sd-logout-body{padding:32px 24px;border-radius:0 0 24px 24px;background:#f8f9fa}.sd-logout-warning{display:flex;gap:16px;margin-bottom:24px;padding:20px;border:2px dashed #fbbf24;border-radius:16px;background:#fff}.sd-warning-icon{flex-shrink:0;font-size:32px}.sd-warning-content{flex:1;min-width:0}.sd-warning-title{margin:0 0 12px;color:#111827;font-size:1.125rem;font-weight:600}.sd-warning-list{margin:0 0 12px;padding-left:20px;color:#4b5563;font-size:.9375rem}.sd-warning-list li{margin-bottom:6px}.sd-privacy-warning{position:relative;overflow:hidden;margin-top:16px;padding:16px;border:1px solid #f59e0b;border-radius:12px;background:linear-gradient(135deg,#fef3c7 0,#fde68a)}.sd-privacy-warning:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#f59e0b 0,#d97706)}.sd-privacy-warning .sd-warning-note{margin:0;color:#92400e;font-size:.875rem;font-weight:500}.sd-logout-actions{display:flex;justify-content:center;gap:12px}.sd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:140px;padding:14px 32px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer}.sd-btn-cancel{border:2px solid #e5e7eb;background:#fff;color:#6b7280}.sd-btn-cancel:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-2px)}.sd-btn-danger{border:2px solid #07543d;background:#07543d;color:#fff}.sd-btn-danger:hover{border-color:#059669;background:#059669;transform:translateY(-2px)}.sd-btn:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}@media (max-width: 480px){.auth-modal-card.login-modal{width:95%;border-radius:12px}.login-modal-header{padding:20px 20px 12px}.login-modal-title{font-size:1.25rem}.login-modal-content{padding:20px}.sd-logout-header{padding:24px 20px 20px}.sd-logout-body{padding:24px 20px}.sd-logout-actions{flex-direction:column}.sd-btn{width:100%}}@media (prefers-reduced-motion: reduce){.login-provider-btn,.login-modal-close,.sd-modal-close,.sd-btn{transition:none}.login-provider-btn.sw-auth-btn:hover,.sd-btn:hover{transform:none}}:root[data-theme=dark] .auth-modal-card.login-modal{background:#1f2937}:root[data-theme=dark] .login-modal-header{border-bottom-color:#374151}:root[data-theme=dark] .login-modal-title{color:#f9fafb}:root[data-theme=dark] .login-modal-description{color:#c4cad4}:root[data-theme=dark] .login-modal-close{color:#d1d5db}:root[data-theme=dark] .login-provider-btn.sw-auth-btn{background:#111827;border-color:#4b5563;color:#f9fafb}:root[data-theme=dark] .sd-logout-body{background:#1f2937}:root[data-theme=dark] .sd-logout-warning{background:#374151}:root[data-theme=dark] .sd-warning-title{color:#f9fafb}:root[data-theme=dark] .sd-warning-list{color:#d1d5db}.sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.skip-link{position:absolute;top:-60px;left:8px;z-index:var(--z-tooltip);padding:12px 16px;background:var(--accent);color:var(--on-accent);font-weight:700;border-radius:0 0 8px 8px;text-decoration:none;transition:top var(--transition-fast)}.skip-link:focus{top:0}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}@media (min-width: 1600px){:root{--side-w: 84px;--tool-size: 62px;--tool-icon: 38px;--tool-gap: 14px}}@media (max-width: 1200px){:root{--side-w: 70px;--tool-size: 52px;--tool-icon: 31px;--tool-gap: 9px}}@media (max-width: 900px){:root{--side-w: 64px;--tool-size: 46px;--tool-icon: 28px;--tool-gap: 7px;--bottombar-h: 84px}.sysmsg{max-width:30vw;font-size:.8125rem}}@media (max-width: 700px){.app{grid-template-rows:var(--topbar-h) auto 1fr auto;grid-template-columns:1fr;grid-template-areas:"topbar" "left" "work" "bbar"}.left-panel{border-right:0;border-bottom:1px solid var(--line);padding:6px 8px}.tools{flex-direction:row;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding:4px 0}.bottombar{grid-template-columns:1fr;gap:8px}.file-actions{justify-content:flex-end}.sysmsg{display:none}.workspace{padding:10px}}@media (max-width: 480px){.file-actions>.iconbtn{display:none}.sw-menu-wrap{display:block}.bottombar,.file-actions{min-width:0}}@media (max-width: 420px){:root{--tool-size: 44px;--tool-icon: 26px;--tool-gap: 6px}.topbar{padding:0 8px;gap:6px}.logo{font-size:1rem}.iconbtn{width:46px;height:46px}.topbar .logo span{display:none}#helpLink span:not(.sr-only){display:none}.sw-account-label{display:none}.sw-account-btn{padding:0 10px}}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #15161c;--panel: #1f2129;--panel-sunken: #171921;--ink: #f2f4f8;--muted: #b9c1d1;--accent: #aab6ff;--accent-strong: #c7cdff;--success: #6ee7b7;--danger: #fca5a5;--warning: #fcd34d;--on-accent: #15161c;--on-danger: #15161c;--line: #343846;--line-card: #727a94;--line-strong: #8f98ab;--focus: #ffbf47;--focus-halo: #ffffff}}:root[data-theme=dark]{--bg: #15161c;--panel: #1f2129;--panel-sunken: #171921;--ink: #f2f4f8;--muted: #b9c1d1;--accent: #aab6ff;--accent-strong: #c7cdff;--success: #6ee7b7;--danger: #fca5a5;--warning: #fcd34d;--on-accent: #15161c;--on-danger: #15161c;--line: #343846;--line-card: #727a94;--line-strong: #8f98ab;--focus: #ffbf47;--focus-halo: #ffffff}:root[data-theme=light]{--bg: #f5f7fb;--panel: #ffffff;--panel-sunken: #eef1f7;--ink: #1b1f2a;--muted: #3f4757;--accent: #3730a3;--accent-strong: #312e81;--success: #01492b;--danger: #a5121a;--warning: #7c3a00;--on-accent: #ffffff;--on-danger: #ffffff;--line: #d7dced;--line-card: #848da4;--line-strong: #767f8f;--focus: #7a2e00;--focus-halo: #1b1f2a}@media (prefers-contrast: more){:root:not([data-theme=dark]){--bg: #ffffff;--panel: #ffffff;--panel-sunken: #ffffff;--ink: #000000;--muted: #1a1a1a;--accent: #00006e;--accent-strong: #000045;--line: #000000;--line-card: #000000;--line-strong: #000000}.sw-btn,.iconbtn,.tool-btn,.seg,.num,.text-input,select.select{border-width:2px}}@media (forced-colors: active){.tool-btn,.iconbtn,.sw-btn,.seg,.sw-modal,.sw-menu{border:1px solid ButtonBorder}.tool-btn[aria-pressed=true]{outline:3px solid Highlight;outline-offset:-3px;box-shadow:none}:focus-visible{outline:3px solid Highlight;box-shadow:none}.skip-link{background:Canvas;color:LinkText;border:2px solid LinkText}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.tool-btn:hover,.iconbtn:hover{transform:none}}@media print{:root{--bg: #ffffff;--panel: #ffffff;--ink: #000000;--muted: #333333;--line: #999999}.topbar,.left-panel,.bottombar,.skip-link,.sw-modal-overlay,.sw-menu{display:none!important}.app{display:block;height:auto;overflow:visible}.workspace{overflow:visible;padding:0;background:#fff}.sw-print-block{break-inside:avoid}a[href]:after{content:" (" attr(href) ")";font-size:.8em;word-break:break-all}}:root[data-contrast]{--bg: #ffffff;--panel: #ffffff;--panel-sunken: #f0f0f0;--ink: #000000;--muted: #262626;--accent: #3730a3;--accent-strong: #312e81;--success: #01492b;--danger: #a5121a;--warning: #7c3a00;--on-accent: #ffffff;--on-danger: #ffffff;--line: #000000;--line-card: #000000;--line-strong: #000000;--focus: #7a2e00;--focus-halo: #ffffff}@media (prefers-color-scheme: dark){:root[data-contrast]:not([data-theme=light]){--bg: #000000;--panel: #000000;--panel-sunken: #1a1a1a;--ink: #ffffff;--muted: #e6e6e6;--accent: #9793df;--accent-strong: #9694d9;--success: #02b269;--danger: #f0757b;--warning: #f97400;--on-accent: #000000;--on-danger: #000000;--line: #ffffff;--line-card: #ffffff;--line-strong: #ffffff;--focus: #ffd166;--focus-halo: #000000}}:root[data-contrast][data-theme=dark]{--bg: #000000;--panel: #000000;--panel-sunken: #1a1a1a;--ink: #ffffff;--muted: #e6e6e6;--accent: #9793df;--accent-strong: #9694d9;--success: #02b269;--danger: #f0757b;--warning: #f97400;--on-accent: #000000;--on-danger: #000000;--line: #ffffff;--line-card: #ffffff;--line-strong: #ffffff;--focus: #ffd166;--focus-halo: #000000}:root[data-contrast] .sw-btn,:root[data-contrast] .iconbtn,:root[data-contrast] .tool-btn,:root[data-contrast] .sw-account-btn,:root[data-contrast] .display-menu,:root[data-contrast] .select,:root[data-contrast] input,:root[data-contrast] textarea{border:2px solid currentColor}:root[data-contrast] .sw-btn.new-activity:disabled{background:var(--panel);border:2px dashed var(--line-strong);color:var(--muted)}:root[data-large-text]{--font-size: 20px;--min-touch-target: 52px}:root[data-large-text] body{font-size:var(--font-size, 20px)}.auth-disabled{position:relative;opacity:.72;cursor:not-allowed;filter:grayscale(70%)}.auth-disabled:hover,.auth-disabled:focus-visible{opacity:.85}.auth-disabled:after{content:"";position:absolute;right:2px;bottom:2px;width:10px;height:10px;background:var(--ink);-webkit-mask:var(--auth-lock) center / contain no-repeat;mask:var(--auth-lock) center / contain no-repeat}:root{--auth-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a5 5 0 0 0-5 5v3H6a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V11a1 1 0 0 0-1-1h-1V7a5 5 0 0 0-5-5zm-3 5a3 3 0 0 1 6 0v3H9V7z' fill='%23000'/%3E%3C/svg%3E")}:root[data-contrast] .auth-disabled{opacity:1;filter:none;border-style:dashed}.sw-menu-item.auth-disabled:after{content:none}.sw-menu-item.auth-disabled{opacity:1;filter:none;color:var(--muted);font-style:italic}.auth-modal-card.login-modal{width:min(440px,90vw);border-radius:24px}.login-modal-close{width:44px;height:44px;padding:0;flex:0 0 44px}.login-provider-btn.sw-auth-btn{min-height:52px;padding:14px 24px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transform:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.login-provider-btn.sw-auth-btn:hover{transform:none;box-shadow:none}.login-provider-btn.google-btn{color:#1f2937;background:#fff;border-color:#dadce0}.login-provider-btn.google-btn:hover:not(:disabled){color:#1f2937;background:#f8fafc;border-color:#aeb4bd}.login-provider-btn.microsoft-btn{color:#fff;background:#0078d4;border-color:#0078d4}.login-provider-btn.microsoft-btn:hover:not(:disabled){color:#fff;background:#106ebe;border-color:#106ebe}.login-provider-btn:focus-visible{outline:3px solid var(--focus,#3b82f6);outline-offset:2px;box-shadow:none}.login-provider-btn svg{width:28px;height:28px;flex:0 0 28px}:root[data-theme=light] .login-provider-btn.google-btn{color:#1f2937;background:#fff;border-color:#dadce0}:root[data-theme=light] .login-provider-btn.google-btn:hover:not(:disabled){color:#1f2937;background:#f8fafc;border-color:#aeb4bd}:root[data-theme=light] .login-provider-btn.microsoft-btn{color:#fff;background:#0078d4;border-color:#0078d4}:root[data-theme=light] .login-provider-btn.microsoft-btn:hover:not(:disabled){color:#fff;background:#106ebe;border-color:#106ebe}:root[data-theme=dark] .login-provider-btn.google-btn{color:#f9fafb;background:#374151;border-color:#4b5563}:root[data-theme=dark] .login-provider-btn.google-btn:hover:not(:disabled){color:#f9fafb;background:#4b5563;border-color:#6b7280}:root[data-theme=dark] .login-provider-btn.microsoft-btn{color:#fff;background:#0078d4;border-color:#0078d4}:root[data-theme=dark] .login-provider-btn.microsoft-btn:hover:not(:disabled){color:#fff;background:#106ebe;border-color:#106ebe}@media (forced-colors:active){.login-provider-btn.google-btn,.login-provider-btn.microsoft-btn{color:ButtonText;background:ButtonFace;border-color:ButtonText;forced-color-adjust:auto}}.login-provider-btn.google-btn{color:#161616;background:#ffd84d;border-color:#8a6900}.login-provider-btn.google-btn:hover:not(:disabled){color:#161616;background:#f4c430;border-color:#6f5500}.login-provider-btn svg{display:block;visibility:visible;opacity:1;overflow:visible}.login-provider-btn.google-btn svg path{fill:#4285f4!important}.login-provider-btn.microsoft-btn svg rect:nth-child(1){fill:#f25022!important}.login-provider-btn.microsoft-btn svg rect:nth-child(2){fill:#7fba00!important}.login-provider-btn.microsoft-btn svg rect:nth-child(3){fill:#00a4ef!important}.login-provider-btn.microsoft-btn svg rect:nth-child(4){fill:#ffb900!important}:root[data-theme=light] .login-provider-btn.google-btn,:root[data-theme=dark] .login-provider-btn.google-btn{color:#161616;background:#ffd84d;border-color:#8a6900}:root[data-theme=light] .login-provider-btn.google-btn:hover:not(:disabled),:root[data-theme=dark] .login-provider-btn.google-btn:hover:not(:disabled){color:#161616;background:#f4c430;border-color:#6f5500}.sw-warn{margin:8px 0 0;padding:10px 12px;border-left:4px solid var(--warning, #8a4b00);border-radius:4px;background:#fffbea;color:var(--warning, #8a4b00);font-size:.9375rem;line-height:1.5}.sw-warn:before{content:"\26a0\fe0f";margin-right:8px}:root[data-theme=dark] .sw-warn{border-left-color:#fbbf24;background:#2a2214;color:#fde68a}@media (forced-colors: active){.sw-warn{border:1px solid CanvasText;background:Canvas;color:CanvasText}}.sw-held-badge{display:inline-block;margin-left:6px;padding:1px 8px;border:1px solid var(--warning, #8a4b00);border-radius:999px;background:#fff4d6;color:#6b3f00;font-size:.8125rem;font-weight:600;white-space:nowrap}.sw-row-held>*{background:#fffdf5}:root[data-theme=dark] .sw-held-badge{border-color:#fbbf24;background:#3a2f14;color:#fde68a}:root[data-theme=dark] .sw-row-held>*{background:#241f16}@media (forced-colors: active){.sw-held-badge{border:1px solid CanvasText;background:Canvas;color:CanvasText}.sw-row-held>*{background:Canvas}}
