@import url("https://fonts.googleapis.com/css2?family=DM+Mono&family=Fraunces:opsz,wght@9..144,700;9..144,800&family=Outfit:wght@400;600;700;800&display=swap");

.matrix-stack{display:grid;gap:17px}.matrix-section{min-width:0}.matrix-section h2{margin:0 0 7px;color:#713c50;font:800 .78rem "DM Mono",monospace;letter-spacing:.09em;text-transform:uppercase}.matrix-last{padding-top:3px;border-top:1px dashed #d5a7a0}.number-label{min-height:52px;display:grid;place-items:center;color:#5e3343;font:800 1rem Fraunces,Georgia,serif}.shape-row-label{min-height:46px;display:flex;align-items:center;gap:8px;color:#4b2838;font-weight:800}.matrix-section .logic-grid{grid-template-columns:90px repeat(4,minmax(42px,1fr))}.matrix-section .match-cell{min-height:42px}@media(max-width:680px){.matrix-section .logic-grid{grid-template-columns:76px repeat(4,minmax(0,1fr))}.matrix-section h2{font-size:.7rem}.number-label{min-height:45px}.shape-row-label{font-size:.82rem}.matrix-stack{gap:14px}}@media(max-width:350px){.matrix-section .logic-grid{grid-template-columns:64px repeat(4,minmax(0,1fr))}.number-label{font-size:.85rem}.shape-row-label{font-size:.72rem}}

:root{--ink:#331727;--paper:#fff8eb;--plum:#431f36;--plum-light:#75415d;--gold:#f0b94c;--line:#d5a7a0;font-family:Outfit,system-ui,sans-serif;color:var(--ink);background:#f5c780}*{box-sizing:border-box}body{min-height:100vh;margin:0;background:radial-gradient(circle at 10% 8%,rgba(255,249,225,.8),transparent 30%),radial-gradient(circle at 90% 88%,rgba(153,50,85,.3),transparent 36%),linear-gradient(140deg,#f8d28b,#e8a768 58%,#b35a68);-webkit-tap-highlight-color:transparent}.logic-nav,.logic-app{width:min(940px,100%);margin:auto}.logic-nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.logic-nav a{color:#fff7e6;text-decoration:none;font-weight:800}.logic-nav a:last-child{padding:9px 14px;border:1px solid rgba(255,255,255,.45);border-radius:999px}.logic-app{padding:5vh 24px 76px}.logic-hero{max-width:620px}.logic-hero p,.card-heading span{margin:0;color:#743a51;letter-spacing:.14em;text-transform:uppercase;font:800 .72rem "DM Mono",monospace}.logic-hero h1{margin:8px 0;font:800 clamp(2.8rem,8vw,5.6rem)/.9 Fraunces,Georgia,serif;letter-spacing:-.07em}.logic-hero>span{display:block;max-width:520px;color:#5e3343;font-size:1.08rem;line-height:1.45}.logic-game{display:grid;grid-template-columns:minmax(235px,.78fr) minmax(0,1.25fr);gap:18px;margin-top:36px;align-items:start}.clue-card,.grid-card,.how-card{border:1px solid rgba(67,31,54,.28);border-radius:25px;background:rgba(255,250,238,.82);box-shadow:0 18px 42px rgba(77,28,43,.18)}.clue-card{padding:22px}.card-heading,.grid-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.card-heading b,.grid-top span:last-child{color:#7d3a52;font-size:.78rem}.clue-list{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none;counter-reset:clues}.clue-list li{position:relative;padding:11px 12px 11px 39px;border-radius:13px;background:#fff9ea;line-height:1.25;box-shadow:inset 0 0 0 1px rgba(117,65,93,.14)}.clue-list li:before{counter-increment:clues;content:counter(clues);position:absolute;left:10px;top:10px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff7e6;background:#75415d;font:700 .7rem "DM Mono",monospace}.grid-card{padding:18px}.grid-top{margin:0 0 15px;color:#6d3e4e;font-size:.85rem}.logic-grid{display:grid;grid-template-columns:90px repeat(4,minmax(46px,1fr));gap:6px;align-items:center}.shape-label{min-height:52px;display:grid;place-items:center;gap:3px;text-align:center;color:#5e3343;font-size:.7rem;font-weight:800}.color-label{display:flex;align-items:center;gap:8px;color:#4b2838;font-weight:800}.color-dot{width:18px;height:18px;flex:0 0 auto;border-radius:50%;background:var(--tone);box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}.shape{position:relative;display:block;width:22px;height:22px;background:#4d2a3b}.shape.circle{border-radius:50%}.shape.square{border-radius:4px}.shape.triangle{width:0;height:0;background:transparent;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:22px solid #4d2a3b}.shape.star{clip-path:polygon(50% 0,61% 34%,98% 36%,68% 57%,79% 93%,50% 72%,21% 93%,32% 57%,2% 36%,39% 34%)}.match-cell{position:relative;aspect-ratio:1;border:2px solid #c9a1a0;border-radius:12px;background:#fffdf7;color:#8b5262;cursor:pointer;transition:transform .12s ease,background .12s ease}.match-cell:hover{transform:translateY(-2px);background:#fff4d8}.match-cell.no:before,.match-cell.no:after{content:"";position:absolute;top:50%;left:50%;width:45%;height:2px;border-radius:2px;background:#9e6572}.match-cell.no:before{transform:translate(-50%,-50%) rotate(45deg)}.match-cell.no:after{transform:translate(-50%,-50%) rotate(-45deg)}.match-cell.match{background:var(--tone);border-color:var(--tone);box-shadow:inset 0 0 0 3px rgba(255,255,255,.44)}.match-cell.match:after{content:"";position:absolute;width:35%;height:17%;left:50%;top:46%;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:translate(-50%,-50%) rotate(-45deg)}.logic-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin-top:17px}.logic-actions button{border:0;padding:13px;border-radius:13px;color:#fff7ea;background:#4c243b;font:800 .95rem Outfit,sans-serif;cursor:pointer;box-shadow:0 6px 0 #321728}.logic-actions button:active{transform:translateY(4px);box-shadow:none}.logic-actions button.quiet{color:#5d3043;background:#f7dfb6;box-shadow:0 6px 0 #d9b77c}.result{min-height:22px;margin:14px 0 0;color:#7a344e;font-weight:800;text-align:center}.result.success{color:#1d7c59}.how-card{margin-top:18px;padding:20px 22px}.how-card h2{margin:0 0 5px;font:800 1.4rem Fraunces,Georgia,serif}.how-card p{margin:0;color:#633a48;line-height:1.45}@media(max-width:680px){.logic-nav{height:65px;padding:0 17px}.logic-app{padding:4vh 15px 48px}.logic-game{grid-template-columns:1fr;margin-top:26px}.clue-card{order:2}.logic-grid{grid-template-columns:76px repeat(4,minmax(0,1fr));gap:5px}.grid-card{padding:13px}.shape-label{font-size:.61rem}.color-label{font-size:.82rem}.color-dot{width:15px;height:15px}.logic-actions{gap:7px}}@media(max-width:350px){.logic-grid{grid-template-columns:64px repeat(4,minmax(0,1fr))}.color-label{font-size:.72rem}.shape-label{font-size:.55rem}.match-cell{border-radius:8px}}
