@font-face{font-family:system;src:local("Arial")}*{box-sizing:border-box} :root{--paper:#fafaf6;--ink:#20271f;--muted:#62695d;--yellow:#f6f44a;--pink:#ffd5e7;--line:#dcded4;--green:#263e30}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}button,a,input{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #5c49d6;outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}a{text-decoration:none}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:850;font-size:29px;letter-spacing:-1.7px;display:flex;align-items:center;gap:9px}.brand-mark{font-size:40px;line-height:1}.brand-dot{margin-left:-9px}.site-header nav{display:flex;align-items:center;gap:29px;font-size:14px;font-weight:650}.text-button{background:none;padding:8px 0;white-space:nowrap;font-weight:650}.text-button span{margin-left:10px}.pill{background:transparent;border:1px solid #a7ad9e;border-radius:100px;padding:11px 21px;font-weight:650;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:12px}.pill:hover{background:#edf0e5}.pill.small{padding:9px 19px}.pill.dark{background:var(--ink);color:white;border-color:var(--ink)}.intro{display:flex;justify-content:space-between;align-items:center;padding:61px 0 56px;gap:30px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:1.8px;display:flex;align-items:center;gap:9px}.live-dot{width:7px;height:7px;background:var(--ink);border-radius:50%}h1{font-size:clamp(40px,4.8vw,66px);line-height:1.07;letter-spacing:-3.2px;font-weight:850;margin:18px 0 22px}h1 span{color:#737b68}.intro-copy{font-size:17px;line-height:1.65;color:#535d4e}.daily-ticket{width:244px;flex-shrink:0;background:var(--yellow);padding:23px 24px;transform:rotate(5deg);box-shadow:5px 6px 0 #22291f;display:flex;flex-direction:column;font-size:14px;border:1px solid var(--ink);border-radius:3px}.ticket-label{font-size:12px;font-weight:800;letter-spacing:1.4px}.daily-ticket strong{font-size:30px;letter-spacing:-1px;margin-top:5px}.ticket-rule{border-top:1px dashed #85852b;margin:19px 0}.ticket-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px;font-size:12px;gap:10px}.ticket-bottom>span:last-child{font-size:34px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-heading h2{font-size:17px;letter-spacing:-.35px}.section-heading>span{font-size:13px;color:var(--muted)}.game-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.game-card{border-radius:20px;overflow:hidden;border:1px solid #c8cebd;position:relative}.loop-card{background:#e6eddc}.stack-card{background:var(--pink);border-color:#e3b7ca}.card-top{padding:22px 28px 0;display:flex;justify-content:space-between;align-items:center}.tag{font-size:11px;letter-spacing:1.3px;font-weight:800}.game-number{font-size:15px;font-weight:750;opacity:.6}.loop-preview,.stack-preview{height:193px;position:relative;display:flex;align-items:center;justify-content:center}.loop-preview{color:var(--green)}.loop-preview svg{width:295px;height:180px;transform:rotate(-9deg)}.preview-note{position:absolute;bottom:5px;right:32px;background:var(--yellow);padding:5px 12px;transform:rotate(-6deg);font-family:Georgia,serif;font-style:italic;font-size:15px}.number-tile{width:100px;height:112px;display:grid;place-items:center;font-size:66px;font-weight:850;border:2px solid var(--ink);border-radius:14px;box-shadow:4px 5px 0 var(--ink)}.tile-four{background:#fd906b;transform:rotate(-12deg);z-index:2}.tile-six{background:var(--paper);transform:rotate(9deg);margin-left:10px}.ten-badge{position:absolute;right:40px;bottom:5px;font-size:24px;font-weight:800;transform:rotate(-7deg)}.ten-badge span{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:17px}.card-copy{padding:23px 28px 21px}.card-copy>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.card-copy h3{font-size:36px;line-height:1.2;letter-spacing:-1.6px;font-weight:850}.duration{font-size:12px;text-align:right}.card-copy p{margin-top:11px;font-size:16px;line-height:1.65}.play-button{width:100%;margin-top:24px;border-radius:10px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:white;font-weight:700;text-align:left;transition:transform .15s,background .15s}.play-button:hover{background:#37472e;transform:translateY(-2px)}.play-button span{font-size:23px;line-height:1}.card-status{display:block;font-size:12px;text-align:center;margin-top:12px;color:#4b5847}.bottom-note{display:flex;align-items:center;gap:23px;padding:34px 0;margin-top:18px;border-bottom:1px solid var(--line)}.bottom-note>span{font-size:45px}.bottom-note h2{font-size:19px;font-weight:750;letter-spacing:-.4px}.bottom-note p{font-size:14px;color:var(--muted);margin-top:4px}.bottom-note button{margin-left:auto;font-size:14px}footer{padding:26px 0 35px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}footer strong{font-weight:650;color:var(--ink)}footer a{text-decoration:underline;text-underline-offset:4px}.skip{position:absolute;left:10px;top:-80px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}dialog{border:1px solid var(--ink);border-radius:22px;padding:24px;width:min(570px,calc(100% - 28px));max-height:94dvh;color:var(--ink);background:var(--paper);box-shadow:0 24px 100px #101a2450}dialog::backdrop{background:#20271f88;backdrop-filter:blur(6px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.mini-brand{font-weight:800;letter-spacing:-.5px;font-size:19px}.close-button{background:#e9eddf;width:39px;height:39px;border-radius:50%;font-size:18px}.game-heading h2{font-size:39px;letter-spacing:-1.7px;line-height:1.2;margin:9px 0}.game-heading p:last-child{font-size:15px;color:var(--muted)}.game-stats{display:flex;justify-content:space-between;align-items:center;padding:17px 0;font-size:14px;font-weight:650}.game-stats strong{font-size:25px;margin-left:5px}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#dce4d3;border:6px solid #dce4d3;border-radius:12px;width:min(100%,380px);margin:auto;aspect-ratio:1}.cell{border-radius:6px;aspect-ratio:1;background:#f8faf4;padding:0;overflow:hidden;position:relative;display:grid;place-items:center}.cell svg{width:100%;height:100%;display:block}.cell:hover:not(:disabled){background:#f3f4b1}.cell:focus-visible{outline-offset:-4px;z-index:2}.cell.connected{background:#eff490}.cell.number{font-size:clamp(24px,6vw,37px);font-weight:800}.cell.filled{background:#ffd5e7}.cell.cleared{animation:pop .3s ease}.game-feedback{min-height:50px;text-align:center;display:grid;place-items:center;font-size:15px;font-weight:650;margin:10px 0}.game-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.game-footnote{text-align:center;font-size:12px;color:var(--muted);margin-top:18px}.info-copy h2{font-size:29px;letter-spacing:-1px;margin-bottom:14px}.info-copy h3{font-size:18px;margin:20px 0 6px}.info-copy p{margin:10px 0;font-size:15px;color:#535d4e}.info-copy ul,.info-copy ol{padding-left:23px;font-size:15px}.info-copy li{margin:9px 0}.info-copy .pill{margin:5px 5px 5px 0}.info-copy label{display:block;margin:14px 0}.info-copy input{font:inherit;max-width:100%}.share-preview{width:100%;border-radius:12px;margin:12px 0}.result-text{white-space:pre-wrap;background:#edf0e5;padding:15px;border-radius:8px;font:14px/1.6 monospace;overflow-wrap:anywhere}.notice{padding:12px;background:#f6f44a;font-size:14px;margin:14px 0;border-radius:9px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;max-width:calc(100% - 30px);padding:12px 20px;border-radius:12px;z-index:20;font-size:14px;pointer-events:none;opacity:0;transition:opacity .2s}#toast.visible{opacity:1}@keyframes pop{50%{background:var(--yellow);transform:scale(.91)}}@media(min-width:1450px){.intro{padding:75px 0 62px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.site-header nav{gap:18px}.duration{display:none}.daily-ticket{width:210px}.intro{padding:42px 0}.card-copy,.card-top{padding-inline:22px}.bottom-note p{max-width:350px}footer{flex-wrap:wrap}}@media(max-width:620px){.wrap{width:calc(100% - 36px)}.site-header{height:82px}.brand{font-size:25px}.brand-mark{font-size:33px}.site-header nav>a,.site-header nav>#about-open{display:none}.intro{padding:33px 0 28px;display:block}.eyebrow{font-size:11px;letter-spacing:1.4px}h1{font-size:43px;letter-spacing:-2px;margin:15px 0 17px}.intro-copy{font-size:15px}.daily-ticket{width:100%;transform:none;box-shadow:none;padding:12px 15px;border:0;display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:25px;border-radius:8px;gap:2px 10px}.daily-ticket strong{font-size:18px;margin:0;grid-column:2;grid-row:1}.ticket-label{font-size:11px}.ticket-rule,.ticket-bottom>span:last-child{display:none}.daily-ticket>span:not(.ticket-label){font-size:12px}.ticket-bottom{margin:0;justify-content:flex-end}.section-heading{margin-bottom:13px}.section-heading h2{font-size:16px}.section-heading>span{font-size:12px}.game-cards{grid-template-columns:1fr;gap:20px}.loop-preview,.stack-preview{height:164px}.loop-preview svg{height:155px}.card-copy{padding-top:18px}.card-copy h3{font-size:33px}.card-copy p{font-size:15px}.card-top{padding-top:18px}.play-button{margin-top:19px}.bottom-note{flex-wrap:wrap;gap:12px;padding:25px 0}.bottom-note>span{font-size:34px}.bottom-note>div{flex:1}.bottom-note h2{font-size:18px}.bottom-note p{font-size:13px}.bottom-note button{margin-left:46px}footer{gap:14px;font-size:12px;padding:22px 0}footer>span:nth-child(2){order:3;width:100%}dialog{padding:18px;max-height:96dvh}.dialog-top{margin-bottom:14px}.game-heading h2{font-size:33px}.game-heading p:last-child{font-size:14px}.game-feedback{min-height:43px}.pill{padding:10px 17px}.number-tile{width:83px;height:95px;font-size:57px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Keep the game choices close to the first viewport. */
.site-header{height:88px}.intro{padding:34px 0 32px}h1{font-size:clamp(40px,4.7vw,57px);margin:14px 0 17px}.loop-preview,.stack-preview{height:140px}.loop-preview svg{height:137px}.number-tile{width:83px;height:93px;font-size:56px}.card-copy{padding-top:19px}.tag{font-size:12px}footer .text-button{font-size:12px;padding:0;font-weight:500;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1450px){.intro{padding:42px 0}}
@media(max-width:620px){.site-header{height:78px}.intro{padding:25px 0 22px}.eyebrow{font-size:12px}.intro-copy{display:none}h1{font-size:42px;margin:13px 0 17px}.daily-ticket{margin-top:20px}.loop-preview,.stack-preview{height:112px}.loop-preview svg{height:113px}.card-copy{padding-top:16px}.preview-note{bottom:-2px;right:20px;font-size:13px}.number-tile{width:66px;height:75px;font-size:43px}.ten-badge{right:28px;bottom:-2px;font-size:20px}.card-copy p{line-height:1.5}.card-copy h3{font-size:30px}.card-top{padding-top:15px}.tag{font-size:12px;letter-spacing:.8px}.ticket-label{font-size:12px}.play-button{padding:14px 18px}.section-heading>span{font-size:12px}}
