:root{color:#102047;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e0f2fe;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button:focus-visible{outline-offset:2px;outline:3px solid #0e67ca59}.app-shell{color:#102047;background:linear-gradient(#ffffffe0,#ffffffb8),linear-gradient(135deg,#a7f3d0 0%,#7dd3fc 38%,#fde68a 100%);min-height:100svh;padding:18px}.rotate-prompt{display:none}@media (aspect-ratio<=1) and (width<=1100px){.rotate-prompt{z-index:9999;color:#fff;text-align:center;background:linear-gradient(135deg,#063f91 0%,#0e67ca 100%);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.rotate-prompt-card{gap:12px;max-width:320px;display:grid}.rotate-prompt-icon{font-size:64px;line-height:1}.rotate-prompt h2{margin:0;font-size:22px}.rotate-prompt p{opacity:.9;margin:0;font-size:15px}.app-shell>:not(.rotate-prompt){display:none!important}}.top-bar{color:#fff;background:#063f91;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;max-width:1440px;margin:0 auto 14px;padding:12px 16px;display:flex;box-shadow:0 16px 30px #0c23522e}.brand-lockup,.toolbar{align-items:center;gap:12px;display:flex}.brand-mark{background:#ffffff29;border-radius:8px;place-items:center;width:48px;height:48px;font-size:34px;display:grid}h1,h2,p{margin:0}h1{letter-spacing:0;text-transform:uppercase;white-space:nowrap;font-size:29px;line-height:1}.brand-lockup p{color:#ffffffb8;margin-top:4px;font-size:13px;font-weight:700}.toolbar button{color:#fff;min-height:42px;font:inherit;cursor:pointer;background:#0e67ca;border:0;border-radius:7px;padding:0 16px;font-size:15px;font-weight:800;box-shadow:inset 0 -2px #00000029}.level-control{color:#fff;text-transform:uppercase;background:#ffffff24;border-radius:7px;grid-template-columns:auto minmax(112px,1fr);align-items:center;gap:8px;min-height:42px;padding:0 10px;font-size:13px;font-weight:900;display:grid}.timer-pill{color:#fff;text-transform:uppercase;background:#ffffff24;border-radius:7px;grid-template-columns:auto minmax(54px,auto);align-items:center;gap:8px;min-height:42px;padding:0 12px;font-size:13px;font-weight:900;display:grid}.timer-pill strong{font-variant-numeric:tabular-nums;font-size:16px;line-height:1}.level-control select{color:#0b2761;min-height:30px;font:inherit;text-transform:capitalize;cursor:pointer;background:#fff;border:0;border-radius:6px;padding:0 26px 0 10px}.toolbar button:hover,.toolbar button:focus-visible{background:#1477e8}.toolbar button:disabled{cursor:not-allowed;opacity:.46}.toolbar button:disabled:hover,.toolbar button:disabled:focus-visible{background:#0e67ca}.toolbar .primary-action{background:#159447}.toolbar .primary-action:hover,.toolbar .primary-action:focus-visible{background:#18a955}.confirmation-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0714307a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirmation-dialog{color:#102047;background:#fff;border:1px solid #0e67ca2e;border-radius:8px;grid-template-columns:auto 1fr;gap:14px;width:min(100%,420px);padding:18px;display:grid;box-shadow:0 28px 60px #0c235257}.confirmation-mark{background:#eaf3ff;border-radius:8px;place-items:center;width:50px;height:50px;font-size:32px;display:grid}.confirmation-copy{min-width:0}.confirmation-copy h2{color:#0b2761;letter-spacing:0;text-transform:uppercase;margin-bottom:7px;font-size:20px;line-height:1.1}.confirmation-copy p{color:#42526e;font-size:15px;font-weight:700;line-height:1.35}.confirmation-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.confirmation-actions button{color:#fff;min-height:42px;font:inherit;cursor:pointer;border:0;border-radius:7px;padding:0 16px;font-size:15px;font-weight:900;box-shadow:inset 0 -2px #00000029}.confirmation-actions .secondary-action{background:#64748b}.confirmation-actions .secondary-action:hover,.confirmation-actions .secondary-action:focus-visible{background:#526178}.confirmation-actions .danger-action{background:#dc2626}.confirmation-actions .danger-action:hover,.confirmation-actions .danger-action:focus-visible{background:#b91c1c}.game-layout{grid-template-columns:minmax(900px,1fr) minmax(300px,360px);gap:14px;max-width:1440px;margin:0 auto;display:grid}.board-panel,.panel-section{background:#fffffff0;border-radius:8px;box-shadow:0 16px 32px #0c235224}.board-column{flex-direction:column;gap:14px;min-width:0;display:flex}.board-panel{padding:12px;overflow-x:auto}.category-row{grid-template-columns:repeat(var(--position-count), minmax(116px, 1fr));gap:10px;min-width:746px;display:grid}.category-row+.category-row{margin-top:10px}.candidate-cell{background:#fff;border:1px solid #d9e1ec;border-radius:7px;grid-template-columns:repeat(3,1fr);gap:0;min-height:96px;padding:0;display:grid;overflow:hidden}.candidate-cell.has-selection{grid-template-columns:1fr;padding:0}.candidate-token{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#f8fbff;border:1px solid #d7dfeb;border-radius:0;place-items:center;min-width:0;min-height:48px;transition:background .16s,border-color .16s,opacity .16s,transform .16s;display:grid;position:relative}.candidate-token:hover,.candidate-token:focus-visible{transform:translateY(-1px)}.candidate-token.selected{background:#fff;border-color:#0000;width:100%;height:100%;min-height:96px;box-shadow:inset 0 0 0 1px #0f172a14}.candidate-token.eliminated{opacity:.42;background:#f1f5f9}.candidate-token.eliminated:after{content:"";background:#e11d48;border-radius:99px;height:3px;position:absolute;top:50%;left:16%;right:16%;transform:rotate(-28deg)}.token-icon{object-fit:contain;filter:drop-shadow(0 1px #0000001a);place-items:center;width:40px;height:40px;font-size:34px;line-height:1;display:grid;transform:translate(-2px)}.candidate-token.selected .token-icon{width:88px;height:88px;font-size:68px;transform:translate(-3px)}.side-panel{flex-direction:column;gap:14px;min-height:0;display:flex}.panel-section{padding:16px}.panel-section h2{color:#0b2761;letter-spacing:0;text-transform:uppercase;margin-bottom:14px;font-size:17px;line-height:1.1}.clue-list{grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:10px;display:grid}.clue{min-height:58px;font:inherit;cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d9e1ec;border-radius:7px;justify-content:center;align-items:center;padding:8px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.clue.between-clue{grid-column:span 2}.clue:hover,.clue:focus-within{border-color:#0e67ca;box-shadow:0 8px 16px #0c23521f}.clue:active{cursor:grabbing}.clue.dragging{opacity:0}.clue-drag-ghost{pointer-events:none;opacity:1;cursor:grabbing;background:#fff;border:1px solid #d9e1ec;border-radius:7px;padding:8px;position:fixed;top:-1000px;left:-1000px;box-shadow:0 8px 16px #0c23522e}body.clue-dragging,body.clue-dragging *{cursor:grabbing!important}.clue-bucket{flex-direction:column;min-width:0;display:flex}.empty-clues{color:#64748b;border:1px dashed #b7c5d8;border-radius:7px;grid-column:1/-1;place-items:center;min-height:58px;font-size:13px;font-weight:800;display:grid}.clue-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.clue p{display:none}.clue-visual{justify-content:center;align-items:center;gap:8px;min-height:42px;display:flex}.clue-visual.between{gap:5px}.visual-token{background:#fff;border:1px solid #d9e1ec;border-radius:7px;place-items:center;width:32px;height:32px;font-size:23px;line-height:1;display:grid}.visual-token-icon{object-fit:contain;width:26px;height:26px;font-size:23px;line-height:1;display:block;transform:translate(-2px)}.position-token{color:#0b2761;background:#eaf3ff;border:1px solid #d9e1ec;border-radius:7px;place-items:center;width:32px;height:32px;font-size:18px;font-weight:1000;line-height:1;display:grid}.relation-mark{color:#0b2761;font-size:22px;font-weight:1000;line-height:1}.relation-mark.not{color:#dc2626}.relation-mark.belongs{color:#159447}.progress-card{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.progress-card h2{margin-bottom:0}.progress-meter{background:#e2e8f0;border-radius:99px;height:12px;overflow:hidden}.progress-meter span{border-radius:inherit;background:linear-gradient(90deg,#0e67ca,#21b45f);height:100%;display:block}.progress-copy,.game-message{color:#12275d;font-size:14px;font-weight:800}.category-dots{justify-content:flex-end;gap:9px;display:flex}.category-dots span{background:#f8fafc;border:2px solid #cbd5e1;border-radius:50%;width:18px;height:18px}.category-dots .complete{background:#22c55e;border-color:#22c55e}@media (width<=1120px){.game-layout{grid-template-columns:1fr}.side-panel{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.progress-card{grid-template-columns:1fr;align-items:stretch}}@media (width<=760px){.app-shell{padding:10px}.top-bar,.brand-lockup,.toolbar,.side-panel{flex-direction:column;align-items:stretch}.top-bar{display:grid}.brand-lockup{grid-template-columns:48px 1fr;align-items:center;display:grid}.toolbar{grid-template-columns:repeat(3,1fr);display:grid}.toolbar button{padding:0 8px;font-size:13px}.level-control{grid-column:1/-1}.side-panel{display:flex}.progress-card{grid-template-columns:1fr}}@media (width<=1100px){.toolbar .button-label,.brand-lockup p,.level-control>span,.timer-pill>span{display:none}.level-control,.timer-pill{grid-template-columns:auto}.toolbar button{padding:0 10px;font-size:16px}}@media (width<=480px){.app-shell{padding:6px}.top-bar{gap:10px;margin-bottom:8px;padding:10px}.brand-lockup{grid-template-columns:40px 1fr}.brand-mark{width:40px;height:40px;font-size:27px}h1{font-size:22px}.brand-lockup p{font-size:12px}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.toolbar button,.level-control,.timer-pill{min-height:38px}.toolbar button{padding:0 6px;font-size:12px}.level-control{grid-column:auto;grid-template-columns:auto minmax(0,1fr);padding:0 8px;font-size:12px}.timer-pill{padding:0 8px;font-size:12px}.game-layout,.board-column,.side-panel{gap:8px}.board-panel{padding:6px;overflow-x:hidden}.category-row{grid-template-columns:repeat(var(--position-count), minmax(0, 1fr));gap:4px;min-width:0}.category-row+.category-row{margin-top:4px}.candidate-cell{border-radius:6px;min-height:66px}.candidate-token{min-height:33px}.candidate-token.selected{min-height:66px}.candidate-token.eliminated:after{height:2px;left:10%;right:10%}.token-icon{width:27px;height:27px;font-size:24px;transform:translate(-1px)}.candidate-token.selected .token-icon{width:58px;height:58px;font-size:48px;transform:translate(-2px)}.panel-section{padding:10px}.panel-section h2{margin-bottom:10px;font-size:14px}.progress-copy,.game-message{font-size:13px}.category-dots{justify-content:flex-start}.category-dots span{width:14px;height:14px}.clue-list{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.clue{min-height:48px;padding:5px}.clue-visual{gap:5px;min-height:34px}.visual-token,.position-token{border-radius:6px;width:27px;height:27px}.visual-token-icon{width:22px;height:22px;font-size:20px;transform:translate(-1px)}.relation-mark{font-size:18px}}
