.study-head{position:fixed;z-index:31;top:max(14px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));display:flex;align-items:center;gap:14px;max-width:calc(100% - 200px);pointer-events:none}.study-head .study-back{pointer-events:auto}.study-back{display:inline-flex;align-items:center;padding:6px 14px;font-family:var(--gothic);font-size:12.5px;letter-spacing:.08em;color:#edebe4c7;text-decoration:none;background:#08080cb8;border:1px solid rgba(237,235,228,.28);border-radius:9999px;backdrop-filter:blur(8px);transition:color .3s var(--ease),border-color .3s var(--ease)}.study-back:hover,.study-back:focus-visible{color:#edebe4;border-color:#edebe48c}.study-id{display:flex;align-items:baseline;gap:10px}.study-no{font-family:var(--mono);font-size:12.5px;letter-spacing:.22em;color:var(--washi-faint)}.study-name{font-family:var(--mincho);font-size:17px;letter-spacing:.18em;color:var(--washi-dim)}.study-name .kanji{letter-spacing:0;margin-right:4px}@media (max-width: 700px){.study-id{gap:8px}.study-name{font-size:0;letter-spacing:0}.study-name .kanji{font-size:17px;margin-right:0}}.study-back{min-height:44px}:root{--study-tint: rgba(140, 160, 255, .07)}body{overflow:hidden;height:100dvh;background:var(--sumi)}#stage{position:fixed;inset:0;width:100vw;height:100dvh;display:block;touch-action:none}.gate{position:fixed;inset:0;z-index:10;display:grid;align-content:safe center;justify-items:center;padding:max(64px,calc(env(safe-area-inset-top) + 60px)) max(clamp(16px,4vw,24px),env(safe-area-inset-right)) max(28px,calc(env(safe-area-inset-bottom) + 20px)) max(clamp(16px,4vw,24px),env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:radial-gradient(760px 540px at 50% 38%,var(--study-tint),transparent 62%),var(--sumi);transition:opacity .6s var(--ease-soft),visibility .6s;text-align:center}.gate.hidden{opacity:0;visibility:hidden;pointer-events:none}.gate-inner{max-width:32em;width:100%}.gate .word{margin:0 0 10px;font-family:var(--mincho);font-size:clamp(28px,7vw,44px);letter-spacing:.16em;color:var(--washi);font-weight:400}.gate .lede{margin:0 auto 16px;font-size:clamp(13.5px,2.8vw,15px);line-height:1.7;color:var(--washi-dim);white-space:pre-line}.gate .lede b{color:var(--washi);font-weight:600}.steps{display:grid;gap:8px;margin:0 auto 18px;text-align:left;counter-reset:step}.steps li{position:relative;padding-left:2.5em;min-height:1.6em;font-size:clamp(13px,2.6vw,14.5px);line-height:1.55;color:var(--washi-dim);list-style:none}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:.08em;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--kin);border:1px solid rgba(232,180,74,.45);border-radius:50%;width:1.7em;height:1.7em;display:grid;place-items:center}.steps b{color:var(--washi);font-weight:600}.needs{margin:0 auto 16px;font-size:12.5px;line-height:1.6;color:var(--washi-faint)}.needs strong{color:var(--washi-dim);font-weight:400}.begin{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 44px;font-family:var(--gothic);font-size:16px;font-weight:500;letter-spacing:.06em;color:var(--sumi);background:var(--washi);border:1px solid var(--washi);border-radius:4px;transition:transform .2s var(--ease),box-shadow .3s var(--ease)}.begin:hover{transform:translateY(-1px);box-shadow:0 4px 20px #edebe42e}.begin:active{transform:translateY(0)}.begin:disabled,.begin.loading{cursor:wait;opacity:.85;transform:none;box-shadow:none;pointer-events:none}.gate-status{min-height:1.5em;margin:14px auto 4px;font-size:13.5px;line-height:1.6;color:var(--kin);display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s ease}.gate-spinner{width:14px;height:14px;border:2px solid rgba(232,180,74,.25);border-top-color:var(--kin);border-radius:50%;animation:gate-spin .75s linear infinite;display:inline-block;flex-shrink:0}@keyframes gate-spin{to{transform:rotate(360deg)}}.gate-err{min-height:1.2em;margin:12px 0 0;font-size:13px;color:var(--shu)}.gate-err:empty{min-height:0;margin:0}.gate-actions{display:grid;justify-items:center;width:100%}.gate-status:empty{min-height:0;margin:0}.begin.loading:after,.gate-alt.loading:after{content:"";flex-shrink:0;width:14px;height:14px;border:2px solid rgba(8,8,12,.22);border-top-color:var(--sumi);border-radius:50%;animation:gate-spin .75s linear infinite}.gate-alt.loading:after{width:11px;height:11px;margin-left:8px;border-color:#edebe440;border-top-color:var(--washi-dim)}.gate.busy .begin,.gate.busy .gate-alt{pointer-events:none}.gate.busy .gate-alt:not(.loading),.gate.busy .begin:not(.loading){opacity:.45}@media (prefers-reduced-motion: reduce){.gate-spinner,.begin.loading:after,.gate-alt.loading:after{animation:gate-pulse 1.4s ease-in-out infinite;border-top-color:inherit}}@keyframes gate-pulse{0%,to{opacity:.35}50%{opacity:1}}.gate-alt{display:flex;align-items:center;justify-content:center;min-height:44px;width:fit-content;max-width:100%;margin:10px auto 0;padding:6px 12px;font-size:13.5px;line-height:1.5;color:var(--washi-dim);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.gate-alt:hover,.gate-alt:focus-visible{color:var(--washi)}.hint{position:fixed;z-index:2;left:50%;transform:translate(-50%);bottom:max(20px,env(safe-area-inset-bottom));width:max-content;max-width:min(92vw,36em);padding:8px 16px;border-radius:4px;background:#08080cc2;backdrop-filter:blur(6px);font-family:var(--gothic);font-size:14px;line-height:1.5;letter-spacing:.01em;color:var(--washi);text-align:center;pointer-events:none;transition:opacity .8s var(--ease);white-space:pre-line}.hint.faded{opacity:0}.hint:empty{display:none}@media (max-width: 820px){.hint{bottom:max(56px,calc(env(safe-area-inset-bottom) + 50px))}}.coach{position:fixed;z-index:6;right:max(14px,env(safe-area-inset-right));top:max(56px,calc(env(safe-area-inset-top) + 50px));width:min(19em,calc(100vw - 28px));padding:12px 14px 10px;border:1px solid var(--hairline-strong);border-radius:4px;background:#0b0b11eb;backdrop-filter:blur(8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.coach.gone{opacity:0;transform:translateY(-6px);pointer-events:none}.coach h2{margin:0 0 8px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--washi-faint);font-weight:400}.coach .steps{margin-bottom:8px;gap:6px}.coach .steps li{font-size:13.5px;line-height:1.45;padding-left:2.2em}.coach-close{display:block;margin-left:auto;padding:2px 6px;font-size:12.5px;color:var(--washi-dim);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.coach-close:hover,.coach-close:focus-visible{color:var(--washi)}.ghost-hand{position:fixed;inset:0;width:100vw;height:100vh;z-index:5;pointer-events:none;display:none}.ghost-hand.on{display:block}.ghost-cap{position:fixed;z-index:5;left:50%;bottom:max(96px,15vh);transform:translate(-50%,6px);display:flex;align-items:baseline;gap:.9em;max-width:min(92vw,30em);padding:9px 16px 8px;border:1px solid rgba(232,180,74,.28);border-radius:999px;background:#08080c9e;backdrop-filter:blur(6px);color:var(--washi);font-family:var(--mincho);font-size:16px;letter-spacing:.06em;white-space:nowrap;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}.ghost-cap.on{opacity:1;transform:translate(-50%);pointer-events:auto}.ghost-cap .ghost-n{flex:none;white-space:nowrap;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:#e8b44a}.ghost-cap .ghost-x{font-family:var(--gothic);font-size:11px;letter-spacing:.04em;color:var(--washi-faint)}@media (max-width: 640px){.ghost-cap{font-size:15px;gap:.7em;padding:8px 14px 7px;bottom:auto;top:max(76px,calc(env(safe-area-inset-top) + 70px));width:max-content;max-width:calc(100vw - 32px);white-space:normal;border-radius:18px}.ghost-cap .ghost-x{display:none}}@media (prefers-reduced-motion: reduce){.ghost-cap{transition:none}}.demo-rec{position:fixed;z-index:12;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));padding:6px 12px;border:1px solid rgba(232,180,74,.5);border-radius:4px;background:#08080ccc;color:var(--washi);font-family:var(--gothic);font-size:12.5px;cursor:pointer}.demo-rec.on{color:#e8b44a;border-color:#e8b44a}@media (max-width: 640px){.coach{display:none!important}}@media (max-width: 640px){.gate{padding-top:max(72px,calc(env(safe-area-inset-top) + 64px));padding-bottom:0}.gate .word{font-size:40px;margin-bottom:8px}.gate .lede{font-size:15px;line-height:1.75;margin-bottom:14px}.steps{gap:6px;margin-bottom:14px}.steps li{padding:9px 10px 9px 2.75em;font-size:14.5px;line-height:1.6;background:#edebe409;border:1px solid var(--hairline);border-radius:6px}.steps li:before{left:9px;top:10px}.needs{font-size:13px;line-height:1.6;margin-bottom:6px}.gate-actions{position:sticky;bottom:0;z-index:1;padding:10px 0 max(14px,env(safe-area-inset-bottom));background:linear-gradient(to bottom,rgba(8,8,12,0) 0%,var(--sumi) 28%)}.begin{width:100%;max-width:24em;min-height:56px;font-size:17px}.gate-status{margin:6px auto 8px;font-size:14px}.gate-alt{font-size:14px;margin-top:6px}.gate-err{font-size:13.5px;margin-top:8px}}.tools{position:fixed;z-index:11;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;gap:6px}.tools-left{right:auto;left:max(12px,env(safe-area-inset-left))}.tool{display:inline-flex;align-items:center;min-height:44px;padding:7px 14px;font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;color:#edebe4b8;background:#101017c7;border:1px solid rgba(237,235,228,.28);border-radius:9999px;cursor:pointer;transition:color .3s var(--ease),border-color .3s var(--ease)}.tool:hover,.tool:focus-visible{color:#edebe4;border-color:#edebe48c}.tool[aria-pressed=true]{color:#e8b44a;border-color:#e8b44a99}.modechip{position:relative;z-index:1;transition:opacity .8s var(--ease),visibility .8s}.modechip.solo{position:fixed;z-index:9;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));left:max(16px,env(safe-area-inset-left))}.modechip[hidden]{display:none}.modechip.dim{opacity:.4}.modechip.dim:hover,.modechip.dim:focus-within,.modechip.open{opacity:1}.modechip.pre,.modechip.behind{opacity:0;visibility:hidden}.modechip-btn{display:inline-flex;align-items:center;gap:8px;min-height:36px;max-width:calc(100vw - 32px);padding:6px 14px;font-family:var(--gothic);font-size:13px;letter-spacing:.06em;white-space:nowrap;color:#edebe4c7;background:#08080c99;border:1px solid rgba(237,235,228,.24);border-radius:9999px;backdrop-filter:blur(8px);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .25s var(--ease),border-color .25s var(--ease)}.modechip-text{overflow:hidden;text-overflow:ellipsis}.modechip-btn:hover,.modechip-btn:focus-visible,.modechip.open .modechip-btn{color:#edebe4;border-color:#edebe480}.modechip-btn:focus-visible{outline:2px solid rgba(237,235,228,.6);outline-offset:2px}.modechip-caret{font-size:10px;opacity:.7;transition:transform .25s var(--ease)}.modechip.open .modechip-caret{transform:rotate(180deg)}.modechip-pop{position:absolute;left:0;bottom:calc(100% + 8px);width:max-content;max-width:min(26em,calc(100vw - 32px));max-height:min(70vh,34em);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:12px;background:#0b0b11f2;border:1px solid rgba(237,235,228,.24);border-radius:14px;backdrop-filter:blur(18px)}.modechip-pop[hidden]{display:none}.modebar-row{display:flex;flex-direction:column;gap:6px}.modebar-row[hidden]{display:none}.modebar-label{padding:0 4px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:#edebe480;white-space:nowrap}.modebar-pills{display:flex;flex-wrap:wrap;gap:4px}.modebar-pill{min-height:36px;padding:6px 14px;font-family:var(--gothic);font-size:13.5px;letter-spacing:.06em;white-space:nowrap;color:#edebe4c2;background:#edebe40a;border:1px solid rgba(237,235,228,.14);border-radius:9999px;cursor:pointer;transition:color .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}.modebar-pill:hover,.modebar-pill:focus-visible{color:#edebe4;background:#edebe41a}.modebar-pill:focus-visible{outline:2px solid rgba(237,235,228,.6);outline-offset:1px}.modebar-pill[aria-checked=true]{color:#e8b44a;background:#e8b44a24;border-color:#e8b44a8c}.modechip-note{margin:0 0 2px;padding:0 4px 10px;max-width:24em;border-bottom:1px solid rgba(237,235,228,.14);font-family:var(--gothic);font-size:14px;line-height:1.75;color:#edebe4db;white-space:normal}.modechip-note[hidden]{display:none}@media (pointer: coarse){.modechip-btn,.modebar-pill{min-height:44px}}@media (max-width: 820px){body.has-modechip .hint{bottom:max(116px,calc(env(safe-area-inset-bottom) + 110px))}}@media (max-width: 640px){.modechip-btn{font-size:12.5px;padding:6px 12px;letter-spacing:.02em}.modebar-pill{padding:6px 11px;font-size:13px;letter-spacing:.02em}}@media (prefers-reduced-motion: reduce){.modechip,.modechip-btn,.modechip-caret,.modebar-pill{transition-duration:.01ms}}.coach-modebar{margin:0 0 6px;font-size:12.5px;line-height:1.5;color:var(--washi-dim)}.drawer-scrim2{position:fixed;inset:0;z-index:11;background:#08080c73;opacity:0;transition:opacity .35s var(--ease)}.drawer-scrim2.on{opacity:1}.drawer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-x{flex:0 0 auto;width:44px;height:44px;font-size:17px;line-height:1;color:var(--washi-dim);background:none;border:1px solid var(--hairline-strong);border-radius:3px;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease)}.drawer-x:hover,.drawer-x:focus-visible{color:var(--washi);border-color:var(--washi-dim)}.drawer{position:fixed;z-index:12;top:0;right:0;height:100dvh;width:min(23em,92vw);padding:max(20px,env(safe-area-inset-top)) 22px 24px;overflow-y:auto;background:#0b0b11f2;backdrop-filter:blur(12px);border-left:1px solid var(--hairline-strong);transform:translate(100%);transition:transform .4s var(--ease-soft)}.drawer.open{transform:translate(0)}@media (max-width: 700px){.drawer{inset:auto 0 0;width:100%;height:min(86dvh,calc(100dvh - 56px));padding:0 18px max(20px,calc(env(safe-area-inset-bottom) + 12px));border-left:0;border-top:1px solid var(--hairline-strong);border-radius:14px 14px 0 0;transform:translateY(100%);transition:transform .36s var(--ease-soft);overscroll-behavior:contain}.drawer.open{transform:translateY(0)}.drawer .drawer-bar,.drawer .tabs{position:sticky;z-index:2;background:#0b0b11f7;backdrop-filter:blur(12px)}.drawer .drawer-bar{top:0;padding-top:16px;min-height:60px}.drawer .tabs{top:60px;margin-top:0}.drawer .drawer-bar:before{content:"";position:absolute;top:6px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:999px;background:var(--hairline-strong)}}@media (hover: none) and (pointer: coarse){.drawer .tabhint{display:none}}.drawer h2{margin:0 0 4px;font-family:var(--mono);font-size:12.5px;letter-spacing:.22em;color:var(--washi-faint);font-weight:400}.drawer .tabhint{margin:0 0 20px;font-size:13.5px;color:var(--washi-faint)}.field{display:grid;gap:7px;padding:14px 0;border-top:1px solid var(--hairline)}.field>label,.field>.flabel{font-size:14.5px;letter-spacing:.04em;color:var(--washi-dim);display:flex;justify-content:space-between;gap:12px}.field .val{font-family:var(--mono);font-size:13.5px;color:var(--washi)}.field input[type=range]{width:100%;accent-color:var(--kin);height:24px}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{flex:1 1 5.5em;min-height:44px;padding:9px 8px;font-size:14.5px;color:var(--washi-dim);background:var(--sumi-inset);border:1px solid var(--hairline-strong);border-radius:3px;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease)}.seg button[aria-pressed=true]{color:var(--sumi);background:var(--washi);border-color:var(--washi)}.drawer .row{display:block;min-height:44px;padding:12px 0;font-size:15px;color:var(--washi-dim);background:none;border:none;border-top:1px solid var(--hairline);width:100%;text-align:left;cursor:pointer;text-decoration:none}.drawer .row:hover,.drawer .row:focus-visible{color:var(--washi)}.lat{position:fixed;z-index:2;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));font-family:var(--mono);font-size:12.5px;color:var(--washi-dim);font-variant-numeric:tabular-nums;pointer-events:none;background:#08080cb3;padding:3px 7px;border-radius:3px}@media (prefers-reduced-motion: reduce){.gate,.coach,.drawer,.hint,.begin{transition-duration:.01ms}}.drawer .band-head{margin:22px 0 2px;font-family:var(--mono);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--kin);font-weight:400}.drawer .band-head:first-of-type{margin-top:14px}.pnote{margin:3px 0 0;font-size:15px;line-height:1.75;color:var(--washi-dim)}.seg-note{margin:8px 0 0;padding:8px 0 8px 12px;max-width:34em;border-left:2px solid rgba(232,180,74,.55);font-size:15px;line-height:1.8;color:var(--washi)}.seg-note[hidden]{display:none}.seg-note-name{display:block;margin-bottom:2px;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--kin)}.band-undo{display:block;margin:8px 0 0 auto;padding:6px 10px;font-size:13px;color:var(--washi-faint);background:none;border:1px solid var(--hairline);border-radius:3px;cursor:pointer}.band-undo:hover,.band-undo:focus-visible{color:var(--washi);border-color:var(--hairline-strong)}.preset-slots-wrap{margin:12px 0 16px;display:flex;flex-direction:column;gap:10px}.slot-seg{width:100%}.slot-seg button{flex:1;font-size:13px;padding:8px 4px}.slot-actions-row{display:flex;gap:10px}.slot-action-btn{flex:1;min-height:40px;padding:8px 12px;font-size:13px;font-weight:500;border-radius:3px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.slot-save-btn{color:var(--washi);background:var(--sumi-elevated);border:1px solid var(--hairline-strong)}.slot-save-btn:hover,.slot-save-btn:focus-visible{border-color:var(--kin);color:var(--kin)}.slot-reset-btn{color:var(--washi-dim);background:none;border:1px solid var(--hairline)}.slot-reset-btn:hover,.slot-reset-btn:focus-visible{color:var(--washi);border-color:var(--hairline-strong)}.slot-feedback{margin:2px 0 0;font-size:12px;color:var(--kin);min-height:1.4em;line-height:1.4;transition:opacity .2s}.sw{min-width:4.6em;min-height:44px;padding:6px 12px;font-size:14px;color:var(--washi-dim);background:var(--sumi-inset);border:1px solid var(--hairline-strong);border-radius:3px;cursor:pointer}.sw[aria-pressed=true]{color:var(--sumi);background:var(--kin);border-color:var(--kin)}.drawer .drawer-steps{margin:10px 0 4px;gap:8px}.drawer .drawer-steps li{font-size:14px}.lang-menu{position:relative}.lang-menu-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;font-family:var(--gothic);font-size:15px;color:var(--washi);background:#101017b8;border:1px solid var(--hairline-strong);border-radius:9999px;cursor:pointer;transition:border-color .3s var(--ease)}.lang-menu-btn:hover,.lang-menu-btn:focus-visible{border-color:var(--washi-dim)}.lang-menu-list{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;margin:0;padding:8px;list-style:none;z-index:30;background:#0b0b11f7;backdrop-filter:blur(18px);border:1px solid var(--hairline-strong);border-radius:12px}.lang-menu-list[hidden]{display:none}.lang-menu-list button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:8px;background:none;color:var(--washi-dim);font-family:var(--gothic);font-size:15px;cursor:pointer;transition:color .2s var(--ease),background .2s var(--ease)}.lang-menu-list button:hover{color:var(--washi);background:#edebe414}.lang-menu-list button[aria-current=true]{color:var(--kin);font-weight:600}.lang-menu-list button[aria-current=true]:before{content:"✓ "}.tool-menu{position:relative}.tool-menu-list{position:absolute;top:calc(100% + 8px);right:0;min-width:210px;margin:0;padding:8px;list-style:none;z-index:30;background:#0b0b11f7;backdrop-filter:blur(18px);border:1px solid rgba(237,235,228,.24);border-radius:12px}.tool-menu-list[hidden]{display:none}.tool-menu-list a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;color:#edebe4c7;transition:color .2s var(--ease),background .2s var(--ease)}.tool-menu-list a:hover,.tool-menu-list a:focus-visible{color:#edebe4;background:#edebe414}.tool-menu-name{display:block;font-size:15px}.tool-menu-note{display:block;margin-top:2px;font-size:12.5px;color:#edebe480}.erase{position:fixed;z-index:9;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));left:max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;align-items:flex-start;gap:6px}.erase-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;min-height:44px;padding:7px 16px;font-family:var(--gothic);font-size:12.5px;letter-spacing:.08em;color:var(--washi-dim);background:#08080c8c;border:1px solid var(--hairline-strong);border-radius:9999px;backdrop-filter:blur(8px);cursor:pointer;opacity:.38;touch-action:none;-webkit-user-select:none;user-select:none;transition:opacity .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}.erase-btn:hover,.erase-btn:focus-visible{opacity:1;color:var(--washi);border-color:var(--washi-dim)}.erase-btn.arming{opacity:1;color:var(--washi);border-color:var(--kin)}.erase-fill{position:absolute;left:0;top:0;bottom:0;width:100%;transform:scaleX(0);transform-origin:left center;background:#e8b44a4d;pointer-events:none}.erase-label{position:relative}.erase-said{margin:0;padding:4px 10px;font-size:12.5px;color:var(--kin);background:#08080cb8;border-radius:9999px}.erase-said:empty{display:none}@media (prefers-reduced-motion: reduce){.erase-btn{transition:none}}.drawer-bar h2{font-family:var(--mincho);font-size:15px;letter-spacing:.12em;color:var(--washi-dim)}.drawer .tabs{display:flex;gap:6px;margin:14px 0 10px;border-bottom:1px solid var(--hairline)}.drawer .tab{flex:1;min-height:44px;padding:10px 8px;font-family:var(--gothic);font-size:14.5px;color:var(--washi-faint);background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease)}.drawer .tab:hover,.drawer .tab:focus-visible{color:var(--washi)}.drawer .tab[aria-selected=true]{color:var(--washi);border-bottom-color:var(--kin)}.tabpanel[hidden]{display:none}.tabpanel:focus-visible{outline:1px solid var(--hairline-strong);outline-offset:6px}.concept-line{margin:4px 0 14px;font-size:17px;line-height:1.8;letter-spacing:.02em;color:var(--washi)}.concept-body{margin:0 0 12px;font-size:15px;line-height:1.9;color:var(--washi-dim)}.concept-body b,.concept-line b{color:var(--washi);font-weight:600}.concept-term{text-decoration:underline dotted var(--hairline-strong);text-underline-offset:4px}.concept-term-i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0 2px 0 4px;padding:0;vertical-align:.1em;border:1px solid var(--hairline-strong);border-radius:50%;background:transparent;color:var(--washi-dim);font:italic 600 11px/1 Georgia,serif;cursor:pointer;position:relative}.concept-term-i:after{content:"";position:absolute;inset:-7px}.concept-term-i:hover,.concept-term-i:focus-visible,.concept-term-i[aria-expanded=true]{color:var(--washi);border-color:var(--kin)}.concept-term-i:focus-visible{outline:1px solid var(--kin);outline-offset:2px}.concept-term-def{display:block;margin:6px 0 4px;padding:8px 12px;border-left:2px solid var(--kin);background:var(--kin-soft);font-size:14px;line-height:1.8;color:var(--washi)}.concept-term-def[hidden]{display:none}.presets{display:grid;gap:6px}.preset{display:block;width:100%;text-align:left;padding:10px 12px;background:var(--sumi-inset);border:1px solid var(--hairline-strong);border-radius:3px;cursor:pointer;transition:border-color .25s var(--ease)}.preset:hover,.preset:focus-visible{border-color:var(--washi-dim)}.preset[aria-pressed=true]{border-color:var(--kin);background:#e8b44a14}.preset-name{display:block;font-size:14.5px;color:var(--washi)}.preset-tag{margin-left:8px;padding:1px 8px;font-style:normal;font-size:11.5px;letter-spacing:.1em;color:var(--sumi);background:var(--kin);border-radius:9999px}.preset-note{display:block;margin-top:4px;font-size:13.5px;line-height:1.7;color:var(--washi-dim)}.preset-note b{color:var(--washi);font-weight:600}.layer-group{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:18px 0 0;font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--washi-faint);font-weight:400}.layer-bulk{display:flex;gap:6px;letter-spacing:0}.layer-bulk button{padding:3px 9px;font-family:var(--gothic);font-size:12px;letter-spacing:.04em;text-transform:none;color:var(--washi-dim);background:var(--sumi-inset);border:1px solid var(--hairline);border-radius:999px;cursor:pointer}.layer-bulk button:hover{color:var(--washi);border-color:var(--hairline-strong)}.layer-field{padding:10px 0}.layer-label{align-items:center}.layer-role{display:flex;align-items:center;gap:10px;margin-top:8px}.layer-role label{font-size:13px;color:var(--washi-faint)}.layer-role select{flex:1;min-height:44px;padding:6px 8px;font-family:var(--gothic);font-size:14px;color:var(--washi);background:var(--sumi-inset);border:1px solid var(--hairline-strong);border-radius:3px}.layer-role .pnote{flex-basis:100%}.layer-cost{margin-top:16px;font-family:var(--mono);font-size:13px;color:var(--kin)}.tool-menu--left .tool-menu-list{left:0;right:auto}.exit-veil{position:fixed;inset:0;z-index:40;background:var(--bg, #08080c);opacity:0;pointer-events:none;transition:opacity .8s cubic-bezier(.4,0,.6,1)}.exit-veil.on{opacity:1;pointer-events:auto}.presence{position:fixed;z-index:2;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:6px;height:6px;margin-left:-3px;border-radius:50%;border:1px solid rgba(237,235,228,.55);opacity:0;pointer-events:none;transition:opacity .6s ease}.presence.on{opacity:.55;animation:presence-breath 4s ease-in-out infinite}@keyframes presence-breath{0%,to{transform:scale(1);opacity:.35}40%{transform:scale(1.6);opacity:.6}}@media (prefers-reduced-motion: reduce){.presence.on{animation:none}.exit-veil{transition-duration:.2s}}.sense-monitor{position:fixed;z-index:5;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:168px;border:1px solid var(--hairline-strong);border-radius:6px;background:#08080cc7;backdrop-filter:blur(6px);overflow:hidden;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;opacity:0;transition:opacity .5s var(--ease),width .25s var(--ease)}.sense-monitor.on{opacity:1}.sense-monitor.dragging{cursor:grabbing;transition:opacity .5s var(--ease)}.sense-monitor-grip{position:absolute;width:14px;height:14px;z-index:1;opacity:.45;transition:opacity .2s var(--ease)}.sense-monitor:hover .sense-monitor-grip,.sense-monitor.dragging .sense-monitor-grip{opacity:.9}.sense-monitor-grip:after{content:"";position:absolute;inset:-6px}.sense-monitor-grip:before{content:"";position:absolute;inset:3px;border:0 solid rgba(237,235,228,.85)}.sense-monitor-grip[data-corner=tl]{top:0;left:0;cursor:nwse-resize}.sense-monitor-grip[data-corner=tl]:before{border-top-width:1.5px;border-left-width:1.5px}.sense-monitor-grip[data-corner=tr]{top:0;right:0;cursor:nesw-resize}.sense-monitor-grip[data-corner=tr]:before{border-top-width:1.5px;border-right-width:1.5px}.sense-monitor-grip[data-corner=bl]{bottom:0;left:0;cursor:nesw-resize}.sense-monitor-grip[data-corner=bl]:before{border-bottom-width:1.5px;border-left-width:1.5px}.sense-monitor-grip[data-corner=br]{bottom:0;right:0;cursor:nwse-resize}.sense-monitor-grip[data-corner=br]:before{border-bottom-width:1.5px;border-right-width:1.5px}.sense-monitor.hint-only .sense-monitor-grip{display:none}.sense-monitor.debug{bottom:max(64px,calc(env(safe-area-inset-bottom) + 50px))}.sense-monitor canvas{display:block;width:100%;aspect-ratio:4 / 3}.sense-monitor-head{display:flex;align-items:center;gap:4px;padding:0 14px 0 6px}.sense-monitor-toggles{display:flex;gap:2px;flex-shrink:0}.sense-toggle{position:relative;width:22px;height:22px;padding:3px;display:grid;place-items:center;color:#edebe459;background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease)}.sense-toggle:after{content:"";position:absolute;inset:-6px -3px}.sense-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.sense-toggle[aria-pressed=true]{color:#edebe4eb}.sense-toggle[aria-pressed=false]{border-color:#e8b44a59;background:linear-gradient(to top right,transparent 46%,rgba(232,180,74,.8) 48%,rgba(232,180,74,.8) 52%,transparent 54%)}.sense-toggle:hover{border-color:var(--hairline-strong)}.sense-toggle:focus-visible{outline:1px solid var(--kin);outline-offset:1px}.sense-monitor-off{display:block;padding:0 8px 4px;font-size:11.5px;line-height:1.35;color:var(--kin)}.sense-monitor-off[hidden]{display:none}.sense-monitor.hint-only canvas{display:none}.sense-monitor.hint-only{width:auto;max-width:min(260px,70vw)}.sense-monitor-label{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;padding:5px 8px 3px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#edebe4cc;pointer-events:none}.sense-monitor-label:before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:#edebe459;transition:background .3s var(--ease),box-shadow .3s var(--ease)}.sense-monitor.seen .sense-monitor-label:before{background:var(--kin);box-shadow:0 0 6px #e8b44ab3}.sense-monitor.seeking{border-color:#e8b44a73;animation:monitor-seek 2.4s ease-in-out infinite}@keyframes monitor-seek{50%{border-color:#e8b44a1f}}@media (max-width: 700px){.sense-monitor{top:max(66px,calc(env(safe-area-inset-top) + 58px));bottom:auto;right:max(12px,env(safe-area-inset-right));width:124px}.sense-monitor.debug{bottom:auto}}@media (prefers-reduced-motion: reduce){.sense-monitor{transition:opacity .2s}.sense-monitor.seeking{animation:none}}.frame-p95{position:fixed;z-index:2;right:max(14px,env(safe-area-inset-right));bottom:max(36px,calc(env(safe-area-inset-bottom) + 22px));font-family:var(--mono);font-size:12.5px;color:#edebe499;pointer-events:none}.frame-p95:empty{display:none}.far-btn{gap:0}.far-badge{margin-left:.5em;color:#edebe480;letter-spacing:.04em}.far-badge:empty{display:none}.far-btn.far-on{color:#cfe0ff;border-color:#aac8ff8c}.far-btn.far-on .far-badge{color:#cfe0ffbf}.far-solo{position:fixed;z-index:11;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}.far-panel{width:min(340px,calc(100vw - 24px));padding:12px}.far-lede,.far-status{margin:0 0 10px;font-size:12.5px;line-height:1.6;color:#edebe499;white-space:pre-line}.far-status{margin:10px 0 0;color:#cfe0ffc7}.far-modes{display:flex;flex-direction:column;gap:2px}.far-mode{display:block;width:100%;min-height:44px;padding:8px 12px;text-align:left;font-family:var(--gothic);color:#edebe4c7;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer}.far-mode:hover,.far-mode:focus-visible{color:#edebe4;background:#edebe414}.far-mode[aria-checked=true]{color:#e8b44a;border-color:#e8b44a73;background:#e8b44a14}.far-link{display:flex;gap:6px;margin-top:10px}.far-link[hidden]{display:none}.far-link-url{flex:1;min-width:0;min-height:40px;padding:6px 10px;font-family:var(--mono);font-size:12px;color:#edebe4;background:#edebe40f;border:1px solid rgba(237,235,228,.22);border-radius:8px}.far-copy{min-height:40px;padding:6px 12px;font-family:var(--gothic);font-size:12.5px;white-space:nowrap;color:#edebe4;background:#aac8ff1f;border:1px solid rgba(170,200,255,.45);border-radius:9999px;cursor:pointer}.far-qr{margin:10px 0 0;display:flex;align-items:center;gap:12px}.far-qr[hidden]{display:none}.far-qr-img{width:128px;height:128px;flex:none;border-radius:6px;image-rendering:pixelated}.far-qr-cap{font-size:12px;line-height:1.5;color:#edebe499}.far-code{margin:12px 0 0;display:flex;align-items:baseline;gap:10px}.far-code[hidden]{display:none}.far-code-label{font-size:12px;color:#edebe499}.far-code-value{font-family:var(--mono);font-size:28px;line-height:1;letter-spacing:.18em;color:#edebe4}.far-join{margin:12px 0 0;padding-top:10px;border-top:1px solid rgba(237,235,228,.12)}.far-join-label{display:block;margin-bottom:6px;font-size:12px;color:#edebe499}.far-join-line{display:flex;gap:6px}.far-join-input{flex:1;min-width:0;min-height:40px;padding:6px 10px;font-family:var(--mono);font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:#edebe4;background:#edebe40f;border:1px solid rgba(237,235,228,.22);border-radius:8px}.far-join-input::placeholder{letter-spacing:.04em;text-transform:none;color:#edebe459}.far-join-msg{margin:6px 0 0;font-size:12px;color:#f0b39a}.far-join-msg:empty{display:none}.far-gate{margin:4px auto 14px;font-size:13.5px;color:#cfe0ffd9}.far-ico{display:none;line-height:0}@media (max-width: 640px){.far-badge,.far-name{display:none}.far-ico{display:inline-block}.far-panel{position:fixed;top:calc(max(12px,env(safe-area-inset-top)) + 52px);left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));width:auto;max-height:calc(100dvh - 88px);overflow-y:auto}}
