:root{--bg: #141518;--panel: #1d1f23;--panel-2: #272a30;--ink: #ecebe7;--dim: #9c9fa6;--line: #34373e;--accent: #d9b45a;--cell: #2a2d33;--blue: #4f8ef7;--red: #ef5a6b;--green: #63c58a}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font:15px/1.6 ui-sans-serif,system-ui,-apple-system,Segoe UI,Hiragino Sans,sans-serif}main{max-width:1180px;margin:0 auto;padding:32px 24px 48px}h1{font-size:34px;margin:0 0 8px;letter-spacing:-.01em}h1 span{color:var(--accent);font-weight:600;margin-left:6px}.sub{color:var(--dim);max-width:84ch;margin:0 0 24px}.sub strong{color:var(--ink);font-weight:600}.sub em{color:var(--ink);font-style:normal}.win-t,.sub .win-t{color:#9be3b0}.lose-t,.sub .lose-t{color:#ef6b7b}#wrap{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}.stage{flex:1 1 600px;min-width:0}.side{flex:0 1 380px;min-width:280px}h3{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--dim);font-weight:600;margin:0 0 10px}.controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.controls[hidden]{display:none}.sel{color:var(--dim);font-size:13px;display:inline-flex;gap:6px;align-items:center}.chk{cursor:pointer}select,button,#rowText{font:inherit;font-size:13px;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:5px 10px;cursor:pointer}button:hover,select:hover{border-color:var(--dim)}button.primary{background:var(--accent);color:#1a1407;border-color:var(--accent);font-weight:600}#rowText{cursor:text;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;width:26ch}#rowText.bad{border-color:#ef6b7b}#boardwrap{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;overflow-x:auto}.blue-t,.sub .blue-t{color:var(--blue)}.red-t,.sub .red-t{color:var(--red)}.green-t,.sub .green-t{color:var(--green)}button.add.blue{border-color:var(--blue)}button.add.red{border-color:var(--red)}button.add.green{border-color:var(--green)}#board{width:100%;height:auto;display:block;-webkit-user-select:none;user-select:none}#board .ground{fill:#3a3e46}#board .idx{fill:#6d717a;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;text-anchor:middle}#board .domino{stroke:#0d0e10;stroke-width:1.5;transition:transform .38s ease-in,opacity .38s ease-in;transform-box:fill-box}#board .domino.L{fill:var(--blue)}#board .domino.R{fill:var(--red)}#board .domino.E{fill:var(--green)}#board .domino.falling-W{transform-origin:0% 100%;transform:rotate(-82deg);opacity:.25}#board .domino.falling-E{transform-origin:100% 100%;transform:rotate(82deg);opacity:.25}.editing #board .domino{cursor:pointer}.editing #board .domino:hover{stroke:var(--accent);stroke-width:3}#board .arrow{cursor:pointer}#board .arrow rect{fill:var(--panel-2);stroke:var(--line);stroke-width:1.2}#board .arrow:hover rect{stroke:var(--accent)}#board .arrow text{font:700 13px ui-sans-serif,system-ui,sans-serif;text-anchor:middle;fill:var(--ink);pointer-events:none}#board .arrow.win rect{fill:#e6f6ea;stroke:#2f8a4c}#board .arrow.win text{fill:#1b6b39}#board .arrow.lose rect{fill:#3a3d44;stroke:#ef6b7b}#board .arrow.lose text{fill:#ef8b97}#board .empty{fill:var(--dim);font:14px ui-sans-serif,system-ui,sans-serif;text-anchor:middle}#status{margin-top:10px;color:var(--dim);font-size:14px;min-height:1.6em}#status strong{font-weight:600}#status code{font-size:13px;color:var(--ink)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:18px}.big{font:600 24px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-word}.big.long{font-size:13px;line-height:1.45;max-height:9em;overflow-y:auto}.dim{color:var(--dim)}.small{font-size:12.5px;margin:6px 0 0}.small b{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.verdict{margin:6px 0 0;color:var(--ink)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}#paper ul{list-style:none;margin:0;padding:0;font-size:13px}#paper li{padding:6px 0;border-top:1px solid var(--line)}#paper li:first-child{border-top:0;padding-top:0}#paper .ok{color:#9be3b0;font-weight:700;margin-right:6px}#paper .no{color:#ef6b7b;font-weight:700;margin-right:6px}#paper .info{color:var(--accent);font-weight:700;margin-right:6px}#paper li span.d{color:var(--dim);display:block;font-size:12px}.notes{margin-top:36px;max-width:80ch;color:var(--dim)}.notes h2{color:var(--ink);font-size:18px;margin:24px 0 8px}.notes em{color:var(--ink)}footer{margin-top:36px;color:var(--dim);font-size:13px}footer a,.notes a{color:var(--accent)}
