:root{--color-page:#f8fafc;--color-surface:#ffffff;--color-surface-muted:#eef4fb;--color-heading:#1e3a8a;--color-text:#6e7c8c;--color-text-strong:#263445;--color-text-muted:#94a3b8;--color-primary:#5a7bc0;--color-primary-hover:#496bb0;--color-primary-foreground:#ffffff;--color-secondary:#ffffff;--color-secondary-hover:#eef4fb;--color-secondary-foreground:#325aaf;--color-border:#dbe4ef;--color-ring:#8fb3ff;--color-success:#9ed8ff;--color-danger:#f87171;--color-warning-bg:#fee2e2;--color-complete-bg:#e4f5ff;--color-chain-green:#16a34a;--color-chain-pink:#db2777;--color-chain-purple:#9333ea;--color-chain-cyan:#0891b2;--color-chain-gold:#ca8a04;--color-grid-line:#b8c0cc;--color-line-outline:#111827;--color-clue-satisfied:#8df79a;--color-locked-overlay:rgb(100 116 139/55%);--shadow-soft:0 18px 48px rgb(30 58 138/10%);--radius-card:8px;--page-top-gap:42px}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--color-page);color:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}h1,h2,h3,p{margin:0}h1,h2{color:var(--color-heading);letter-spacing:0}h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1}h2{font-size:clamp(1.35rem,2vw,2rem);line-height:1.15}p{line-height:1.7}.site-shell{min-height:100vh}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--color-border);background:rgb(248 250 252/88%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 32px));min-height:72px;margin:0 auto;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--color-heading);font-weight:800}.brand-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:var(--radius-card);overflow:hidden;background:var(--color-primary);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}.brand-mark img{width:28px;height:28px;object-fit:cover}.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.nav-link{border-radius:999px;color:var(--color-text-strong);font-size:.94rem;padding:8px 12px}.nav-link:focus-visible,.nav-link:hover{background:var(--color-surface-muted);color:var(--color-secondary-foreground);outline:none}.main-content{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:var(--page-top-gap) 0 72px}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;grid-gap:36px;gap:36px;min-height:calc(100vh - 136px)}.hero-copy{display:grid;grid-gap:20px;gap:20px}.eyebrow{width:-moz-fit-content;width:fit-content;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-secondary-foreground);font-size:.82rem;font-weight:700;letter-spacing:0;padding:7px 12px}.hero-subtitle{max-width:680px;color:var(--color-text);font-size:1.08rem}.text-block{display:grid;grid-gap:.85em;gap:.85em}.text-block p{margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:var(--radius-card);cursor:pointer;font-weight:750;padding:10px 15px}.button:disabled,button:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary:focus-visible,.btn-primary:hover{background:var(--color-primary-hover);outline:3px solid var(--color-ring);outline-offset:2px}.btn-secondary{border-color:var(--color-border);background:var(--color-secondary);color:var(--color-secondary-foreground)}.btn-secondary:focus-visible,.btn-secondary:hover{background:var(--color-secondary-hover);outline:3px solid var(--color-ring);outline-offset:2px}.surface{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft)}.media-panel{overflow:hidden;aspect-ratio:4/3}.media-panel img{display:block;width:100%;height:100%;object-fit:cover}.game-frame{display:grid;min-height:420px;place-items:center;padding:18px}.mock-game{display:grid;width:min(100%,520px);aspect-ratio:1/1;grid-template-columns:repeat(6,1fr);border:1px solid var(--color-border);background:var(--color-surface)}.mock-cell{position:relative;display:grid;place-items:center;border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.8rem;font-weight:800}.mock-cell:after{position:absolute;width:70%;height:2px;background:var(--color-primary);content:"";transform:rotate(45deg)}.mock-cell:nth-child(2n):after{transform:rotate(-45deg)}.content-grid,.section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;margin-top:28px}.achievement-card,.article-card,.faq-item,.section-card,.stat-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:22px}.article-card h2,.faq-item h3,.section-card h2{margin-bottom:10px}.page-heading{display:grid;justify-items:center;grid-gap:14px;gap:14px;padding:0 0 30px;text-align:center}.page-heading p{max-width:740px}.calendar-shell{display:grid;grid-gap:16px;gap:16px;padding:22px}.calendar-toolbar,.print-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.segmented,.select-row{display:flex;flex-wrap:wrap;gap:8px}.select-row select,.toggle{min-height:40px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text-strong);padding:8px 10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.calendar-day,.weekday{display:grid;min-height:64px;place-items:center;border-radius:var(--radius-card);font-weight:800}.weekday{color:var(--color-text-muted);font-size:.78rem}.calendar-day{border:1px solid var(--color-border);background:var(--color-surface)}button.calendar-day{color:var(--color-text-strong);cursor:pointer;font:inherit}button.calendar-day:disabled{cursor:default;opacity:1}.calendar-day.solved{background:var(--color-success);color:var(--color-heading)}.calendar-day.missed{background:var(--color-danger);color:var(--color-primary-foreground)}.achievement-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;grid-gap:20px;gap:20px}.achievement-list{display:grid;grid-gap:14px;gap:14px}.achievement-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:16px;gap:16px;overflow:hidden}.achievement-card.locked:after{position:absolute;inset:0;background:var(--color-locked-overlay);content:"";pointer-events:none}.achievement-card img{width:64px;height:64px;object-fit:contain}.progress-track{width:100%;height:10px;overflow:hidden;border-radius:999px;background:var(--color-surface-muted);margin-top:12px}.progress-fill{height:100%;background:var(--color-success)}.stats-panel{position:-webkit-sticky;position:sticky;top:96px;display:grid;grid-gap:12px;gap:12px}.stat-card span{display:block;color:var(--color-text-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.stat-card strong{display:block;margin-top:4px;color:var(--color-heading);font-size:1.2rem}.print-layout{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(320px,1.05fr);grid-gap:20px;gap:20px}.print-preview{display:grid;aspect-ratio:8.5/11;grid-template-rows:.9fr 5.4fr 1.8fr .9fr;grid-gap:14px;gap:14px;padding:28px}.print-footer,.print-title{display:flex;align-items:center;justify-content:space-between;color:var(--color-heading);font-weight:850}.puzzle-board{display:grid;grid-template-columns:repeat(7,1fr)}.puzzle-board,.puzzle-board span{border:1px solid var(--color-border)}.puzzle-board span{position:relative;min-height:44px}.puzzle-board span:after{position:absolute;top:50%;left:16%;width:68%;height:2px;background:var(--color-text-strong);content:"";transform:rotate(45deg)}.puzzle-board span:nth-child(3n):after{transform:rotate(-45deg)}.tips-box{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-muted);padding:14px}.tips-box li{margin:6px 0}.settings-panel{display:grid;grid-gap:18px;gap:18px;padding:22px}.option-group{display:grid;grid-gap:8px;gap:8px}.option-label{color:var(--color-text-strong);font-weight:800}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.article-card,.faq-list{display:grid;grid-gap:12px;gap:12px}.faq-list{margin-top:18px}.footer{border-top:1px solid var(--color-border);padding:28px 0 36px}.footer-inner{width:min(1180px,calc(100% - 32px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:28px;gap:28px;margin:0 auto;color:var(--color-text-muted);font-size:.92rem}.footer-column{display:grid;align-content:start;grid-gap:10px;gap:10px}.footer-column a{color:var(--color-text-strong);width:-moz-fit-content;width:fit-content}.footer-column a:focus-visible,.footer-column a:hover{color:var(--color-secondary-foreground);outline:none}@media (max-width:900px){.site-header-inner{align-items:flex-start;flex-direction:column;padding:14px 0}.site-nav{justify-content:flex-start}.achievement-layout,.article-grid,.content-grid,.hero,.print-layout,.section-grid{grid-template-columns:1fr}.hero{min-height:auto}.stats-panel{position:static}}@media (max-width:540px){.main-content{width:min(100% - 24px,1180px);padding-top:var(--page-top-gap)}.calendar-grid{gap:5px}.calendar-day,.weekday{min-height:42px}.achievement-card{grid-template-columns:48px minmax(0,1fr)}.achievement-card img{width:48px;height:48px}.print-preview{padding:18px}}h1{font-size:clamp(1.65rem,2.6vw,2.35rem);line-height:1.08}h2{font-size:clamp(1.4rem,2.1vw,2rem)}.hero-text-only{display:block;min-height:auto;padding:44px 0 12px;text-align:center}.hero-text-only .hero-copy{justify-items:center;max-width:840px;margin:0 auto}.hero-text-only .hero-subtitle{margin:0 auto}.mock-game{width:min(100%,620px)}.section-grid{grid-template-columns:1fr;gap:54px;margin-top:58px}.daily-intro{display:grid;grid-gap:12px;gap:12px;margin-top:44px}.daily-intro h1{padding-left:4px}.section-item{display:grid;grid-gap:12px;gap:12px}.section-item h2{padding-left:4px}.section-card{padding:24px 26px}.faq-section{display:grid;grid-gap:18px;gap:18px;margin-top:34px}.faq-heading{display:grid;grid-gap:8px;gap:8px}.faq-list{gap:10px;margin-top:0}.faq-item{padding:0;overflow:hidden}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;cursor:pointer;color:var(--color-text-strong);font-weight:800;list-style:none;padding:16px 20px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{width:10px;height:10px;border-right:2px solid var(--color-secondary-foreground);border-bottom:2px solid var(--color-secondary-foreground);content:"";transform:rotate(45deg);transition:transform .16s ease}.faq-item[open] summary:after{transform:rotate(225deg)}.faq-item p{border-top:1px solid var(--color-border);background:var(--color-surface-muted);padding:16px 20px 18px}.page-heading{padding:0 0 28px}.calendar-shell{gap:22px;padding:28px;background:linear-gradient(180deg,rgb(255 255 255/96%),rgb(255 255 255/88%)),var(--color-surface)}.calendar-toolbar{border-bottom:1px solid var(--color-border);padding-bottom:18px}.select-row select{min-width:118px;box-shadow:0 8px 20px rgb(30 58 138/7%)}.calendar-grid{gap:10px}.weekday{min-height:32px;border-bottom:1px solid var(--color-border);border-radius:0}.calendar-day{min-height:76px;align-content:start;justify-items:start;padding:10px;box-shadow:0 8px 20px rgb(30 58 138/5%)}.calendar-day:not(:empty):after{display:block;width:8px;height:8px;margin-top:18px;border-radius:999px;background:var(--color-border);content:""}.calendar-day.solved{border-color:rgb(90 123 192/26%);background:linear-gradient(145deg,#e4f5ff,var(--color-success))}.calendar-day.missed{border-color:rgb(248 113 113/26%);background:linear-gradient(145deg,#fff1f2,var(--color-danger))}.calendar-day.no_puzzle{background:var(--color-surface);color:var(--color-text-muted)}.calendar-day.unfinished{border-color:rgb(148 163 184/34%);background:#edf1f5;color:var(--color-text-strong)}.calendar-day.completed{border-color:rgb(90 123 192/26%);background:var(--color-complete-bg);color:var(--color-heading)}.calendar-day.selected{outline:3px solid var(--color-ring);outline-offset:2px}.calendar-day.empty:after,.calendar-day.no_puzzle:after{display:none}.calendar-day.unfinished:after{background:#cbd5e1}.calendar-day.completed:after{background:var(--color-primary)}.calendar-day.solved:after,.legend-dot.completed,.legend-dot.solved{background:var(--color-success)}.calendar-day.missed:after,.legend-dot.missed,.legend-dot.unfinished{background:#cbd5e1}.legend-dot.no-puzzle{background:var(--color-surface)}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--color-text-strong);font-size:.9rem;font-weight:700}.calendar-legend span{display:inline-flex;align-items:center;gap:8px}.legend-dot{display:inline-block;width:11px;height:11px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface)}.archive-player{display:grid;grid-gap:16px;gap:16px;padding:22px}.archive-modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:rgb(38 52 69/44%);padding:clamp(14px,3vw,28px)}.archive-player-modal{width:min(1120px,94vw);max-height:min(900px,92vh);overflow:auto}.archive-player-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.archive-player-header span{color:var(--color-text-muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.archive-player-header strong{border:1px solid var(--color-border);border-radius:999px;color:var(--color-heading);font-weight:850;padding:8px 12px}.archive-player-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.archive-close-button{min-height:36px;padding:7px 12px}.archive-modal-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);grid-gap:18px;gap:18px;min-height:0}.archive-modal-panel{display:grid;align-content:start;grid-gap:12px;gap:12px;border:1px solid rgb(90 123 192/22%);border-radius:var(--radius-card);background:linear-gradient(180deg,rgb(255 255 255/94%),rgb(238 244 251/78%));padding:16px}.archive-board-stage{min-height:min(620px,70vh)}.archive-empty-board{display:grid;width:min(100%,520px);aspect-ratio:1/1;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-card);background:linear-gradient(rgb(184 192 204/24%) 1px,transparent 0),linear-gradient(90deg,rgb(184 192 204/24%) 1px,transparent 0),rgb(255 255 255/78%);background-size:calc(100% / 6) calc(100% / 6);color:var(--color-text-muted);font-weight:850;text-align:center}.archive-player-controls{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.archive-player-controls .button{width:100%}.calendar-message{color:var(--color-text-muted);font-weight:750}.calendar-message.error{color:var(--color-danger)}.achievement-layout{grid-template-columns:minmax(0,1fr) 320px}.stats-panel{padding:24px}.stats-panel h2{margin-bottom:14px}.records-message{margin-bottom:10px;color:var(--color-text-muted);font-weight:750}.records-message.error{color:var(--color-danger)}.stats-list{display:grid;grid-gap:0;gap:0}.stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--color-border);padding:14px 0}.stat-row:first-child{border-top:0}.stat-row span{color:var(--color-text-muted);font-size:.84rem;font-weight:800;text-transform:uppercase}.stat-row strong{color:var(--color-heading);font-size:1.08rem}.print-layout{grid-template-columns:minmax(300px,.88fr) minmax(330px,1.12fr);align-items:center;gap:clamp(34px,7vw,82px);border-radius:var(--radius-card);background:var(--color-surface-muted);padding:clamp(26px,5vw,54px)}.print-preview{display:block;overflow:hidden;width:min(100%,430px);margin:0 auto;background:var(--color-surface);box-shadow:0 20px 42px rgb(30 58 138/12%)}.print-preview.paper-letter{aspect-ratio:8.5/11}.print-preview.paper-a4{aspect-ratio:210/297}.print-document,.print-page{display:grid;height:100%;min-height:0}.print-page{grid-template-rows:10fr 70fr 20fr;gap:0;width:100%;background:var(--color-surface);padding:24px 28px 26px}.print-title{display:flex;justify-content:space-between;gap:14px;align-items:center;color:var(--color-text-strong);font-size:.72rem;font-weight:850;line-height:1.25}.print-board-wrap{display:grid;min-height:0;place-items:center;padding:6px 0 12px}.print-board-wrap .slant-board{width:min(100%,80%);max-height:100%;box-shadow:none;pointer-events:none}.print-board-wrap .slant-board.size-10,.print-board-wrap .slant-board.size-8{width:min(100%,80%)}.print-board-wrap .slant-cell{cursor:default}.print-board-wrap .confetti{display:none}.print-board-wrap .slant-clue{width:clamp(18px,3vw,23px);height:clamp(18px,3vw,23px);font-size:clamp(.68rem,1.5vw,.9rem)}.print-loading{display:grid;width:100%;height:100%;place-items:center;border:1px solid var(--color-border);color:var(--color-text-muted);font-weight:850}.puzzle-board{align-self:stretch}.puzzle-board span{min-height:0}.tips-box{overflow:hidden;font-size:clamp(.58rem,.9vw,.68rem)}.tips-box ul{grid-template-columns:1fr;margin:5px 0 0;padding-left:16px}.print-rules,.tips-box ul{display:grid;grid-gap:3px;gap:3px}.print-rules{align-content:start;align-self:stretch;padding:6px 12px}.print-rules strong{font-size:.58rem;line-height:1}.print-rules ul{gap:2px;margin:0;padding-left:0;list-style:none}.print-rules li{overflow:hidden;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.print-settings-copy{display:grid;justify-items:center;grid-gap:22px;gap:22px;text-align:center}.print-settings-heading{display:grid;max-width:520px;grid-gap:20px;gap:20px}.print-settings-heading h1{font-size:clamp(1.75rem,3vw,2.2rem)}.print-settings-heading p{font-size:1.08rem}.difficulty-row,.print-action-row,.print-control-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}.difficulty-row{width:min(430px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.print-field,.solution-check{position:relative;display:inline-flex;align-items:center;min-height:44px;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text-strong);font-weight:800;padding:10px 14px}.print-field span{color:var(--color-text-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.print-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:auto;border:0;background:transparent;color:var(--color-text-strong);cursor:pointer;font-weight:850;padding:0}.print-select:focus-visible{outline:none}.solution-check input{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer}.solution-check span{color:var(--color-text-strong);font-size:1rem;font-weight:850}.solution-check:has(input:focus-visible){outline:3px solid var(--color-ring);outline-offset:2px}.difficulty-pill{min-height:34px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-secondary-foreground);cursor:pointer;font-weight:800;padding:7px 12px}.difficulty-pill.active{background:var(--color-primary);color:var(--color-primary-foreground)}.print-main-button{min-width:min(310px,100%)}.print-error{color:var(--color-danger);font-weight:750}.print-output{display:none}.article-card h3{margin:0;color:var(--color-heading);font-size:1.05rem;line-height:1.25}.article-tag{width:-moz-fit-content;width:fit-content;border:1px solid var(--color-border);border-radius:999px;background:var(--color-secondary);color:var(--color-secondary-foreground);font-size:.76rem;font-weight:850;line-height:1;padding:6px 10px;text-transform:uppercase}.article-summary{display:-webkit-box;height:4.5em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:1.5}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px}.pagination-link{display:inline-grid;min-width:40px;height:40px;place-items:center;border-radius:999px;color:var(--color-primary);font-weight:850;line-height:1}.pagination-link.active{background:var(--color-primary);color:var(--color-primary-foreground)}.pagination-link.icon-only{color:var(--color-text)}.pagination-link.disabled{color:var(--color-muted);pointer-events:none;opacity:.5}.guide-article-body{max-width:900px;margin-inline:auto;color:var(--color-text);font-size:1rem;line-height:1.75}.guide-article-body h2{margin:30px 0 12px;color:var(--color-heading);font-size:1.6rem;line-height:1.25}.guide-article-body h2:first-child{margin-top:0}.guide-article-body p,.guide-article-body ul{margin:0 0 18px}.guide-article-body ul{display:grid;grid-gap:8px;gap:8px;padding-left:1.2rem}.guide-article-body li::marker{color:var(--color-primary)}.static-page-content{display:grid;grid-gap:18px;gap:18px;max-width:900px;margin-inline:auto}.static-page-content .section-card{display:grid;grid-gap:10px;gap:10px}.static-page-content h2{margin:0;color:var(--color-heading);font-size:1.35rem;line-height:1.3}@media (max-width:900px){.game-frame{min-height:680px}.achievement-layout,.game-play-grid,.print-layout{grid-template-columns:1fr}}@media (max-width:540px){h1{font-size:clamp(1.75rem,8vw,2.4rem)}.game-frame{min-height:560px}.calendar-day{min-height:48px;padding:7px}.footer-inner,.tips-box ul{grid-template-columns:1fr}}.game-frame{position:relative;overflow:hidden;align-items:stretch;justify-items:stretch;min-height:800px;padding:clamp(20px,4vw,42px)}.game-layer{position:relative;display:grid;width:100%;min-height:100%}.game-layer-pre{align-items:center;justify-items:center;background:linear-gradient(180deg,rgb(238 244 251/42%),rgb(255 255 255/72%)),var(--color-surface)}.game-ready-panel{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(320px,1.05fr);align-items:stretch;width:100%;min-height:100%;overflow:hidden;border:1px solid rgb(90 123 192/22%);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:0 16px 40px rgb(30 58 138/8%)}.ready-visual{position:relative;display:grid;align-content:center;justify-items:center;min-height:620px;grid-gap:24px;gap:24px;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgb(158 216 255/78%) 0 0,transparent 30%),linear-gradient(145deg,var(--color-heading),var(--color-primary));color:var(--color-primary-foreground);padding:clamp(24px,4vw,42px)}.ready-visual-title{position:relative;z-index:1;font-size:clamp(1.5rem,3vw,2rem);font-weight:900}.ready-board-preview{position:relative;z-index:1;display:grid;width:min(260px,76%);aspect-ratio:1/1;grid-template-columns:repeat(4,1fr);border:1px solid rgb(255 255 255/48%);background:rgb(255 255 255/12%);box-shadow:0 18px 42px rgb(0 0 0/22%)}.ready-preview-cell{position:relative;border-right:1px solid rgb(255 255 255/28%);border-bottom:1px solid rgb(255 255 255/28%)}.ready-preview-cell:after{position:absolute;top:50%;left:50%;width:142%;border-top:4px solid var(--color-primary-foreground);border-radius:999px;content:"";opacity:0;transform-origin:center}.ready-preview-cell.slash-forward:after{opacity:1;transform:translateX(-50%) rotate(-45deg)}.ready-preview-cell.slash-back:after{opacity:1;transform:translateX(-50%) rotate(45deg)}.ready-medal{position:relative;z-index:1;border:1px solid rgb(255 255 255/36%);border-radius:999px;background:rgb(255 255 255/15%);font-weight:850;padding:8px 14px}.ready-content{display:grid;align-content:center;grid-gap:16px;gap:16px;width:min(520px,100%);justify-self:center;padding:clamp(28px,5vw,64px)}.ready-kicker{color:var(--color-text-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.ready-content h2{color:var(--color-heading);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.05}.ready-date{color:var(--color-text-strong);font-weight:850}.game-start-button,.ready-practice-button{width:100%}.game-ready-panel .game-text-cta{justify-self:center}.game-ready-panel .game-load-state{grid-column:1/-1;width:100%;border-top:1px solid var(--color-border);background:rgb(238 244 251/48%);padding:12px 18px}.game-date,.game-timer{justify-self:end;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-heading);font-size:.92rem;font-weight:850;padding:8px 12px}.game-date{position:absolute;top:0;right:0}.game-start-panel{display:grid;justify-items:center;grid-gap:16px;gap:16px}.game-start-button{min-width:160px}.game-practice-link,.game-text-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:var(--color-secondary-foreground);cursor:pointer;font-weight:850;padding:8px}.game-practice-link:focus-visible,.game-practice-link:hover,.game-text-cta:focus-visible,.game-text-cta:hover{color:var(--color-heading);outline:none;text-decoration:underline;text-underline-offset:4px}.game-practice-link{position:absolute;right:0;bottom:0}.game-layer-play{grid-template-rows:minmax(0,1fr);align-content:stretch;gap:0}.game-topbar{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:44px;grid-gap:16px;gap:16px}.game-statusbar{min-height:72px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:linear-gradient(180deg,rgb(238 244 251/70%),rgb(255 255 255/92%));padding:14px 18px}.game-status-copy{display:grid;align-content:center;grid-gap:3px;gap:3px;min-width:0}.difficulty-badge,.game-kicker,.game-result-strip span,.game-status-copy span{color:var(--color-text-muted);font-size:.78rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.game-status-copy strong{overflow:hidden;color:var(--color-heading);font-size:1.04rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.game-status-copy span:last-child{overflow:hidden;color:var(--color-text);text-overflow:ellipsis;text-transform:none;white-space:nowrap}.game-status-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.difficulty-badge{display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-secondary-foreground);padding:7px 12px}.game-difficulty-tabs{display:flex;flex-wrap:wrap;gap:8px}.game-board-stage{position:relative;display:grid;min-height:0;place-items:center;overflow:visible;border:1px solid rgb(90 123 192/24%);border-radius:var(--radius-card);background:linear-gradient(135deg,rgb(228 245 255/86%),rgb(238 244 251/58%)),var(--color-surface-muted);box-shadow:inset 0 1px 0 rgb(255 255 255/78%);padding:clamp(22px,4vw,42px)}.game-board-stage .slant-board{margin:0}.game-board-stage.loading .slant-board{opacity:0}.game-board-loading{position:absolute;inset:clamp(12px,2vw,24px);z-index:4;display:grid;align-content:center;place-items:center;grid-gap:6px;gap:6px;overflow:hidden;border:1px solid rgb(90 123 192/22%);border-radius:var(--radius-card);background:linear-gradient(rgb(184 192 204/34%) 1px,transparent 0),linear-gradient(90deg,rgb(184 192 204/34%) 1px,transparent 0),linear-gradient(180deg,rgb(255 255 255/74%),rgb(255 255 255/86%));background-size:calc(100% / 8) calc(100% / 8),calc(100% / 8) calc(100% / 8),auto;color:var(--color-heading);pointer-events:none;text-align:center}.game-board-loading:after,.game-board-loading:before{position:absolute;inset:0;opacity:.12;content:""}.game-board-loading:before{background:linear-gradient(45deg,transparent 48.5%,var(--color-primary) 49%,var(--color-primary) 51%,transparent 51.5%),linear-gradient(-45deg,transparent 48.5%,var(--color-chain-purple) 49%,var(--color-chain-purple) 51%,transparent 51.5%);background-position:10% 15%,58% 26%;background-repeat:no-repeat;background-size:34% 34%,28% 28%}.game-board-loading:after{background:linear-gradient(45deg,transparent 48.5%,var(--color-chain-cyan) 49%,var(--color-chain-cyan) 51%,transparent 51.5%),linear-gradient(-45deg,transparent 48.5%,var(--color-chain-green) 49%,var(--color-chain-green) 51%,transparent 51.5%);background-position:28% 64%,72% 68%;background-repeat:no-repeat;background-size:31% 31%,25% 25%}.game-board-loading span,.game-board-loading strong{position:relative;z-index:1}.game-board-loading strong{font-size:1.05rem;font-weight:900}.game-board-loading span{max-width:min(320px,82%);color:var(--color-text-strong);font-size:.94rem;line-height:1.55}.game-play-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);grid-gap:18px;gap:18px;min-height:0}.mock-game.interactive{position:relative;width:min(100%,560px);margin:0 auto;box-shadow:0 16px 38px rgb(30 58 138/8%)}.mock-game.interactive.size-8{width:min(100%,620px)}.mock-game.interactive.size-10{width:min(100%,680px)}.mock-game.interactive.completed{background:var(--color-complete-bg)}.mock-game.interactive .mock-cell{min-width:0;min-height:0;aspect-ratio:1/1;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;padding:0}.mock-game.interactive.completed .mock-cell{background:var(--color-success);cursor:default}.mock-game.interactive .mock-cell:after{opacity:0}.mock-game.interactive .mock-cell.slash-back:after,.mock-game.interactive .mock-cell.slash-forward:after{opacity:1}.mock-cell.slash-forward:after{transform:rotate(-45deg)}.mock-cell.slash-back:after{transform:rotate(45deg)}.mock-cell.chain-0:after{background:var(--color-primary)}.mock-cell.chain-1:after{background:var(--color-chain-green)}.mock-cell.chain-2:after{background:var(--color-chain-pink)}.mock-cell.chain-3:after{background:var(--color-chain-purple)}.mock-cell.chain-4:after{background:var(--color-chain-cyan)}.mock-cell.chain-5:after{background:var(--color-chain-gold)}.mock-cell.cell-warning{background:var(--color-warning-bg);outline:3px solid var(--color-danger);outline-offset:-3px}.mock-cell.chain-warning:after{height:4px;background:var(--color-danger)}.game-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.game-control-panel{display:grid;align-content:start;grid-gap:14px;gap:14px;order:2}.game-side-panel{align-content:start;border:1px solid rgb(90 123 192/22%);border-radius:var(--radius-card);background:linear-gradient(180deg,rgb(255 255 255/94%),rgb(238 244 251/78%));box-shadow:0 14px 32px rgb(30 58 138/7%);padding:16px}.game-side-panel,.game-side-stats{display:grid;grid-gap:12px;gap:12px}.game-side-stats{order:1}.game-side-card{display:grid;grid-gap:5px;gap:5px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:13px 14px}.game-side-card span{color:var(--color-text-muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.game-side-card strong{overflow:hidden;color:var(--color-heading);font-size:.98rem;line-height:1.25;text-overflow:ellipsis}.game-side-panel .game-controls{display:grid;grid-template-columns:1fr}.game-side-panel .button{width:100%}.game-side-panel>.game-hint{order:3}.game-difficulty-card .game-difficulty-tabs{gap:6px}.game-difficulty-card .difficulty-pill{flex:1 1 72px;min-width:0}.game-result-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;color:var(--color-text)}.game-result-strip strong{color:var(--color-heading);font-size:1.04rem}.game-hint{min-height:1.7em;margin:0 auto;color:var(--color-text-strong);font-size:.94rem;text-align:left}.game-load-state{max-width:min(520px,100%);min-height:1.5em;color:var(--color-text-muted);font-size:.92rem;font-weight:750;text-align:center}.game-load-state.error{color:var(--color-danger)}.confetti{position:absolute;inset:-28%;z-index:4;pointer-events:none;background:radial-gradient(circle at 10% 16%,var(--color-primary) 0 4px,transparent 5px),radial-gradient(circle at 24% 80%,var(--color-chain-cyan) 0 4px,transparent 5px),radial-gradient(circle at 38% 30%,var(--color-chain-pink) 0 5px,transparent 6px),radial-gradient(circle at 55% 88%,var(--color-chain-green) 0 4px,transparent 5px),radial-gradient(circle at 68% 18%,var(--color-chain-gold) 0 5px,transparent 6px),radial-gradient(circle at 82% 68%,var(--color-chain-purple) 0 4px,transparent 5px),radial-gradient(circle at 94% 34%,var(--color-danger) 0 4px,transparent 5px);animation:confetti-pop 2.8s ease-out both}@keyframes confetti-pop{0%{opacity:0;transform:translateY(18px) scale(.75)}18%{opacity:1}72%{opacity:.9}to{opacity:0;transform:translateY(-22px) scale(1.18)}}.guide-backdrop{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgb(38 52 69/36%);padding:18px}.guide-modal{display:grid;grid-template-columns:minmax(280px,360px) minmax(280px,1fr);align-items:start;grid-gap:24px;gap:24px;width:min(900px,100%);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);padding:24px}.guide-slant-demo{width:100%}.guide-slant-demo .slant-board{width:min(100%,340px);margin:0;pointer-events:none;box-shadow:0 14px 34px rgb(30 58 138/10%)}.guide-slant-demo .slant-board.completed{background:var(--color-complete-bg)}.guide-slant-demo .confetti{inset:-16%}.guide-board{display:grid;grid-template-columns:repeat(3,1fr);aspect-ratio:1/1;border:1px solid var(--color-border)}.guide-cell{position:relative;display:grid;place-items:center;border:1px solid var(--color-border);color:var(--color-text-muted);font-weight:850}.guide-cell:after{position:absolute;width:70%;height:3px;background:var(--color-primary);content:"";opacity:0;transform:rotate(45deg)}.guide-cell.step-1:nth-child(2n):after,.guide-cell.step-2:after,.guide-cell:nth-child(-n+3):after{opacity:1}.guide-cell.step-1:nth-child(2n):after,.guide-cell.step-2:nth-child(3n):after{transform:rotate(-45deg)}.guide-copy{display:grid;align-content:start;grid-gap:16px;gap:16px}.guide-copy h2{line-height:1.08}.guide-copy p{color:var(--color-text-strong)}.slant-board{--cell-line-color:var(--color-primary);position:relative;width:min(100%,560px);aspect-ratio:1/1;margin:0 auto;border:1px solid var(--color-grid-line);background:var(--color-surface);box-shadow:0 18px 42px rgb(30 58 138/8%)}.slant-board.size-8{width:min(100%,620px)}.slant-board.size-10{width:min(100%,680px)}.slant-board.completed{background:var(--color-complete-bg)}.slant-cell-layer{position:relative;z-index:1;display:grid;width:100%;height:100%;grid-template-columns:repeat(var(--slant-size),minmax(0,1fr));perspective:900px}.slant-cell{position:relative;min-width:0;min-height:0;border:0;border-right:1px solid var(--color-grid-line);border-bottom:1px solid var(--color-grid-line);background:transparent;cursor:pointer;padding:0;transform-style:preserve-3d}.slant-cell:disabled{cursor:default;opacity:1}.slant-board.completed .slant-cell{animation:slant-cell-flip .6s ease-in-out var(--flip-delay,0s) both;background:var(--color-complete-bg)}.slant-cell:focus-visible{z-index:2;outline:3px solid var(--color-ring);outline-offset:-3px}.slant-cell:after,.slant-cell:before{position:absolute;top:50%;left:50%;width:144%;height:0;border-radius:999px;content:"";opacity:0;transform-origin:center}.slant-cell:before{border-top:6px solid var(--color-line-outline)}.slant-cell:after{border-top:3px solid var(--cell-line-color)}.slant-cell.slash-forward:after,.slant-cell.slash-forward:before{opacity:1;transform:translateX(-50%) rotate(-45deg)}.slant-cell.slash-back:after,.slant-cell.slash-back:before{opacity:1;transform:translateX(-50%) rotate(45deg)}.slant-board.svg-lines .slant-cell:after,.slant-board.svg-lines .slant-cell:before{display:none}.slant-line-layer{position:absolute;inset:0;z-index:2;overflow:visible;pointer-events:none;shape-rendering:geometricPrecision}.slant-line-layer line{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.slant-line-outlines line{stroke:var(--color-line-outline);stroke-width:7}.slant-line-colors line{stroke:var(--color-primary);stroke-width:3.5}.slant-line-colors .component-0{stroke:var(--color-primary)}.slant-line-colors .component-1{stroke:var(--color-chain-green)}.slant-line-colors .component-2{stroke:var(--color-chain-pink)}.slant-line-colors .component-3{stroke:var(--color-chain-purple)}.slant-line-colors .component-4{stroke:var(--color-chain-cyan)}.slant-line-colors .component-5{stroke:var(--color-chain-gold)}.slant-line-colors .cycle-line{stroke:var(--color-danger);stroke-width:5}.slant-cell.chain-0,.slant-cell.component-0{--cell-line-color:var(--color-primary)}.slant-cell.chain-1,.slant-cell.component-1{--cell-line-color:var(--color-chain-green)}.slant-cell.chain-2,.slant-cell.component-2{--cell-line-color:var(--color-chain-pink)}.slant-cell.chain-3,.slant-cell.component-3{--cell-line-color:var(--color-chain-purple)}.slant-cell.chain-4,.slant-cell.component-4{--cell-line-color:var(--color-chain-cyan)}.slant-cell.chain-5,.slant-cell.component-5{--cell-line-color:var(--color-chain-gold)}.slant-cell.cell-warning,.slant-cell.invalid-cell{background:var(--color-warning-bg);box-shadow:inset 0 0 0 3px var(--color-danger)}.slant-cell.cycle-cell.invalid-cell{background:transparent;box-shadow:none}.slant-cell.chain-warning:before,.slant-cell.cycle-cell:before{border-top-color:var(--color-line-outline)}.slant-cell.chain-warning:after,.slant-cell.cycle-cell:after{border-top-width:5px;border-top-color:var(--color-danger)}@keyframes slant-cell-flip{0%{transform:rotateY(0deg)}48%{background:var(--color-success);transform:rotateY(88deg)}to{transform:rotateY(0deg)}}.slant-clue-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.slant-clue{position:absolute;z-index:3;display:grid;width:clamp(22px,4vw,28px);height:clamp(22px,4vw,28px);place-items:center;border:2px solid var(--color-line-outline);border-radius:999px;background:var(--color-surface);color:var(--color-line-outline);font-size:clamp(.78rem,2vw,1rem);font-weight:900;line-height:1;transform:translate(-50%,-50%)}.slant-clue.satisfied{background:var(--color-clue-satisfied)}.slant-clue.error{background:var(--color-warning-bg);border-color:var(--color-danger)}@media (max-width:720px){.guide-modal{grid-template-columns:1fr}.guide-slant-demo .slant-board{width:min(300px,100%);margin:0 auto}.guide-board{width:min(260px,100%);margin:0 auto}}@media (max-width:900px){.game-frame{min-height:auto;padding:12px}.game-ready-panel{grid-template-columns:1fr}.ready-visual{min-height:300px}.ready-board-preview{width:min(220px,70%)}.game-layer{min-height:auto}.game-play-grid{grid-template-columns:1fr;gap:12px}.game-board-stage{padding:16px}.game-side-panel{grid-template-columns:1fr;padding:12px}.game-control-panel{order:1}.game-side-stats{order:2}.game-side-panel>.game-hint{order:3}.game-side-panel .game-controls{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.game-side-stats{grid-template-columns:repeat(auto-fit,minmax(126px,1fr))}.game-side-card{min-height:72px}.game-difficulty-card{grid-column:1/-1}.game-hint{width:100%;text-align:center}.archive-modal-backdrop{align-items:stretch;padding:0}.archive-player-modal{width:100%;max-height:100vh;border-radius:0}.archive-player-header{flex-direction:column}.archive-player-actions{width:100%;justify-content:space-between}.archive-modal-body{grid-template-columns:1fr}.archive-board-stage{min-height:auto}.archive-modal-panel{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.archive-modal-panel .game-hint,.archive-player-controls{grid-column:1/-1}.archive-player-controls{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (max-width:540px){.game-ready-panel{width:100%}.ready-visual{min-height:220px;gap:12px;padding:18px}.ready-visual-title{font-size:1.45rem}.ready-board-preview{width:min(185px,68%)}.ready-content{gap:10px;padding:18px 20px}.game-board-stage{padding:10px}.game-side-panel .game-controls,.game-side-stats{grid-template-columns:1fr 1fr}.game-side-panel .button{min-height:40px;padding-inline:8px}.game-hint{grid-column:1/-1}}@media print{@page{margin:.35in}body{background:#ffffff}.footer,.page-heading,.print-preview,.print-settings-copy,.section-grid,.site-header{display:none!important}.main-content,.print-layout,.site-shell{display:block;width:auto;margin:0;padding:0;background:#ffffff}.print-output{display:block}.print-output.paper-letter .print-page{width:7.8in;min-height:10.3in}.print-output.paper-a4 .print-page{width:190mm;min-height:277mm}.print-page{page-break-after:always;break-after:page;box-shadow:none;padding:0}.print-page:last-child{page-break-after:auto;break-after:auto}.print-board-wrap .slant-board{width:min(100%,7.1in)}.print-rules{border-color:#cbd5e1}}