:root{--bg:#f4f3ee;--paper:#fffefb;--ink:#272b34;--muted:#7b7c83;--line:#deded8;--purple:#7760ac;--purple-dark:#5f488f;--lilac:#ece6f5;--gold:#e1b65e;--tileblack:#303540;--tilewhite:#f3f1e8;--radius:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-underline-offset:4px}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a68bcf;outline-offset:4px}button{border:0}button[hidden],[hidden]{display:none!important}.site-header{height:104px;max-width:1360px;margin:auto;padding:0 64px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:19px;font-weight:650;letter-spacing:2px;flex-shrink:0}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:2.5px;color:var(--muted);margin-top:5px}.brand-mark{position:relative;width:44px;height:42px;display:block}.brand-mark i{position:absolute;top:12px;border-radius:50%;width:25px;height:25px;background:var(--ink)}.brand-mark i+i{left:19px;background:#fff;border:1.5px solid var(--ink)}.brand-mark b{color:var(--purple);position:absolute;top:-2px;left:27px;font-size:19px}.tabs{padding:5px;border:1px solid var(--line);border-radius:32px;display:flex;gap:2px;background:#ecece7}.tabs button{border-radius:24px;padding:11px 23px;font-size:13px;background:transparent;color:#777;white-space:nowrap;transition:background .2s}.tabs button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 6px #2221}.tabs span{padding-left:4px;color:var(--purple)}.header-note{font-size:11px;color:var(--muted);letter-spacing:1px}main{max-width:1232px;padding:0 40px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;padding:52px 0 42px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:2.5px;color:var(--purple);font-weight:600;margin:0 0 20px}.eyebrow>span{display:inline-block;width:6px;height:6px;background:var(--purple);border-radius:50%}h1{font-size:clamp(34px,3.6vw,48px);font-weight:570;line-height:1.35;letter-spacing:1px;margin:0 0 18px}.violet{color:var(--purple)}.lead{font-size:13px;color:var(--muted);line-height:1.95;margin:0}.intro-art{position:relative;width:280px;height:150px;margin-right:65px}.mini-square{width:82px;height:82px;position:absolute;border-radius:13px;box-shadow:0 12px 25px #272b3412;transform:rotate(-12deg)}.mini-square.black{left:20px;top:41px;z-index:3}.mini-square.rainbow{left:91px;top:22px;z-index:2;transform:rotate(5deg)}.mini-square.white{left:163px;top:43px;z-index:1;transform:rotate(17deg);border:1px solid #e2e1db}.intro-art>span{font-size:51px;position:absolute;left:199px;top:-6px;color:var(--purple);z-index:4;font-weight:300}.art-line{width:230px;height:75px;border-bottom:1px dashed #b9a9cc;border-radius:50%;position:absolute;left:25px;top:66px}.black,.sample.black{background:var(--tileblack)}.white,.sample.white{background:var(--tilewhite)}.rainbow,.sample.rainbow{background:linear-gradient(132deg,#d9c5ec 0%,#e2c6cf 23%,#ecdbb5 45%,#bfdcca 68%,#b7cedf 86%,#d8c7e9 100%)}.game-layout{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(280px,1fr);gap:40px;align-items:start}.board-card{border:1px solid #dfdfd8;background:var(--paper);border-radius:24px;padding:26px 30px 22px;box-shadow:0 10px 40px #30354005;min-width:0}.board-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.puzzle-caption>span{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.puzzle-caption h2{font-size:20px;font-weight:580;letter-spacing:1px;margin:7px 0 0}.turn-chip{font-size:11px;border:1px solid var(--line);border-radius:25px;display:flex;gap:8px;align-items:center;padding:9px 13px;white-space:nowrap;background:#faf9f5}.token-dot{display:inline-block;border-radius:50%;width:13px;height:13px;border:1px solid #4b4d58}.token-dot.white{background:white}.board-frame{padding:0 0 0 18px;position:relative}.board{display:grid;grid-template-columns:repeat(var(--size,8),1fr);gap:4px;background:#e4e3dc;padding:5px;border-radius:11px;position:relative;aspect-ratio:1}.cell{aspect-ratio:1;position:relative;border-radius:5px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #00000005;transition:background .18s,box-shadow .15s;min-width:0}.cell.B{background:var(--tileblack)}.cell.W{background:var(--tilewhite)}.cell.C{background:linear-gradient(133deg,#e0cbed 1%,#dfc5d1 25%,#e5d9b5 48%,#c2dbcb 72%,#bfd1e5 100%)}.cell.C:before{content:'◇';position:absolute;right:4px;bottom:1px;color:#5553;font-size:12px;line-height:1}.cell.legal:after{content:'';width:12px;height:12px;position:absolute;border:2px solid #aa8bdd;background:#bca4df70;border-radius:50%;box-shadow:0 0 0 3px #a788cf15;z-index:2}.cell.legal:hover{box-shadow:inset 0 0 0 2px #a68bcf}.cell.hint{box-shadow:inset 0 0 0 3px #9e7dc6;animation:hint-pulse 1.3s ease-in-out infinite}.cell .coord{position:absolute;font-size:8px;color:var(--muted);font-weight:400;pointer-events:none}.cell .row-coord{left:-20px;top:50%;transform:translateY(-50%)}.cell .col-coord{bottom:-17px;left:50%;transform:translateX(-50%)}.piece{width:69%;height:69%;border-radius:50%;position:relative;z-index:5;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;box-shadow:0 2px 5px #0004;border:2px solid #ffffffb3}.piece.black{background:radial-gradient(at 35% 23%,#56606b,#20252e 70%);color:#d9dce5}.piece.white{background:radial-gradient(at 35% 23%,#fff,#dddcd6);border-color:#a4a3a0;color:#6d6c72}.piece.active{outline:2px solid #b79bd8;outline-offset:2px}.star{font-size:clamp(14px,2.4vw,27px);line-height:1;color:#f2cd76;filter:drop-shadow(0 1px 0 #9f6a3f);position:relative;z-index:1;-webkit-text-stroke:.45px #a38346}.cell.W .star,.cell.C .star{color:#c59640;-webkit-text-stroke:.5px #876b36}.cell .piece+.star{position:absolute;right:0;top:0;font-size:16px;z-index:7}.board-bottom{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin:25px 0 22px;align-items:center}.board-bottom>span{display:flex;align-items:center;gap:6px}.legal-key{width:7px;height:7px;border-radius:50%;background:#b69bd6}kbd{font-family:inherit;background:#f3f2ee;border:1px solid #dcdcd6;box-shadow:0 1px 0 #deded8;padding:1px 3px;border-radius:3px;font-size:9px;color:#86868a}.key-help{gap:3px!important}.key-help em{font-size:9px;font-style:normal;margin-left:3px}.game-stats{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:0 0 16px}.game-stats>div{padding:0 18px;border-right:1px solid var(--line)}.game-stats>div:first-child{padding-left:0}.game-stats>div:last-child{border:0;padding-right:0}.game-stats span{font-size:10px;color:var(--muted);display:block;margin-bottom:7px}.game-stats strong{font-size:27px;font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:1px}.game-stats small{font:11px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#929299;letter-spacing:0}.game-message{font-size:11px;line-height:1.7;min-height:23px;margin-bottom:13px;color:#777581}.game-message.success{color:#547d62;font-weight:600}.game-message.stuck{color:#aa7258}.game-controls{display:flex;gap:9px;align-items:center}.button{border:1px solid var(--line);border-radius:9px;padding:11px 17px;font-size:11px;background:#fffefb;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:background .2s,transform .2s}.button:not(:disabled):hover{transform:translateY(-1px);background:#f0edf5}.button.soft{background:#f8f7f2;border-color:#e5e4de}.button.primary{background:var(--purple);color:white;border-color:var(--purple)}.button.primary:hover{background:var(--purple-dark)}.game-controls .primary{margin-left:auto}.button.small{padding:8px 12px;font-size:11px}.button.dark{background:var(--ink);color:white;border-color:var(--ink)}.button.dark:hover{background:#454451}.game-controls .soft>span{font-size:17px}.button small{font-size:9px;opacity:.7}.game-sidebar{padding:3px 0 0}.game-sidebar>section{margin-bottom:28px}.section-label{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1px;color:#99949c;margin:0 0 15px}.section-label>span{font-size:12px;font-weight:600;color:var(--ink);letter-spacing:.5px}.section-label>b{margin-left:auto;font-weight:400;letter-spacing:.4px;font-size:9px;color:var(--muted)}.mode-switch{display:flex;border:1px solid #dcdcd5;background:#ecece6;border-radius:9px;padding:4px;gap:4px}.mode-switch button{background:transparent;border-radius:6px;flex:1;padding:10px;font-size:11px;color:#929099}.mode-switch button.selected{background:var(--paper);color:var(--ink);box-shadow:0 1px 5px #0001}.muted{font-size:11px;color:var(--muted);line-height:1.8;margin:11px 0}.level-list{display:flex;flex-direction:column;gap:8px}.level-card{padding:15px 16px;background:transparent;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;text-align:left;gap:14px;transition:background .2s,border-color .2s;width:100%}.level-card:hover{background:#eeece6}.level-card.selected{background:#efebf6;border-color:#c2b1d8}.level-num{font:italic 20px Georgia,serif;color:#aaa4b0;width:23px}.level-card.selected .level-num{color:var(--purple)}.level-info{flex:1}.level-info b{display:block;font-size:13px;font-weight:550;margin-bottom:5px}.level-info small{font-size:10px;color:var(--muted)}.level-score{text-align:right;font:20px Georgia,serif;font-weight:400}.level-score small{display:block;font:9px -apple-system,BlinkMacSystemFont,sans-serif;margin-top:4px;color:var(--muted)}.verified-note{font-size:9px;color:var(--muted);line-height:1.8;margin:12px 0 0}.verified-note span{font-size:11px;color:#799382;margin-right:5px}.rules-card{padding:22px;background:#eae9e2;border-radius:14px}.rules-card .section-label{margin-bottom:20px}.rule-row{display:flex;gap:12px;align-items:center;margin:15px 0}.rule-row p{font-size:10px;line-height:1.7;margin:0;color:#74737b}.rule-icons{display:flex;align-items:center;gap:5px;width:66px;flex-shrink:0}.rule-icons b{font-size:13px;font-weight:400;color:#96909b}.sample{display:inline-block;width:22px;height:22px;border-radius:5px;border:1px solid #d0cfc8}.star-icon{font-size:21px;color:var(--purple);gap:8px}.rules-foot{font-size:8px;color:#9b969e;margin:22px 0 0;line-height:1.8;letter-spacing:.5px}.text-button{background:none;padding:0;border:0;font-size:11px;color:var(--muted);line-height:1.8;text-align:left}.text-button:hover{color:var(--purple)}.game-sidebar>.text-button{display:flex;justify-content:space-between;width:100%;padding:8px 0}.below-game{margin:42px 0 56px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:28px}.below-game p{font-size:12px;line-height:1.9;color:#85818b;margin:0}.below-game p>span{display:block;font-size:9px;color:var(--purple);letter-spacing:2px;margin-bottom:6px}.below-game button{text-align:right;color:#54515c;font-size:12px}.below-game button span{display:block;color:var(--purple);font-size:10px;margin-top:5px}.solution-panel{margin-top:18px;padding:16px;border-radius:10px;background:#f1edf7;border:1px solid #e4dcee}.solution-panel b{font-size:12px}.solution-panel p{font-size:10px;line-height:1.8;color:#8d829a;margin:5px 0 12px}.solution-actions{display:flex;gap:8px;flex-wrap:wrap}.solution-panel details{margin:12px 0 0;font-size:10px}.solution-panel summary{padding:0;border:0;color:var(--purple)}#path-text{font-size:10px;line-height:2.2;max-height:170px;overflow:auto;margin-top:8px;word-break:break-word}.path-pass{color:#9d6a43}.dpad{display:none}footer{max-width:1232px;margin:auto;border-top:1px solid var(--line);padding:28px 40px 40px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#929097}.brand-footer{color:var(--ink);letter-spacing:3px}.brand-footer span{margin-left:8px;font-size:11px;letter-spacing:1px}.report-hero{padding:62px 0 40px;border-bottom:1px solid var(--line);position:relative}.report-hero h1{font-size:46px}.report-meta{display:flex;align-items:center;gap:20px;margin-top:27px;font-size:10px;color:#98949e}.report-meta span+span{border-left:1px solid var(--line);padding-left:20px}.report-meta button{margin-left:auto}.report-layout{display:grid;grid-template-columns:195px minmax(0,1fr);gap:55px;padding-top:44px}.report-nav{position:sticky;top:26px;align-self:start;display:flex;flex-direction:column;gap:18px;font-size:11px}.report-nav>span{font-size:9px;letter-spacing:2px;color:#aaa3af;margin-bottom:5px}.report-nav a{text-decoration:none;color:#8a8590}.report-nav a:hover{color:var(--purple)}.report-article{max-width:820px;min-width:0}.report-article>section{padding-bottom:55px;margin-bottom:45px;border-bottom:1px solid var(--line);scroll-margin-top:28px}.report-article h2{font-size:29px;font-weight:550;line-height:1.6;letter-spacing:.5px;margin:22px 0}.report-article h3{font-size:16px;font-weight:600;margin:30px 0 14px;line-height:1.7}.report-article p,.report-article li{font-size:13px;color:#686772;line-height:2;margin:14px 0}.report-article strong{color:var(--ink);font-weight:600}.report-article i{font-family:Georgia,"Times New Roman",serif;font-size:15px;color:#4b445a;white-space:normal}.report-article a{color:var(--purple);font-size:12px}.report-article ol{padding-left:22px}.report-article li{padding-left:5px}.table-scroll{width:100%;overflow:auto;margin:25px 0;border:1px solid var(--line);border-radius:11px}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;line-height:1.8;min-width:480px}th{background:#eae9e3;padding:14px;font-weight:500;white-space:nowrap}td{border-top:1px solid var(--line);padding:14px;color:#7a7385}td:first-child{color:var(--ink)}.callout{border-left:3px solid #a38bbf;padding:19px 23px;background:#ece8f2;border-radius:0 10px 10px 0;margin:26px 0}.callout>strong{font-size:12px;color:#746186}.callout p{font-size:12px;margin:8px 0 0}.callout.subtle{background:#ecebe6;border-color:#aca79c}.state-equation{display:flex;gap:14px;align-items:center;justify-content:center;padding:28px 14px;background:var(--paper);border:1px solid var(--line);border-radius:12px;white-space:nowrap;margin:25px 0;color:#76618e;font-family:Georgia,serif;font-size:21px}.state-equation>b{text-align:center;font-weight:500;padding-right:12px;border-right:1px solid #e7e1ec;position:relative}.state-equation>b:last-of-type{border:0;padding:0}.state-equation small{display:block;font:9px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#9e94a7;margin-top:12px}.walk-demo{display:flex;align-items:center;justify-content:space-between;background:#ebeae4;padding:24px;border-radius:13px;margin-top:30px;gap:12px}.figure-label{font-size:10px;letter-spacing:.3px;color:#92879d;display:block;margin-bottom:16px}.demo-track{display:flex;gap:5px}.demo-track>div{width:46px;height:46px;position:relative;border-radius:5px;display:flex;align-items:center;justify-content:center}.figure-caption{font-size:10px!important;color:#96909e!important}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.two-columns h3{font-size:14px}.two-columns p{font-size:12px}.graph-figure{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:25px 0;padding:28px 16px;background:#eeede8;border-radius:13px}.graph-node{padding:13px 11px;border:1px solid #d1c6df;border-radius:8px;background:#fffdfa;text-align:center;font-size:10px}.graph-node small{display:block;font-size:9px;color:#9c91aa;margin-top:6px}.graph-arrow{font-size:9px;color:#99909e;text-align:center;position:relative;min-width:50px}.graph-arrow:before{content:'';position:absolute;left:0;right:0;top:22px;height:1px;background:#b6a9c5}.graph-arrow:after{content:'›';position:absolute;right:-4px;top:13px;font-size:18px;color:#b6a9c5}.graph-arrow span{display:block;margin-top:18px;color:#7f679f;font-size:11px}.goal-node{background:#ebe3f4}.formula{font-family:Georgia,"Times New Roman",serif;background:var(--paper);border:1px solid var(--line);border-radius:12px;text-align:center;padding:30px 18px;margin:27px 0;color:var(--purple);font-size:23px;line-height:1.5}.segment-figure{display:flex;align-items:center;justify-content:center;gap:6px;margin:28px 0;font-size:10px}.segment-figure span{padding:16px 9px;background:linear-gradient(100deg,#e1d1e9,#d9e3d3);border-radius:5px;color:#8b8090}.segment-figure b{padding:16px 8px;background:var(--ink);color:white;font-weight:400;border-radius:5px}.report-article pre{padding:24px;border-radius:12px;overflow:auto;background:#2e313b;color:#d7cde6;font-size:11px;line-height:2.1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.report-article details{border:1px solid var(--line);padding:18px 21px;margin-top:25px;border-radius:11px}.report-article summary{cursor:pointer;font-size:12px;color:#746581}.report-article details p{font-size:12px}.cycle-diagram{display:flex;gap:12px;align-items:center;justify-content:space-around;background:#ecebe5;border-radius:12px;padding:22px 15px;margin:26px 0}.cycle-diagram>div{flex:1;min-width:0}.cycle-diagram svg{width:100%;font:13px Georgia,serif;fill:#80728f}.cycle-diagram .figure-label{text-align:center;margin:0}.big-arrow{font-size:26px;color:#a28ab9}.reduction-figure{display:grid;grid-template-columns:1.3fr 1fr;gap:23px;padding:22px;background:#ebeae4;border-radius:13px;margin:30px 0;align-items:center}.reduction-figure>div{min-width:0}.reduction-board{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;background:#d3d2ca;padding:3px;border-radius:6px;aspect-ratio:1}.reduction-board>.cell{border-radius:2px}.reduction-board .star{font-size:12px}.reduction-board .piece{font-size:6px;border-width:1px;width:83%;height:83%}.reduction-board .piece.active{outline-width:1px;outline-offset:0}.diagram-tag{font-size:10px;font-weight:600;color:#7e6898}.reduction-explain p{font-size:11px;line-height:1.8;margin:5px 0 16px}.reduction-explain>strong{font-size:10px;font-weight:400;line-height:1.8;display:block;margin-bottom:16px}.reduction-explain>div{display:flex;gap:12px;align-items:center}.theorem{border:1px solid #cec0de;background:#eae3f2;padding:25px;border-radius:12px;margin:30px 0}.theorem>span{font-size:8px;letter-spacing:2px;color:#9b83b3}.theorem h3{margin:10px 0;font-size:18px;color:#625074}.theorem p{font-size:12px;margin:0}.references{margin-top:38px}.references h3{font-size:13px}.references p,.references a{font-size:11px;line-height:1.9}.download-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}.download-links a{font-size:11px;padding:9px 13px;border:1px solid var(--line);border-radius:8px;text-decoration:none}dialog{border:1px solid #d7d1e1;border-radius:18px;padding:27px;background:var(--paper);width:min(540px,calc(100% - 30px));color:var(--ink);box-shadow:0 25px 100px #0003}dialog::backdrop{background:#28273360;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}dialog h2{margin:0;font-size:21px}dialog p{font-size:12px;color:var(--muted);line-height:1.8}.icon-button{font-size:24px;background:none;color:var(--muted);padding:0 5px}dialog label{display:block;margin:18px 0 9px;font-size:11px;color:var(--purple)}textarea{width:100%;resize:vertical;border:1px solid var(--line);background:#f5f4ef;border-radius:8px;padding:13px;font:11px/1.6 ui-monospace,SFMono-Regular,monospace;color:var(--ink)}.dialog-actions{display:flex;gap:10px;justify-content:flex-end}#import-error{color:#a15f4d;font-size:11px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);color:#f2f0f5;border-radius:10px;padding:13px 21px;font-size:12px;box-shadow:0 4px 25px #0002;z-index:100;max-width:90vw}.loading-dot{display:inline-block;width:6px;height:6px;background:#a58bc6;border-radius:50%;margin-right:7px;animation:hint-pulse 1s infinite}.confetti-star{color:var(--gold);font-size:14px}@keyframes hint-pulse{50%{opacity:.55}}
@media(min-width:1450px){.intro{padding-top:60px}.board-card{padding:30px 34px}.game-layout{gap:50px;grid-template-columns:1.5fr 1fr}.game-sidebar>section{margin-bottom:33px}.level-card{padding:18px}.rules-card{padding:25px}.intro h1{font-size:50px}}
@media(max-width:1000px){.site-header{padding:0 32px;height:90px}.header-note{display:none}main{padding:0 28px}.game-layout{gap:25px;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.board-card{padding:22px 20px}.intro-art{margin-right:10px}.rule-row{gap:6px}.rules-card{padding:19px 17px}.key-help{display:none!important}.game-stats>div{padding:0 10px}.report-layout{grid-template-columns:155px minmax(0,1fr);gap:27px}.report-nav{font-size:10px}.report-article h2{font-size:25px}.state-equation{gap:10px;font-size:18px}.state-equation>b{padding-right:8px}.reduction-figure{grid-template-columns:1fr}.reduction-board{max-width:320px;margin:auto}.reduction-explain{display:none}.reduction-explain>strong,.reduction-explain>div{display:flex}.reduction-explain{display:block}.reduction-explain>p,.reduction-explain>.diagram-tag{display:none}.graph-node{padding:11px 7px;font-size:9px}.graph-figure{padding:22px 10px}.graph-arrow{min-width:42px;font-size:8px}}
@media(max-width:740px){.site-header{height:80px;padding:0 20px;gap:10px}.brand{font-size:16px;gap:9px}.brand small{font-size:6px;letter-spacing:1.5px}.brand-mark{transform:scale(.8);transform-origin:left center;width:37px}.tabs{padding:3px}.tabs button{padding:9px 12px;font-size:10px}.tabs span{display:none}main{padding:0 20px}.intro{padding:32px 0 27px}.eyebrow{font-size:7px;letter-spacing:1.8px;margin-bottom:14px}h1{font-size:32px}.lead{font-size:11px;line-height:1.9}.intro-art{width:160px;transform:scale(.62);transform-origin:right center;margin-left:-75px;margin-right:0;opacity:.9}.game-layout{display:flex;flex-direction:column;gap:25px}.board-card{width:100%;padding:22px 20px 18px}.game-sidebar{display:flex;flex-direction:column;width:100%}.mode-section{order:-2}.game-sidebar>section{margin-bottom:26px}.game-sidebar .level-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.level-card{padding:13px 11px;gap:8px}.level-num{font-size:17px;width:20px}.level-info b{font-size:11px}.level-info small{font-size:8px}.level-score{font-size:18px}.level-score small{font-size:8px}.verified-note{font-size:9px}.rules-card{padding:22px}.rule-row{gap:15px}.rule-row p{font-size:11px}.rules-foot{font-size:9px}.game-stats strong{font-size:26px}.star{font-size:24px}.piece{font-size:10px}.dpad{display:grid;grid-template-columns:repeat(3,35px);grid-template-rows:repeat(2,28px);gap:4px;justify-content:center;margin-top:17px}.dpad button{border:1px solid var(--line);background:#f6f4ee;border-radius:6px;color:#a29aa8;font-size:17px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-row:2;grid-column:1}.dpad button:nth-child(3){grid-row:2;grid-column:2}.dpad button:nth-child(4){grid-row:2;grid-column:3}.below-game{margin:27px 0 35px;gap:17px}.below-game p{font-size:10px}.below-game button{font-size:10px;flex-shrink:0}.below-game button span{font-size:9px}footer{padding:24px 20px 30px}footer>span{display:none}.report-hero{padding-top:35px}.report-hero h1{font-size:32px}.report-meta{gap:12px;font-size:9px}.report-meta span+span{padding-left:12px}.report-meta button{font-size:9px}.report-layout{display:block;padding-top:25px}.report-nav{position:static;display:flex;flex-direction:row;gap:12px;overflow:auto;white-space:nowrap;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:25px}.report-nav>span{display:none}.report-article h2{font-size:25px}.report-article p,.report-article li{font-size:12px;line-height:2.1}.report-article h3{font-size:15px}.report-article>section{margin-bottom:30px;padding-bottom:32px}.state-equation{gap:8px;padding:23px 9px;font-size:17px}.state-equation small{font-size:7px}.state-equation>b{padding-right:7px}.state-equation>span{font-size:16px}.walk-demo{padding:18px 13px}.demo-track>div{width:37px;height:37px}.walk-demo .button{font-size:9px;padding:8px}.figure-label{font-size:9px}.two-columns{gap:18px}.two-columns h3{font-size:12px}.two-columns p{font-size:11px}.formula{font-size:20px;padding:22px 12px}.segment-figure{font-size:8px;gap:4px}.segment-figure span,.segment-figure b{padding:12px 6px}.graph-figure{gap:5px}.graph-node{font-size:8px;padding:11px 6px}.graph-node small{font-size:8px}.graph-arrow{min-width:38px;font-size:7px}.graph-arrow span{font-size:10px}.reduction-figure{padding:18px}.reduction-explain{margin-top:0}.reduction-explain>strong{margin:0 0 12px}.callout{padding:18px}.callout p{font-size:11px}.theorem{padding:20px}.theorem h3{font-size:16px}.theorem p{font-size:11px}.report-article pre{padding:18px;font-size:9px}.report-article summary{font-size:11px}}
@media(max-width:380px){.site-header{padding:0 14px}.brand{font-size:14px}.tabs button{font-size:9px;padding:9px 10px}main{padding:0 13px}.board-card{padding:18px 14px}.intro-art{display:none}.game-controls .button{padding:10px 12px;font-size:10px}.level-card{gap:5px}.level-info small{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.site-header,.report-nav,.report-meta button,footer,#game-panel,.tabs,.report-article button{display:none!important}#report-panel{display:block!important}main{max-width:none;padding:0}.report-hero{padding:0 0 20px}.report-hero h1{font-size:30px}.report-layout{display:block}.report-article{max-width:none}.report-article>section{break-inside:auto;padding-bottom:20px;margin-bottom:20px}.report-article h2,.report-article h3{break-after:avoid}.formula,.callout,.theorem,figure,table,.graph-figure,.reduction-figure{break-inside:avoid}.report-article details{display:block}.report-article details>*{display:block}.table-scroll{overflow:visible}a{color:inherit!important}.reduction-explain{display:block}.reduction-explain>p,.reduction-explain>.diagram-tag{display:block}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media (max-width:740px){.intro-art{width:280px;flex-shrink:0;transform:scale(.4);margin-left:-210px;margin-right:0;opacity:.7}.game-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-controls .primary{margin-left:0}.game-controls #pass[hidden]+#solve{grid-column:1/-1}}
