:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#e8edeb;background:#101923;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-width:320px}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #f7c36a;outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.hidden{display:none!important}#app{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(circle at 12% 0%,#203342 0,transparent 35%),#101923}main{width:min(1160px,100%);margin:auto;padding:20px clamp(18px,4vw,48px);flex:1}.topbar,footer{width:min(1160px,100%);margin:auto;padding:24px clamp(18px,4vw,48px);display:flex;align-items:center;justify-content:space-between}.topbar{border-bottom:1px solid #ffffff16}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.16em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eec078;color:#192430;font:700 29px Georgia,serif;letter-spacing:0}.brand strong{display:block;font-size:18px}.brand small{display:block;color:#8da7ac;font-size:10px;margin-top:2px}.top-actions{display:flex;gap:8px}.icon-btn{background:#263641;border:1px solid #45545a;color:#e9eee8;border-radius:10px;min-width:42px;min-height:42px;font-weight:700}.icon-btn:hover,.feature-card:hover,.tool:hover{background:#344b57}footer{color:#82989d;font-size:11px;letter-spacing:.12em;border-top:1px solid #ffffff16}.footer-dot{color:#edbb72;margin:0 5px}.text-btn{border:0;background:none;color:#d3dfdc;padding:8px 0}.text-btn:hover{text-decoration:underline}.home{padding-top:clamp(24px,6vw,62px)}.hero{max-width:760px}.eyebrow,.panel-heading{font-size:11px;font-weight:800;letter-spacing:.18em;color:#eab877}.hero h1{font-size:clamp(44px,6vw,76px);line-height:1.05;letter-spacing:-.06em;margin:17px 0 18px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#f0c682;letter-spacing:-.045em}.hero p{max-width:600px;color:#aec0bf;font-size:clamp(15px,1.7vw,18px);line-height:1.65;margin:0}.home-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:18px;margin-top:36px}.panel,.feature-card{background:#1a2a35;border:1px solid #354650;border-radius:18px;box-shadow:0 12px 32px #060e1626}.primary-panel{padding:26px}.panel-heading{display:flex;justify-content:space-between;margin-bottom:20px}.fine{color:#6e8991}.difficulty-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.difficulty-card{text-align:left;min-height:118px;border:1px solid #455a61;border-radius:13px;background:#223540;color:#e8efeb;padding:16px}.difficulty-card.selected{border-color:#f0bf77;background:#3a3c39;box-shadow:inset 0 0 0 1px #f0bf77}.difficulty-card strong{display:block;font-size:18px;margin-bottom:7px}.difficulty-card small{display:block;color:#adbfbe;line-height:1.4}.button{border:1px solid #53666a;border-radius:11px;padding:12px 16px;color:#eaf0ed;background:#2a3b45;font-weight:700;min-height:46px}.button:hover{filter:brightness(1.12)}.button.primary{background:#f0bd73;border-color:#f0bd73;color:#202934}.button.secondary{background:transparent}.button.full{width:100%}.primary-panel .button+.button{margin-top:10px}.side-stack{display:grid;gap:12px}.feature-card{width:100%;display:flex;align-items:center;gap:16px;text-align:left;color:#e9efec;padding:19px 22px;min-height:84px}.feature-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#344951;color:#f0c17a;font-size:22px}.feature-card strong{display:block;font-size:15px}.feature-card small{display:block;color:#9db3b5;margin-top:5px}.feature-card .arrow{margin-left:auto;color:#e9bd77;font-size:20px}.home-foot{color:#789296;text-align:center;margin:28px 0 4px;font-size:12px}.home-foot span{margin:0 7px}.game{padding-top:22px}.game-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px}.game-heading h2{font-size:clamp(27px,4vw,38px);margin:10px 0 3px;letter-spacing:-.04em}.game-heading p{color:#9fb5b4;margin:0;font-size:13px}.game-metrics{display:flex;gap:30px;text-align:right}.game-metrics small{display:block;color:#93aaae;font-size:10px;letter-spacing:.15em}.game-metrics strong{display:block;font-size:21px;margin-top:5px;font-variant-numeric:tabular-nums}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:start}.board-wrap{background:#1b2c36;border:1px solid #344953;border-radius:20px;padding:clamp(10px,2.4vw,24px);min-width:0;box-shadow:0 14px 30px #080f162e}.board{display:grid;width:min(100%,590px);aspect-ratio:1;margin:auto;gap:3px;padding:3px;border-radius:8px;background:#617779;touch-action:manipulation}.cell{position:relative;min-width:0;min-height:0;padding:0;border:0;border-radius:3px;display:grid;place-items:center;font-weight:700}.cell.block{background:#263c47;color:#ddc08f}.cell.clue{background:#263c47;background-image:linear-gradient(to bottom right,transparent calc(50% - .8px),#698085 50%,transparent calc(50% + .8px))}.clue .down{position:absolute;top:8%;right:10%;font-size:clamp(9px,2vw,15px);font-weight:700}.clue .across{position:absolute;bottom:7%;left:10%;font-size:clamp(9px,2vw,15px);font-weight:700}.clue.solved{color:#93d6b6}.clue.invalid{color:#f08c83}.cell.entry{background:#f5f2e9;color:#1c3540;font-size:clamp(18px,4vw,32px);transition:background .12s,transform .12s}.cell.entry:hover{background:#fff}.cell.entry.peer{background:#e2e9e2}.cell.entry.selected{background:#f4cf8e;box-shadow:inset 0 0 0 3px #c68145;z-index:1}.cell.entry.conflict{color:#b33032;background:#f8dddd}.cell.entry.hinted{color:#24775f}.cell.entry.completed{background:#dbeddf}.cell .notes-grid{display:grid;grid-template-columns:repeat(3,1fr);width:90%;height:90%;font-size:clamp(6px,1vw,10px);color:#48646a;font-weight:600}.cell .notes-grid span{display:grid;place-items:center}.board-message{min-height:24px;text-align:center;color:#f0c17a;font-size:13px;padding-top:10px}.play-panel{background:#1b2c36;border:1px solid #344953;border-radius:20px;padding:20px}.selected-info{min-height:78px}.selected-info strong{display:block;font-size:21px;margin:8px 0 4px}.selected-info small{display:block;color:#9fb4b5}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.num-btn{height:52px;border:1px solid #607378;border-radius:10px;background:#304650;color:#f8f5ea;font-size:24px;font-weight:700}.num-btn:hover{background:#4a6269}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool{font-size:13px;padding:8px}.tool.active{border-color:#edbc76;color:#f5ca8b;background:#3e4141}.play-actions{display:grid;gap:10px;margin-top:18px}.tip{font-size:12px;color:#8fa9aa;line-height:1.5;margin:18px 0 0}.modal{position:fixed;inset:0;z-index:10;background:#060e16c9;display:grid;place-items:center;padding:16px}.modal-card{position:relative;width:min(510px,100%);max-height:min(90dvh,750px);overflow:auto;background:#223541;border:1px solid #657477;border-radius:20px;padding:clamp(24px,4vw,34px);box-shadow:0 25px 80px #0009}.modal-close{position:absolute;right:18px;top:13px;color:#d8e3e0;border:0;background:none;font-size:30px}.modal-card h2{font-size:30px;letter-spacing:-.04em;margin:10px 0 16px}.modal-card p,.modal-card li{color:#c4d3d0;line-height:1.6;font-size:15px}.modal-card ul,.modal-card ol{padding-left:21px}.modal-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.modal-actions .button{flex:1}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:15px;border:1px solid #4c6369;border-radius:12px}.stat strong{display:block;font-size:26px;color:#f3c782}.stat small{display:block;color:#aac0bf}.credit-name{color:#f0c17a!important;font-weight:700}
@media(max-width:760px){.home-grid,.game-layout{grid-template-columns:1fr}.side-stack{grid-template-columns:repeat(3,1fr)}.feature-card{padding:14px;display:block}.feature-icon{margin-bottom:10px}.feature-card .arrow{display:none}.game-layout{gap:14px}.play-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.selected-info{grid-column:1/-1;min-height:0}.numpad{margin:0}.tool-grid{align-content:start}.play-actions{grid-column:1/-1;display:flex;margin:0}.play-actions>*{flex:1}.tip{grid-column:1/-1;margin:0}.board{width:min(100%,540px)}}
@media(max-width:520px){.topbar,footer{padding:15px 18px}.brand-mark{width:37px;height:37px}.brand strong{font-size:15px}.brand small{font-size:9px}.home{padding-top:22px}.hero h1{font-size:43px}.home-grid{margin-top:26px}.primary-panel{padding:17px}.difficulty-card{padding:11px;min-height:100px}.difficulty-card strong{font-size:15px}.difficulty-card small{font-size:11px}.side-stack{grid-template-columns:1fr}.feature-card{display:flex;min-height:68px}.feature-icon{margin:0;width:36px;height:36px}.feature-card .arrow{display:block}.game-heading{align-items:start}.game-metrics{gap:12px}.game-metrics strong{font-size:16px}.board-wrap{padding:8px}.board{gap:2px;padding:2px}.clue .down,.clue .across{font-size:clamp(8px,2.7vw,12px)}.play-panel{padding:13px;grid-template-columns:1fr}.selected-info{grid-column:1}.numpad{grid-template-columns:repeat(9,1fr);gap:3px}.num-btn{height:39px;font-size:17px;border-radius:7px}.tool-grid{grid-template-columns:repeat(4,1fr)}.tool{min-height:42px;font-size:11px;padding:4px}.tool span{display:none}.play-actions{grid-column:1/-1}.tip{grid-column:1/-1}.cell.entry{font-size:clamp(17px,6vw,26px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
