:root{--paper:#fff;--ink:#222;--muted:#747474;--line:#ebebeb;--orange:#e64a28;--green:#277553;--surface:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.skip{position:absolute;top:-80px;left:16px;background:var(--ink);color:#fff;padding:12px;z-index:10}.skip:focus{top:8px}.header{max-width:448px;margin:auto;padding:22px 16px 0;display:flex;align-items:center;justify-content:space-between}.brand{font-size:17px;font-weight:800;letter-spacing:-.04em}.text-button{border:0;padding:0 3px;background:none;color:var(--muted);font-size:14px;min-height:44px}.text-button:hover:not(:disabled){color:var(--ink)}main{max-width:448px;margin:auto;padding:0 16px}.play-page{padding-top:24px}.room-index{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.game-heading h1{font-size:26px;line-height:1.35;letter-spacing:-.055em;margin:10px 0 7px;font-weight:700}.game-heading p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.game-heading{margin-bottom:18px}#board{display:block;width:100%;height:auto;aspect-ratio:1;background:#fff;touch-action:pan-y}.directions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}.directions button{padding:0;white-space:nowrap;min-width:0;min-height:52px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:14px;display:flex;align-items:center;justify-content:center;gap:7px}.directions button span{font-size:19px;line-height:1}.directions button:hover:not(:disabled){background:var(--surface)}.directions button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.directions button:disabled.selected{opacity:1}.result{min-height:64px;padding:18px 0 0;font-size:14px;line-height:1.55}.result strong{font-weight:400;color:var(--muted)}.result.success strong{color:var(--green);font-weight:600}.result.failure strong{color:var(--ink)}.result p{font-size:13px;color:var(--muted);margin:4px 0 0}.result p:empty{display:none}.actions{display:flex;align-items:center;gap:18px;margin-top:10px}.next-button{padding:0 15px;min-height:44px;border:0;border-radius:8px;background:var(--ink);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;gap:12px}.next-button:hover:not(:disabled){background:#444}#next{margin-left:auto}.secondary{margin-top:24px;border-top:1px solid var(--line);padding-top:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:14px}.problem-list summary{min-height:44px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--muted);list-style:none}.problem-list summary::-webkit-details-marker{display:none}.problem-list summary:before{content:'+';font-size:16px;color:var(--ink);width:10px}.problem-list[open] summary:before{content:'−'}.problem-list summary span{font-size:12px;color:var(--muted)}.room-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:8px 0}.room-buttons button{min-height:44px;min-width:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font:inherit;font-size:13px;font-variant-numeric:tabular-nums;position:relative}.room-buttons button.active{border-color:var(--ink);color:var(--ink)}.room-buttons button.solved:after{content:'';position:absolute;right:5px;top:5px;width:4px;height:4px;border-radius:50%;background:var(--green)}.quiet{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0 4px}.share-status{font-size:12px;color:var(--muted);line-height:1.6;margin:0;overflow-wrap:anywhere}.share-status:empty{display:none}footer{max-width:448px;padding:28px 16px 32px;margin:auto;display:flex;gap:20px;font-size:12px;color:var(--muted)}footer a{display:flex;align-items:center;min-height:32px}dialog{max-width:400px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:12px;padding:28px;background:#fff;color:var(--ink)}dialog::backdrop{background:#0005}.dialog-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:0;background:none;font-size:25px;color:var(--muted)}dialog h2{font-size:21px;letter-spacing:-.035em;margin:0 0 22px}dialog ol{padding-left:22px;font-size:14px;line-height:1.85;margin:0}dialog p{font-size:13px;line-height:1.7;color:var(--muted);margin:18px 0}.settings{border-top:1px solid var(--line);padding:10px 0 16px}.motion-option{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;color:var(--muted)}.motion-option input{width:17px;height:17px;accent-color:var(--ink)}dialog .next-button{width:100%}.fatal{padding:18px;border:1px solid var(--orange);font-size:14px;line-height:1.7}.studio-page,.legal-page{max-width:720px}.studio-intro{padding:34px 0 24px}.studio-intro h1,.legal h1{font-size:26px;line-height:1.4;letter-spacing:-.045em;margin:0 0 12px}.studio-intro p,.legal p{font-size:14px;color:var(--muted);line-height:1.8}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.film video{display:block;width:100%;aspect-ratio:9/16;background:var(--surface)}.film-top{font-size:12px;color:var(--muted);margin-bottom:10px}.film h2{font-size:15px;line-height:1.6;font-weight:500}.film a{display:inline-flex;align-items:center;min-height:40px;font-size:13px;margin-right:14px}.legal{padding:34px 0}.legal h2{font-size:17px;margin-top:28px;line-height:1.5}.legal .updated{font-size:12px;color:var(--muted)}@media(max-width:480px){.header{padding-top:12px}.play-page{padding-top:18px}.game-heading h1{font-size:24px}.game-heading{margin-bottom:12px}.directions{margin-top:12px}.directions button{gap:5px}.film-grid{grid-template-columns:1fr;max-width:330px;margin:auto;gap:32px}footer{padding-top:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:350px){.directions button{font-size:13px;gap:4px}.directions button span{font-size:17px}.actions{gap:12px}.actions .text-button,.next-button{font-size:13px}}
