.page{display:flex;flex-direction:column;gap:28px;max-width:1180px}.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.page-head h1{font-size:clamp(26px,3vw,34px);margin:0 0 6px}.page-head p{margin:0;color:var(--muted);max-width:62ch}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0}.card h2{font-size:18px;margin:0;letter-spacing:-.02em}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.muted{color:var(--muted)}.small{font-size:13px}.row{flex-wrap:wrap;align-items:center}.row,.stack{display:flex;gap:10px}.list,.stack{flex-direction:column}.list{list-style:none;margin:0;padding:0;display:flex}.list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);min-width:0}.list li:first-child{border-top:0}.list .grow{flex:1;min-width:0}.list .grow b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{border:1px dashed var(--line);border-radius:var(--radius);padding:22px;text-align:center;display:flex;flex-direction:column;gap:10px}.empty,.pill{color:var(--muted);align-items:center}.pill{display:inline-flex;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--paper);border:1px solid var(--line);white-space:nowrap}.pill-good{background:#edf4ef;color:var(--green)}.pill-good,.pill-warn{border-color:transparent}.pill-warn{background:#f7efe0;color:#8a5a12}.pill-bad{background:#f7ebe9;color:#9b3b34}.pill-bad,.pill-blue{border-color:transparent}.pill-blue{background:var(--blue-soft);color:var(--blue)}.meter{height:8px;background:var(--paper);border-radius:999px;overflow:hidden;border:1px solid var(--line)}.meter>i{display:block;height:100%;background:var(--blue);border-radius:999px}.notice{border-radius:var(--radius);padding:12px 14px;font-size:14px;display:flex;gap:10px;align-items:flex-start;background:var(--blue-soft);color:var(--blue-dark)}.notice-warn{background:#f7efe0;color:#6e4610}.notice-bad{background:#f7ebe9;color:#8a332d}.notice-good{background:#edf4ef;color:#335e4c}.field{display:flex;flex-direction:column;gap:6px}.field .label,.field label{font-size:13px;font-weight:600}.field input:not([type=checkbox]):not([type=range]),.field select,.field textarea,.input{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--white);color:var(--ink);font-size:14px}.field textarea{resize:vertical;min-height:60px;line-height:1.45}.hint{font-size:12.5px;color:var(--muted)}.checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.checklist li{display:flex;gap:10px;align-items:flex-start}.check-icon{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}.check-pass{background:#edf4ef;color:var(--green)}.check-warn{background:#f7efe0;color:#8a5a12}.check-fail{background:#f7ebe9;color:#9b3b34}.dropzone{border:1.5px dashed #c9c7c0;border-radius:var(--radius-lg);background:var(--white);padding:36px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;transition:border-color .15s,background .15s}.dropzone-active,.dropzone:focus-within,.dropzone:hover{border-color:var(--blue);background:var(--blue-soft)}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.editor{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:22px;align-items:start}.editor-side{gap:14px;position:sticky;top:12px;max-height:calc(100vh - 100px);overflow:auto;padding-right:4px}.editor-side,.editor-stage{display:flex;flex-direction:column}.editor-stage{min-width:0;gap:10px}.steps{display:flex;gap:6px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:4px}.steps button{flex:1;border:0;background:none;border-radius:9px;padding:8px 6px;font-size:13px;font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px}.steps button[aria-selected=true]{background:var(--ink);color:var(--white)}.steps button:disabled{opacity:.45}.page-frame{position:relative;width:100%;background:var(--white);box-shadow:var(--shadow);border:1px solid var(--line)}.page-frame img{display:block;width:100%;height:100%}.stage-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.lab-overlay{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.lab-overlay.readonly{pointer-events:none}.lab-area rect:first-child{fill:rgba(52,75,115,.08);stroke:var(--blue);stroke-width:.35;cursor:move}.lab-area-on rect:first-child{fill:rgba(52,75,115,.17);stroke-width:.6}.lab-area text{font-size:2.6px;fill:var(--blue);font-weight:700;pointer-events:none}.lab-handle{fill:var(--blue);cursor:nwse-resize}.answer{border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--white)}.answer-on{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.answer-q{margin:0}.answer-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.answer-tools .grow{flex:1}.approve{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.icon-btn{border:0;background:none;color:var(--muted);padding:5px;border-radius:7px;display:inline-grid;place-items:center}.icon-btn:hover{color:var(--ink);background:var(--paper)}.slider{display:grid;grid-template-columns:90px 1fr 42px;align-items:center;gap:10px;font-size:13px}.slider output{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.corner-handle{fill:var(--white);stroke:var(--blue);cursor:grab}.modal-scrim{position:fixed;inset:0;background:rgba(28,31,36,.45);display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--white);border-radius:var(--radius-lg);padding:24px;width:min(440px,100%);display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.modal h2{margin:0;font-size:20px}.ad-box{border:1px dashed var(--line);border-radius:var(--radius);padding:22px;text-align:center;background:var(--paper);display:flex;flex-direction:column;gap:8px;align-items:center}.ad-count{font-size:34px;font-weight:700;font-variant-numeric:tabular-nums}.profile-preview{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.profile-preview img{width:100%;height:auto;display:block}@media (max-width:1180px){.editor{grid-template-columns:minmax(0,1fr)}.editor-side{position:static;max-height:none;overflow:visible}}.home{margin:0 auto;padding-top:4vh}.home-title{font-size:clamp(30px,4vw,42px);margin:0;text-align:center}.home-sub{font-size:16px;margin:6px 0 0}.home-tip{text-align:center;margin:0}.dropzone-big{padding:64px 24px;gap:14px;font-size:17px}.dropzone-busy{cursor:progress;border-style:solid;border-color:var(--blue);background:var(--blue-soft)}.spinner-big{width:28px;height:28px;border-width:3px}.editor-title{display:flex;align-items:center;gap:12px}.editor-title input{flex:1;min-width:0;font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:-.02em;border:0;background:none;padding:4px 0;color:var(--ink);font-family:Manrope,sans-serif}.editor-title input:focus-visible{outline:2px solid var(--blue-soft);border-radius:6px}.side-title{font-size:17px;margin:0}.answer-q{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tips{background:#f7efe0;color:#6e4610;border-radius:var(--radius);padding:10px 14px;font-size:14px}.tips summary{cursor:pointer;font-weight:600}.tips ul{margin:8px 0;padding-left:18px}details summary{cursor:pointer;color:var(--muted)}.write-card{gap:12px}.seg{display:inline-flex;align-self:flex-start;gap:4px;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:3px}.seg button{border:0;background:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--muted)}.seg button[aria-selected=true]{background:var(--ink);color:var(--white)}.text-link{background:none;border:0;padding:0;color:var(--blue);font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}@media (max-width:1180px){.editor-stage{order:-1}.editor-stage .page-frame{max-width:560px;margin:0 auto;width:100%}}.lab-area text{font-size:3.4px}.public-app{min-height:100vh;background:var(--paper);display:flex;flex-direction:column}.public-bar{justify-content:space-between;gap:12px;padding:14px max(16px,env(safe-area-inset-right,0px)) 14px max(16px,env(safe-area-inset-left,0px))}.public-bar,.public-bar nav{display:flex;align-items:center}.public-bar nav{gap:14px;font-size:14px}.public-main{flex:1;padding:0 16px 40px;display:flex;flex-direction:column;align-items:center;gap:18px}.public-main .home{width:100%}.public-note{text-align:center;margin:0}.public-note a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}.sheet{position:relative;width:min(460px,100%);background:var(--white);border-radius:var(--radius-lg);padding:20px;max-height:calc(100vh - 32px);overflow:auto}.sheet .auth-card{box-shadow:none;border:0;padding:4px 0 0;width:100%}.sheet .auth-card h1{font-size:24px}.sheet-close{position:absolute;top:10px;right:10px}.auth-toggle{background:none;border:0;padding:0;color:var(--blue);text-decoration:underline;text-underline-offset:2px;font:inherit;cursor:pointer}.camera-btn{position:relative;justify-content:center;width:100%;padding:15px;font-size:16px}.camera-btn input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.only-touch{display:none!important}@media (hover:none) and (pointer:coarse){.only-touch{display:inline-flex!important}.only-desktop{display:none}}.mobile-action,.tabbar{display:none}@media (max-width:760px){.app-mobile-menu,.sidebar,.sidebar-scrim{display:none!important}.app-header{display:none}.app-content{padding:16px 16px calc(84px + env(safe-area-inset-bottom, 0px))!important}.tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--white);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-left,0px)) calc(6px + env(safe-area-inset-bottom, 0px))}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:11px;font-weight:600;color:var(--muted);border-radius:10px}.tabbar a.tab-on{color:var(--ink);background:var(--paper)}.home{padding-top:8px}.home-title{font-size:28px}.dropzone-big{padding:40px 16px}.page{gap:18px}.modal-scrim.sheet-scrim{align-items:end;padding:0}.sheet{width:100%;border-radius:20px 20px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom, 0px))}.mobile-action{display:block;position:fixed;left:0;right:0;bottom:calc(62px + env(safe-area-inset-bottom, 0px));z-index:30;padding:10px 16px;background:linear-gradient(to top,var(--paper) 70%,transparent)}.mobile-action .button{width:100%;justify-content:center;padding:14px;font-size:15px}.editor{padding-bottom:72px}.answer textarea{font-size:16px}.editor-title input{font-size:20px}.public-bar nav a:not(.button){display:none}}.method{border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--paper)}.method p{margin:0}.method-head{display:flex;align-items:center;justify-content:space-between;gap:8px}details.method summary{color:var(--ink)}.photo-pick{position:relative;justify-content:center}.photo-pick input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.start{width:min(560px,100%);display:flex;flex-direction:column;gap:16px;padding-top:3vh}.start-step{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}.start-lead,.start-step{margin:0;text-align:center}.start-tips{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.inks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ink{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600;background:var(--white);cursor:pointer}.ink:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.ink input{position:absolute;opacity:0;pointer-events:none}.ink-dot{width:14px;height:14px;border-radius:50%;flex:none}.ink .pill{margin-left:auto;padding:1px 7px;font-size:10.5px}.ink-locked{opacity:.6;cursor:not-allowed}.slider-locked{opacity:.5}.try-main{width:min(1200px,100%);margin:0 auto;padding:8px max(16px,env(safe-area-inset-right,0px)) 48px max(16px,env(safe-area-inset-left,0px));gap:18px}.try-head,.try-main{display:flex;flex-direction:column}.try-head{text-align:center;gap:6px}.try-head p{margin:0}.try{display:flex;flex-direction:column;gap:16px}.try-tabs{align-self:center}.try-tabs button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:14px}.try-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:22px;align-items:start}.try-controls{gap:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px}.try-controls,.try-stage{display:flex;flex-direction:column}.try-stage{min-width:0;gap:12px}.try-answer{display:flex;flex-direction:column;gap:4px}.try-text{min-height:220px;font-size:15px;line-height:1.5}.try-go{width:100%;justify-content:center;padding:14px;font-size:15px}.try-placeholder{min-height:200px;justify-content:center}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}.chip-on{background:var(--ink);color:var(--white);border-color:var(--ink)}@media (max-width:900px){.try-grid{grid-template-columns:1fr}.try-stage{order:-1}.try-answer textarea,.try-text{font-size:16px}}.switch-row{gap:12px;align-items:flex-start;cursor:pointer}.switch-row input[type=checkbox]{width:20px;height:20px;margin-top:2px;flex:none}.switch-row .grow{min-width:0}.fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.fields-grid .field span{font-size:13px;font-weight:600}.answer-tools .answer-q{min-width:0;white-space:normal;overflow-wrap:anywhere}.ink-row{flex-wrap:wrap;gap:10px}.file-name{display:grid;gap:4px}.file-name-input{display:flex;align-items:center;gap:6px}.file-name-locked{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.tone-seg{display:flex;width:100%}.tone-seg button{flex:1}.tone-seg button:disabled{opacity:.6;cursor:not-allowed}.explain summary{cursor:pointer;color:var(--accent,#1c3378)}.neat-slider{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px}.seg button[aria-checked=true]{background:var(--ink);color:var(--white)}.history-search{display:flex;align-items:center;gap:8px}.history-search input{flex:1;min-width:0}.app-shell[data-text=large]{zoom:1.125}.app-shell[data-text=xlarge]{zoom:1.25}.app-shell[data-theme=dark]{--paper:#15171b;--white:#1f2228;--ink:#e7e9ee;--muted:#9aa1ab;--line:#31353d;--blue:#8fa6d8;--blue-dark:#b5c6ea;--blue-soft:#232b3b;--green:#79b79a;--shadow:0 18px 55px rgba(0,0,0,0.35);color-scheme:dark;color:var(--ink)}@media (prefers-color-scheme:dark){.app-shell[data-theme=system]{--paper:#15171b;--white:#1f2228;--ink:#e7e9ee;--muted:#9aa1ab;--line:#31353d;--blue:#8fa6d8;--blue-dark:#b5c6ea;--blue-soft:#232b3b;--green:#79b79a;--shadow:0 18px 55px rgba(0,0,0,0.35);color-scheme:dark;background:var(--paper);color:var(--ink)}}.app-shell[data-theme=dark] .notice-good,.app-shell[data-theme=dark] :is(.pill-good,.check-pass){background:#1e3329;color:#9fd3b8}.app-shell[data-theme=dark] :is(.pill-warn,.tips,.notice-warn,.notice){background:#3a2f1c;color:#f0c98a}.app-shell[data-theme=dark] :is(.pill-bad,.notice-bad){background:#3b2120;color:#f0a59d}@media (prefers-color-scheme:dark){.app-shell[data-theme=system] .notice-good,.app-shell[data-theme=system] :is(.pill-good,.check-pass){background:#1e3329;color:#9fd3b8}.app-shell[data-theme=system] :is(.pill-warn,.tips,.notice-warn,.notice){background:#3a2f1c;color:#f0c98a}.app-shell[data-theme=system] :is(.pill-bad,.notice-bad){background:#3b2120;color:#f0a59d}}.app-shell :is(.page-frame,.editor-stage .page-frame img){background:#fff}.app-shell[data-theme=dark]{background:var(--paper)}.app-shell[data-theme=dark] .app-header,.app-shell[data-theme=dark] .sidebar,.app-shell[data-theme=dark] .tabbar,.app-shell[data-theme=dark] .user-menu{background:#1b1e23;border-color:#2c3037}.app-shell[data-theme=dark] .demo-chip,.app-shell[data-theme=dark] .sidebar-plan,.app-shell[data-theme=dark] .sidebar-user,.app-shell[data-theme=dark] .workspace-switch{border-color:#2c3037;background:transparent}.app-shell[data-theme=dark] .sidebar-link{color:#a3aab4}.app-shell[data-theme=dark] .sidebar-link:hover,.app-shell[data-theme=dark] .user-menu a:hover{background:#262a31;color:#e7e9ee}.app-shell[data-theme=dark] :is(.sidebar-active,.sidebar-active svg){background:#232b3b;color:#b5c6ea}.app-shell[data-theme=dark] :is(.app-breadcrumb b,.brand){color:#e7e9ee}.app-shell[data-theme=dark] :is(.brand-ai,.app-breadcrumb,.sidebar-user small,.sidebar-label,.app-page-heading p){color:#8d949e}.app-shell[data-theme=dark] .user-avatar{background:#2a2e35;color:#c3c8d0}.app-shell[data-theme=dark] .button-light{background:#262a31;border-color:#3a3f48;color:#e7e9ee}.app-shell[data-theme=dark] .button-light:hover:not(:disabled){background:#2e333b;border-color:#4a505a}.app-shell[data-theme=dark] :is(.welcome-banner,.stat-card,.stat-icon,.welcome-icon,.mini-paper,.mini-pencil){background:#1f2228;border-color:#31353d;color:#c3c8d0}.app-shell[data-theme=dark] .mobile-action{background:linear-gradient(to top,var(--paper) 70%,transparent)}@media (prefers-color-scheme:dark){.app-shell[data-theme=system]{background:var(--paper)}.app-shell[data-theme=system] .app-header,.app-shell[data-theme=system] .sidebar,.app-shell[data-theme=system] .tabbar,.app-shell[data-theme=system] .user-menu{background:#1b1e23;border-color:#2c3037}.app-shell[data-theme=system] .demo-chip,.app-shell[data-theme=system] .sidebar-plan,.app-shell[data-theme=system] .sidebar-user,.app-shell[data-theme=system] .workspace-switch{border-color:#2c3037;background:transparent}.app-shell[data-theme=system] .sidebar-link{color:#a3aab4}.app-shell[data-theme=system] .sidebar-link:hover,.app-shell[data-theme=system] .user-menu a:hover{background:#262a31;color:#e7e9ee}.app-shell[data-theme=system] :is(.sidebar-active,.sidebar-active svg){background:#232b3b;color:#b5c6ea}.app-shell[data-theme=system] :is(.app-breadcrumb b,.brand){color:#e7e9ee}.app-shell[data-theme=system] :is(.brand-ai,.app-breadcrumb,.sidebar-user small,.sidebar-label,.app-page-heading p){color:#8d949e}.app-shell[data-theme=system] .user-avatar{background:#2a2e35;color:#c3c8d0}.app-shell[data-theme=system] .button-light{background:#262a31;border-color:#3a3f48;color:#e7e9ee}.app-shell[data-theme=system] .button-light:hover:not(:disabled){background:#2e333b;border-color:#4a505a}.app-shell[data-theme=system] :is(.welcome-banner,.stat-card,.stat-icon,.welcome-icon,.mini-paper,.mini-pencil){background:#1f2228;border-color:#31353d;color:#c3c8d0}.app-shell[data-theme=system] .mobile-action{background:linear-gradient(to top,var(--paper) 70%,transparent)}}.camera{position:fixed;inset:0;z-index:100;background:#000;display:grid;place-items:center}.camera-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-frame{position:relative;height:min(72vh,calc(86vw * 1.414));aspect-ratio:210/297;border-radius:6px;box-shadow:0 0 0 100vmax rgba(0,0,0,.35)}.camera-frame i{position:absolute;width:34px;height:34px;border:4px solid #fff}.camera-frame i:first-child{top:-2px;left:-2px;border-right:0;border-bottom:0}.camera-frame i:nth-child(2){top:-2px;right:-2px;border-left:0;border-bottom:0}.camera-frame i:nth-child(3){bottom:-2px;left:-2px;border-right:0;border-top:0}.camera-frame i:nth-child(4){bottom:-2px;right:-2px;border-left:0;border-top:0}.camera-good i{border-color:#6ee7a8}.camera-blurry i,.camera-dark i{border-color:#fbbf24}.camera-tip{position:absolute;top:max(16px,env(safe-area-inset-top,0px));left:16px;right:16px;margin:0;padding:10px 14px;border-radius:12px;background:rgba(0,0,0,.6);color:#fff;text-align:center;font-weight:600}.camera-tip-good{background:rgba(22,101,52,.85)}.camera-bar{position:absolute;bottom:max(20px,env(safe-area-inset-bottom,0px));left:0;right:0;display:flex;align-items:center;justify-content:space-around}.camera-close{color:#fff;background:rgba(0,0,0,.4);border-radius:50%;width:44px;height:44px}.camera-shutter{width:74px;height:74px;border-radius:50%;border:5px solid #fff;background:rgba(255,255,255,.25);color:#fff;display:grid;place-items:center}.camera-shutter-ready{background:#16a34a;border-color:#bbf7d0}.page-tabs{flex-wrap:wrap}.pass-offer{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--blue-soft)}.pass-offer-small{padding:12px 14px}.pass-offer .button{gap:7px}.pass-on{display:inline-flex;align-items:center;align-self:flex-start;padding:6px 12px;border-radius:999px;color:var(--blue);font-weight:600}.maths-notes,.pass-on{gap:6px;background:var(--blue-soft)}.maths-notes{display:flex;flex-direction:column;align-items:flex-start;padding:10px 12px;border-radius:var(--radius)}.photo-pick.is-busy{pointer-events:none;opacity:.8}.app-shell[data-theme=dark] .brand .brand-ai{background:#e7e9ee;color:#15181d}@media (prefers-color-scheme:dark){.app-shell[data-theme=system] .brand .brand-ai{background:#e7e9ee;color:#15181d}}.unlock-list{display:flex;flex-wrap:wrap;gap:8px}.upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}@media (max-width:760px){.upgrade-grid{grid-template-columns:1fr}.upgrade-pro{order:-1}}.upgrade-pro{border:2px solid var(--ink)}.upgrade-name{font-size:18px;display:flex;gap:8px;align-items:center}.upgrade-name,.upgrade-price{font-family:Manrope,sans-serif;font-weight:800}.upgrade-price{font-size:34px;letter-spacing:-.03em}.upgrade-price small{font-size:14px;font-weight:600;color:var(--muted)}.upgrade-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:14px}.upgrade-list li{display:flex;gap:8px;align-items:flex-start}.upgrade-list svg{flex:none;margin-top:3px;color:var(--green,#4c806a)}.sidebar-upgrade{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;padding:12px 13px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(160deg,var(--blue-soft),var(--white) 75%);color:var(--ink);text-decoration:none;transition:border-color .15s ease}.sidebar-upgrade:hover{border-color:var(--blue)}.sidebar-upgrade b{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--blue)}.sidebar-upgrade ul{margin:0;padding:0;list-style:none;display:grid;gap:2px;font-size:12px;color:var(--muted)}.sidebar-upgrade li:before{content:"✓ ";color:var(--green,#4c806a);font-weight:700}.sidebar-upgrade-cta{margin-top:2px;padding:7px 10px;border-radius:9px;background:var(--ink);color:var(--paper);font-size:12px;font-weight:700;text-align:center}a.pill{text-decoration:none}.upgrade-card>.pill{align-self:flex-start}.app-shell-bare{display:block;min-height:100vh;background:var(--paper)}.welcome{max-width:620px;margin:0 auto;padding:36px 20px 60px;display:flex;flex-direction:column;gap:14px}.welcome h1{margin:0;font-size:34px}.welcome .muted{margin:0}.welcome-group h2{font-size:15px;margin:10px 0 8px}.welcome-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.welcome-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;border:1.5px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink);font:inherit;font-weight:600;font-size:14px;cursor:pointer;text-align:center}.welcome-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.welcome-tick{position:absolute;top:8px;right:8px}.welcome-swatch{width:64px;height:42px;border-radius:10px;display:grid;place-items:center;border:1px solid #d9d8d2}.swatch-light{background:#f8f7f3;color:#22262c}.swatch-dark{background:#15171b;color:#e7e9ee;border-color:#2c3038}.swatch-system{background:linear-gradient(135deg,#f8f7f3 50%,#15171b 0);color:#8d949e}.welcome-aa{height:42px;display:grid;place-items:center;font-family:Manrope,sans-serif;font-weight:800}.welcome-continue{margin-top:12px}@media (max-width:480px){.welcome-options{grid-template-columns:1fr}.welcome-option{flex-direction:row;justify-content:flex-start;padding:12px 14px}.welcome-aa,.welcome-swatch{width:56px;height:36px}}.unlock-ready{border-color:var(--green,#4c806a)}.admin-tabs{margin-bottom:14px;overflow-x:auto}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.admin-stat{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.admin-stat b{font-family:Manrope,sans-serif;font-size:24px}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:10px}.admin-table td,.admin-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table select{width:100%}.admin-ad-form{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px dashed var(--line);border-radius:var(--radius)}.admin-checks{display:grid;gap:6px;font-size:14px}.admin-preview{display:flex;gap:12px;align-items:flex-start}.admin-preview>:first-child{flex:1;margin:0}.switch-row{display:flex;gap:8px;align-items:center;font-size:14px}.upload-ad{max-width:760px;margin:0 auto;padding:0 16px 32px}.ad-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.ad-slot{gap:8px}.ad-slot-prices{display:flex;flex-wrap:wrap;gap:14px}.ad-slot-prices b{font-size:20px}.advertise-form .row{align-items:flex-start}.advertise-form .row>.field{min-width:180px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.admin-rates input[type=number]{width:100px}.advertise-form .grow{flex:1}