/* Phase 2.4 repair layer: cache-busted CSS for crossword variety, true subword unscrambler and rebuilt mystery rooms. */
.crossword-area{grid-template-columns:minmax(280px,auto) minmax(260px,1fr);align-items:start;gap:28px;overflow:visible}
.crossword-grid{justify-self:start;max-width:100%;box-shadow:0 18px 34px rgba(0,0,0,.28)}
.cw-cell{min-width:0}.cw-cell.block{background:repeating-linear-gradient(135deg,#020617 0 10px,#1e293b 10px 20px)}
.plain-clues{gap:10px}.plain-clues li{grid-template-columns:24px 1fr}.plain-clues small{color:#94a3b8;font-weight:800;margin-left:4px}
@media(max-width:1050px){.crossword-area{grid-template-columns:1fr}.crossword-grid{justify-self:center}.clues{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.clues{grid-template-columns:1fr}.crossword-grid{width:min(94vw,420px)!important}}

/* Mystery Rooms v2.4 */
.pv4-stage{position:relative;min-height:430px;aspect-ratio:16/10;border-radius:22px;overflow:hidden;border:1px solid rgba(148,163,184,.28);background:#07111f;box-shadow:0 24px 60px rgba(0,0,0,.38)}
.pv4-stage svg{position:absolute;inset:0;width:100%;height:100%;display:block}.pv4-label{font:700 13px ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;fill:#dbeafe}.pv4-small{font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;fill:#86efac}.pv4-room-note{font:800 11px ui-sans-serif,system-ui;fill:#fde68a}.pv4-hit{position:absolute;border:0;background:rgba(245,158,11,.001);cursor:pointer;border-radius:16px;color:transparent;z-index:3}.pv4-hit:hover{outline:3px solid rgba(245,158,11,.85);outline-offset:4px;background:rgba(245,158,11,.12)}.pv4-hit.revealed{outline:2px solid rgba(250,204,21,.55);outline-offset:3px;background:rgba(250,204,21,.08)}
.pv4-badge{position:absolute;z-index:4;width:46px;height:46px;border-radius:999px;background:#facc15;color:#111827;display:grid;place-items:center;font-size:1.35rem;font-weight:1000;box-shadow:0 0 32px rgba(250,204,21,.62);transform:translate(-50%,-50%);pointer-events:none}.pv4-badge.word{width:auto;min-width:62px;padding:0 12px;font-size:.95rem}.pv4-safe{position:absolute;border:0;cursor:pointer;background:rgba(34,197,94,.001);border-radius:12px;z-index:3;color:transparent}.pv4-safe:hover,.pv4-portal:hover{outline:3px solid rgba(34,197,94,.82);outline-offset:4px;background:rgba(34,197,94,.09)}.pv4-portal{position:absolute;border:0;cursor:pointer;background:rgba(34,197,94,.001);border-radius:48% 48% 10px 10px;z-index:3;color:transparent}.pv4-portal.open{box-shadow:0 0 65px rgba(34,197,94,.55);background:rgba(34,197,94,.10)}
.room-actions{margin:14px 0;display:grid;gap:12px}.room-actions h3{margin:0}.room-actions p{margin:0;color:#b9d7ff;line-height:1.6}.inline-form{display:flex;gap:10px;align-items:center}.inline-form .input{flex:1;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#0b1220;color:#fff;font-weight:900}.symbol-lock,.dial-row,.frame-row,.panel-row{display:flex;flex-wrap:wrap;gap:10px}.symbol-lock select,.dial-row select{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#0b1220;color:#fff;font-weight:900}.frame-btn,.colour-btn{border:1px solid var(--line);border-radius:14px;padding:12px 16px;background:#162033;color:#fff;font-weight:900;cursor:pointer}.frame-btn.selected{outline:3px solid #facc15;background:#422006}.colour-btn.red{background:#7f1d1d}.colour-btn.amber{background:#92400e}.colour-btn.black{background:#020617}.panel-progress{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);color:#cbd5e1}.reward-pop{position:absolute;left:50%;top:50%;transform:translate(-50%,-42%) scale(.92);width:min(420px,78%);padding:24px;border-radius:22px;border:2px solid rgba(250,204,21,.72);background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(30,41,59,.97));box-shadow:0 28px 80px rgba(0,0,0,.66),0 0 42px rgba(250,204,21,.18);display:grid;place-items:center;text-align:center;gap:9px;opacity:0;pointer-events:none;transition:.22s ease;z-index:9}.reward-pop.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.reward-key-shape{position:relative;width:190px;height:74px;filter:drop-shadow(0 12px 24px rgba(250,204,21,.35))}.key-ring{position:absolute;left:0;top:10px;width:56px;height:56px;border:16px solid #f59e0b;border-radius:50%;box-shadow:inset 0 0 0 10px #0f172a}.key-shaft{position:absolute;left:54px;top:29px;width:112px;height:18px;background:linear-gradient(90deg,#fde68a,#f59e0b);border-radius:999px;transform:rotate(-8deg);transform-origin:left center}.key-tooth{position:absolute;width:18px;height:24px;background:#f59e0b;border-radius:4px}.key-tooth.t1{right:14px;top:25px}.key-tooth.t2{right:0;top:22px;width:16px;height:16px}.reward-pop strong{font-size:1.4rem}.reward-pop span{color:#cbd5e1}.terminal-log{min-height:180px}
@media(max-width:740px){.pv4-stage{min-height:460px}.inline-form{flex-direction:column;align-items:stretch}.pv4-badge{width:38px;height:38px;font-size:1.1rem}.reward-pop{width:86%;padding:18px}}

.build-tag{margin-top:10px;color:#ffe777;font-weight:800}
