.rt-diagram{width:100%;min-width:0}.rt-svg{display:block;width:100%;max-width:100%;height:auto;border:1px solid var(--line, #d1d5db);border-radius:var(--radius-sm)}.book-page{position:relative;width:100%;aspect-ratio:297 / 210;container-type:inline-size;background:#fff;color:#111827;box-shadow:0 12px 36px #00000059;overflow:hidden;font-family:var(--font-body, "Barlow", Arial, sans-serif)}.book-heading{position:absolute;overflow:hidden}.book-heading h2{margin:0;font-family:var(--font-display, "Anton", Impact, sans-serif);line-height:1.1;color:#111827}.book-heading p{margin:.3cqw 0 0;color:#4b5563}.book-fixed{position:absolute;margin:0;color:#111827;overflow:hidden}.book-title{margin:0;font-family:var(--font-display, "Anton", Impact, sans-serif);font-weight:400;line-height:1.05;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual}.book-fixed.book-titleblock{display:flex;flex-direction:column;gap:1.4cqw;overflow:visible}.book-titleblock .book-title{overflow-wrap:break-word}.book-titleblock p{margin:0;line-height:1.15;overflow-wrap:anywhere}.book-titleblock .book-meta{color:#374151}.book-placeholder{color:#9ca3af;font-style:italic}.book-logo-img{display:block;width:100%;height:100%}.book-logo-box{position:absolute;display:flex;align-items:center;justify-content:center}.book-logo-box img{max-width:100%;max-height:100%;object-fit:contain}.book-pageno{position:absolute;text-align:center;color:#6b7280}.book-slot{position:absolute;min-width:0;min-height:0}.book-slot-btn{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;margin:0;text-align:left;overflow:hidden;background:transparent;color:inherit;border:1px solid transparent;border-radius:4px;cursor:pointer;font:inherit}.book-slot-btn:hover{border-color:#9ca3af}.book-slot.is-selected .book-slot-btn{border:2px solid var(--accent)}.book-slot.is-drop .book-slot-btn{border:2px dashed var(--accent);background:#4ade8026}.book-slot.is-empty .book-slot-btn{border:2px dashed #9ca3af}.book-slot-empty{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.6cqw;color:#4b5563;font-weight:600}.book-slot-btn-under{z-index:0}.book-slot-menu{position:absolute;top:4px;right:4px;z-index:3}.book-slot-menu-btn{min-width:44px;min-height:44px;justify-content:center;background:#fff;color:#111827;border-color:#9ca3af}.book-slot-menu-list{position:absolute;right:0;top:48px;min-width:160px;background:var(--panel);border:1px solid var(--line, #d1d5db);border-radius:var(--radius-sm);box-shadow:var(--shadow);display:flex;flex-direction:column;padding:4px}.book-menu-item{min-height:44px;padding:0 12px;text-align:left;background:transparent;border:0;color:var(--chalk);border-radius:6px;font:600 14px var(--font-body, "Barlow", Arial, sans-serif)}.book-menu-item:hover{background:var(--panel-2)}.book-lazy{width:100%;height:100%;background:#f3f4f6}.book-richtext{padding:.5cqw}.book-richtext-p{margin:0 0 .5em;line-height:1.3;position:relative;overflow-wrap:anywhere}.book-richtext-p .book-bullet{position:absolute;left:-1.4cqw}.book-richtext-p.is-bullet{margin-bottom:.25em}.book-color-red{color:#d62839}.book-color-accent{color:#15803d}.book-color-gray{color:#6b7280}.book-diagram{display:flex;flex-direction:column;width:100%;height:100%;margin:0;min-height:0}.book-diagram-heading{font-weight:700;font-size:1.5cqw;padding-bottom:.3cqw;color:#111827}.book-diagram-caption{font-size:1.2cqw;padding-top:.3cqw;color:#374151}.book-diagram-svg{flex:1;min-height:0}.book-routetree{width:100%;height:100%;overflow:hidden}.book-broken{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;border:2px dashed var(--danger);color:#991b1b;background:#fef2f2;text-align:center;font-size:1.5cqw}.book-broken p{margin:0;font-weight:700}.book-broken-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.book-broken-actions .btn{min-height:44px}.book-page.is-bw{color:#000}.is-bw .book-color-red{color:#000;text-decoration:underline;text-underline-offset:.12em}.is-bw .book-color-accent{color:#000;text-decoration:underline dotted;text-underline-offset:.12em}.is-bw .book-color-gray,.is-bw .book-heading p,.is-bw .book-pageno{color:#555}.is-bw .book-heading h2,.is-bw .book-title,.is-bw .book-diagram-heading,.is-bw .book-diagram-caption,.is-bw .book-titleblock .book-meta{color:#000}.is-bw .book-logo-box img,.is-bw .book-logo-img{filter:grayscale(1)}.is-bw .rt-svg{border-color:#000}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(./anton-latin-400-normal-Byf51wtH.woff2) format("woff2"),url(./anton-latin-400-normal-AUNGEG_V.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(./barlow-latin-400-normal-fsAxiSwU.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(./barlow-latin-500-normal-C1h8hMer.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(./barlow-latin-600-normal-CNwfPWQD.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-latin-700-normal-A9pxMQ4z.woff2) format("woff2"),url(./barlow-latin-700-normal-__SGTsZ1.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:800;src:url(./barlow-latin-800-normal-s1sAMnoV.woff2) format("woff2"),url(./barlow-latin-800-normal-BdVooDN4.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(./jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(./jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(./jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff")}:root{--ink:#0b0f0e;--ink-2:#070a09;--panel:#131818;--panel-2:#1a2020;--panel-3:#232a2c;--line:#2d3338;--field:#151b1b;--field-end:#0f1414;--chalk:#f8fafc;--chalk-dim:#9ca3af;--chalk-faint:#6b7280;--accent:#4ade80;--accent-2:#3fbd6d;--accent-hover:#6ee7a0;--accent-ink:#0b0f0e;--teamA:#4fb3ff;--teamA-dim:#27577d;--teamB:#ff6b5b;--teamB-dim:#80352c;--danger:#ef4444;--illegal:#f0abfc;--illegal-bg:rgba(240,171,252,.1);--illegal-line:rgba(240,171,252,.45);--hint:var(--chalk-dim);--radius:14px;--radius-sm:8px;--shadow: 0 8px 24px rgba(0,0,0,.35);--font-display:"Anton", "Arial Narrow", sans-serif;--font-body:"Barlow", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Consolas", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ink);color:var(--chalk);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:.02em;text-wrap:balance;margin:0}a{color:var(--accent)}button{font-family:var(--font-body);cursor:pointer}input,textarea,select{font-family:var(--font-body)}::selection{background:var(--accent);color:var(--accent-ink)}.topbar{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--ink-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}.wordmark{background:none;border:0;padding:0;cursor:pointer;font-family:var(--font-display);font-size:22px;letter-spacing:.03em;color:var(--chalk);display:flex;align-items:center;gap:8px;white-space:nowrap}.wordmark .logo-header{height:40px;width:auto;display:block}.wordmark .logo-signet{height:32px;width:auto;display:none}.topbar span.wordmark{cursor:default}.step-trail ol{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;color:var(--chalk-faint);text-transform:uppercase;letter-spacing:.06em;list-style:none;margin:0 0 12px;padding:0}.step-trail li{display:flex;align-items:center;gap:6px}.step-trail .step{padding:3px 9px;border-radius:999px;background:var(--panel);border:1px solid var(--line)}.step-trail .step.done{color:var(--chalk);border-color:#4ade8066}.editor-trail-row{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;margin-bottom:6px;min-width:0}.editor-trail-row .step-trail{flex:none}.editor-trail-row .step-trail ol{margin:0}.editor-meta{margin:0;min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-trail .step.now{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-weight:700}.step-trail .sep{color:var(--chalk-faint)}.topbar-actions{margin-left:auto;display:flex;gap:8px}.topbar .menu-toggle{display:none;margin-left:auto;width:44px;height:44px;padding:0;justify-content:center}.menu-toggle .icon{width:22px;height:22px}.mobile-menu{position:absolute;top:100%;left:0;right:0;z-index:50;display:flex;flex-direction:column;gap:4px;padding:10px 12px 14px;background:var(--ink-2);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.mobile-menu-item{appearance:none;display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--chalk);font:600 15px var(--font-body);text-align:left;cursor:pointer}.mobile-menu-item:hover{background:var(--panel)}.mobile-menu-item[aria-current=page]{border-color:var(--line);background:var(--panel)}.mobile-menu-item.primary{color:var(--accent)}.mobile-menu-item .icon{width:20px;height:20px}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:700 11px var(--font-mono);line-height:1}.mobile-menu-item .nav-badge{margin-left:auto}.btn{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--chalk);padding:9px 16px;border-radius:999px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:7px;transition:transform .08s,background .15s,border-color .15s}.btn:hover{background:var(--panel-2);border-color:var(--chalk-faint)}.btn:active{transform:scale(.97)}.btn:focus-visible,a:focus-visible,[tabindex]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--chalk-dim)}.btn-ghost:hover{background:var(--panel);color:var(--chalk)}.btn-danger{background:transparent;border-color:var(--teamB-dim);color:#f2a091}.btn-danger:hover{background:#ff6b5b26}.btn-sm{padding:6px 11px;font-size:12.5px}.btn[disabled]{opacity:.4;cursor:not-allowed}.icon-btn{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel);color:var(--chalk-dim);font-size:14px;padding:0}.icon-btn:hover{background:var(--panel-2);color:var(--chalk)}.icon-btn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}main{flex:1;width:100%}.wrap{max-width:1180px;margin:0 auto;padding:28px 20px 60px}.wrap-editor{max-width:1640px;padding:20px 16px 60px}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}.lede{color:var(--chalk-dim);max-width:60ch;margin:10px 0 0;line-height:1.55}.section-head{margin-bottom:22px}.section-head-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.team-logo-dashboard{height:40px;width:auto;max-width:96px;object-fit:contain;flex-shrink:0}@media(max-width:640px){.team-logo-dashboard{height:32px;max-width:72px}}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:22px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:left;color:var(--chalk);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;min-height:150px}.tile:hover{border-color:var(--accent-2);background:var(--panel-2)}.tile .tile-num{font-family:var(--font-display);font-size:40px;color:var(--panel-3);line-height:1;-webkit-text-stroke:1px var(--chalk-faint)}.tile .tile-title{font-family:var(--font-display);font-size:21px;letter-spacing:.01em}.tile .tile-desc{font-size:13.5px;color:var(--chalk-dim);line-height:1.45;margin-top:auto}.tile .tile-tag{position:absolute;top:14px;right:14px;font-family:var(--font-mono);font-size:10.5px;color:var(--chalk-faint);border:1px solid var(--line);padding:2px 8px;border-radius:999px}.picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}@media(max-width:760px){.picker-grid{grid-template-columns:1fr}}.field-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.field-box h3{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--chalk-dim);margin-bottom:12px}label.f-label{display:block;font-size:12.5px;color:var(--chalk-faint);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.05em}label.f-label:first-child{margin-top:0}.formation-select-row{display:flex;align-items:center;gap:8px}.formation-select-row select{flex:1;min-width:0}.formation-select-row .icon-btn{flex-shrink:0}select,.textinput{width:100%;background:var(--ink-2);border:1px solid var(--line);color:var(--chalk);padding:10px 12px;border-radius:var(--radius-sm);font-size:14.5px}select:focus,.textinput:focus{border-color:var(--accent-2)}textarea.textinput{resize:vertical;min-height:64px;line-height:1.4}.info-card{margin-top:14px;background:var(--ink-2);border:1px dashed var(--line);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;color:var(--chalk-dim);line-height:1.5}.info-card b{color:var(--chalk)}.info-card .src{display:block;margin-top:6px;font-family:var(--font-mono);font-size:11px}.info-card .src a{color:var(--chalk-faint);text-decoration:underline}.info-card .src a:hover{color:var(--accent)}.vs-divider{display:flex;align-items:center;justify-content:center;margin:6px 0;font-family:var(--font-display);color:var(--chalk-faint);font-size:15px;letter-spacing:.1em}.footer-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}@media(max-width:1000px){.editor-layout{grid-template-columns:1fr}}.field-panel{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px;position:relative}.draw-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}.tool-btn{background:var(--panel);border:1px solid var(--line);color:var(--chalk-dim);padding:8px 12px;border-radius:999px;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.tool-btn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tool-hint{font-size:12px;color:var(--chalk-faint);margin-left:auto;font-family:var(--font-mono)}.field-svg-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line);background:var(--field-end);touch-action:none}.field-svg-wrap svg{display:block;width:100%;height:100%}.field-svg-wrap.drawing{cursor:crosshair}.los-snap-hint,.player-snap-hint{position:absolute;top:10px;left:10px;pointer-events:none;padding:5px 8px;border-radius:5px;background:var(--ink-2);color:var(--accent);font:11px var(--font-body);box-shadow:0 2px 8px #0002}.player-snap-hint--stacked{top:38px}.draw-actions-stack{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px}.draw-actions-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;background:#0b0f0ed1;padding:6px 10px;border-radius:999px;border:1px solid var(--line)}.preset-picker{max-width:100%;border-radius:12px;gap:6px}.preset-picker .tool-hint{margin-left:0}.preset-picker .textinput{width:auto;min-width:0;padding:6px 8px;font-size:12.5px}.preset-picker .preset-select{width:240px;max-width:100%}.preset-picker .preset-depth{width:64px}.preset-manual-hint{margin:0;font-size:11.5px;opacity:.85;text-align:center}.player-pop{position:absolute;z-index:30;background:var(--panel);border:1px solid var(--accent-2);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:10px;width:190px;display:flex;flex-direction:column;gap:8px}.player-pop input{width:100%}.player-pop .row{display:flex;gap:6px;align-items:center}.player-pop input[type=range]{flex:1;min-width:0}.field-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;color:var(--chalk-dim)}.field-legend .li{display:flex;align-items:center;gap:6px}.field-legend .dot{width:11px;height:11px;border-radius:50%;display:inline-block}.field-legend .ln{width:20px;height:0;border-top:2px solid;display:inline-block}.sidebar{display:flex;flex-direction:column;gap:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.route-tree-groups{display:flex;flex-direction:column;gap:16px;margin-top:22px}.route-tree-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:14px;margin-top:12px}.route-tree-item{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}.route-tree-svg{width:100%;aspect-ratio:4/5;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--chalk)}.route-tree-origin{fill:var(--accent)}.route-tree-path{fill:none;stroke:currentColor;stroke-width:.35;stroke-linecap:round;stroke-linejoin:round}.route-tree-item .name{font-size:12.5px;font-weight:600;color:var(--chalk)}.route-tree-item .depth{font-size:11px;color:var(--chalk-dim);font-family:var(--font-mono)}.app-login main{flex:1;display:flex}.login-page{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 16px 80px;background-color:var(--ink);background-size:cover;background-position:62% center;position:relative}.login-page:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b0f0ef0,#0b0f0ec7 45%,#0b0f0e73)}.login-panel{position:relative;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:18px}.login-logo{width:min(260px,70vw);height:auto}.login-panel .account-card{width:100%;box-shadow:var(--shadow);background:#131818eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.player-join-link{width:100%;justify-content:center;min-height:44px;background:#131818b3}.login-panel .account-notice{width:100%;margin:0;background:#2a1414}.login-loading .login-logo{position:relative;opacity:.9;animation:login-pulse 1.4s ease-in-out infinite}@keyframes login-pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.login-loading .login-logo{animation:none}}@media(max-width:640px){.login-page{align-items:flex-start;padding-top:24px}.login-page:before{background:#0b0f0ed1}}.account-wrap .section-head{max-width:520px}.account-wrap h1:focus{outline:none}.account-card{max-width:520px;display:flex;flex-direction:column;gap:12px}.account-card form{display:flex;flex-direction:column;gap:10px}.account-card form label.f-label{margin:4px 0 0}.account-card .textinput{width:100%;min-height:44px;font-size:16px}.account-card .btn{justify-content:center;min-height:44px}.otp-input{font-family:var(--font-mono);letter-spacing:.3em;font-size:20px!important}.btn-google{background:#fff;color:#1f1f1f;border-color:#dadce0}.btn-google:hover{background:#f2f2f2;border-color:#dadce0}.account-divider{display:flex;align-items:center;gap:10px;color:var(--chalk-faint);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em}.account-divider:before,.account-divider:after{content:"";flex:1;border-top:1px solid var(--line)}.account-note,.account-sent{color:var(--chalk-dim);margin:0;line-height:1.5;font-size:14px}.account-who{margin:0;font-size:17px;overflow-wrap:anywhere}.account-mail{color:var(--chalk-dim)}.account-error{margin:0;color:#fca5a5;background:#ef44441f;border:1px solid rgba(239,68,68,.4);border-radius:var(--radius-sm);padding:8px 10px}.account-notice{max-width:520px;margin:0 0 12px}.account-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.card h3{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--chalk-dim);margin-bottom:10px}.roster{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.roster-card-actions{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:var(--font-mono);font-size:11.5px;padding:4px 9px;border-radius:999px;border:1px solid;background:transparent;color:var(--chalk);display:inline-flex;align-items:center;gap:5px}.chip.a{border-color:var(--teamA);color:var(--teamA)}.chip.b{border-color:var(--teamB);color:var(--teamB)}.chip.tag{border-color:var(--accent);color:var(--accent)}.chip button{background:none;border:0;color:inherit;font-size:12px;padding:0;line-height:1}.add-row{display:flex;gap:8px}.route-list{display:flex;flex-direction:column;gap:6px}.route-item{display:flex;align-items:center;gap:8px;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:7px 10px;font-size:13px}.route-item .tag{font-family:var(--font-mono);font-size:10.5px;color:var(--chalk-faint);text-transform:uppercase}.route-item .grow{flex:1 1 auto;min-width:8em;overflow-wrap:break-word;word-break:normal}.route-item{flex-wrap:wrap}.line-color-control{position:relative;display:flex;align-items:center;gap:4px;margin-left:auto}.color-swatch-btn{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--ink-2);cursor:pointer}.line-color-control .icon-btn:disabled{opacity:.35;cursor:default}.color-pop{position:absolute;z-index:30;top:calc(100% + 4px);right:0;background:var(--panel);border:1px solid var(--accent-2);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:10px;width:168px;display:flex;flex-direction:column;gap:8px}.color-pop-row{display:flex;gap:6px;justify-content:space-between}.color-dot{width:24px;height:24px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer}.color-dot.active{border-color:var(--chalk)}.color-pop-custom{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--chalk-dim)}.color-pop-custom input[type=color]{width:30px;height:30px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--ink-2);cursor:pointer}.empty-note{font-size:12.5px;color:var(--chalk-faint);font-style:italic}.stamp{font-family:var(--font-mono);font-size:11px;color:var(--chalk-faint);margin-top:4px}.stack-actions{display:flex;flex-direction:column;gap:8px}.stack-actions .btn{justify-content:center;width:100%}.dash-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:16px;align-items:stretch}@media(max-width:760px){.dash-top{grid-template-columns:1fr}}.dash-quick,.dash-stats{display:flex;flex-direction:column;gap:14px}.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--ink-2);border:1px solid var(--line);border-radius:999px;align-self:flex-start}.seg-btn{appearance:none;border:0;background:transparent;color:var(--chalk-dim);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600}.seg-btn:hover{color:var(--chalk)}.seg-btn.active{background:var(--accent);color:var(--accent-ink)}.dash-phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.tile.dash-phase{min-height:96px;padding:16px}.dash-wizard{align-self:flex-start}.stat-big{display:flex;align-items:baseline;gap:10px}.stat-big .stat-num{font-family:var(--font-display);font-size:52px;line-height:1;color:var(--accent)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{display:flex;flex-direction:column;gap:2px;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px}.stat .stat-num{font-family:var(--font-display);font-size:24px;line-height:1}.stat-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--chalk-faint)}.dash-stats .btn{margin-top:auto;align-self:flex-start}.dash-recent-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:32px 0 14px}.dash-recent-head h2{font-size:22px}.dash-recent{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.dash-card{appearance:none;padding:0;text-align:left;color:var(--chalk);font:inherit}.dash-card:hover{border-color:var(--accent-2)}.dash-card .pb-thumb{aspect-ratio:1/1}.settings-layout{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:16px;align-items:start}@media(max-width:900px){.settings-layout{grid-template-columns:1fr}}.settings-preview{position:sticky;top:76px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preset-card{appearance:none;display:flex;flex-direction:column;gap:6px;text-align:left;padding:10px;border-radius:var(--radius-sm);background:var(--ink-2);border:1px solid var(--line);color:var(--chalk)}.preset-card:hover{border-color:var(--chalk-faint)}.preset-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.preset-swatch{height:44px;border-radius:6px;border:1px solid;display:flex;align-items:center;justify-content:center;gap:6px}.preset-swatch i{width:12px;height:12px;border-radius:50%;display:block}.preset-name{font-weight:700;font-size:13.5px}.preset-desc{font-size:11.5px;color:var(--chalk-faint);line-height:1.35}.color-list{display:flex;flex-direction:column;gap:8px}.color-row{display:flex;align-items:center;gap:10px;font-size:13.5px}.color-row .grow{flex:1}.color-row code{font-family:var(--font-mono);font-size:11.5px;color:var(--chalk-faint)}.color-row input[type=color]{width:34px;height:34px;padding:2px;border-radius:8px;border:1px solid var(--line);background:var(--ink-2);cursor:pointer}.rule-bar{display:flex;align-items:center;gap:8px;height:44px;width:100%;max-width:680px;margin:8px auto 0;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2);font-size:13px;color:var(--chalk-dim)}.rule-bar[data-state=illegal]{border-color:var(--illegal-line);background:var(--illegal-bg);color:var(--chalk);box-shadow:inset 3px 0 0 var(--illegal)}.rule-bar[data-state=hint]{color:var(--chalk)}.rule-bar-icon{font-size:15px;width:18px;text-align:center}.rule-bar[data-state=illegal] .rule-bar-icon{color:var(--illegal)}.rule-bar-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rule-bar-more{min-height:32px;white-space:nowrap}.rule-card h3:focus{outline:2px solid var(--accent);outline-offset:3px}.rule-group{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--chalk-faint);margin:8px 0 4px}.rule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rule-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 9px;border-radius:var(--radius-sm);background:var(--ink-2);border:1px solid var(--line);font-size:13px}.rule-item.is-illegal{box-shadow:inset 3px 0 0 var(--illegal);border-color:var(--illegal-line)}.rule-item.is-hint{box-shadow:inset 3px 0 0 var(--hint)}.rule-src{font-family:var(--font-mono);font-size:11px;color:var(--chalk-faint)}.rule-players{display:flex;flex-wrap:wrap;gap:4px;width:100%}.rule-players .chip{cursor:pointer;border-color:var(--line);color:var(--chalk)}.rule-badge{position:absolute;top:8px;right:8px;z-index:2;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--ink-2);color:var(--illegal);border:1px solid var(--illegal-line)}.swap-dropped{margin-top:6px;color:var(--illegal)}.toast{display:flex;align-items:center;gap:12px}.toast-action{appearance:none;border:1px solid currentColor;background:transparent;color:inherit;font-weight:700;border-radius:999px;padding:4px 12px;min-height:32px;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rule-profile-desc{font-size:12.5px;color:var(--chalk-dim);line-height:1.45;margin:10px 0 6px}.rule-profile-sources{margin:0;padding-left:18px;font-size:12px;line-height:1.5}.rule-profile-sources a{color:var(--chalk-faint)}.rule-profile-sources a:hover{color:var(--accent)}.icon{display:inline-flex;width:1.15em;height:1.15em;flex:none;line-height:0}.icon svg{width:100%;height:100%;display:block}.icon-btn .icon{width:16px;height:16px}.chip button .icon{width:11px;height:11px}.tile-icon{width:24px;height:24px;color:var(--accent)}.tile-icon-lg{width:40px;height:40px}.tile .tile-icon+.tile-title{margin-top:2px}.dash-banner{display:block;width:100%;height:auto;min-height:88px;object-fit:cover;object-position:left center;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:22px;background:var(--ink-2)}.empty-signet{display:block;width:56px;height:56px;margin:0 auto 12px;opacity:.9}.pb-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}.pb-toolbar .grow{flex:1}.pb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.pb-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.pb-thumb{background:var(--field-end);aspect-ratio:4/5;position:relative}.pb-thumb svg{width:100%;height:100%;display:block}.pb-select{position:absolute;top:8px;left:8px;z-index:2;width:19px;height:19px;accent-color:var(--accent)}.pb-badges{position:absolute;top:8px;right:8px;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.pb-badges .rule-badge{position:static}.pb-comments-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-ink);border:none;font:800 12.5px var(--font-mono);line-height:1;cursor:pointer;box-shadow:0 1px 5px #0006}.pb-comments-badge:hover{filter:brightness(1.08)}.pb-comments-badge:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}.pb-body{padding:13px 14px 15px;display:flex;flex-direction:column;gap:6px}.pb-title{font-family:var(--font-display);font-size:18px;letter-spacing:.01em}.pb-tags{display:flex;flex-wrap:wrap;gap:5px;font-family:var(--font-mono);font-size:10px;color:var(--chalk-faint);text-transform:uppercase}.pb-tags span{border:1px solid var(--line);padding:2px 7px;border-radius:999px}.pb-desc{font-size:12.5px;color:var(--chalk-dim);line-height:1.4;min-height:0}.pb-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sync-badge{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;width:fit-content;font-size:12.5px;font-weight:600;border-radius:999px;border:1px solid var(--line);color:var(--chalk-dim)}.sync-badge.sync-offline{color:#fca5a5;border-color:#ef444466;background:#ef44441a}.sync-badge.sync-conflict{color:#facc15;border-color:#facc1573;background:#facc151a}.sync-badge.sync-syncing{color:var(--accent);border-color:var(--accent)}.empty-state{text-align:center;padding:60px 20px;color:var(--chalk-faint);border:1px dashed var(--line);border-radius:var(--radius);margin-top:10px}.modal-overlay{position:fixed;inset:0;background:#050806b8;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;max-width:520px;width:100%;box-shadow:var(--shadow);max-height:85vh;display:flex;flex-direction:column;gap:12px}.modal h3{font-size:19px}.modal textarea.textinput{min-height:180px;font-family:var(--font-mono);font-size:12px;flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--accent);color:var(--accent-ink);padding:10px 18px;border-radius:999px;font-weight:600;font-size:13.5px;z-index:200;box-shadow:var(--shadow)}#printArea{display:none}@media print{body *{visibility:hidden}#printArea,#printArea *{visibility:visible}#printArea{display:block;position:absolute;top:0;left:0;width:100%}.print-page{page-break-after:always;width:100%;min-height:100vh;padding:12mm;box-sizing:border-box;background:#fff!important;color:#111}.print-page:last-child{page-break-after:auto}.print-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:8px;margin-bottom:10px}.print-head h2{font-family:Anton,sans-serif;font-size:24px;color:#111}.print-tags{font-family:JetBrains Mono,monospace;font-size:10px;color:#444;text-transform:uppercase;letter-spacing:.05em}.print-field{width:100%;max-width:420px;margin:0 auto;border:1px solid #999}.print-notes{margin-top:10px;font-size:12px;line-height:1.5;color:#222}.print-notes b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#555;margin-bottom:2px}.print-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:10.5px;color:#333}@page{size:A4;margin:10mm}}@media(max-width:640px){.topbar-actions{display:none}.topbar .menu-toggle{display:inline-flex}.topbar{gap:10px;padding:10px 12px}.editor-trail-row{flex-wrap:wrap;gap:6px 12px}.editor-trail-row .step-trail{flex:1 1 100%;min-width:0}.editor-meta{white-space:normal}.wordmark .logo-header{display:none}.wordmark .logo-signet{display:block}.wrap{padding:18px 12px 90px}}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.editor-heading-copy{min-width:0}.editor-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.wrap-editor .section-head h1{font-size:23px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wrap-editor .section-head{margin-bottom:16px}.wrap-editor .eyebrow{font-size:12px;letter-spacing:.07em}.editor-layout{grid-template-columns:208px minmax(0,1fr) 320px;gap:18px}.editor-tools{padding:14px 12px;background:var(--ink-2);border:1px solid var(--line);border-radius:12px;min-width:0}.editor-tools h2{font:600 12px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--chalk-faint);margin:0 0 14px}.editor-tools .draw-toolbar{flex-direction:column;align-items:stretch;gap:6px;margin:0}.editor-tools .tool-btn{border-radius:7px;padding:9px 10px;font-size:14px}.editor-tools .tool-hint{font:12px/1.45 var(--font-body);margin:6px 0 0}.editor-tools .tool-btn.active{box-shadow:inset 3px 0 0 var(--accent);background:var(--panel-2);border-color:var(--accent-2);color:var(--accent)}.editor-tool-options .draw-actions-stack{align-items:stretch;gap:12px;margin-top:16px}.editor-tool-options .draw-actions-row{padding:0;border:0;background:none;border-radius:0;justify-content:flex-start;gap:7px}.editor-tool-options .preset-select{width:100%}.editor-tool-options .preset-picker>.tool-hint:first-child{width:100%}.editor-tool-options .preset-depth{width:52px}.editor-tool-options .preset-picker .btn{padding:6px 8px}.editor-tool-options .preset-manual-hint{text-align:left}.editor-tool-options .draw-actions-row label{width:100%}.editor-tool-options .draw-actions-row>.btn{font-size:13px}.editor-tool-options .textinput,.wrap-editor .btn-sm{font-size:14px}.wrap-editor .chip{font-size:13px}.editor-tools-note{font-size:12px;color:var(--chalk-faint);line-height:1.6;border-top:1px solid var(--line);padding-top:14px;margin:20px 0 0}.editor-layout>.field-panel{background:transparent;border:0;padding:12px 18px;min-width:0}.canvas-heading{width:100%;max-width:680px;margin:0 auto 12px;display:flex;justify-content:space-between;gap:12px;font:12px var(--font-mono);color:var(--chalk-faint)}.canvas-heading>span:first-child{color:var(--chalk-dim)}.canvas-stage{display:flex;justify-content:center;align-items:flex-start}.canvas-stage .field-svg-wrap{width:100%;max-width:680px;height:clamp(260px,48dvh,460px);aspect-ratio:auto;border-radius:5px;box-shadow:0 12px 36px #0002}.wrap-editor .field-legend{max-width:680px;margin:14px auto 0;gap:8px 12px;font-size:12px;line-height:1.5;padding-top:12px;border-top:1px solid var(--line)}.editor-panels{display:flex;gap:4px;flex-shrink:0;padding:4px;border:1px solid var(--line);border-radius:9px;background:var(--ink-2)}.editor-panels .btn{flex:1;justify-content:center;border-radius:5px;padding:6px 8px;font-size:14px;border:0}.editor-panels .btn-primary{background:var(--panel-3);color:var(--accent)}.sidebar-content{min-height:0}.sidebar-content section>.card+.card{margin-top:10px}.wrap-editor .card{padding:12px;border-radius:10px}.wrap-editor label.f-label{margin-top:9px;margin-bottom:4px;font-size:12px}.wrap-editor .sidebar .textinput{padding:6px 8px;font-size:14px}.wrap-editor .sidebar textarea.textinput{min-height:44px}.wrap-editor .sidebar .tool-btn{padding:5px 8px;font-size:13px}.wrap-editor .sidebar .draw-toolbar{gap:5px}.wrap-editor .route-item{padding:7px;gap:5px;font-size:14px}.wrap-editor .route-item .tag{font-size:11px}.wrap-editor .stamp{font-size:11px;line-height:1.5}@media(min-width:1101px)and (min-height:650px){#app.app-editor{height:100dvh;min-height:0}.app-editor>.topbar{flex-shrink:0}.app-editor>main{min-height:0}.wrap-editor{height:100%;padding:16px 20px;display:flex;flex-direction:column}.wrap-editor .section-head{flex-shrink:0}.editor-layout{flex:1;min-height:0}.editor-tools{max-height:100%;overflow:auto}.editor-layout>.sidebar{height:100%;min-height:0;gap:10px}.sidebar-content{flex:1;overflow:auto;scrollbar-gutter:stable}}@media(min-width:1101px)and (max-height:820px){.app-editor>.topbar{padding:8px 20px}.wrap-editor{padding:10px 20px}.wrap-editor .section-head{margin-bottom:10px}.editor-panels{padding:3px;gap:3px}.editor-panels .btn{padding:4px 6px}.editor-layout>.sidebar{gap:6px}.sidebar-content section>.card+.card{margin-top:6px}.wrap-editor .card{padding:10px}.wrap-editor .card h3{margin-bottom:6px}.wrap-editor label.f-label{margin-top:5px;margin-bottom:3px}.wrap-editor .card .btn-sm{font-size:12.5px;padding:5px 8px}.play-call-fields{flex-direction:row}.play-call-fields .field-personnel{max-width:110px}.play-coaching{margin:6px 0}.wrap-editor .sidebar .roster{margin-bottom:4px}.wrap-editor .sidebar textarea.textinput{min-height:36px;padding:5px 7px;line-height:1.3}}@media(max-width:1100px){.editor-heading{align-items:flex-start;flex-direction:column;gap:12px}.editor-header-actions{flex-wrap:wrap}.editor-layout{grid-template-columns:152px minmax(0,1fr);gap:12px}.editor-layout>.sidebar{grid-column:1 / -1}.editor-layout>.field-panel{padding:12px 0}}@media(max-width:640px){.editor-layout{grid-template-columns:1fr}.editor-tools .draw-toolbar{flex-direction:row;flex-wrap:wrap}.editor-tools .draw-toolbar>.tool-hint{width:100%}.editor-tool-options .preset-select{width:200px}.editor-tools-note{display:none}.canvas-heading{font-size:10px}.canvas-stage .field-svg-wrap{height:320px}}.print-dialog{max-width:800px;padding:24px;gap:20px;max-height:calc(100dvh - 40px)}.print-dialog-head h2{font-size:26px}.print-dialog-head p:not(.eyebrow){font-size:14px;color:var(--chalk-dim);margin:8px 0 0}.print-dialog-body{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;overflow:auto;min-height:0}.print-options{min-width:0;padding:0;margin:0;border:0;display:flex;flex-direction:column;gap:8px}.print-section-title{font:600 12px var(--font-body);text-transform:uppercase;letter-spacing:.07em;color:var(--chalk-dim);margin-bottom:12px}.print-options label{font-size:13px;margin-top:8px;color:var(--chalk-dim)}.print-options select,.print-options input{font-size:14px;padding:9px 10px}.print-options select:disabled{opacity:.45}.print-hint{font-size:12px;line-height:1.4;color:var(--chalk-faint);margin:2px 0 0}.print-instructions{display:flex;flex-direction:column;gap:7px;font-size:12px;line-height:1.5;padding:12px;margin-top:10px;background:var(--ink-2);border:1px solid var(--line);border-radius:8px;color:var(--chalk-dim)}.print-instructions strong{color:var(--chalk)}.print-preview{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--ink-2);padding:16px;display:flex;flex-direction:column}.print-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.print-preview-head h3{margin:0;font-size:16px}.print-preview-head span{font-size:12px;color:var(--accent)}.print-preview p{font-size:12px;color:var(--chalk-faint);line-height:1.5}.print-preview-list{margin:8px 0;max-height:330px;overflow:auto}.print-preview-list ol{padding:0;margin:0;list-style:none}.print-group+.print-group{margin-top:14px}.print-group-title{margin:0 0 2px;font:600 11px var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.print-preview li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.print-preview li:last-child{border:0}.print-preview li>div{min-width:0;display:flex;flex-direction:column;gap:4px}.print-preview li strong{font-size:14px;overflow-wrap:anywhere}.print-preview li div span{font-size:12px;color:var(--chalk-faint)}.print-number{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid var(--accent-2);border-radius:7px;color:var(--accent);font:700 15px var(--font-mono)}.print-preview .print-caption{margin-top:auto;padding-top:16px}.print-error,.print-validation{color:#ffb4ab;font-size:13px;margin:0}.print-dialog .modal-actions{flex-shrink:0;border-top:1px solid var(--line);padding-top:16px}@media(max-width:640px){.print-dialog{padding:16px;gap:14px}.print-dialog-body{grid-template-columns:1fr;gap:16px}.print-preview-list{max-height:200px}}.play-coaching{margin:10px 0;font-size:14px}.play-coaching summary{cursor:pointer;font-weight:600;padding:5px 0}.play-coaching ol{margin:6px 0;padding-left:22px}.play-coaching li{padding:3px 0;overflow-wrap:anywhere}.play-coaching li .icon-btn{margin-left:6px;vertical-align:middle}.play-coaching .add-row .textinput{min-width:0}.pb-call{font-size:14px;color:var(--muted);margin:4px 0 8px;overflow-wrap:anywhere}.play-call-fields{display:flex;flex-direction:column;gap:8px}.play-call-fields>div{min-width:0}.play-call-fields .field-personnel{max-width:160px}.playcall-builder{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.playcall-builder .btn{align-self:flex-start}.modal[data-testid=animation-player]{width:min(920px,100%);max-width:920px;max-height:calc(100dvh - 32px);overflow-y:auto;gap:10px}.animation-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.animation-heading h3{margin:0}.animation-call{margin:4px 0 0;color:var(--chalk-dim);font-size:14px;overflow-wrap:anywhere}.animation-stage{position:relative;flex:1;min-height:100px;height:min(52dvh,490px);border:1px solid var(--line);border-radius:8px;overflow:hidden}.animation-stage svg{display:block;width:100%;height:100%}.animation-players{position:absolute;inset:0;pointer-events:none}.animation-players>:not(.players-layer){display:none}.animation-backdrop .players-layer{display:none}.animation-backdrop .routes-layer,.animation-backdrop .assign-layer,.animation-backdrop .zone-layer{opacity:.3}.animation-status{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--chalk-dim)}.animation-status output{font-variant-numeric:tabular-nums}.animation-timeline{display:flex;align-items:center;gap:12px;font-size:14px}.animation-timeline input{flex:1;min-width:0;accent-color:var(--accent)}.animation-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.animation-controls label{margin-left:auto;font-size:14px;display:flex;align-items:center;gap:8px}.animation-controls select{width:auto;padding:7px 10px}.login-summary{margin-top:24px;padding:18px;background:#13181899;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:inset 0 1px #f8fafc0d}.login-summary p{margin:0 0 14px;font-size:14px;color:var(--chalk-dim);line-height:1.55}.login-summary p:last-of-type{margin-bottom:0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px;margin-top:14px}.feature-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:var(--radius-sm);background:var(--ink-2);border:1px solid var(--line);text-align:center;font-size:11.5px;color:var(--chalk-dim);transition:all .2s}.feature-item:hover{border-color:var(--accent-2);background:var(--panel);color:var(--chalk)}.feature-item .icon{width:24px;height:24px;color:var(--accent)}.login-footer{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;row-gap:4px;gap:24px;padding:12px 20px;background:var(--ink-2);border-top:1px solid var(--line);font-size:12px;color:var(--chalk-faint)}.footer-link{appearance:none;background:none;border:0;padding:4px 2px;font:inherit;color:inherit;cursor:pointer;transition:color .15s}.footer-link:hover{color:var(--accent)}.app-footer{display:flex;justify-content:center;flex-wrap:wrap;row-gap:4px;gap:12px;padding:14px 20px 20px;font-size:12px;color:var(--chalk-faint);border-top:1px solid var(--line)}.legal-modal{max-width:600px;max-height:85vh;overflow-y:auto}.legal-modal h3{margin:20px 0 8px;font-size:16px}.legal-modal h3:first-child{margin-top:0}.legal-modal p{font-size:13px;line-height:1.6;color:var(--chalk-dim);margin:0 0 12px}.legal-modal p:last-of-type{margin-bottom:0}.legal-modal a{color:var(--accent);text-decoration:none}.legal-modal a:hover{text-decoration:underline}.user-guide-wrap{max-width:1040px}.user-guide-back{margin-bottom:18px}.user-guide-content{max-width:900px;margin:0 auto;color:var(--chalk-dim);font-size:15px;line-height:1.7}.user-guide-content h1,.user-guide-content h2,.user-guide-content h3,.user-guide-content h4{color:var(--chalk);scroll-margin-top:88px}.user-guide-content h1{font-size:clamp(30px,5vw,44px);margin:0 0 18px}.user-guide-content h2{font-size:clamp(24px,4vw,32px);margin:42px 0 14px;padding-top:14px;border-top:1px solid var(--line)}.user-guide-content h3{font-size:21px;margin:30px 0 10px}.user-guide-content h4{font-size:17px;margin:24px 0 8px;display:flex;align-items:center;gap:8px}.user-guide-content p{margin:0 0 14px}.user-guide-content ul,.user-guide-content ol{padding-left:24px;margin:0 0 18px}.user-guide-content li{padding-left:3px;margin:4px 0}.user-guide-content strong{color:var(--chalk)}.user-guide-content code{font-family:var(--font-mono);font-size:.9em;padding:1px 5px;border-radius:4px;background:var(--ink-2);color:var(--accent)}.user-guide-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.user-guide-content hr{border:0;border-top:1px solid var(--line);margin:28px 0}.user-guide-content img{max-width:100%;height:auto}.user-guide-content img[alt$=Icon]{width:22px;height:22px;object-fit:contain;vertical-align:middle;filter:invert(1)}.user-guide-content p img:not([alt$=Icon]){display:block;margin:18px auto 8px;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.user-guide-table-wrap{max-width:100%;overflow-x:auto;margin:12px 0 22px;border:1px solid var(--line);border-radius:8px}.user-guide-content table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55}.user-guide-content th,.user-guide-content td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.user-guide-content th{background:var(--ink-2);color:var(--chalk);font-weight:600}.user-guide-content tr:last-child td{border-bottom:0}.user-guide-content td:first-child:has(img[alt$=Icon]){width:48px;text-align:center}.player-topbar-actions{margin-left:auto;display:flex;gap:8px}@media(max-width:640px){.user-guide-content{font-size:14px}.user-guide-content h2{margin-top:32px}.user-guide-content table{min-width:600px}.player-topbar-actions .btn{padding:8px 9px;font-size:12px}}.tvz-table-wrap{overflow-x:auto;margin:16px 0;border:1px solid var(--line);border-radius:var(--radius-sm)}.tvz-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:640px}.tvz-table th,.tvz-table td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}.tvz-table thead th{background:var(--ink-2);color:var(--chalk);position:sticky;top:0}.tvz-table th[scope=row]{text-align:left;color:var(--chalk-dim);font-weight:400;white-space:normal;min-width:220px}.tvz-table th:first-child,.tvz-table td:first-child{text-align:left}.tvz-table tr.tvz-section th{background:var(--panel);color:var(--accent);text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding-top:14px}.tvz-table td.tvz-yes{font-size:16px}.tvz-table td.tvz-no{color:var(--chalk-faint)}.tvz-table tbody tr:last-child td,.tvz-table tbody tr:last-child th{border-bottom:0}@media(max-width:640px){.features-grid{grid-template-columns:repeat(3,1fr)}}.animation-note{font-size:12px;color:var(--chalk-faint);margin:0}.hash-select{display:flex;align-items:center;gap:6px;font:14px var(--font-body);text-transform:none;letter-spacing:normal}.hash-select select{width:auto;min-width:0;padding:4px 7px;font:inherit}.field-box .hash-select{margin-top:12px}.presentation{position:fixed;inset:0;z-index:2000;background:var(--ink);color:var(--chalk);height:100dvh}.presentation-content{display:flex;flex-direction:column;height:100%;padding:16px;gap:12px;box-sizing:border-box}.presentation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;max-height:22vh;overflow:auto}.presentation-header h1{margin:0;font-size:clamp(22px,3vw,42px);overflow-wrap:anywhere}.presentation-header p{margin:4px 0}.presentation-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.presentation-points{margin:0;max-height:18vh;overflow:auto;font-size:clamp(14px,1.5vw,22px)}.presentation-field{flex:1;min-height:0;display:flex;justify-content:center;touch-action:pan-y}.presentation-field svg{width:100%;height:100%;max-height:100%;display:block}.presentation-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:20px}.presentation .btn{min-height:44px;font-size:16px}@media(max-width:700px){.presentation-content{padding:8px;gap:6px}.presentation-header{flex-wrap:wrap;max-height:30vh;gap:6px}.presentation-actions{gap:4px;flex-shrink:1}.presentation .btn{font-size:13px;padding:8px}.presentation-nav{font-size:16px}}.team-switch{width:auto;max-width:180px;min-height:32px;padding:4px 28px 4px 10px;font-size:12.5px;border-radius:999px;text-overflow:ellipsis}.team-badge{height:28px;width:auto;max-width:72px;object-fit:contain;flex-shrink:0}.team-badge-sm{height:20px;max-width:56px}.mobile-menu-select{cursor:default}.mobile-menu-select select{flex:1;min-width:0;min-height:40px;font-size:16px}.team-wrap{max-width:760px}.team-wrap .section-head h1{overflow-wrap:anywhere}.roster-wrap{max-width:1180px}.team-grid{display:flex;flex-direction:column;gap:16px}.team-card{display:flex;flex-direction:column;gap:12px}.team-card h3{margin-bottom:0}.team-card .team-subhead{margin-top:10px}.team-logo-preview,.team-logo-current{width:auto;height:auto;object-fit:contain;border:2px solid var(--line);border-radius:6px;display:block}.team-logo-preview{max-width:240px;max-height:120px}.team-logo-current{max-width:160px;max-height:72px}.team-form{display:flex;flex-direction:column;gap:8px}.team-form label.f-label,.team-form legend.f-label{margin:6px 0 0}.team-form .textinput,.team-form select{width:100%;min-height:44px;font-size:16px}.team-levels{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.team-levels legend{width:100%;margin-bottom:6px}.team-level{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-weight:600}.team-level.on{border-color:var(--accent);color:var(--accent)}.team-level input{accent-color:var(--accent)}.team-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.team-form-actions .btn{min-height:44px}.team-more{display:flex;justify-content:flex-start}.member-list,.invite-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.member-row,.invite-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-top:1px solid var(--line)}.member-row:first-child,.invite-row:first-child{border-top:0}.member-main{display:flex;flex-direction:column;min-width:0;flex:1 1 200px}.member-name{font-weight:600;overflow-wrap:anywhere}.member-self{color:var(--chalk-dim);font-weight:500}.member-mail{color:var(--chalk-dim);font-size:13px;overflow-wrap:anywhere}.member-mail.expired{color:#fca5a5}.member-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.member-actions select{width:auto;min-height:36px}.member-role{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--chalk-dim);padding:4px 10px;border:1px solid var(--line);border-radius:999px}.member-role.role-owner{color:var(--accent);border-color:var(--accent)}.member-hint{flex:1 1 100%;margin:0;font-size:13px;color:var(--chalk-dim)}.invite-link{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:#4ade800f}.invite-link .textinput{width:100%;min-height:44px;font-size:13px}.invite-link .mono{font-family:var(--font-mono)}.invite-once{margin:0;line-height:1.5}.team-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 0 16px;padding:10px 12px;border-radius:var(--radius-sm);line-height:1.5}.team-notice.success{border:1px solid rgba(74,222,128,.5);background:#4ade801a}.team-notice.error{border:1px solid rgba(239,68,68,.4);background:#ef44441f;color:#fca5a5}.login-panel .join-hint{width:100%;margin:0;padding:8px 10px;border:1px solid rgba(74,222,128,.5);border-radius:var(--radius-sm);background:#13281ceb;line-height:1.5}.turnstile-box{min-height:65px}.conflict-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.conflict-option{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm)}.conflict-option-head{font-weight:700}.conflict-option .btn{margin-top:auto}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.history-row{padding:8px 0;border-top:1px solid var(--line)}.history-row:first-child{border-top:0}.history-row-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.history-kind{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--chalk-dim)}.history-kind-delete{color:#fca5a5;border-color:#ef444466}.admin-wrap{max-width:960px}.admin-stats{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px}.admin-stats>div{flex:1 1 140px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.admin-stats dt{margin:0;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--chalk-dim)}.admin-stats dd{margin:4px 0 0;font-size:26px;font-weight:700;font-family:var(--font-display)}.admin-grid{display:flex;flex-direction:column;gap:16px}.admin-section h2{margin:0 0 12px;font-size:18px}.admin-team-list,.admin-user-list,.admin-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.admin-team-list>li,.admin-user-list>li{padding:12px 0;border-top:1px solid var(--line)}.admin-team-list>li:first-child,.admin-user-list>li:first-child{border-top:0}.admin-team-row-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.admin-team-row-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-user-list>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.admin-member-list{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2)}.admin-member-list>li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:6px 0;border-top:1px solid var(--line)}.roster-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.roster-attrs-label{margin-top:10px}.roster-attrs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px 14px}.roster-number{font-weight:700;margin-right:6px;color:var(--accent)}.roster-attrs-summary{display:block}.roster-file-label{margin-top:14px}.roster-import-result{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2)}.roster-import-result ul{margin:6px 0 0;padding-left:18px}.roster-table-wrap{overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:var(--radius-sm)}.roster-table{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}.roster-table th,.roster-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.roster-table thead th{background:var(--ink-2);color:var(--chalk);font-weight:600;position:sticky;top:0}.roster-table tbody tr:last-child td{border-bottom:0}.roster-table td.roster-actions-cell{text-align:right}.roster-table .textinput{min-height:36px;padding:6px 8px;font-size:13px;width:auto}.roster-table .roster-input-name{width:120px}.roster-table .roster-input-position,.roster-table .roster-input-num{width:64px}.roster-table .roster-input-attr{width:56px}.roster-table tr.roster-error-row td{white-space:normal;padding-top:0}.roster-table tr.roster-error-row .account-error{margin:0 0 8px}.roster-table td.roster-access-cell{white-space:normal;vertical-align:top;min-width:150px}.roster-access-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.roster-access-status{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--chalk-dim)}.roster-access-status .icon{width:14px;height:14px;color:var(--accent)}.roster-access-actions{display:flex;gap:6px;flex-wrap:wrap}.roster-access-error{margin:0;font-size:12.5px}.roster-invite-code{font-family:var(--font-mono);font-size:28px;letter-spacing:.2em;text-align:center;padding:14px;margin:8px 0;border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--ink-2)}.play-view-tabs{display:flex;gap:8px;margin:18px 0}.play-view-tabs [aria-selected=true]{border-color:var(--accent);color:var(--accent)}.play-view-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.play-view-filters select{min-width:180px;max-width:100%}.play-view-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.play-view-table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px}.play-view-table th,.play-view-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.play-view-table thead th{background:var(--ink-2);color:var(--chalk)}.play-view-table tbody tr:last-child th,.play-view-table tbody tr:last-child td{border-bottom:0}.player-quiz-start{margin:0 0 22px}.quiz-screen .section-head,.quiz-results .section-head{margin-bottom:16px}.quiz-card,.quiz-finish{max-width:760px;margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.quiz-card h2,.quiz-finish h2{font-size:22px;margin:8px 0 6px}.quiz-progress,.quiz-play-name{font-size:13px;color:var(--chalk-dim);margin:0 0 8px}.quiz-field{max-width:560px;margin:18px auto;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.quiz-field svg{display:block;width:100%;height:360px}.quiz-position svg{cursor:crosshair}.quiz-position .players-layer text{visibility:hidden}.quiz-position-alternative{margin:12px 0 18px}.quiz-position-alternative h3{font-size:15px;margin:0 0 3px}.quiz-position-alternative p{font-size:13px;color:var(--chalk-dim);margin:0 0 8px}.quiz-position-options{display:flex;flex-wrap:wrap;gap:7px}.quiz-position-options .btn{font-size:12px;white-space:normal;text-align:left}.quiz-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.quiz-option{min-height:58px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--chalk);background:var(--ink-2);font:inherit;text-align:center;cursor:pointer}.quiz-option:hover:not(:disabled),.quiz-option:focus-visible{border-color:var(--accent)}.quiz-option:disabled{cursor:default}.quiz-option.correct{border-color:var(--accent);color:var(--accent)}.quiz-route-preview{display:block;width:100%;height:82px;color:var(--accent)}.quiz-feedback{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px}.quiz-feedback strong{color:var(--accent)}.quiz-feedback p{margin:0;color:var(--chalk-dim)}.quiz-results-tabs{display:flex;gap:8px;margin:18px 0}.quiz-results-tabs [aria-selected=true]{border-color:var(--accent);color:var(--accent)}.quiz-results-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.quiz-results-table{width:100%;min-width:580px;border-collapse:collapse;font-size:14px}.quiz-results-table th,.quiz-results-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.quiz-results-table thead th{background:var(--ink-2);color:var(--chalk)}.quiz-results-table tbody tr:last-child th,.quiz-results-table tbody tr:last-child td{border-bottom:0}@media(max-width:620px){.quiz-card{padding:14px}.quiz-options{grid-template-columns:1fr}.quiz-field svg{height:300px}}.team-consent-warning{display:grid;gap:4px;margin:0 0 18px;padding:12px 14px;border:1px solid rgba(251,191,36,.55);border-radius:var(--radius-sm);background:#fbbf241a;color:var(--chalk-dim);line-height:1.5}.team-consent-warning strong{color:#fcd34d}.roster-consent-controls{display:grid;gap:4px;margin:8px 0 0;padding:6px;border:1px solid var(--line);border-radius:8px;font-size:12px}.roster-consent-controls legend{padding:0 4px;color:var(--muted)}.roster-consent-controls label{display:flex;align-items:center;gap:5px}.roster-consent-controls small{color:var(--muted)}.team-club-info{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0 0 12px;font-size:13px}.team-club-info dt{color:var(--muted)}.team-club-info dd{margin:0;overflow-wrap:anywhere}.team-consent-warning .btn{justify-self:start;margin-top:4px}.quiz-toggle{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}.quiz-help{margin:0 0 8px}.quiz-editor-list{list-style:decimal}.quiz-editor-list li{padding:8px 0;border-bottom:1px solid var(--line)}.quiz-q-text{font-weight:600}.quiz-row-actions,.quiz-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.quiz-delete-confirm p{margin:4px 0 8px}.quiz-editor-form{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.quiz-editor-form fieldset{border:0;padding:0;margin:10px 0}.quiz-answer-row{display:flex;align-items:center;gap:8px;margin:6px 0}.quiz-answer-row input[type=radio]{width:22px;height:22px;flex:none}.quiz-answer-row .textinput{flex:1;min-width:0}.quiz-field-error{color:var(--danger, #c0392b);font-size:13px;margin:8px 0}.quiz-field-error ul{margin:0;padding-left:18px}.quiz-options-text{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-options-text .quiz-option{white-space:normal;overflow-wrap:anywhere;text-align:left}.quiz-route-pick{display:flex;flex-direction:column;align-items:stretch;cursor:pointer}.quiz-route-pick-name{display:flex;align-items:center;gap:8px;font-size:13px}.quiz-route-pick-name input{width:22px;height:22px;flex:none}.quiz-kind{display:flex;flex-wrap:wrap;column-gap:18px}.quiz-kind legend,.quiz-kind .tool-hint{flex:0 0 100%}.quiz-option.wrong{border-color:var(--danger, #c0392b);border-style:dashed}.quiz-mark{font-size:12px;font-weight:600}.quiz-explanation{color:var(--chalk)!important}.quiz-results-tabs{flex-wrap:wrap}.quiz-q-meta{font-size:12.5px;color:var(--chalk-dim)}.quiz-editor-form .tool-hint,.quiz-qs-detail .tool-hint{margin-left:0;color:var(--chalk-dim)}.quiz-summary-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.quiz-preview{margin-top:14px;padding:14px}.quiz-preview .quiz-options{margin:12px 0}.quiz-qs-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;margin-top:12px}.quiz-qs-list{display:flex;flex-direction:column;gap:8px}.quiz-qs-list .textinput,.quiz-qs-list select{font-size:16px;min-height:44px}.quiz-qs-count{margin:0}.quiz-qs-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.quiz-qs-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:56px;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2);color:var(--chalk);cursor:pointer}.quiz-qs-row[aria-current=true]{border-color:var(--accent);background:var(--panel)}.quiz-qs-row-title{font-weight:600;overflow-wrap:anywhere}.quiz-qs-row-meta{font-size:12.5px;color:var(--chalk-dim)}.quiz-qs-chips{display:flex;flex-wrap:wrap;gap:6px}.quiz-qs-detail{min-width:0}.quiz-qs-back{min-height:44px;margin-bottom:10px}.quiz-qs-detail-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.quiz-qs-detail-head h2{margin:0;overflow-wrap:anywhere}.quiz-qs-detail-body{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:12px}.quiz-qs-diagram summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--chalk-dim)}.quiz-qs-diagram .quiz-field{margin:6px 0}.quiz-qs-diagram .quiz-field svg{height:auto;aspect-ratio:4/5}.quiz-qs-layout[data-view=list] .quiz-qs-detail,.quiz-qs-layout[data-view=detail] .quiz-qs-list{display:none}.quiz-editor-form input,.quiz-editor-form textarea,.quiz-qs-detail input,.quiz-qs-detail textarea{font-size:16px}.quiz-qs-detail .btn,.quiz-editor-form .btn{min-height:44px}.quiz-answer-row input[type=radio]{width:28px;height:28px}@media(min-width:1000px){.quiz-qs-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.quiz-qs-layout[data-view] .quiz-qs-detail,.quiz-qs-layout[data-view] .quiz-qs-list{display:flex;flex-direction:column}.quiz-qs-list{position:sticky;top:12px;max-height:calc(100vh - 100px);overflow:auto}.quiz-qs-back{display:none}.quiz-qs-detail-body{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}.quiz-qs-diagram{position:sticky;top:12px;align-self:start}}@media(max-width:600px){.quiz-options-text{grid-template-columns:1fr}}:root{--mu-man:#d97706;--mu-gap:#c026d3;--mu-block:#0d9488;--mu-zone:#2f80ed;--mu-open:#e11d48}.mu-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.mu-card{display:flex;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-width:0}.mu-card.is-disabled{opacity:.6}.mu-card-thumb{width:84px;flex:none;border-radius:8px;overflow:hidden;aspect-ratio:4/5}.mu-card-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.mu-card-kicker{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--chalk-dim)}.mu-card-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:800}.mu-card-name{font-family:var(--font-display);font-size:19px;overflow-wrap:anywhere}.mu-card-empty{font-family:var(--font-body);font-size:14px;color:var(--chalk-dim)}.mu-card-meta{font-size:12.5px;color:var(--chalk-dim)}.mu-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}.mu-card-actions .btn{min-height:36px}.mu-result{outline:none}.mu-error{margin:0 0 12px}.mu-empty-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}.mu-hints{margin-bottom:10px;display:flex;flex-direction:column;gap:8px}.mu-hintbar{height:auto;min-height:44px;max-width:none;margin:0;padding:6px 10px}.mu-hintbar .rule-bar-text{white-space:normal;overflow:visible;line-height:1.4}.mu-hintbar .rule-bar-more{min-height:36px}.mu-warn-list{margin:0;padding:8px 10px 8px 28px;font-size:13px;line-height:1.45;color:var(--chalk);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2)}.mu-manual{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2);padding:6px 10px;font-size:13px}.mu-manual summary{cursor:pointer;min-height:36px;display:flex;align-items:center;color:var(--chalk-dim)}.mu-manual-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 0}.mu-manual-row select{width:auto;min-width:160px;min-height:44px}.mu-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.mu-main{min-width:0;display:flex;flex-direction:column;gap:8px}.mu-field{padding:6px}.mu-field svg{display:block;width:100%;height:auto;max-height:70vh}.mu-view-toggle{align-self:flex-start}.mu-seg,.an-seg{border-radius:16px}.mu-seg .seg-btn,.an-seg .seg-btn{min-height:44px;border-radius:12px;padding:7px 12px}.mu-side{display:flex;flex-direction:column;gap:10px;min-width:0}.mu-panel{display:flex;flex-direction:column;gap:8px}.mu-legend{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.mu-legend-list{display:flex;flex-wrap:wrap;gap:6px}.mu-kind-letter{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;color:#fff;background:var(--chalk-faint);font:800 11px var(--font-mono);flex:none}.mu-note{margin:0;font-size:12.5px;color:var(--chalk-dim);line-height:1.45}.mu-sub{font-family:var(--font-body);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--chalk-dim);margin:10px 0 6px}.mu-empty{margin:4px 0}.mu-blitz-sum{list-style:none;margin:0 0 4px;padding:8px 10px;font-size:13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2);display:flex;flex-direction:column;gap:4px}.mu-plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}.mu-plain li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2)}.mu-open-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--mu-open);color:#fff;font:800 12px var(--font-mono)}.mu-table{width:100%;border-collapse:collapse}.mu-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mu-table tbody{display:flex;flex-direction:column;gap:6px}.mu-row{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"nr off def kind" "nr reason reason reason";gap:4px 8px;min-height:48px;padding:8px;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2)}.mu-row:hover{border-color:var(--chalk-faint)}.mu-row.is-selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:var(--panel-2)}.mu-mark-btn{position:relative;border:0;padding:0;cursor:pointer}.mu-mark-btn:after{content:"";position:absolute;inset:-10px}.mu-mark-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mu-mark-btn[aria-pressed=true]{box-shadow:0 0 0 2px var(--panel-2),0 0 0 4px var(--accent)}.mu-row td{display:block;padding:0;min-width:0;font-size:13.5px;overflow-wrap:anywhere}.mu-c-nr{grid-area:nr}.mu-c-off{grid-area:off}.mu-c-def{grid-area:def}.mu-c-kind{grid-area:kind;display:flex!important;flex-direction:column;align-items:flex-end;gap:2px}.mu-c-reason{grid-area:reason}.mu-cell-label{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--chalk-faint)}.mu-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:#fff;font:800 12px var(--font-mono)}.mu-kind{display:inline-flex;align-items:center;gap:5px;font-weight:600;white-space:nowrap}.mu-derived{font-family:var(--font-mono);font-size:10px;color:var(--chalk-dim);border:1px dashed var(--line);border-radius:999px;padding:1px 6px;white-space:nowrap}.mu-reason{display:block;font-size:12.5px;line-height:1.4;color:var(--chalk-dim)}.mu-why-btn{min-height:36px;margin-top:2px}.mu-why{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);outline:none}.mu-why-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mu-why-head h3{font-size:17px}.mu-why-list{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0;font-size:13.5px}.mu-why-list dt{color:var(--chalk-faint);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;padding-top:2px}.mu-why-list dd{margin:0}.mu-actions{display:flex;gap:8px}.mu-actions .btn{min-height:44px;flex:1;justify-content:center}.mu-picker{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto}.mu-picker-title{font-size:21px}.mu-picker-panel{display:flex;flex-direction:column;gap:10px}.mu-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.mu-search{max-width:240px;min-height:44px}.mu-opp-select{min-height:44px;max-width:360px}.mu-pick-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.mu-pick{appearance:none;text-align:left;cursor:pointer;color:inherit;font:inherit;padding:0}.mu-pick .pb-thumb{display:block}.mu-pick:hover{border-color:var(--chalk-faint)}.mu-pick:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mu-pick.is-current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.mu-pick.mu-other{opacity:.55}.mu-other-tag{color:var(--chalk)!important}.modal:has(>.mu-picker){max-width:980px;width:min(980px,96vw)}@media(max-width:1000px){.mu-layout{grid-template-columns:1fr}.mu-why{position:fixed;left:0;right:0;bottom:0;z-index:90;margin:0;border-radius:14px 14px 0 0;max-height:60vh;overflow:auto;box-shadow:0 -8px 24px #00000073;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.mu-actions{position:sticky;bottom:0;z-index:5;padding:8px 0;background:var(--ink)}.mu-field svg{max-height:none}}@media(max-width:700px){.mu-head{grid-template-columns:1fr}.mu-row{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"nr off def" "nr kind kind" "nr reason reason"}.mu-c-kind{flex-direction:row!important;align-items:center!important;gap:8px!important}.modal:has(>.mu-picker){max-height:92vh}}:root{--warn:#fbbf24;--warn-bg:rgba(251,191,36,.1);--warn-line:rgba(251,191,36,.45)}.an-wrap{max-width:1400px}.an-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.an-list-col{display:flex;flex-direction:column;gap:10px;min-width:0;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.an-h2{font-family:var(--font-display);font-size:20px;margin:0;outline:none}.an-h2:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.an-title{font-size:24px;overflow-wrap:anywhere}.an-filters{display:flex;flex-wrap:wrap;gap:8px}.an-search{flex:1 1 100%;min-height:44px}.an-select{flex:1 1 120px;min-height:44px}.an-plays{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.an-row{appearance:none;width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit;display:flex;flex-direction:column;gap:2px;min-height:56px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2)}.an-row:hover{border-color:var(--chalk-faint)}.an-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.an-row.is-current{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:var(--panel-2)}.an-row-title{font-weight:700;overflow-wrap:anywhere}.an-row-meta{font-size:12.5px;color:var(--chalk-dim)}.an-row-counts{font-family:var(--font-mono);font-size:12px;color:var(--chalk)}.an-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.an-detail-head{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.an-back{min-height:44px;margin-left:-10px}.an-detail-body{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.an-field-col{min-width:0}.an-field{padding:6px}.an-field svg{display:block;width:100%;height:auto;max-height:62vh}.an-report-col{display:flex;flex-direction:column;gap:10px;min-width:0}.an-panel{display:flex;flex-direction:column;gap:10px}.an-facts{display:flex;flex-direction:column;gap:6px}.an-chiplist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.an-fact{font-family:var(--font-mono);font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--ink-2);color:var(--chalk)}.an-factline{margin:0;font-size:13px;color:var(--chalk-dim)}.an-findings{display:flex;flex-direction:column;gap:12px}.an-group-title{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--chalk-dim);margin:0 0 6px}.an-group-title.is-violation{color:var(--illegal)}.an-list-plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.an-finding{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2);display:flex;flex-direction:column;gap:6px}.an-f-warning{border-color:var(--warn-line);background:var(--warn-bg);box-shadow:inset 3px 0 0 var(--warn)}.an-finding.is-violation{border-color:var(--illegal-line);background:var(--illegal-bg);box-shadow:inset 3px 0 0 var(--illegal)}.an-finding.is-selected{outline:2px solid var(--accent);outline-offset:1px}.an-f-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.an-f-title{font-weight:700;font-size:14.5px;overflow-wrap:anywhere}.an-f-btn{appearance:none;background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:700;font-size:14.5px;text-align:left;cursor:pointer;min-height:44px;text-decoration:underline dotted;text-underline-offset:3px}.an-f-btn[aria-pressed=true]{text-decoration:underline solid;color:var(--accent)}.an-f-btn:focus-visible,.an-chip:focus-visible,.an-why summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.an-f-msg{margin:0;font-size:13.5px;line-height:1.45}.an-sev{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;white-space:nowrap}.an-sev-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font:800 13px var(--font-mono);flex:none}.an-sev-warning .an-sev-icon{background:var(--warn);color:#1a1300;clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}.an-sev-hint .an-sev-icon{background:var(--chalk);color:var(--ink-2);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);font-size:11px}.an-sev-info .an-sev-icon{background:var(--panel-3);color:var(--chalk);border:1px solid var(--chalk-faint);border-radius:4px 10px}.an-sev-violation .an-sev-icon{background:var(--illegal);color:#2a0a30;clip-path:none;border:0;border-radius:4px 10px}.an-sev-warning .an-sev-word{color:var(--warn)}.an-sev-violation .an-sev-word{color:var(--illegal)}.an-chips{display:flex;flex-wrap:wrap;gap:6px}.an-chip{cursor:pointer;border-color:var(--line);color:var(--chalk);min-height:44px;position:relative}.an-chip[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.an-why{font-size:13px}.an-why summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--chalk-dim);font-weight:600}.an-why-text{margin:4px 0 8px;line-height:1.45}.an-why-list{margin:0;display:flex;flex-direction:column;gap:4px}.an-why-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px}.an-why-row dt{color:var(--chalk-faint);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;padding-top:2px}.an-why-row dd{margin:0;overflow-wrap:anywhere}.an-empty,.an-notchecked{margin:0;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2);font-size:13.5px;line-height:1.45}.an-notchecked{border-style:dashed;color:var(--chalk-dim)}.an-note{margin:0;font-size:12.5px;color:var(--chalk-dim);line-height:1.45}.an-failed{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.an-empty-actions{display:flex;justify-content:center;margin-top:14px}@media(min-width:1200px){.an-layout{grid-template-columns:260px minmax(0,1fr)}.an-detail-body{grid-template-columns:minmax(0,1fr) 380px}.an-report-col{max-height:calc(100vh - 150px);overflow:auto;padding-right:2px}.an-field-col{position:sticky;top:12px}}@media(max-width:1000px){.an-layout{grid-template-columns:1fr}.an-list-col{position:static;max-height:none;overflow:visible}.an-field svg{max-height:none}}@media(max-width:700px){.an-why-row{grid-template-columns:1fr;gap:0}}.an-why summary:before{content:"▸";margin-right:6px;color:var(--chalk-faint)}.an-why[open] summary:before{content:"▾"}.rb-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}.rb-seg .seg-btn{min-height:44px;min-width:44px;padding:7px 14px}.rb-stack{margin-top:16px;max-width:860px}.rb-stack h3{margin-top:0}.rb-seg{border-radius:18px}.book-wrap{max-width:1640px}.book-hint{margin:6px 0 0;font-size:13px;color:var(--chalk-dim);line-height:1.45}.book-count{font-family:var(--font-mono);font-size:11px;color:var(--chalk-faint);text-transform:none;letter-spacing:0}.book-empty-note{margin:10px 0;padding:12px;border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--chalk-dim)}.book-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.book-seg .seg-btn{min-height:44px;min-width:44px}.book-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.book-toolbar .btn,.book-sidebar-bar .btn,.book-card-actions .btn,.book-panel-actions .btn{min-height:44px}.book-status{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:13.5px;color:var(--chalk-dim)}.book-status.is-dirty{color:#facc15}.book-status.is-error{color:#fca5a5}.book-status .icon{width:16px;height:16px}.book-badge{display:inline-block;padding:2px 8px;border:1px solid #facc15;color:#facc15;border-radius:999px;font:700 11px var(--font-mono);text-transform:uppercase}.icon-flip{display:inline-flex;transform:scaleX(-1)}.icon-up{display:inline-flex;transform:rotate(90deg)}.icon-down{display:inline-flex;transform:rotate(-90deg)}.book-band{margin:10px 0;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);font-size:14px;line-height:1.45}.book-band p{margin:0 0 4px}.book-band ul{margin:4px 0 0;padding-left:18px}.book-band-warn{border-color:#facc15;background:#facc1514}.book-band-error{border-color:var(--danger);background:#ef44441a}.book-band-info{border-color:var(--accent)}.book-band-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.book-list-panel{margin-top:16px}.book-cards{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.book-card h3{font-size:20px;overflow-wrap:anywhere}.book-card p{margin:8px 0 0;font-size:14px}.book-meta{color:var(--chalk-dim)}.book-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.book-form{display:flex;flex-direction:column;gap:6px}.book-form input,.book-form select,.book-controls input[type=text],.book-controls .textinput,.book-picker .textinput,.book-richtext-input{font-size:16px;min-height:44px}.book-fieldset{border:0;margin:10px 0 0;padding:0;min-width:0}.book-fieldset legend{padding:0}.book-check{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.book-check input{width:20px;height:20px}.book-leave-actions{flex-wrap:wrap}.book-conflict{max-width:640px}.book-switch{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin-top:8px;padding:0 14px;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--chalk);font:600 14px var(--font-body)}.book-switch.is-on{border-color:var(--accent)}.book-switch-state{font-family:var(--font-mono);font-size:12px;color:var(--chalk-dim)}.book-switch.is-on .book-switch-state{color:var(--accent)}.book-switch[disabled]{opacity:.5}.book-editor{display:grid;grid-template-columns:240px minmax(0,1fr) 360px;gap:16px;align-items:start;margin-top:12px}.book-sidebar,.book-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-width:0}.book-sidebar{position:sticky;top:72px;max-height:calc(100dvh - 90px);overflow:auto}.book-sidebar-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.book-sidebar-list{display:flex;flex-direction:column;gap:6px}.book-side-item{display:grid;grid-template-columns:22px 56px minmax(0,1fr);gap:8px;align-items:center;min-height:44px;padding:6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2);cursor:pointer}.book-side-item.is-active{border:2px solid var(--accent);font-weight:700}.book-side-item.is-over{outline:2px dashed var(--accent)}.book-side-no{font-family:var(--font-mono);font-size:12px;color:var(--chalk-dim)}.book-side-text{display:flex;flex-direction:column;min-width:0;font-size:13px}.book-side-heading{color:var(--chalk-dim);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-side-empty{color:#facc15;font-weight:400;font-size:12px}.book-thumb{width:56px;height:auto;display:block}.book-thumb-page{fill:#fff;stroke:var(--line)}.book-thumb-heading{fill:#d1d5db}.book-thumb-slot{fill:#9ca3af}.book-thumb-slot.text{fill:#6b7280}.book-thumb-slot.route{fill:#60a5fa}.book-thumb-slot.fixed{fill:#d1d5db}.book-main{min-width:0}.book-panel{position:sticky;top:72px;max-height:calc(100dvh - 90px);overflow:auto}.book-panel-body{margin-top:10px}.book-panel-h{margin:0 0 8px;font:700 15px var(--font-body)}.book-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.book-controls{display:flex;flex-direction:column;gap:6px}.book-controls input[type=range]{width:100%;min-height:44px}.book-seg{flex-wrap:wrap;border-radius:18px}.book-picker{display:flex;flex-direction:column;gap:8px}.book-picker-filters{display:flex;flex-direction:column;gap:6px}.book-picker-list{list-style:none;margin:0;padding:0;max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:4px}.book-picker-row{display:flex;align-items:stretch;gap:4px}.book-picker-check{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}.book-picker-check input{width:20px;height:20px}.book-picker-item{flex:1;min-height:44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:6px 12px;text-align:left;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--chalk);touch-action:pan-y;-webkit-user-select:none;user-select:none}.book-picker-item:hover{border-color:var(--accent)}.book-picker-title{font-weight:600;font-size:14px}.book-picker-meta{font-size:12px;color:var(--chalk-dim)}.book-picker-multi{display:flex;flex-direction:column;gap:6px;position:sticky;bottom:0;background:var(--panel);padding:6px 0}.book-route-list{list-style:none;margin:0;padding:0}.book-route-section{margin-top:8px}.book-route-h{margin:0 0 2px;font:700 13px var(--font-body);color:var(--chalk-dim);text-transform:none}.book-route-depth{font-size:12px;color:var(--chalk-dim);font-family:var(--font-mono)}.book-quick{display:flex;flex-wrap:wrap;gap:6px}.book-quick .btn{min-height:44px}.book-richtext-field{display:flex;flex-direction:column;gap:6px}.book-richtext-tools{display:flex;flex-wrap:wrap;gap:6px}.book-richtext-input{width:100%;min-height:200px;font-family:var(--font-body)}.book-drag-ghost{position:fixed;z-index:300;pointer-events:none;padding:8px 12px;background:var(--accent);color:var(--accent-ink);border-radius:999px;font-weight:700;font-size:13px;box-shadow:var(--shadow)}.book-slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.book-slot-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:56px;padding:8px 14px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--chalk)}.book-slot-row.is-selected{border:2px solid var(--accent)}.book-slot-row-label{font-weight:700}.book-slot-row-state{color:var(--chalk-dim);font-size:13px}.book-template-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;overflow:auto}.book-template-btn{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;min-height:44px;padding:8px;text-align:left;color:var(--chalk);background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.book-template-btn:hover,.book-template-btn.is-current{border-color:var(--accent)}.book-template-btn .book-thumb{width:100%}.book-template-name{font-weight:700;font-size:14px}.book-canvas{max-width:1100px;margin:0 auto}.book-viewer{display:flex;flex-direction:column;gap:10px;margin-top:12px;outline-offset:4px}.book-viewer-stage{max-width:1280px;margin:0 auto;touch-action:pan-y}.book-viewer-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.book-viewer-bar .btn{min-height:44px;min-width:44px;justify-content:center}.book-viewer-count{min-width:120px;text-align:center;font-weight:600}.book-viewer-hint{text-align:center}.book-viewer.is-fullscreen{background:var(--ink);justify-content:center;padding:12px;margin:0;position:fixed;inset:0;z-index:150}.book-viewer:fullscreen{background:var(--ink);justify-content:center;padding:12px}.book-viewer.is-fullscreen .book-viewer-stage,.book-viewer:fullscreen .book-viewer-stage{max-width:min(100%,calc((100dvh - 120px) * 297 / 210))}@media(max-width:1280px){.book-editor{grid-template-columns:220px minmax(0,1fr)}.book-panel{grid-column:1 / -1;position:static;max-height:none}}@media(max-width:760px){.book-editor{grid-template-columns:minmax(0,1fr)}.book-sidebar{position:static;max-height:none}.book-sidebar-list{flex-direction:row;overflow-x:auto;padding-bottom:6px}.book-side-item{flex:0 0 220px}.book-cards{grid-template-columns:minmax(0,1fr)}.book-viewer-bar .btn{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){.book-slot-btn,.book-switch,.book-side-item{transition:none}}.book-toolbar .btn.btn-sm,.book-sidebar-bar .btn.btn-sm{min-height:44px}.book-picker .seg-btn{min-height:44px;min-width:44px}.book-card h3{color:var(--chalk);font-size:21px;letter-spacing:.02em}.book-viewer-stage{width:min(100%,calc((100dvh - 290px) * 297 / 210));min-width:min(100%,320px)}.book-viewer.is-fullscreen .book-viewer-stage,.book-viewer:fullscreen .book-viewer-stage{width:min(100%,calc((100dvh - 120px) * 297 / 210))}@media(max-width:760px){.book-viewer-stage{width:100%}}.rt-field{display:flex;flex-direction:column;gap:6px;min-width:0;outline:none}.rt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm)}.rt-tool-wrap{display:inline-flex;align-items:center;gap:4px}.rt-sep{width:1px;align-self:stretch;min-height:28px;background:var(--line);margin:0 2px}.rt-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 10px;background:var(--ink-2);color:var(--chalk);border:1px solid var(--line);border-radius:6px;font:600 14px var(--font-body);cursor:pointer}.rt-tool:hover:not(:disabled){border-color:var(--accent)}.rt-tool:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rt-tool[aria-pressed=true],.rt-tool[aria-checked=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.rt-tool:disabled{opacity:.4;cursor:default}.rt-glyph-b{font-weight:800}.rt-glyph-i{font-style:italic;font-family:serif}.rt-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.6);flex:none}.rt-surface{background:#fff;color:#111827;border:1px solid var(--line);border-radius:var(--radius-sm);min-height:200px;max-height:60vh;overflow:auto;padding:10px 12px}.rt-surface:focus-within{outline:2px solid var(--accent);outline-offset:1px}.rt-content{outline:none;min-height:176px;font-family:var(--font-body);overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.rt-content p{margin:0 0 .5em;line-height:1.3;font-size:max(16px,var(--rt-size-1, 20px));position:relative}.rt-content p.rt-bullet{margin-bottom:.25em;padding-left:1.3em}.rt-content p.rt-bullet:before{content:"•";position:absolute;left:.2em}.rt-content p[data-level="0"]{font-size:max(16px,var(--rt-size-1, 20px))}.rt-content p[data-level="1"]{font-size:max(16px,var(--rt-size-2, 16px));margin-left:1.4em}.rt-content p[data-level="2"]{font-size:max(16px,var(--rt-size-3, 14px));margin-left:2.8em}.rt-content strong{font-weight:700}.rt-color-red{color:#d62839}.rt-color-accent{color:var(--book-team-color, #15803d)}.rt-color-gray{color:#6b7280}.rt-count{margin:0;font-family:var(--font-mono);font-size:12px}.rt-field .book-band{margin:0}@media(max-width:480px){.rt-toolbar{gap:3px}.rt-tool{padding:0 8px}.rt-surface{max-height:50vh}}
