:root{--radius: .65rem;--background: oklch(1 0 0);--foreground: oklch(.141 .005 285.823);--card: oklch(1 0 0);--primary: oklch(.637 .237 25.331);--primary-ink: oklch(.971 .013 17.38);--secondary: oklch(.967 .001 286.375);--muted: oklch(.552 .016 285.938);--border: oklch(.92 .004 286.32);--ring: oklch(.637 .237 25.331);--good: #2f6b45;--bad: #8d4038;--paper: var(--background);--paper-2: var(--card);--ink: var(--foreground);--soft: var(--muted);--line: var(--border);--focus: var(--ring);--chip: var(--secondary);--cell: 48px;color:var(--ink);background:var(--paper);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:18px;line-height:1.4}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper)}button,input{font:inherit;color:inherit}button{border:0;border-radius:var(--radius);min-height:48px;padding:10px 16px;background:var(--primary);color:var(--primary-ink);cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid var(--ring);outline-offset:2px}button.secondary,button.choice,button.key,button.op,button.calm{background:var(--secondary);color:var(--ink);border:1px solid var(--border)}button.key{background:var(--chip)}button.choice.is-on{background:var(--secondary);box-shadow:inset 0 0 0 2px var(--primary)}button.text-button{background:transparent;color:var(--soft);border:0;min-height:44px;padding:8px 2px}button.menu-toggle{display:none;border:1px solid var(--border);background:var(--secondary);color:var(--ink);min-height:44px;padding:8px 14px}.brand{background:transparent;color:var(--ink);padding:0;min-height:0;font-size:1.25rem;font-weight:700;letter-spacing:.01em}.shell{min-height:100vh;background:var(--background)}.bar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--background) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.bar-inner{width:min(920px,calc(100% - 32px));margin:0 auto}.bar-row{display:flex;align-items:center;gap:22px;min-height:64px}.nav-main{flex:1;margin:0;gap:22px;align-items:center}.who-row{display:flex;gap:16px;align-items:center;margin-left:auto}.who-row .who{margin:0;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-lock{font-weight:700;font-size:1.25rem;margin:0}.app{width:min(920px,calc(100% - 32px));margin:0 auto;padding:28px 0 64px}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:28px 28px 24px}.gate-card{max-width:28rem;margin-inline:auto}.work{min-width:0}.consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0}.consent input{width:22px;height:22px;margin:4px 0 0}.who,.kicker,.quiet,.note,figcaption{color:var(--soft)}h1{font-size:2rem;line-height:1.15;margin:0 0 8px;font-weight:650}h2{font-size:1.05rem;margin:22px 0 8px}.lead{margin-top:0;max-width:38rem}.ops,.choices,.row-actions,.key-actions,.nav{display:flex;flex-wrap:wrap;gap:16px;row-gap:16px}.nav button{color:var(--soft);font-size:.95rem}.nav button.is-on,button.text-button.is-on{color:var(--ink);font-weight:650}.version{color:var(--soft);font-size:.85rem;margin-top:28px}.guide{margin:4px 0 16px;max-width:36rem}.guide .equation{font-size:1.35rem;font-weight:650;margin:0 0 4px;font-variant-numeric:tabular-nums}.guide p{margin:0 0 4px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;align-items:stretch;margin-top:22px}.field{display:flex;flex-direction:column;align-items:flex-start;min-height:240px;padding:26px 26px 22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.field-gap{flex:1 1 auto;min-height:16px;width:100%}.field-pad{height:48px;width:100%}.field-title{margin:0;font-size:clamp(1.45rem,2.2vw,1.85rem);line-height:1.2;font-weight:650;letter-spacing:-.02em}.field-name{font-size:clamp(2.4rem,4vw,3.1rem);line-height:1.02;font-weight:650;letter-spacing:-.03em}.field-note{color:var(--soft);margin-top:8px}button.field{width:100%;min-height:280px;color:var(--ink);background:var(--paper-2);text-align:left;justify-content:space-between;gap:28px;transition:background .18s ease}button.field:hover{background:var(--chip)}button.field:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.field .text.word,.result-box{width:100%;min-height:52px;margin:0 0 12px}.result-box{display:flex;align-items:center}.result-box.is-right{background:color-mix(in srgb,var(--good) 16%,var(--paper-2));animation:arrive .52s cubic-bezier(.16,1,.3,1) both}@keyframes arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){button.field{transition:none}.result-box.is-right{animation:none}}.ops{margin:8px 0 18px}.op,.choice{min-height:44px;padding:10px 14px}.quiet{padding-left:1.1rem}.note{color:var(--bad)}.badge-line{font-weight:650}.clock{font-variant-numeric:tabular-nums;color:var(--soft);margin-top:0}.stage{overflow-x:auto;padding-bottom:8px}.board{display:flex;align-items:stretch;gap:28px;flex-wrap:wrap}.sheet-actions{display:flex;flex-direction:column;align-items:flex-start;gap:28px;margin-top:20px}.sheet-actions .key-actions,.dock .key-actions{column-gap:36px;row-gap:28px}.dock{position:fixed;left:0;right:0;bottom:0;z-index:5;background:color-mix(in srgb,var(--background) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.dock .pad{margin:0 auto;width:min(100%,420px)}.dock .keys{max-width:none}.app.has-dock{padding-bottom:calc(var(--dock-h, 340px) + 20px)}.digit-catcher{position:fixed;top:0;left:0;width:16px;height:16px;opacity:.01;font-size:16px;border:0;padding:0;z-index:6;color:transparent;background:transparent;caret-color:transparent}.leer-key{min-width:96px;align-self:flex-start}.problem{display:flex;align-items:flex-start;gap:14px;width:max-content}.sheet{display:grid;grid-template-columns:repeat(var(--cols),var(--cell));width:max-content;background:var(--secondary);border-top:1px solid var(--line);border-left:1px solid var(--line)}.tail{display:flex;align-items:center;gap:6px;min-height:var(--cell)}.cell{width:var(--cell);height:var(--cell);min-width:0;min-height:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;padding:0;border-radius:0;background:transparent;color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.35rem}.cell.is-carry{align-items:flex-start;font-size:.95rem;color:var(--focus)}.cell.is-given{font-weight:650}.cell.is-mark{width:auto;min-width:.8em;height:var(--cell);border:0;background:transparent;font-size:1.35rem}.cell.is-line:not(.is-digit):not(.is-given):not(.is-carry){width:auto;height:12px;border-bottom:3px solid var(--ink)}.cell.is-line.is-digit,.cell.is-line.is-given,.cell.is-line.is-carry{box-shadow:inset 0 -3px 0 var(--ink)}.cell.is-focus{outline:3px solid var(--focus);outline-offset:-3px;background:var(--paper-2)}.cell.is-good{box-shadow:inset 0 0 0 2px var(--good)}.cell.is-bad{background:repeating-linear-gradient(-45deg,transparent,transparent 5px,color-mix(in srgb,var(--bad) 16%,transparent) 5px,color-mix(in srgb,var(--bad) 16%,transparent) 6px);box-shadow:inset 0 0 0 2px var(--bad)}.cell.is-struck .glyph{position:relative}.cell.is-struck .glyph:after{content:"";position:absolute;left:-.12em;right:-.12em;top:54%;border-top:2px solid var(--ink)}.ought{position:absolute;right:2px;bottom:0;font-size:.68rem;color:var(--good)}.status{min-height:1.4em;font-weight:650}.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,680px),1fr));gap:28px;margin:16px 0}figure{margin:0;min-width:0;overflow-x:auto}.pad{margin-top:12px}.keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:360px}.key{min-height:56px;font-size:1.3rem}.text,.form input{display:block;width:min(100%,360px);margin:8px 0 14px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--background)}.text.word{width:min(100%,36rem);margin-top:16px;font-size:1.25rem}.text:focus,.form input:focus{outline:3px solid var(--focus);background:var(--paper-2)}.form label{display:block;margin-bottom:8px}.form .consent{display:flex}.form .consent input{display:inline-block;width:22px;height:22px;min-height:22px;margin:4px 0 0;padding:0;flex:0 0 22px}.attempts{list-style:none;padding:0}.attempts li{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}@media(max-width:760px){h1{font-size:1.6rem}.app,.bar-inner{width:min(100% - 20px,920px)}.panel{padding:22px 18px 18px}.who-row{order:2}.nav-main{display:none;order:3;flex:1 1 100%;flex-direction:column;align-items:stretch;gap:8px;padding-bottom:12px}.bar.is-open .nav-main{display:flex}.bar-row{flex-wrap:wrap;min-height:64px}.who-row .who{display:none}button.menu-toggle{display:inline-flex}.nav-main button{min-height:48px;justify-content:flex-start;text-align:left}}
