:root{--bg: #eef0f8;--bg-soft: #f6f7fc;--surface: #ffffff;--surface-glass: rgba(255, 255, 255, .82);--ink: #0f1526;--ink-soft: #5a6377;--ink-faint: #8b93a7;--line: #e2e6f0;--line-strong: #cdd4e4;--accent: #4f46e5;--accent-hi: #7c3aed;--accent-ink: #ffffff;--accent-soft: color-mix(in srgb, var(--accent) 10%, white);--accent-softer: color-mix(in srgb, var(--accent) 6%, white);--accent-line: color-mix(in srgb, var(--accent) 32%, white);--gradient: linear-gradient(135deg, var(--accent), var(--accent-hi));--danger: #dc2626;--success: #16a34a;--warning: #d97706;--radius-s: 10px;--radius-m: 14px;--radius-l: 20px;--radius-xl: 26px;--shadow-1: 0 1px 2px rgba(15, 21, 38, .05), 0 4px 14px rgba(15, 21, 38, .06);--shadow-2: 0 6px 24px rgba(15, 21, 38, .1);--shadow-3: 0 18px 60px rgba(15, 21, 38, .18);--shadow-accent: 0 8px 24px color-mix(in srgb, var(--accent) 35%, transparent);--topbar-h: 64px;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(1200px 500px at 85% -10%,color-mix(in srgb,var(--accent-hi) 8%,transparent),transparent 60%),radial-gradient(900px 420px at -10% 20%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 55%),var(--bg);background-attachment:fixed}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.4}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,p{margin-top:0}h1{font-size:clamp(1.7rem,4.5vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin-bottom:8px}h2{font-size:1.02rem;font-weight:800;letter-spacing:-.01em;margin-bottom:14px}.status-screen{align-items:center;color:var(--ink);display:grid;min-height:100dvh;padding:24px;place-items:center;text-align:center;font-weight:600}.app-shell{min-height:100dvh}.topbar{align-items:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--surface-glass);border-bottom:1px solid var(--line);display:grid;gap:18px;grid-template-columns:auto 1fr auto;min-height:var(--topbar-h);padding:0 clamp(14px,3vw,28px);position:sticky;top:0;z-index:30}.brand,.topbar nav a,.account,.back-button,.primary-button,.icon-button,.meta-row,.presence{align-items:center;display:inline-flex}.brand{background:transparent;border:0;color:var(--ink);font-size:1.02rem;font-weight:800;gap:10px;letter-spacing:-.01em;padding:0}.brand-mark{background:var(--gradient);border-radius:10px;box-shadow:var(--shadow-accent);color:#fff;display:grid;font-size:1rem;height:34px;place-items:center;width:34px}.topbar nav{display:flex;gap:4px;justify-self:center}.topbar nav a{border-radius:999px;color:var(--ink-soft);font-weight:600;gap:8px;min-height:38px;padding:0 16px;text-decoration:none;transition:background .14s ease,color .14s ease}.topbar nav a:hover{background:var(--accent-softer);color:var(--ink)}.topbar nav a.active{background:var(--accent-soft);color:var(--accent)}.account{gap:10px;font-weight:600;font-size:.92rem}.mobile-nav{display:none}.primary-button,.back-button,.icon-button{border:0;border-radius:var(--radius-m);gap:8px;justify-content:center;min-height:42px;transition:transform .12s ease,box-shadow .14s ease,background .14s ease,color .14s ease}.primary-button{background:var(--gradient);box-shadow:var(--shadow-accent);color:#fff;font-weight:700;padding:0 18px}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 42%,transparent)}.primary-button:active:not(:disabled){transform:translateY(0)}.back-button{background:var(--surface);border:1px solid var(--line);color:var(--ink);font-weight:600;margin-bottom:18px;padding:0 14px}.back-button:hover{border-color:var(--accent-line);color:var(--accent)}.icon-button{background:var(--surface);border:1px solid var(--line);color:var(--ink);height:42px;width:42px;flex:0 0 auto}.icon-button:hover:not(:disabled){border-color:var(--accent-line);color:var(--accent)}.icon-button.ghost{background:transparent;border-color:transparent}.icon-button.ghost:hover:not(:disabled){background:var(--accent-softer)}.icon-button.selected,.selected{background:var(--gradient);border-color:transparent;box-shadow:var(--shadow-accent);color:#fff}.icon-button.selected:hover:not(:disabled){color:#fff}form{display:grid;gap:14px}label{color:var(--ink-soft);display:grid;font-size:.88rem;font-weight:600;gap:7px}input,select,textarea{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-s);color:var(--ink);min-height:44px;padding:10px 14px;transition:border-color .14s ease,box-shadow .14s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);outline:none}textarea{min-height:96px;resize:vertical}.form-error{color:var(--danger);font-weight:600;margin:0}.hint{color:var(--ink-faint);font-size:.85rem;margin-bottom:0}.password-field{display:grid;gap:7px}.password-strength{align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto}.password-strength:before{background:var(--line);border-radius:999px;content:"";grid-column:1;grid-row:1;height:6px}.password-strength span{border-radius:999px;display:block;grid-column:1;grid-row:1;height:6px;transition:width .18s ease}.password-strength em{color:var(--ink-faint);font-size:.76rem;font-style:normal;font-weight:700}.password-strength.weak span{background:var(--danger)}.password-strength.medium span{background:var(--warning)}.password-strength.good span{background:var(--accent)}.password-strength.strong span{background:var(--success)}.toast{animation:toast-in .22s cubic-bezier(.2,.9,.3,1.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-m);box-shadow:var(--shadow-3);color:#fff;font-weight:700;line-height:1.35;max-width:min(420px,calc(100vw - 32px));padding:14px 18px;position:fixed;right:20px;top:calc(var(--topbar-h) + 16px);z-index:60}.toast.success{background:color-mix(in srgb,var(--success) 92%,black)}.toast.error{background:color-mix(in srgb,var(--danger) 92%,black)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-screen{align-items:center;background:radial-gradient(900px 600px at 15% 10%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 60%),radial-gradient(800px 600px at 90% 85%,color-mix(in srgb,var(--accent-hi) 30%,transparent),transparent 55%),linear-gradient(160deg,#0e1330,#1c1650 55%,#351a66);display:flex;justify-content:center;min-height:100dvh;padding:24px}.login-panel{background:var(--surface-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);display:grid;gap:22px;max-width:430px;padding:clamp(26px,5vw,38px);width:100%}.login-brand{align-items:center;display:flex;gap:12px;margin-bottom:10px}.login-brand .brand-mark{border-radius:14px;font-size:1.3rem;height:46px;width:46px}.login-panel h1{margin-bottom:4px}.login-panel p{color:var(--ink-soft);margin-bottom:0}.page{margin:0 auto;max-width:1160px;padding:clamp(22px,4vw,38px) clamp(16px,3vw,24px) 110px}.page-header{margin-bottom:26px}.page-header p{color:var(--ink-soft);max-width:680px;margin-bottom:0}.project-grid,.admin-layout{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr))}.project-card,.panel,.lesson-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-1)}.project-card{color:inherit;display:grid;gap:10px;align-content:start;min-height:175px;padding:22px;position:relative;overflow:hidden;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.project-card:before{background:var(--gradient);border-radius:999px;content:"";height:4px;left:22px;position:absolute;top:0;width:46px}.project-card:hover,.lesson-row:hover{border-color:var(--accent-line);box-shadow:var(--shadow-2);transform:translateY(-2px)}.project-icon{align-items:center;background:var(--accent-soft);border-radius:var(--radius-m);color:var(--accent);display:inline-flex;height:44px;justify-content:center;margin-bottom:4px;width:44px}.project-title{color:var(--ink);font-size:1.18rem;font-weight:800;letter-spacing:-.01em}.project-card>span:not(.project-title):not(.meta-row){color:var(--ink-soft);font-size:.92rem}.meta-row{color:var(--ink-faint);font-size:.85rem;font-weight:600;gap:6px;margin-top:auto}.panel{padding:22px}.wide{margin-top:18px}.create-lesson{margin-bottom:20px}.lesson-list{display:grid;gap:12px}.lesson-row{align-items:center;color:inherit;display:flex;gap:16px;min-height:80px;padding:16px 20px;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;width:100%}.lesson-icon{align-items:center;background:var(--accent-soft);border-radius:var(--radius-m);color:var(--accent);display:inline-flex;flex:0 0 auto;height:46px;justify-content:center;width:46px}.lesson-row .lesson-info{display:grid;gap:5px;min-width:0}.lesson-row strong{font-size:1.02rem;letter-spacing:-.01em}.lesson-row small{color:var(--ink-faint)}.lesson-row .lesson-arrow{color:var(--ink-faint);margin-left:auto}.lesson-row:hover .lesson-arrow{color:var(--accent)}.matrix{display:grid;gap:14px}.matrix-row{border-top:1px solid var(--line);display:grid;gap:10px;padding-top:14px}.member-list{display:flex;flex-wrap:wrap;gap:12px}.user-admin-list{display:grid;gap:12px}.user-admin-row{align-items:end;border-top:1px solid var(--line);display:grid;gap:12px;padding-top:12px;grid-template-columns:minmax(140px,1fr) minmax(160px,1fr) minmax(120px,.7fr) minmax(220px,1fr) auto}.check{align-items:center;display:inline-flex;flex-direction:row;font-weight:600;gap:6px}.check input{min-height:auto}.profile-panel{max-width:520px}.avatar{align-items:center;border:2px solid white;border-radius:999px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:.82rem;font-weight:800;height:34px;justify-content:center;opacity:.4;width:34px}.avatar.online{box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 25%,transparent);opacity:1}.presence{gap:0}.presence .avatar+.avatar{margin-left:-8px}.editor{display:flex;flex-direction:column;height:calc(100dvh - var(--topbar-h));overflow:hidden}.editor.fullscreen{background:var(--bg);height:100dvh;top:0;right:0;bottom:0;left:0;position:fixed;z-index:100}.editor-topbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--surface-glass);border-bottom:1px solid var(--line);display:flex;gap:10px;min-height:56px;padding:8px clamp(10px,2vw,18px)}.editor-title{display:grid;gap:1px;line-height:1.2;margin-right:auto;min-width:0}.editor-title strong{font-size:.98rem;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-title span{color:var(--ink-faint);font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;gap:6px;padding:6px 12px;white-space:nowrap}.save-badge.saved{background:color-mix(in srgb,var(--success) 12%,white);color:var(--success)}.save-badge.saving{background:var(--accent-soft);color:var(--accent)}.save-badge.error{background:color-mix(in srgb,var(--danger) 12%,white);color:var(--danger)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.editor-body{display:flex;flex:1;min-height:0;position:relative}.tool-dock{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--surface-glass);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:12px;left:14px;max-height:calc(100% - 28px);overflow-y:auto;padding:12px;position:absolute;top:50%;transform:translateY(-50%);transition:transform .22s cubic-bezier(.3,.9,.3,1),opacity .18s ease;width:76px;z-index:20;scrollbar-width:thin}.tool-dock:not(.open){opacity:0;pointer-events:none;transform:translate(-110%,-50%)}.dock-header{align-items:center;display:flex;gap:6px;justify-content:space-between}.dock-header .icon-button{height:32px;width:32px}.dock-group{align-items:center;display:flex;flex-direction:column;gap:8px}.dock-group+.dock-group{border-top:1px solid var(--line);padding-top:12px}.dock-group .icon-button{height:46px;width:46px}.dock-item{align-items:center;display:flex;gap:12px;justify-content:center;width:100%}.dock-label,.dock-group-title{display:none}.swatch-row{align-items:center;display:flex;flex-direction:column;gap:8px}.tool-dock.labeled{width:240px}.tool-dock.labeled .dock-group{align-items:stretch}.tool-dock.labeled .dock-item{justify-content:flex-start}.tool-dock.labeled .dock-label{display:grid;gap:1px;line-height:1.25;min-width:0}.tool-dock.labeled .dock-label strong{font-size:.86rem}.tool-dock.labeled .dock-label small{color:var(--ink-faint);font-size:.72rem}.tool-dock.labeled .dock-group-title{color:var(--ink-faint);display:block;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.tool-dock.labeled .swatch-row{flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.tool-dock.labeled .dock-width{align-items:flex-start}.tool-dock.labeled .dock-width input[type=range]{direction:ltr;height:24px;width:150px;writing-mode:horizontal-tb}.swatch{border:2px solid transparent;border-radius:999px;box-shadow:inset 0 0 0 2px #ffffffb3;cursor:pointer;flex:0 0 auto;height:30px;padding:0;transition:transform .12s ease,border-color .12s ease;width:30px}.swatch:hover{transform:scale(1.12)}.swatch.active{border-color:var(--ink);transform:scale(1.12)}.swatch.custom{display:grid;overflow:hidden;place-items:center;position:relative}.swatch.custom input[type=color]{cursor:pointer;height:200%;left:-50%;min-height:0;opacity:0;position:absolute;top:-50%;width:200%}.swatch.custom svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));pointer-events:none;position:relative;z-index:1}.dock-width{align-items:center;display:flex;flex-direction:column;gap:10px;padding:6px 0}.dock-width input[type=range]{writing-mode:vertical-lr;direction:rtl;height:88px;min-height:0;padding:0;width:24px;accent-color:var(--accent);background:transparent;border:0}.width-dot{background:var(--ink);border-radius:999px;flex:0 0 auto}.zoom-value{background:transparent;border:0;border-radius:8px;color:var(--ink-soft);font-size:.74rem;font-weight:800;min-height:26px;padding:2px 6px}.zoom-value:hover{color:var(--accent)}.dock-fab{align-items:center;background:var(--gradient);border:0;border-radius:999px;bottom:auto;box-shadow:var(--shadow-accent),var(--shadow-2);color:#fff;display:inline-flex;height:54px;justify-content:center;left:14px;position:absolute;top:50%;transform:translateY(-50%);transition:transform .14s ease;width:54px;z-index:20}.dock-fab:hover{transform:translateY(-50%) scale(1.06)}.editor.fullscreen .dock-fab{bottom:calc(16px + env(safe-area-inset-bottom));top:auto;transform:none}.editor.fullscreen .dock-fab:hover{transform:scale(1.06)}.canvas-stage{align-items:center;display:flex;flex:1;justify-content:center;min-width:0;overflow:auto;padding:18px;position:relative;touch-action:none}.whiteboard-wrap{aspect-ratio:16 / 9;height:min(100%,calc((100vw - 36px)*.5625));max-width:100%;position:relative;transform-origin:center center;transition:transform .18s ease}.whiteboard-wrap.dragging{transition:none}.whiteboard-wrap.anim-from-right{animation:page-from-right .26s cubic-bezier(.25,.9,.3,1)}.whiteboard-wrap.anim-from-left{animation:page-from-left .26s cubic-bezier(.25,.9,.3,1)}@keyframes page-from-right{0%{opacity:.25;transform:translate(90px) scale(calc(var(--zoom, 1) * .98))}to{opacity:1;transform:translate(0) scale(var(--zoom, 1))}}@keyframes page-from-left{0%{opacity:.25;transform:translate(-90px) scale(calc(var(--zoom, 1) * .98))}to{opacity:1;transform:translate(0) scale(var(--zoom, 1))}}.whiteboard{aspect-ratio:16 / 9;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-m);box-shadow:var(--shadow-2);height:100%;max-height:100%;max-width:100%;touch-action:none;width:auto}.grid-lines line{stroke:#e8eef5;stroke-width:1}.grid-lines.compact line{stroke-width:3}.selection-outline{fill:color-mix(in srgb,var(--accent) 8%,transparent);stroke:var(--accent);stroke-dasharray:10 8;stroke-width:2}.inline-text-editor{background:#fffffff7;border:2px solid var(--accent);border-radius:var(--radius-s);box-shadow:var(--shadow-3);font-size:clamp(1rem,2.2vw,1.55rem);font-weight:700;min-height:72px;min-width:220px;position:absolute;transform:translateY(-100%);z-index:3}.remote-pointer{pointer-events:none}.remote-pointer circle:first-child{animation:pulse-pointer 1.1s ease-out infinite}@keyframes pulse-pointer{0%{opacity:.2;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}.selection-toolbar{align-items:center;animation:toast-in .18s ease;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--surface-glass);border:1px solid var(--line);border-radius:999px;bottom:18px;box-shadow:var(--shadow-2);display:flex;flex-wrap:wrap;gap:6px;justify-content:center;left:50%;max-width:calc(100% - 24px);padding:6px;position:absolute;transform:translate(-50%);z-index:15}.selection-toolbar .icon-button{border:0;height:40px;width:40px}.fs-exit{position:absolute;right:14px;top:14px;z-index:25;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--surface-glass);box-shadow:var(--shadow-2)}.page-arrow{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--surface-glass);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-2);color:var(--ink);display:inline-flex;height:52px;justify-content:center;opacity:.85;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .14s ease,transform .14s ease,color .14s ease;width:52px;z-index:18}.page-arrow:hover:not(:disabled){color:var(--accent);opacity:1;transform:translateY(-50%) scale(1.08)}.page-arrow.left{left:12px}.page-arrow.right{right:12px}.page-arrow.add{background:var(--gradient);border-color:transparent;color:#fff}.page-arrow.add:hover:not(:disabled){color:#fff}.fs-page-indicator{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--surface-glass);border:1px solid var(--line);border-radius:999px;bottom:16px;box-shadow:var(--shadow-1);color:var(--ink-soft);font-size:.82rem;font-weight:700;left:50%;padding:8px 16px;position:absolute;transform:translate(-50%);z-index:15}.new-page-hint{align-items:center;animation:toast-in .16s ease;background:var(--gradient);border-radius:999px;box-shadow:var(--shadow-accent);color:#fff;display:inline-flex;font-weight:800;gap:8px;padding:12px 20px;position:absolute;right:20px;top:50%;transform:translateY(-50%);z-index:26;pointer-events:none}.page-strip{align-items:center;background:var(--surface);border-top:1px solid var(--line);display:flex;gap:10px;min-height:104px;overflow-x:auto;padding:10px 16px;scrollbar-width:thin}.page-thumb{background:var(--bg-soft);border:2px solid transparent;border-radius:var(--radius-s);color:var(--ink);display:grid;flex:0 0 122px;gap:4px;padding:5px;transition:border-color .14s ease,transform .14s ease}.page-thumb:hover{transform:translateY(-2px)}.page-thumb.active{border-color:var(--accent)}.page-thumb svg{aspect-ratio:16 / 9;background:#fff;border:1px solid var(--line);border-radius:6px;width:100%}.page-thumb span{font-size:.74rem;font-weight:800}.editor-footer{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--surface-glass);border-top:1px solid var(--line);display:flex;gap:10px;min-height:60px;padding:8px clamp(10px,2vw,18px) calc(8px + env(safe-area-inset-bottom))}.footer-left,.footer-right{align-items:center;display:flex;flex:1;gap:6px}.footer-right{justify-content:flex-end}.pager-core{align-items:center;display:inline-flex;gap:8px}.pager-core span{color:var(--ink-soft);font-size:.85rem;font-weight:700;min-width:92px;text-align:center;white-space:nowrap}.editor-footer .icon-button{height:40px;width:40px}.save-meta{align-items:center;color:var(--ink-faint);display:inline-flex;font-size:.8rem;font-weight:600;gap:5px;margin-left:8px;white-space:nowrap}.editor [data-tip]{position:relative}.editor [data-tip]:after{background:var(--ink);border-radius:8px;bottom:calc(100% + 8px);box-shadow:var(--shadow-2);color:#fff;content:attr(data-tip);font-size:.72rem;font-weight:600;left:50%;line-height:1.3;max-width:200px;opacity:0;padding:5px 10px;pointer-events:none;position:absolute;text-align:center;transform:translate(-50%);transition:opacity .14s ease;white-space:normal;width:max-content;z-index:70}.editor [data-tip][data-tip-pos=bottom]:after{bottom:auto;top:calc(100% + 8px)}.editor [data-tip][data-tip-pos=left]:after{bottom:auto;left:auto;right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.editor [data-tip][data-tip-pos=right]:after{bottom:auto;left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.editor [data-tip]:hover:after,.editor [data-tip]:focus-visible:after,.editor.help-mode [data-tip]:after{opacity:1}.editor.help-mode [data-tip]:nth-child(2n):not([data-tip-pos]):after{bottom:calc(100% + 38px)}.editor.help-mode [data-tip][data-tip-pos=bottom]:nth-child(2n):after{top:calc(100% + 38px)}.editor.help-mode .editor-footer{flex-wrap:wrap;overflow:visible}@media (max-width: 900px){.app-shell.in-editor .topbar{display:none}.app-shell.in-editor .editor{height:100dvh}}@media (max-width: 760px){.topbar{grid-template-columns:auto 1fr auto}.topbar nav{display:none}.account span:not(.avatar){display:none}.mobile-nav{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--surface-glass);border-top:1px solid var(--line);bottom:0;display:flex;justify-content:space-around;left:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:40}.app-shell.in-editor .mobile-nav{display:none}.mobile-nav a{align-items:center;border-radius:var(--radius-m);color:var(--ink-faint);display:grid;font-size:.68rem;font-weight:700;gap:2px;justify-items:center;min-width:74px;padding:8px 12px;text-decoration:none;transition:color .14s ease,background .14s ease}.mobile-nav a.active{background:var(--accent-soft);color:var(--accent)}.toast{bottom:calc(76px + env(safe-area-inset-bottom));left:16px;right:16px;top:auto}.canvas-stage{padding:10px}.tool-dock{left:10px;width:68px;padding:10px}.dock-group .icon-button{height:44px;width:44px}.dock-fab{height:50px;left:10px;width:50px}.editor-footer{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}.footer-left,.footer-right{flex:0 0 auto}.save-meta{display:none}.page-strip{min-height:88px}.page-thumb{flex:0 0 104px}.user-admin-row{align-items:stretch;grid-template-columns:1fr}.presence .avatar{height:30px;width:30px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
