@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";
:root{color:#282840;font-synthesis:none;background:#f7f7fc;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}.topbar{border-bottom:1px solid #e5e4f0;justify-content:space-between;align-items:center;height:82px;padding:0 max(6%,50% - 600px);display:flex}.brand{letter-spacing:-1px;color:#292742;font-family:Outfit,sans-serif;font-size:27px;font-weight:700;text-decoration:none}.brand-icon{color:#8074c6;vertical-align:-2px;font-size:30px}.brand-dot,h1 span{color:#8879d3}.top-note,.section-label,.eyebrow,.side-bottom,.about>span{letter-spacing:1.6px;font-size:10px;font-weight:700}.top-note{color:#9592a8}.top-note span{color:#e49d8b;margin-left:9px}main{max-width:1200px;margin:auto;padding:0 30px}.intro{justify-content:space-between;align-items:center;padding:70px 0 42px;display:flex}.eyebrow{color:#8278bc;align-items:center;gap:9px;display:flex}.eyebrow span{background:#b3a9e2;border-radius:50%;width:8px;height:8px}h1,h2,p{margin:0}h1{letter-spacing:-2px;margin:14px 0 12px;font:600 clamp(34px,4.6vw,54px)/1.15 Outfit,sans-serif}.intro p{color:#9290a6;font-size:15px}.intro-mark{color:#e9e6f7;font-size:75px;line-height:1}.layout{grid-template-columns:minmax(0,720px) minmax(260px,1fr);align-items:start;gap:24px;display:grid}.game-card,.side-card{background:#fff;border:1px solid #e9e7f1;border-radius:18px;box-shadow:0 8px 30px #40386a0a}.game-card{padding:30px 38px 24px}.game-top,.game-meta{justify-content:space-between;align-items:center;display:flex}.section-label{color:#a5a1b8}.game-heading{margin-top:7px;font:600 22px Outfit,sans-serif}.game-heading span{color:#e5a699;font-size:14px}.new-game{color:#7567b2;background:#fff;border:1px solid #e4e0f1;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:700}.game-meta{color:#a19bb1;border-top:1px solid #f0eef7;margin-top:24px;padding:20px 0;font-size:12px}.game-meta select{color:#6759a2;background:#f0eef9;border:0;border-radius:6px;margin-left:6px;padding:7px 9px;font-weight:700}.timer{color:#786ca7;font-size:14px;font-weight:700}.board{aspect-ratio:1;border:2px solid #8c80bd;border-radius:5px;grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));display:grid;overflow:hidden}.cell{color:#7464b4;background:#fff;border:1px solid #e6e3f0;border-top:0;border-left:0;min-width:0;min-height:0;padding:0;font:500 clamp(15px,2.4vw,24px) Outfit,sans-serif;position:relative}.cell:nth-child(3n){border-right:2px solid #b7add5}.cell:nth-child(9n){border-right:0}.cell.block-bottom{border-bottom:2px solid #b7add5}.cell.given{color:#34304c;font-weight:600}.cell.related{background:#f3f1fa}.cell.same{background:#e4def7}.cell.selected{outline-offset:-2px;z-index:1;background:#cec3f2;outline:2px solid #9381d0}.notes-grid{color:#9d94bc;grid-template-columns:repeat(3,1fr);align-items:center;height:100%;font:500 clamp(7px,1vw,10px) DM Sans,sans-serif;display:grid}.status{color:#a09bad;text-align:center;min-height:32px;padding-top:12px;font-size:12px}.number-pad{grid-template-columns:repeat(9,1fr);gap:7px;display:grid}.number-pad button{color:#7565b2;background:#f2f0f9;border:0;border-radius:7px;padding:10px 0;font:600 20px Outfit,sans-serif}.number-pad button:hover,.game-actions button:hover{background:#e6e0f6}.game-actions{justify-content:center;gap:12px;margin-top:19px;display:flex}.game-actions button{color:#958da9;background:#fff;border:0;border-radius:7px;padding:9px;font-size:13px}.game-actions button:first-letter{font-size:19px}.game-actions small{background:#efedf7;border-radius:4px;margin-left:4px;padding:3px 5px;font-size:9px}.game-actions button[aria-pressed=true]{color:#6753ad;background:#e9e3f9}.side-card{padding:34px}.side-icon{color:#9b8bd2;background:#f0ecfa;border-radius:13px;place-items:center;width:45px;height:45px;margin-bottom:31px;font-size:25px;display:grid}.side-card h2{letter-spacing:-.6px;margin:13px 0;font:600 27px/1.18 Outfit,sans-serif}.side-card>p,.tip p,.about p{color:#9590a5;font-size:13px;line-height:1.8}.side-divider{background:#eeeaf5;height:1px;margin:26px 0}.tip{gap:12px;display:flex}.tip>span{color:#da9e91;font-size:18px}.tip strong{color:#776c98}.side-bottom{color:#aaa4bb;justify-content:space-between;padding:25px 10px;display:flex}.side-bottom span:last-child{color:#c8bee4;font-size:18px}.about{border-top:1px solid #e5e2ee;grid-template-columns:1fr 2fr;gap:30px;margin-top:72px;padding:37px 0 60px;display:grid}.about>span{color:#a29bb5}.about h2{margin-bottom:10px;font:600 27px Outfit,sans-serif}.about p{max-width:600px}footer{color:#aaa4b8;border-top:1px solid #e5e2ee;justify-content:space-between;align-items:center;gap:20px;padding:28px max(6%,50% - 600px);font-size:11px;display:flex}footer .brand{font-size:20px}@media (max-width:800px){.layout{grid-template-columns:1fr}.sidebar{display:none}.intro{padding:48px 0 32px}.intro-mark{font-size:48px}.about{margin-top:48px}footer span:last-child{display:none}}@media (max-width:500px){.topbar{height:65px;padding:0 20px}.top-note{font-size:8px}main{padding:0 15px}.intro{padding:38px 4px 27px}.intro-mark{display:none}h1{letter-spacing:-1.4px;font-size:35px}.intro p{font-size:13px}.game-card{padding:22px 14px 18px}.game-heading{font-size:20px}.game-meta{margin-top:18px;padding:15px 0}.number-pad{gap:4px}.number-pad button{font-size:17px}.game-actions{gap:0}.game-actions button{font-size:12px}.about{grid-template-columns:1fr;gap:15px}footer{padding:24px 20px}footer>span{text-align:right;max-width:150px}}.mode-help{color:#817795;text-align:center;margin:0 0 12px;font-size:12px;line-height:1.5}.number-pad button.active{color:#fff;background:#8271c4;box-shadow:0 3px 10px #8271c450}.game-meta{flex-wrap:wrap;gap:10px}#mistakes{color:#b86d74;font-weight:700}dialog{color:#292742;border:1px solid #e5e0f2;border-radius:18px;width:min(440px,100% - 32px);padding:32px;font-family:inherit;box-shadow:0 20px 80px #29213d35}dialog::backdrop{background:#29243e99}dialog h2{margin:10px 0;font:600 28px Outfit,sans-serif}dialog p{color:#858096;font-size:14px;line-height:1.6}dialog label{margin:20px 0 8px;font-size:13px;font-weight:700;display:block}dialog select{color:#403956;background:#faf9fe;border:1px solid #ded9ed;border-radius:8px;width:100%;padding:12px}dialog .setup-help{background:#f4f1fb;border-radius:8px;margin:18px 0;padding:12px;font-size:12px}.primary,.secondary{border:0;border-radius:8px;padding:12px 16px;font-weight:700}.primary{color:#fff;background:#7969bc}.secondary{color:#695b9d;background:#f0edf8}#setup-form>.primary,#setup-form>.secondary{width:100%;margin-top:10px}.dialog-actions{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}button:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #b4a3ec}.modal-backdrop{z-index:10;background:#29243e99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{color:#292742;background:#fff;border:1px solid #e5e0f2;border-radius:18px;width:min(440px,100%);padding:32px;box-shadow:0 20px 80px #29213d35}.modal h2{margin:10px 0;font:600 28px Outfit,sans-serif}.modal p{color:#858096;font-size:14px;line-height:1.6}.modal label{margin:20px 0 8px;font-size:13px;font-weight:700;display:block}.modal select{color:#403956;background:#faf9fe;border:1px solid #ded9ed;border-radius:8px;width:100%;padding:12px}.modal .setup-help{background:#f4f1fb;border-radius:8px;margin:18px 0;padding:12px;font-size:12px}.modal-wide{width:100%;margin-top:10px}.mode-switch{color:#786ca7;justify-content:flex-end;align-items:center;gap:10px;margin:-6px 0 14px;font-size:12px;font-weight:700;display:flex}.mode-switch button{background:#d6d2e1;border:0;border-radius:20px;width:38px;height:22px;padding:3px;transition:background .15s}.mode-switch button span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;display:block}.mode-switch button[aria-checked=true]{background:#8271c4}.mode-switch button[aria-checked=true] span{transform:translate(16px)}button:disabled{cursor:default}.cell:disabled{opacity:1}.number-pad button.number-complete{color:#aaa4ba;background:#f8f7fb;position:relative}.number-check{color:#9388b0;font:700 10px DM Sans,sans-serif;position:absolute;top:3px;right:5px}.cell.conflict{color:#bc3e47;background:#fde8e7}.cell.conflict.selected{outline-color:#d66d70}.victory-icon{color:#8874c8;background:#eee9fa;border-radius:18px;place-items:center;width:56px;height:56px;margin-bottom:22px;font-size:30px;display:grid}.victory-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0 12px;display:grid}.victory-stats div{text-align:center;background:#f5f2fb;border-radius:10px;padding:13px 8px}.victory-stats span,.victory-stats strong{display:block}.victory-stats span{color:#958ba9;font-size:11px}.victory-stats strong{color:#62548d;margin-top:5px;font-size:15px}.about-content{max-width:680px}.about-content p,.about-content li{color:#756f84;font-size:14px;line-height:1.8}.about-content p+p{margin-top:12px}.about-section{margin-top:30px}.about-section h3{color:#34304c;margin:0 0 10px;font:600 20px Outfit,sans-serif}.about-section ul{margin:0 0 14px;padding-left:20px}.about-section li+li{margin-top:5px}.about-section li::marker{color:#8874c8}.about-content .about-source{color:#858096;font-size:12px}.about-source a{color:#6753ad;text-underline-offset:3px}.pause-button{color:#7567b2;background:#fff;border:1px solid #e4e0f1;border-radius:7px;padding:7px 11px;font-size:12px;font-weight:700}.paused-board{aspect-ratio:1;text-align:center;background:#f7f5fc;border:2px solid #ded8ef;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex}.paused-board>span{color:#7969bc;background:#eae4f8;border-radius:16px;place-items:center;width:52px;height:52px;font-size:23px;font-weight:700;display:grid}.paused-board h2{margin:18px 0 8px;font:600 24px Outfit,sans-serif}.paused-board p{color:#817994;max-width:270px;margin:0 0 20px;font-size:13px;line-height:1.6}.board{-webkit-user-select:none;user-select:none}.notes-grid{color:#554879;grid-template-rows:repeat(3,minmax(0,1fr));font-size:clamp(9px,1.1vw,12px);font-weight:700}.cell.selected .notes-grid{color:#40315f}.board .cell:focus-visible{outline-offset:-2px;z-index:1;outline:2px solid #9381d0}.board .cell.conflict:focus-visible{outline-color:#d66d70}.number-pad button:focus-visible{outline-offset:-3px;outline:2px solid #9381d0}.number-pad button.active:focus-visible{outline:none}.board.game-finished .cell{animation:1.2s ease-out forwards clear-lost-cell}.board.game-finished .notes-grid{animation:1.2s ease-out forwards fade-lost-notes}.loss-backdrop{animation:.7s ease-out both show-loss}@keyframes clear-lost-cell{to{color:#0000;background-color:#fff;outline-color:#0000}}@keyframes fade-lost-notes{to{opacity:0}}@keyframes show-loss{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.board.game-finished .cell,.board.game-finished .notes-grid,.loss-backdrop{animation-duration:.01ms}}
