:root{--ink: #f4f1ea;--dim: rgba(244, 241, 234, .62);--panel: rgba(18, 17, 22, .78);--line: rgba(244, 241, 234, .16);--accent: #e9a83a;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,-apple-system,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#111014}canvas#view{position:fixed;inset:0;width:100vw;height:100vh;display:block}.hidden{display:none!important}button{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--line);padding:.7em 1.4em;min-width:14em;letter-spacing:.08em;cursor:pointer;transition:background .15s,border-color .15s}button:hover,button:focus-visible{background:#f4f1ea14;border-color:#f4f1ea80;outline:none}button.primary{border-color:#e9a83abf}button:disabled{opacity:.35;cursor:default}.screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:10}.screen .inner{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;max-width:100%}.screen.panel{background:#0a0a0e8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.screen.panel .inner{background:var(--panel);border:1px solid var(--line);padding:2.2rem 2.6rem;min-width:min(30rem,92vw);max-height:92vh;overflow:auto}.buttons{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem}#title{background:radial-gradient(ellipse at center,#0000 30%,#00000073)}h1{font-size:clamp(3.5rem,12vw,8.5rem);font-weight:200;letter-spacing:.42em;margin:0 0 0 .42em;text-shadow:0 0 40px rgba(0,0,0,.35)}h2{font-weight:300;letter-spacing:.3em;margin:0 0 .6rem}.tag{margin:0;letter-spacing:.4em;color:var(--dim)}.foot{margin-top:2rem;font-size:.8rem;color:var(--dim);letter-spacing:.15em}#rooms .grid{display:grid;grid-template-columns:repeat(3,minmax(8rem,1fr));gap:.6rem;margin-bottom:1rem}#rooms .grid button{min-width:0;text-align:left;padding:.8em 1em;display:flex;flex-direction:column;gap:.2em}#rooms .grid button .n{font-size:.75rem;color:var(--dim);letter-spacing:.2em}#rooms .grid button .b{font-size:.75rem;color:var(--accent)}#settings label{display:grid;grid-template-columns:9rem 12rem 3.5rem;align-items:center;gap:.8rem;width:100%}#settings label.check{display:flex;gap:.6rem}#settings output{color:var(--dim);font-variant-numeric:tabular-nums;text-align:right}input[type=range]{accent-color:var(--accent)}#help table{border-collapse:collapse}#help td{padding:.35rem 1rem;border-bottom:1px solid var(--line)}#help td:first-child{color:var(--accent);white-space:nowrap}#help .rules{color:var(--dim);max-width:32rem;line-height:1.6;padding-left:1.2rem}#hud{position:fixed;inset:0;pointer-events:none;z-index:5}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px}#crosshair .dot{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#ffffffd9;box-shadow:0 0 3px #0009}#crosshair .ring{position:absolute;inset:0;border:2px solid var(--c, #fff);border-radius:4px;opacity:0;transform:scale(.6) rotate(45deg);transition:opacity .12s,transform .12s;box-shadow:0 0 8px var(--c, #fff)}#crosshair.on .ring{opacity:.95;transform:scale(1) rotate(45deg)}#crosshair.weak .ring{opacity:.3;transform:scale(.8) rotate(45deg);border-style:dashed;box-shadow:none}#prompt{position:absolute;left:50%;top:calc(50% + 34px);transform:translate(-50%);font-size:.85rem;letter-spacing:.12em;color:#ffffffe0;text-shadow:0 1px 3px rgba(0,0,0,.8);white-space:nowrap}#hint{position:absolute;left:50%;bottom:9vh;transform:translate(-50%);max-width:80vw;text-align:center;font-size:1.05rem;letter-spacing:.12em;color:#ffffffeb;text-shadow:0 1px 6px rgba(0,0,0,.85);opacity:0;transition:opacity .6s}#hint.on{opacity:1}#toast{position:absolute;left:50%;bottom:17vh;transform:translate(-50%);font-size:.9rem;letter-spacing:.1em;color:#ffd9c2;text-shadow:0 1px 4px rgba(0,0,0,.9);opacity:0;transition:opacity .25s;white-space:nowrap}#toast.on{opacity:1}#card{position:absolute;left:0;right:0;top:30vh;text-align:center;opacity:0;transition:opacity 1.2s;text-shadow:0 2px 16px rgba(0,0,0,.5)}#card.on{opacity:1}#card .t{font-size:2.6rem;font-weight:200;letter-spacing:.5em;margin-left:.5em}#card .s{margin-top:.6rem;letter-spacing:.35em;color:#ffffffbf}#gravity{position:absolute;right:22px;bottom:20px;display:flex;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:.2em;color:#ffffffb3;text-shadow:0 1px 3px rgba(0,0,0,.8)}#gravity .sw{width:14px;height:14px;border:2px solid var(--c, #fff);transform:rotate(45deg);box-shadow:0 0 6px var(--c, #fff)}#fade{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:20;transition:opacity 1s ease}#fade.on{opacity:1}#fade.black{background:#000}#ending{background:radial-gradient(ellipse at center,#fff0,#0000004d)}#ending .stats{color:var(--dim);letter-spacing:.15em;line-height:1.8;text-align:center}#nogl{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:#111;z-index:50}@media(max-width:600px){#settings label{grid-template-columns:1fr;gap:.2rem}#rooms .grid{grid-template-columns:repeat(2,1fr)}}#clickto{position:absolute;left:50%;top:58%;transform:translate(-50%);padding:.6em 1.4em;border:1px solid var(--line);background:#0a0a0e8c;letter-spacing:.2em;font-size:.9rem;opacity:0;transition:opacity .3s}#clickto.on{opacity:1}#title .inner,#ending .inner{background:radial-gradient(ellipse at center,#0c0c126b,#0c0c122e 55%,#0000 75%);padding:3rem 5rem}
