:root{--bg: #fbf9f4;--bg-2: #f5edd6;--card: #ffffff;--ink: #0b0a09;--muted: #5c5651;--line: #e8e1d2;--line-2: #d9d2c2;--orange: #ff3c00;--orange-ink: #c12a00;--amber: #ffb800;--amber-ink: #916303;--cyan: #22d3ee;--cyan-ink: #077a96;--green-ink: #0f7833;--red-ink: #b42318;--font-display: "Bebas Neue", "Arial Narrow", Impact, sans-serif;--font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Space Mono", ui-monospace, Menlo, monospace;--radius: 18px;--radius-lg: 26px;--ease-out: cubic-bezier(.16, 1, .3, 1);--shadow-sm: 0 1px 2px rgba(30, 20, 0, .04), 0 4px 14px -6px rgba(30, 20, 0, .08);--shadow: 0 1px 2px rgba(30, 20, 0, .04), 0 18px 50px -20px rgba(30, 20, 0, .18)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}a{color:var(--ink)}a:hover{color:var(--orange-ink)}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}img{max-width:100%}.page{max-width:560px;margin:0 auto;padding:20px 16px 40px;display:flex;flex-direction:column;gap:16px;min-height:100dvh}.page-wide{max-width:1240px;margin:0 auto;padding:32px 24px 48px;display:flex;flex-direction:column;gap:24px}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--orange-ink)}.display{font-family:var(--font-display);font-weight:400;line-height:.95;margin:0;letter-spacing:.3px}.h1{font-size:clamp(42px,11vw,64px)}.h2{font-size:clamp(32px,8vw,44px)}.h3{font-size:28px}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.accent{color:var(--orange-ink)}p{margin:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:13px;padding:6px 10px;border:1px solid var(--line-2);border-radius:999px;background:var(--card);white-space:nowrap}.chip-dark{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:700}.chip-amber{background:var(--amber);border-color:var(--amber);font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.card-lg{box-shadow:var(--shadow)}.card-cream{background:var(--bg-2);border-color:var(--bg-2);box-shadow:none}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:12px;align-items:center}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 20px;border-radius:14px;border:2px solid var(--orange);background:var(--orange);color:var(--ink);font-weight:700;font-size:17px;cursor:pointer;text-decoration:none;transition:transform .15s var(--ease-out),box-shadow .2s var(--ease-out)}.btn:hover{color:var(--ink);box-shadow:0 2px 4px #1e14000a,0 18px 40px -16px #ff3c0073}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-ghost{background:var(--card);border-color:var(--line-2);font-weight:500}.btn-ghost:hover{box-shadow:var(--shadow-sm)}.btn-dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn-dark:hover{color:#fff}.btn-block{width:100%}.btn-sm{min-height:44px;font-size:15px;padding:0 14px}label.field{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:15px}.input{height:52px;border-radius:12px;border:1px solid var(--line-2);background:var(--card);padding:0 14px;font-size:16px;font-weight:400}.input:focus{outline:3px solid var(--orange);outline-offset:1px}.error{color:var(--red-ink);font-size:14px;font-weight:500}.bar{height:10px;background:var(--line);border-radius:99px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--orange);border-radius:99px;transform-origin:left;animation:grow .9s var(--ease-out) both}.option{width:100%;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:16px;padding:14px;min-height:56px;cursor:pointer;transition:border-color .15s var(--ease-out),transform .15s var(--ease-out);display:flex;align-items:center;gap:12px}.option:hover{border-color:var(--ink)}.option:active{transform:scale(.99)}.option.right{border-color:var(--green-ink);background:#eaf7ee}.option.wrong{border-color:var(--red-ink);background:#fdecea}.option.picked{border-color:var(--ink)}.option[disabled]{cursor:default}.option[disabled]:hover{border-color:inherit}.feedback{border-radius:16px;padding:14px;display:flex;gap:12px;align-items:flex-start;animation:rise-in .3s var(--ease-out) both}.feedback.good{background:#eaf7ee}.feedback.bad{background:#fdecea}.feedback.info{background:var(--bg-2)}.skeleton{background:linear-gradient(90deg,var(--line) 0%,var(--bg-2) 50%,var(--line) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:12px}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes pulse{0%{box-shadow:0 0 #ff3c0073}to{box-shadow:0 0 0 18px #ff3c0000}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes shake{0%,to{transform:none}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.enter{animation:rise-in .4s var(--ease-out) both}.pop{animation:pop .45s var(--ease-out) both}.pulse{animation:pulse 1.2s ease-out 2}.shake{animation:shake .3s ease-out 1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.path{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;position:relative}.path:before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:3px;background:var(--line)}.node{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;font-family:var(--font-display);font-size:28px}.node-done{background:var(--ink);color:#fff}.node-now{background:var(--orange);color:var(--ink)}.node-locked{background:var(--bg);border:2px dashed var(--line-2);color:var(--muted)}.path-link{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;border-radius:16px;padding:4px;min-height:64px}.path-link:hover{color:inherit;background:var(--card)}.shape-0{background:var(--amber)}.shape-1{background:var(--orange)}.shape-2{background:var(--cyan)}.shape-3{background:var(--card);border:2px solid var(--ink)!important}.pad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:1;min-height:360px}.pad button{border:0;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:700;font-size:15px;padding:12px;color:var(--ink)}.pad button[disabled]{opacity:.35;cursor:default}.pad button.chosen{opacity:1;outline:4px solid var(--ink);outline-offset:2px}table.tbl{width:100%;border-collapse:collapse;font-size:15px}table.tbl th{text-align:left;font-family:var(--font-mono);font-size:12px;letter-spacing:1px;color:var(--muted);font-weight:400;padding:12px 14px;border-bottom:1px solid var(--line)}table.tbl td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
