:root{--stage:#f6c445;--stage-deep:#e5ae1f;--board:#fff;--marker:#000;--ink:#1d1c1a;--muted:#5e5a52;--line:#1d1c1a;--maru:#e2342b;--batsu:#1f4fd1;--paper:#fff8e6;--r-board:6px;--r-btn:999px;--font-telop:var(--f-telop), "Hiragino Sans", sans-serif;--font-marker:var(--f-marker), "Hiragino Maru Gothic ProN", sans-serif;--font-body:var(--f-body), "Hiragino Sans", "Yu Gothic", sans-serif}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--stage);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.7}a{color:inherit}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--batsu);outline-offset:2px}.wrap{width:100%;max-width:560px;margin:0 auto;padding:0 16px}.top{justify-content:space-between;align-items:center;padding:14px 0;display:flex}.logo{font-family:var(--font-telop);letter-spacing:.02em;font-size:22px;text-decoration:none}.langs{gap:12px;font-size:14px;display:flex}.langs a[aria-current=true]{font-weight:700;text-decoration:none}.telop{background:var(--ink);color:#fff;font-family:var(--font-telop);margin:0 -16px;padding:14px 16px;font-size:clamp(22px,6vw,30px);line-height:1.35}.telop small{font-family:var(--font-body);color:#e9e3d3;margin-bottom:4px;font-size:13px;line-height:1.4;display:block}.boards{perspective:900px;grid-template-columns:1fr 1fr;gap:12px;display:grid}.flip{aspect-ratio:3/4;position:relative}.flip .face{border-radius:var(--r-board);backface-visibility:hidden;flex-direction:column;transition:transform .55s cubic-bezier(.2,.8,.25,1);display:flex;position:absolute;inset:0}.flip .front{background:var(--board);border:3px solid var(--line);padding:10px;transform:rotateY(180deg)}.flip .back{background:var(--stage-deep);border:3px solid var(--line);font-family:var(--font-telop);text-align:center;justify-content:center;align-items:center;padding:10px;font-size:15px}.flip.open .front{transform:rotateY(0)}.flip.open .back{transform:rotateY(-180deg)}.flip .who{border-bottom:2px solid var(--line);margin-bottom:6px;padding-bottom:4px;font-size:13px;font-weight:700}.flip .ans{text-align:center;font-family:var(--font-marker);color:var(--marker);word-break:break-word;flex:1;justify-content:center;align-items:center;padding-bottom:28px;font-size:clamp(22px,7vw,34px);line-height:1.25;display:flex}.flip .ready{font-family:var(--font-body);font-size:13px;font-weight:700}@media (prefers-reduced-motion:reduce){.flip .face{transition:none}}.stamp{text-align:center;height:0;position:relative}.stamp span{font-family:var(--font-telop);background:var(--paper);white-space:nowrap;border:5px solid;border-radius:14px;padding:8px 16px;font-size:40px;line-height:1;animation:.28s cubic-bezier(.3,1.6,.5,1) both stamp;position:absolute;top:-58px;left:50%;transform:translate(-50%)rotate(-8deg)}.stamp.match span{color:var(--maru)}.stamp.close span{color:#b8620b}.stamp.miss span{color:var(--batsu)}@keyframes stamp{0%{opacity:0;transform:translate(-50%)rotate(-8deg)scale(2.2)}to{opacity:1;transform:translate(-50%)rotate(-8deg)scale(1)}}@media (prefers-reduced-motion:reduce){.stamp span{animation:none}}.countdown{z-index:20;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.countdown b{font-family:var(--font-telop);color:var(--ink);background:var(--paper);border:5px solid var(--ink);border-radius:24px;padding:6px 28px;font-size:clamp(80px,28vw,160px)}.btn{text-align:center;border-radius:var(--r-btn);border:3px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;min-height:52px;box-shadow:0 4px 0 var(--ink);justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:17px;font-weight:700;line-height:1.2;text-decoration:none;transition:transform 60ms,box-shadow 60ms;display:inline-flex}.btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.btn.light{background:var(--board);color:var(--ink)}.btn.red{background:var(--maru);border-color:var(--ink)}.btn.small{min-height:40px;box-shadow:0 3px 0 var(--ink);padding:0 14px;font-size:14px}.btn[disabled]{opacity:.45;cursor:default}.btn.block{width:100%}.field{margin:0 0 14px;display:block}.field span{margin-bottom:4px;font-size:14px;font-weight:700;display:block}.input{border:3px solid var(--ink);background:var(--board);border-radius:10px;width:100%;min-height:54px;padding:0 14px;font-size:20px}.input.marker{font-family:var(--font-marker);text-align:center;font-size:26px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--ink);background:var(--board);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:15px;font-weight:700}.chip.any{background:var(--ink);color:#fff}.opts{gap:10px;display:grid}.opt{border:3px solid var(--ink);background:var(--board);min-height:56px;font-family:var(--font-marker);cursor:pointer;border-radius:10px;font-size:22px}.opt[aria-pressed=true]{background:var(--ink);color:#fff}.panel{background:var(--paper);border:3px solid var(--ink);border-radius:16px;padding:18px 16px}.code{font-family:var(--font-telop);letter-spacing:.18em;text-align:center;margin:6px 0 12px;font-size:56px;line-height:1.1}.note{color:var(--muted);font-size:14px}.err{background:var(--board);border-left:6px solid var(--maru);margin:12px 0;padding:10px 12px;font-size:15px}.scorebar{justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;font-weight:700;display:flex}.scorebar .maru{color:var(--maru);font-family:var(--font-telop);font-size:20px}.stack>*+*{margin-top:16px}.row{flex-wrap:wrap;gap:10px;display:flex}.center{text-align:center}.dot{vertical-align:middle;background:#2f9e44;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.dot.off{background:#9c9688}.hero h1{font-family:var(--font-telop);letter-spacing:-.01em;white-space:pre-line;text-wrap:balance;margin:18px 0 10px;font-size:clamp(34px,10vw,54px);font-weight:400;line-height:1.15}.hero p{max-width:30em;margin:0 0 20px;font-size:17px}.demo{margin:24px 0 8px}.how{counter-reset:s;margin:0;padding:0;list-style:none}.how li{counter-increment:s;border-top:2px solid var(--ink);grid-template-columns:40px 1fr;align-items:start;gap:10px;padding:10px 0;display:grid}.how li:before{content:counter(s);font-family:var(--font-telop);font-size:26px;line-height:1.2}.foot{color:var(--muted);padding:28px 0 40px;font-size:13px}.history{margin:0;padding:0;font-size:15px;list-style:none}.history li{border-top:1px solid var(--ink);justify-content:space-between;padding:8px 0;display:flex}h2{font-family:var(--font-telop);margin:0 0 10px;font-size:24px;font-weight:400;line-height:1.3}.legal h2{margin-top:28px}.legal p,.legal li{font-size:15px}.stamp+*{margin-top:44px}.courses{gap:10px;display:grid}.course{text-align:left;border:3px solid var(--ink);background:var(--board);cursor:pointer;box-shadow:0 3px 0 var(--ink);border-radius:12px;padding:12px 14px}.course b{font-family:var(--font-telop);font-size:20px;font-weight:400;line-height:1.3;display:block}.course span{color:var(--muted);font-size:14px}.course:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.headline{font-family:var(--font-telop);font-size:clamp(30px,9vw,44px);line-height:1.2}.rank{margin-top:4px;font-size:17px;font-weight:700}.boards.talk{grid-template-columns:1fr}.boards.talk .flip{aspect-ratio:auto;min-height:180px}.boards.talk .flip .ans{font-family:var(--font-body);text-align:left;justify-content:flex-start;align-items:flex-start;padding-bottom:6px;font-size:17px;line-height:1.6;overflow-y:auto}.flip .ans.long{text-align:left;align-items:flex-start;padding-bottom:8px;font-size:clamp(14px,3.8vw,17px);line-height:1.5;overflow-y:auto}.input.talk{resize:vertical;min-height:120px;padding:12px 14px;font-size:17px;line-height:1.6}.chip.lock,.course.lock{opacity:.75}.chip em,.course b em{font-style:normal;font-family:var(--font-body);vertical-align:2px;border:1.5px solid;border-radius:4px;margin-left:6px;padding:0 4px;font-size:11px;font-weight:700}.unlock h2{font-size:22px}.legal-table{border-collapse:collapse;width:100%;font-size:14px}.legal-table th,.legal-table td{text-align:left;vertical-align:top;border-top:1px solid var(--ink);padding:8px 6px}.legal-table th{width:34%;font-weight:700}.qh1{font-family:var(--font-telop);text-wrap:balance;margin:12px 0 0;font-size:clamp(30px,8vw,44px);font-weight:400;line-height:1.2}.qlist{margin:0;padding-left:1.6em}.qlist li{border-top:1px solid var(--ink);padding:8px 0;font-size:17px}.qopts{color:var(--muted);font-size:14px;display:block}.faq{margin:0}.faq div{border-top:2px solid var(--ink);padding:10px 0}.faq dt{font-weight:700}.faq dd{margin:4px 0 0}.qlinks{margin:0;padding-left:1.2em}.qlinks li{padding:4px 0}.kicker{font-family:var(--font-telop);margin:18px 0 0;font-size:20px}.hero .kicker+h1{margin-top:6px}.steps,.tips{margin:0;padding-left:1.4em}.steps li,.tips li{padding:4px 0}
