:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f6f0e4;--card:#fffaf0;--ink:#2b2622;--muted:#6d6358;--accent:#7f2a22;--line:#d8ccb6;--wall:#3a322b;--danger:#b3261e;color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%;font-family:ui-rounded,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--paper);overscroll-behavior-y:none;margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}h1,h2,h3{margin:0;font-family:Georgia,Times New Roman,serif}h2{font-size:1.25rem}p{margin:0}.muted{color:var(--muted);font-size:.875rem}.primary{background:var(--accent);color:#fff;border:0;border-radius:10px;min-height:44px;padding:12px 18px;font-weight:600}.link{color:var(--accent);background:0 0;border:0;min-height:44px;padding:10px 4px;font-weight:600}.center{place-content:center;justify-items:center;gap:16px;min-height:100dvh;padding:16px;display:grid}.spinner{font-size:3rem;animation:1s ease-in-out infinite alternate bob}@keyframes bob{to{transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.home{max-width:520px;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));gap:28px;margin:0 auto;display:grid}.masthead{text-align:center;gap:4px;display:grid}.masthead-icon{font-size:3rem;line-height:1.2}.masthead h1{color:var(--accent);font-size:2.25rem}section{gap:10px;display:grid}.levels{grid-template-columns:1fr 1fr;gap:10px;display:grid}.level{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;align-content:start;gap:2px;min-height:92px;padding:12px;display:grid}.level strong{font-family:Georgia,serif;font-size:1.125rem}.level span{color:var(--muted);font-size:.8125rem}.level em{color:var(--accent);font-size:.8125rem;font-style:normal;font-weight:600}.free{gap:10px;display:flex}.free select{min-height:44px;font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;flex:1;padding:0 10px}.home footer{justify-content:space-between;align-items:center;display:flex}.game{max-width:980px;padding:env(safe-area-inset-top) 16px max(16px, env(safe-area-inset-bottom));margin:0 auto}.bar{justify-content:space-between;align-items:center;display:flex}.game{flex-direction:column;height:100dvh;display:flex}.layout{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.board-column{flex:none;align-content:start;gap:8px;display:grid}.board{grid-template-columns:16px repeat(var(--n), minmax(0, 1fr));width:100%;max-width:520px;margin:0 auto;display:grid}.axis{color:var(--muted);place-items:center;min-height:16px;font-size:.6875rem;font-weight:600;display:grid}.cell{aspect-ratio:1;color:var(--ink);border:0;border-top:1px solid #0000001a;border-left:1px solid #0000001a;place-items:center;padding:0;font-size:clamp(1rem,5.2vw,1.5rem);display:grid;position:relative;overflow:visible}.cell.wall-right{border-right:3px solid var(--wall)}.cell.wall-bottom{border-bottom:3px solid var(--wall)}.cell.wall-top{border-top:3px solid var(--wall)}.cell.wall-left{border-left:3px solid var(--wall)}.cell.ruled:after{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#2b262221 0 2px,#0000 2px 7px);position:absolute;inset:0}.cell.blocked{cursor:default}.cell:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:3}.room0{background:#f7d9c4}.room1{background:#cfe3d4}.room2{background:#d5dcf0}.room3{background:#f3e6ae}.room4{background:#e6d3ea}.room5{background:#c9e4e6}.room6{background:#f2cfd4}.room7{background:#dcd7c6}.room-name{z-index:2;pointer-events:none;white-space:nowrap;color:#2b2622bf;letter-spacing:.01em;font-size:9px;font-weight:700;position:absolute;top:1px;left:3px}.furniture{line-height:1}.furniture.under{z-index:2;font-size:.6em;position:absolute;bottom:1px;right:1px}.mark{color:var(--muted);font-size:.8em;font-weight:700}.placed{border-radius:50%;place-items:center;display:grid}.placed.picked{box-shadow:0 0 0 3px var(--ink)}.placed.conflict{box-shadow:0 0 0 3px var(--danger)}.token{color:#fff;border-radius:50%;flex:none;place-items:center;width:1.5em;height:1.5em;font-size:.75em;font-weight:700;line-height:1;display:inline-grid}.token.victim{box-shadow:inset 0 0 0 1px var(--line);background:#fff;font-size:.8em}.p0{background:#b3261e}.p1{background:#1f6f43}.p2{background:#2b4fa8}.p3{background:#8a4b08}.p4{background:#6f2c91}.p5{background:#0b6b78}.p6{background:#a3195b}.p7{background:#4a4a4a}.actions{justify-content:center;gap:10px;display:flex}.actions button{background:var(--card);border:1px solid var(--line);border-radius:10px;min-height:40px;padding:0 16px}.actions button:disabled{color:var(--muted);opacity:.6;cursor:default}.warning{text-align:center;color:var(--danger);font-size:.9375rem;font-weight:600}.clues{-webkit-overflow-scrolling:touch;flex:1;align-content:start;gap:6px;min-height:0;margin:0;padding:2px;list-style:none;display:grid;overflow-y:auto}.clue{text-align:left;background:var(--card);width:100%;min-height:48px;box-shadow:0 0 0 1px var(--line);border:2px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.clue .token{font-size:1.05rem}.clue.selected{border-color:var(--ink)}.clue.done .clue-text{color:var(--muted)}.clue.general{font-style:italic}.clue-text{gap:2px;font-size:.9375rem;line-height:1.3;display:grid}.overlay{z-index:10;background:#2b26228c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sheet{background:var(--card);border-radius:16px;gap:12px;width:min(100%,460px);max-height:calc(100dvh - 32px);padding:20px;display:grid;overflow:auto}.sheet ol{gap:6px;margin:0;padding-left:20px;display:grid}.result{text-align:center;justify-items:center}@media (width>=860px){.game{height:auto;min-height:100dvh;display:block}.layout{grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.clues{overflow:visible}.cell{font-size:1.6rem}.room-name{font-size:11px}}.account-bar{justify-content:flex-end;align-items:center;gap:12px;min-height:44px;margin-bottom:-20px;display:flex}.form label{gap:4px;font-size:.9375rem;font-weight:600;display:grid}.form input{font:inherit;min-height:44px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 10px;font-size:1rem;font-weight:400}.form .primary:disabled{opacity:.7}.tabs{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.tabs button{border:1px solid var(--line);background:var(--card);border-radius:10px;min-height:40px;padding:0 4px;font-size:.875rem}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.board-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.board-list li{background:var(--card);min-height:40px;box-shadow:0 0 0 1px var(--line);border-radius:10px;align-items:center;gap:10px;padding:0 12px;display:flex}.board-list li.me{box-shadow:0 0 0 2px var(--accent);font-weight:600}.board-list .rank{width:1.5em;color:var(--muted)}.board-list .who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}
