:root{--cream:#f3eee4;--ink:#2e2c2a;--stone:#d9d3c7;--gold:#d4a548;--red:#9e4a3a;--green:#6b7a4b;--panel:#f3eee4f0;--drawer-w:min(460px, 60vw)}html,body,#root{background:var(--cream);height:100%;margin:0;overflow:hidden}body{color:var(--ink);font-family:-apple-system,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:13px}.world{position:fixed;inset:0}.world-labels{pointer-events:none;position:absolute;inset:0}.island-label{border:1px solid var(--ink);background:var(--panel);white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:12px}.island-label.selected{background:var(--ink);color:var(--cream)}.speech-bubble{border:1px solid var(--ink);background:var(--cream);max-width:220px;color:var(--ink);white-space:normal;overflow-wrap:anywhere;text-align:center;border-radius:4px;margin-bottom:9px;padding:4px 9px;font-size:13px;line-height:1.35;position:relative}.speech-bubble:after{content:"";left:var(--tail,50%);background:inherit;border-right:inherit;border-bottom:inherit;width:9px;height:9px;position:absolute;bottom:-6px;transform:translate(-50%)rotate(45deg)}.speech-bubble.said-white{background:#fff}.speech-bubble.said-black{background:var(--ink);color:var(--cream);border-color:var(--cream)}.speech-bubble.challenge{border:2px solid var(--gold);font-weight:600}.hud{pointer-events:none;z-index:50;position:fixed;inset:0}.hud>*,.hud-body>*{pointer-events:auto}.hud-body{pointer-events:none;position:absolute;inset:0}.topbar{z-index:1;box-sizing:border-box;pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex;position:absolute;top:0;left:0;right:0}.topbar .account{pointer-events:auto}.hud:has(.drawer) .topbar{right:var(--drawer-w)}.banner{color:#2e2c2a8c;font-size:12px;line-height:1.5}.banner-sub{color:#2e2c2a66}.account{align-items:center;gap:8px;display:flex}.server-down{background:var(--red);color:var(--cream);border-radius:3px;margin-top:6px;padding:4px 10px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn{font:inherit;background:var(--cream);color:var(--ink);border:1px solid var(--ink);cursor:pointer;border-radius:4px;padding:5px 10px;text-decoration:none}.btn:hover:not(:disabled),.btn.on{background:var(--ink);color:var(--cream)}.btn:disabled{opacity:.4;cursor:default}.mono{font-family:ui-monospace,Consolas,monospace}input,textarea{font:inherit;border:1px solid var(--ink);color:var(--ink);background:#fffdf8;border-radius:4px;padding:5px 8px}textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:54px}.chip{border:1px solid var(--ink);border-radius:10px;padding:2px 8px;font-size:12px}.dim{opacity:.65;font-size:12px}.drawer{width:var(--drawer-w);box-sizing:border-box;background:var(--panel);border-left:1px solid var(--ink);padding:12px 16px 24px;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.drawer h2{margin:4px 0 10px;font-size:16px}.drawer h2 small{opacity:.7;font-weight:400}.drawer h3{margin:14px 0 6px;font-size:13px}.seats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.seat{border:1px solid var(--ink);border-radius:4px;flex-direction:column;gap:4px;padding:8px;display:flex}.seat.turn{outline:2px solid var(--gold)}.seat.empty{border-style:dashed}.seat-color{opacity:.8;font-size:12px}.seat-name{font-size:14px;font-weight:600}.stack{margin:4px 0 0;padding-left:22px;font-size:12px}.gauge{border:1px solid var(--ink);border-radius:4px;height:24px;margin-top:10px;position:relative;overflow:hidden}.gauge-fill{background:var(--stone);transition:width .1s linear;position:absolute;inset:0 auto 0 0}.gauge span{padding-left:8px;font-size:12px;line-height:24px;position:relative}.gauge.urgent .gauge-fill{background:var(--red);animation:.5s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.4}}.stamp{border:3px double var(--red);color:var(--red);text-align:center;border-radius:4px;margin-bottom:10px;padding:10px}.stamp-text{letter-spacing:.08em;font-size:20px;font-weight:800}.radio{align-items:center;gap:4px;font-size:12px;display:flex}.notice{word-break:break-word;border-radius:4px;margin-top:10px;padding:6px 8px;font-size:12px}.notice.ok{border:1px solid var(--green)}.notice.error{border:1px solid var(--red);color:var(--red)}.record{border:1px solid var(--stone);white-space:pre-wrap;word-break:break-word;background:#fffdf8;border-radius:4px;max-height:320px;margin:0;padding:8px;font-size:11px;overflow:auto}.btn.small{padding:2px 7px;font-size:12px}.board-section{margin-top:12px}.goban{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.goban-line line{stroke:var(--ink);stroke-width:.8px}.goban-label{fill:var(--ink);opacity:.7;text-anchor:middle;font-size:8px}.goban-star,.stone-b{fill:var(--ink)}.stone-w{fill:#fbf8f1;stroke:var(--ink);stroke-width:.8px}.mark-on-b,.mark-on-w{fill:none;stroke-width:1.6px}.mark-on-b{stroke:var(--cream)}.mark-on-w{stroke:var(--ink)}.ghost{opacity:.35;pointer-events:none}.picked{opacity:.75;pointer-events:none;stroke:var(--gold);stroke-width:2px}.hit{fill:#0000;cursor:pointer}.hit.blocked{cursor:not-allowed}.chessboard{aspect-ratio:1;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:relative}.chess-surface{width:100%;height:100%;position:absolute;inset:0}.chess-surface.flipped{transform:rotate(180deg)}.sq{aspect-ratio:1;cursor:pointer;border:0;min-height:0;padding:0;font-size:clamp(18px,4.2vw,34px);line-height:1;position:relative}.sq:disabled{cursor:default;color:inherit}.sq.light,.sq.dark{background:0 0}.sq.last{box-shadow:inset 0 0 0 100px #d4a54859}.sq.from{box-shadow:inset 0 0 0 3px var(--gold)}.sq.target:after{content:"";background:#2e2c2a59;border-radius:50%;position:absolute;inset:38%}.sq.picked{box-shadow:inset 0 0 0 3px var(--red)}.pc{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.coord{opacity:.6;color:var(--ink);font-size:9px;position:absolute}.sq.dark .coord{color:#fbf8f1}.coord.rank{top:2px;left:3px}.coord.file{bottom:2px;right:3px}.promo{align-items:center;gap:6px;margin-top:6px;display:flex}.promo .btn{width:40px;height:40px;padding:2px;position:relative}.rec-head h3{margin:0 4px 0 0}.rec-head{margin:14px 0 6px}.rec{border:1px solid var(--stone);background:#fffdf8;border-radius:4px;max-height:340px;overflow:auto}.rec-move{cursor:pointer;border-bottom:1px solid #efe9dd;padding:4px 8px}.rec-move:hover{background:#f6f0e3}.rec-move.viewing{background:#f1e3c2}.rec-line{align-items:baseline;gap:8px;font-size:12px;display:flex}.rec-ply{text-align:right;opacity:.55;width:26px}.rec-color{opacity:.7}.rec-comment{white-space:pre-wrap;word-break:break-word;margin:2px 0 0 34px;font-size:12px}.rec-challenge{border:2px solid var(--gold);white-space:pre-wrap;word-break:break-word;background:#fbf3df;border-radius:4px;margin:4px 0 2px 34px;padding:4px 8px;font-size:12px}.drawer a{cursor:pointer;text-decoration:underline}.gate{z-index:200;pointer-events:auto;background:linear-gradient(#f3eee400 45%,#f3eee48c);justify-content:center;align-items:flex-end;padding-bottom:12vh;display:flex;position:fixed;inset:0}.gate-panel{background:var(--panel);border:1px solid var(--ink);flex-direction:column;gap:10px;width:min(420px,92vw);padding:22px 24px;display:flex}.gate-title{letter-spacing:.2em;font-size:22px}.gate-sub{opacity:.75}.gate-step{flex-direction:column;gap:10px;display:flex}.gate-step input{flex:1}.gate-warn{line-height:1.6}.gate-error{color:var(--red)}.btn.wide{width:100%}.btn.ghost{opacity:.7;align-self:flex-start}.btn.dive{padding:10px 18px;font-size:15px;position:absolute;bottom:8vh;left:50%;transform:translate(-50%)}:is(.drawer~.btn.dive,.hud-body:has(.drawer) .btn.dive){left:calc((100% - var(--drawer-w)) / 2)}.sanding{animation:1.6s ease-in forwards sand-wipe;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000 0% 40%,#000 60% 100%);mask-image:linear-gradient(90deg,#0000 0% 40%,#000 60% 100%);-webkit-mask-size:300% 100%;mask-size:300% 100%}.sanding:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#d4a54800 53%,#d4a548e6 59%,#d4a54800 65%,#0000 100%) 0 0/300% 100%;animation:1.6s ease-in forwards sand-band;position:absolute;inset:0}@keyframes sand-wipe{0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}@keyframes sand-band{0%{background-position:100% 0}to{background-position:0 0}}.receipt-slip{align-items:flex-end;gap:8px;animation:.6s cubic-bezier(.2,.9,.3,1.15) both slip-in;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.hud-body:has(.drawer) .receipt-slip{left:calc((100% - var(--drawer-w)) / 2)}@keyframes slip-in{0%{opacity:0;transform:translate(-50%,120px)rotate(-9deg)}}.receipt-paper{border:1px solid var(--ink);background:var(--cream);cursor:pointer;transform-origin:bottom;padding:0;transition:transform .25s;display:block;transform:rotate(-3deg);box-shadow:0 4px 14px #2e2c2a59}.receipt-paper img{width:132px;display:block}.receipt-paper:hover{z-index:2;transform:rotate(0)scale(2.6)}.receipt-actions{gap:6px;display:flex}.receipt-actions .btn:first-child{border:2px solid var(--gold)}.walker-name{color:var(--cream);white-space:nowrap;pointer-events:none;background:#2e2c2ab8;border-radius:3px;padding:1px 7px;font-size:12px}.gear-tip{border:1px solid var(--ink);background:var(--cream);color:var(--ink);white-space:nowrap;pointer-events:none;border-radius:4px;padding:4px 9px;font-size:13px}.taken{flex-wrap:wrap;align-items:center;gap:1px;margin:2px 0;font-size:12px;display:flex}.taken img{width:18px;height:18px}.taken-stone{border:1px solid var(--ink);border-radius:50%;width:11px;height:11px;margin-right:4px;display:inline-block}.taken-stone.b{background:var(--ink)}.taken-stone.w{background:#fbf8f1}.board-wrap{position:relative}.move-bubble{z-index:5;box-sizing:border-box;border:1px solid var(--ink);background:var(--cream);border-radius:6px;width:260px;padding:6px 8px;position:absolute;box-shadow:0 3px 10px #2e2c2a40}.move-bubble:after{content:"";left:var(--tail,50%);background:inherit;border-right:inherit;border-bottom:inherit;width:10px;height:10px;position:absolute;bottom:-6px;transform:translate(-50%)rotate(45deg)}.move-bubble.below:after{top:-6px;bottom:auto;transform:translate(-50%)rotate(225deg)}.move-bubble.challenged{border:2px solid var(--red)}.move-bubble .row{align-items:center;gap:6px}.move-bubble input{flex:1;min-width:0}.bubble-move{white-space:nowrap;font-weight:700}.bubble-q{color:var(--red);margin-bottom:4px;font-size:12px}.board-buttons{gap:6px;margin-top:6px}.prompt{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:24vh;left:50%;transform:translate(-50%)}.hud-body:has(.drawer) .prompt{left:calc((100% - var(--drawer-w)) / 2)}.prompt-main{border:2px solid var(--gold);padding:10px 18px;font-size:15px}.prompt-why{background:#f3eee4d9;border-radius:3px;padding:2px 8px;font-size:12px}.prompt-jukbi{border:2px solid var(--gold);background:var(--cream);border-radius:6px;width:250px;padding:8px}.prompt-jukbi .row{flex-wrap:wrap;justify-content:flex-end}.prompt-jukbi input{width:100%}.prompt-shop{border:2px solid var(--gold);background:var(--cream);text-align:center;border-radius:6px;align-items:stretch;width:270px;padding:10px 12px}.shop-title{font-size:15px;font-weight:600}.shop-what{font-size:12px;line-height:1.5}.shop-bundles{grid-template-columns:1fr 1fr;gap:6px;margin:4px 0;display:grid}.prompt-shop .prompt-why{background:0 0}.gate-consent{opacity:.8;font-size:12px;line-height:1.5}.link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.btn.danger:not(:disabled){border-color:var(--red);color:var(--red)}.legal-veil{z-index:300;pointer-events:auto;background:#2e2c2a40;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.legal-panel{background:var(--panel);border:1px solid var(--ink);flex-direction:column;width:min(680px,94vw);max-height:86vh;display:flex}.legal-tabs{border-bottom:1px solid var(--ink);gap:6px;padding:10px 12px;display:flex}.legal-body{padding:4px 22px 18px;overflow-y:auto}.legal-doc h2{letter-spacing:.1em;font-size:18px}.legal-doc h3{margin:18px 0 6px;font-size:14px}.legal-doc p{margin:0 0 6px;font-size:13px;line-height:1.65}.legal-blank{color:#9e2a1a;background:#f6d9d2;border:1px dashed #9e2a1a;padding:0 3px;font-weight:700}html:has(.legal-page){height:auto;overflow:auto}html:has(.legal-page) body{height:auto;overflow:auto}html:has(.legal-page) #root{height:auto;overflow:auto}.legal-page{max-width:720px;margin:0 auto;padding:24px 20px 64px}.legal-page-head{justify-content:space-between;align-items:center;display:flex}.legal-page-head a{color:inherit;letter-spacing:.2em}.legal-page .legal-doc+div+.legal-doc{border-top:1px solid var(--stone);margin-top:40px}.gate-inapp{border:2px solid var(--gold);background:#fbf3df;flex-direction:column;gap:8px;padding:10px 12px;line-height:1.5;display:flex}.gate-inapp a.btn{box-sizing:border-box;text-align:center;color:inherit;text-decoration:none}
