:root{color:#1d252c;background:#f5f6f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,rgba(245,246,242,.96),rgba(239,243,241,.98)),url(/assets/lines/line-5.svg);background-size:auto,112px;background-position:center,right 18px bottom 18px;background-repeat:repeat,no-repeat}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}.app-shell{width:min(1040px,calc(100vw - 24px));margin:0 auto;padding:22px 0 34px}.site-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cfd8d3;padding-bottom:14px}.brand{font-weight:800;font-size:2.5rem;letter-spacing:0}.top-nav{display:flex;gap:16px;color:#53605b;font-weight:650}.top-nav button{border:0;background:transparent;padding:0;color:inherit;font-weight:inherit}.game-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:26px 0 18px}.mode-label{margin:0 0 6px;font-size:.86rem;text-transform:uppercase;letter-spacing:.08em;color:#69756f}h1{margin:0;font-size:2.35rem;letter-spacing:0}.status-panel{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;font-weight:760}.score-pill,.life-meter,.secondary-button,.primary-button{border:1px solid #c2cdc7;background:#fff;border-radius:6px;padding:9px 12px}.life-meter{display:inline-flex;align-items:center;gap:9px;border-color:#b44e43}.life-label{color:#7f332b}.life-dots{display:inline-flex;align-items:center;gap:5px}.life-dot{width:13px;height:13px;border-radius:50%;border:1px solid #b44e43}.life-dot.is-live{background:#cf3f34}.life-dot.is-lost{background:#fff}.life-count{color:#7f332b;min-width:28px;text-align:right}.primary-button{background:#1d252c;color:#fff;border-color:#1d252c}.secondary-button:hover,.primary-button:hover,.icon-button:hover{filter:brightness(.96)}.game-grid{display:grid;grid-template-columns:minmax(92px,.76fr) repeat(3,minmax(0,1fr));grid-auto-rows:minmax(112px,auto);gap:8px;align-items:stretch}.grid-row-fragment{display:contents}.corner-cell,.question-header,.answer-cell{border:1px solid #c8d2ce;border-radius:8px;background:rgba(255,255,255,.92)}.corner-cell{background:linear-gradient(135deg,#e7ece9 0 49%,transparent 50%),#fff}.question-header{position:relative;min-width:0;padding:12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;font-weight:800;color:#1d252c}.question-row{align-items:flex-start;text-align:left}.question-mark{position:absolute;right:7px;bottom:7px;width:19px;height:19px;border-radius:50%;background:#edf2ef;color:#56635d;font-size:.75rem;display:inline-flex;align-items:center;justify-content:center}.answer-cell{min-width:0;min-height:112px;padding:8px;display:flex;align-items:center;justify-content:center;color:#33403a}.answer-cell:hover{border-color:#778781}.answer-cell.is-filled{background:#fdfdfa}.cell-placeholder{font-size:1.65rem;color:#82918a}.revealed-count{color:#69756f;font-weight:720}.answer-station,.station-option-lines,.answer-station-lines,.solution-pill{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.answer-station{justify-content:center;text-align:center}.answer-station-name{width:100%;font-weight:820;line-height:1.15}.line-icon{--line-color: #667085;--line-bg: var(--line-color);--line-text: #fff;--line-border: rgba(17, 17, 17, .18);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--line-bg);color:var(--line-text);border:1px solid var(--line-border);border-radius:50%;font-weight:850;line-height:1}.line-icon-sm{width:22px;height:22px;font-size:.68rem}.line-icon-md{width:34px;height:34px;font-size:.9rem}.bottom-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:16px}.feedback{margin:0;color:#4d5a54;font-weight:650}.bottom-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.site-footer{margin-top:24px;padding-top:16px;border-top:1px solid #d7dfda;color:#69756f;font-size:.9rem;line-height:1.5}.site-footer a{color:#1d5f8c;font-weight:700;text-decoration:underline;text-underline-offset:3px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:rgba(24,31,37,.38);display:flex;align-items:center;justify-content:center;padding:18px}.station-picker,.rule-modal,.archive-modal,.cell-answers-modal,.endgame-modal,.loading-panel{width:min(620px,100%);max-height:min(720px,calc(100vh - 36px));overflow:auto;background:#fff;border-radius:8px;border:1px solid #c5d0ca;box-shadow:0 22px 80px #1118273d}.station-picker-head{position:sticky;top:0;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border-bottom:1px solid #e0e6e2}.answer-count-hint{grid-column:1 / -1;margin:0;color:#4d5a54;font-size:.9rem;font-weight:680}.station-picker input{width:100%;border:1px solid #bac7c1;border-radius:6px;padding:11px 12px}.icon-button{border:1px solid #bac7c1;background:#f8faf9;border-radius:6px;width:44px;font-size:1.4rem}.station-list{display:grid;gap:6px;padding:10px}.station-option{min-width:0;border:1px solid #e0e6e2;background:#fff;border-radius:7px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;text-align:left;align-items:center}.station-option:hover:not(:disabled){background:#f5f8f6}.station-option:disabled{opacity:.52}.station-option-name{font-weight:780}.station-option-used,.station-option-rejected{grid-column:1 / -1;font-size:.86rem}.station-option-used{color:#8b4c43}.station-option-rejected{color:#9e241a;font-weight:740}.station-option.is-rejected{background:#fff1ef;border-color:#d45a4f;color:#7f332b;opacity:1}.empty-list{padding:26px;text-align:center;color:#69756f}.rule-modal,.archive-modal,.cell-answers-modal,.endgame-modal,.loading-panel{padding:22px}.archive-modal{width:min(560px,100%)}.archive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.archive-head h2{margin:0;text-transform:capitalize}.archive-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 12px}.archive-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.archive-weekday{color:#69756f;font-size:.78rem;font-weight:800;text-align:center;text-transform:uppercase}.archive-day{min-height:48px;border:1px solid #d9e1dc;border-radius:7px;background:#fff;color:#1d252c;display:grid;place-items:center;font-weight:780}.archive-day:hover:not(.is-disabled):not(.is-empty){border-color:#7aa994;background:#f4faf6}.archive-day-completed{background:#e5f5e9;border-color:#78b486;color:#225d32}.archive-day-started{background:#fff7dc;border-color:#e1bc55;color:#775d11}.archive-day-revealed{background:#f8e9e7;border-color:#d48a80;color:#82382d}.archive-day.is-current{box-shadow:0 0 0 2px #1d252c inset}.archive-day.is-today{border-color:#1d5f8c}.archive-day.is-disabled,.archive-day.is-empty{pointer-events:none;background:transparent;border-color:transparent;color:#a5aea9}.archive-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;color:#5c6963;font-size:.86rem;font-weight:700}.archive-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%;border:1px solid currentColor}.legend-dot.completed{background:#78b486;color:#78b486}.legend-dot.started{background:#e1bc55;color:#e1bc55}.legend-dot.revealed{background:#d48a80;color:#d48a80}.endgame-modal{position:relative;width:min(820px,100%)}.endgame-kicker{margin:0 0 6px;color:#69756f;font-size:.8rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.endgame-score{display:inline-flex;align-items:baseline;gap:10px;border:1px solid #c2cdc7;border-radius:7px;padding:9px 11px;background:#f8faf9;color:#46524c}.endgame-score strong{color:#1d252c;font-size:1.2rem}.endgame-victory{border-color:#7bb28a}.share-panel{display:grid;gap:8px;margin:16px 0}.share-panel textarea{width:100%;resize:vertical;border:1px solid #c8d2ce;border-radius:7px;padding:11px;color:#1d252c;background:#fbfcfb;font:700 .96rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.45}.share-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.copy-status{color:#4d5a54;font-weight:700}.answer-key{margin-top:18px}.answer-key h3{margin:0 0 10px;font-size:1.05rem}.answer-key-list{display:grid;gap:10px}.answer-key-cell{border:1px solid #d9e1dc;border-radius:8px;padding:10px;background:#fff}.answer-key-cell.is-solved{border-left:4px solid #4f9f63}.answer-key-cell.is-missed{border-left:4px solid #c9564c}.answer-key-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;color:#4d5a54;font-size:.88rem;font-weight:800}.solved-answer{margin:8px 0 0;color:#2e6f3f;font-weight:760}.cell-answers-modal{width:min(680px,100%)}.cell-answers-modal h2{margin:0}.cell-answers-subtitle{margin:6px 0 0;color:#46524c;font-weight:760}.cell-answers-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.rule-modal-title{display:flex;align-items:center;gap:10px}.rule-modal h2,.endgame-modal h2{margin:0}.rule-modal p,.endgame-modal p{line-height:1.55;color:#46524c}.line-icon-wrap img{width:38px;height:38px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.solution-preview{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}.solution-pill{border:1px solid #d9e1dc;border-radius:6px;padding:7px 9px;background:#f8faf9;font-weight:700;display:inline-flex;align-items:center;gap:6px}.error-panel{border-color:#c97a6c;color:#8a2e1f}.celebration{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.celebration span{position:absolute;top:18px;left:50%;width:8px;height:14px;border-radius:2px;background:#d92b2c;opacity:0;animation:confetti-pop .9s ease-out forwards}.celebration span:nth-child(3n){background:#029a55}.celebration span:nth-child(3n+1){background:#fbaa33}.celebration span:nth-child(1){transform:translate(-10px) rotate(10deg);animation-delay:20ms}.celebration span:nth-child(2){transform:translate(12px) rotate(-12deg);animation-delay:40ms}.celebration span:nth-child(3){transform:translate(-28px) rotate(24deg);animation-delay:70ms}.celebration span:nth-child(4){transform:translate(30px) rotate(-28deg);animation-delay:90ms}.celebration span:nth-child(5){transform:translate(-44px) rotate(42deg);animation-delay:.12s}.celebration span:nth-child(6){transform:translate(48px) rotate(-44deg);animation-delay:.14s}.celebration span:nth-child(7){transform:translate(-64px) rotate(60deg);animation-delay:.16s}.celebration span:nth-child(8){transform:translate(68px) rotate(-62deg);animation-delay:.18s}.celebration span:nth-child(9){transform:translate(-82px) rotate(75deg);animation-delay:.2s}.celebration span:nth-child(10){transform:translate(86px) rotate(-80deg);animation-delay:.22s}.celebration span:nth-child(11){transform:translate(-104px) rotate(95deg);animation-delay:.24s}.celebration span:nth-child(12){transform:translate(108px) rotate(-96deg);animation-delay:.26s}@keyframes confetti-pop{0%{opacity:0;margin-top:0}20%{opacity:1}to{opacity:0;margin-top:115px}}@media (max-width: 760px){.app-shell{width:min(100vw - 14px,1040px);padding-top:12px}.site-header,.game-head,.bottom-bar{align-items:flex-start;flex-direction:column}.brand{font-size:1.75rem}h1{font-size:1.65rem}.game-grid{grid-template-columns:minmax(76px,.72fr) repeat(3,minmax(70px,1fr));grid-auto-rows:minmax(96px,auto);gap:6px;overflow-x:auto}.question-header{padding:9px 7px;font-size:.78rem}.answer-cell{min-height:96px;font-size:.82rem}.line-icon-md{width:30px;height:30px}.answer-key-head{grid-template-columns:1fr}}
