:root{--paper: #ece6d8;--ink: #17150f;--muted: #6f6a5c;--line: #17150f;--accent: #e8401c;--accent-ink: #fff7ee;--display: "Bricolage Grotesque", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, Consolas, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--display);font-weight:500;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0;text-align:left}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.app{max-width:480px;min-height:100%;margin:0 auto;display:flex;flex-direction:column}.screen{flex:1;display:flex;flex-direction:column;padding:28px 22px calc(24px + env(safe-area-inset-bottom));animation:rise .3s ease both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.grow{flex:1;min-height:16px}.mono{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.label{color:var(--muted);margin-bottom:14px}.lede{margin:0;font-size:17px;line-height:1.4;color:var(--muted)}.lede b{color:var(--ink);font-weight:700}.center{text-align:center}.masthead{padding-bottom:22px;border-bottom:2px solid var(--line);margin-bottom:22px}.masthead .mono{color:var(--muted)}h1{font-size:76px;line-height:.95;letter-spacing:-.045em;font-weight:800;margin:10px 0 12px}.dot{color:var(--accent)}h2{font-size:40px;line-height:1.02;letter-spacing:-.03em;font-weight:800;margin:0 0 14px}h2 em{font-style:normal;color:var(--accent)}.title{margin-top:0}.block{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid rgba(23,21,15,.2)}.block:last-of-type{border-bottom:0;margin-bottom:0}.counter{display:flex;align-items:center;justify-content:space-between}.big-num{font-size:84px;font-weight:800;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}.sq{width:60px;height:60px;border:2px solid var(--line);border-radius:0;font-size:30px;line-height:1;text-align:center;display:grid;place-items:center;transition:background .15s,color .15s}.sq:active:not(:disabled){background:var(--ink);color:var(--paper)}.sq:disabled{opacity:.25}.cats{display:flex;flex-wrap:wrap;gap:8px}.cat{padding:10px 16px;border:2px solid var(--line);font-size:16px;font-weight:700;transition:background .15s,color .15s}.cat.on{background:var(--ink);color:var(--paper)}.toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.toggle b{display:block;font-size:18px;font-weight:700}.toggle small{display:block;font-size:14px;color:var(--muted);margin-top:2px;font-weight:500}.pill{font-family:var(--mono);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;min-width:56px;text-align:center;padding:8px 0;border:2px solid var(--line)}.pill.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.cta{width:100%;padding:20px;margin-top:10px;text-align:center;background:var(--ink);color:var(--paper);font-size:19px;font-weight:700;letter-spacing:-.01em;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--accent);transition:transform .1s,box-shadow .1s}.cta:active:not(:disabled){transform:translate(4px,4px);box-shadow:1px 1px 0 var(--accent)}.cta:disabled{opacity:.3;box-shadow:none}.cta.ghost{background:transparent;color:var(--ink);box-shadow:none;margin-top:12px}.steps{display:flex;gap:4px;margin-bottom:22px}.steps i{flex:1;height:6px;background:#17150f26}.steps i.done{background:var(--ink)}.steps i.cur{background:var(--accent)}.pass{flex:1;display:flex;flex-direction:column;justify-content:center;padding:12px 0 24px}.field{margin-top:28px;width:100%;padding:14px 0;border:0;border-bottom:2px solid var(--line);border-radius:0;background:transparent;font:inherit;font-size:22px;font-weight:700;color:var(--ink);outline:none;-webkit-user-select:text;user-select:text}.field::placeholder{color:#17150f4d}.field:focus{border-bottom-color:var(--accent)}.clock{font-size:112px;line-height:.9;font-weight:800;letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin-bottom:26px}.clock.low{color:var(--accent)}.alert{color:var(--accent);margin:16px 0 0;font-weight:700}.stage{flex:1;display:flex;flex-direction:column;justify-content:center;gap:22px;padding-bottom:12px}.card{position:relative;display:block;width:100%;height:340px;perspective:1200px}.face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;border:2px solid var(--line);backface-visibility:hidden;transition:transform .55s cubic-bezier(.3,.8,.3,1)}.face.front{background:var(--paper);box-shadow:8px 8px 0 var(--ink);transform:rotateY(0)}.face.back{transform:rotateY(180deg);box-shadow:8px 8px 0 var(--ink)}.card.open .front{transform:rotateY(-180deg)}.card.open .back{transform:rotateY(0)}.mark{font-size:130px;font-weight:800;line-height:1;color:var(--accent)}.crew{background:var(--ink);color:var(--paper)}.imp{background:var(--accent);color:var(--accent-ink)}.back .mono{opacity:.7}.word{font-size:52px;font-weight:800;letter-spacing:-.035em;line-height:1;word-break:break-word}.word.blank{opacity:.5}.note{font-size:16px;opacity:.8}.list{list-style:none;margin:22px 0 0;padding:0;border-top:2px solid var(--line)}.row{width:100%;display:flex;align-items:center;gap:16px;padding:16px 4px;border-bottom:1px solid rgba(23,21,15,.25);transition:background .15s,color .15s}.row .idx{color:var(--muted);width:26px}.row .nm{flex:1;font-size:22px;font-weight:700;letter-spacing:-.02em}.row .check{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.row.sel{background:var(--ink);color:var(--paper);padding-left:14px;padding-right:14px}.row.sel .idx{color:var(--paper);opacity:.6}.row.sel .check{color:var(--accent)}.row.imp{background:var(--accent);color:var(--accent-ink);padding-left:14px;padding-right:14px}.row.imp .idx{color:var(--accent-ink);opacity:.7}.row.static:not(.imp){opacity:.55}.verdict{font-size:48px;margin-bottom:14px}.verdict.win{color:#1f7a45}.verdict.lose{color:var(--accent)}@media (max-width: 380px){h1{font-size:60px}h2{font-size:34px}.card{height:300px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
