:root{font-family:'Microsoft YaHei','微软雅黑',sans-serif;color:#19474a;background:#f4f0e3}*{box-sizing:border-box}body{margin:0}button,select,a{font:inherit}button,select{border:1px solid #b4c2b0;border-radius:9px;background:#fffbed;color:#19474a;padding:10px 14px;cursor:pointer}button:hover{background:#e2eee1}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #d7ad56;outline-offset:2px}[hidden]{display:none!important}#classroom{height:calc(100dvh - 70px);overflow:auto}.slide{display:none;position:relative;min-height:100%;padding:40px 4vw 28px}.slide.active{display:flex;flex-direction:column}.kicker{font-size:17px;color:#8b7241;letter-spacing:3px;margin:0 0 13px}h1,h2,h3,p{margin-top:0}h2{font-size:43px;line-height:1.3;letter-spacing:1px;margin-bottom:24px}.content{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.45fr);gap:38px;flex:1;align-items:center;min-height:0}.copy p{font-size:25px;line-height:1.7;margin:0 0 17px}.question{font-size:23px;line-height:1.6;padding:17px 19px;border-left:4px solid #bd9746;background:#e8ecde;margin-top:24px;border-radius:0 10px 10px 0}.visual{min-width:0;margin:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px}.visual>img{width:100%;height:clamp(250px,49vh,550px);object-fit:contain;background:#e8e8dc;border-radius:12px;cursor:zoom-in}.visual figcaption{font-size:13px;line-height:1.55;color:#56706a}.paired{display:grid;grid-template-columns:1fr 1fr;gap:12px}.paired img{width:100%;height:340px;object-fit:contain;background:#e6e5d9;cursor:zoom-in;border-radius:10px}.paired small{display:block;margin:7px 0}.hero{color:#fff0cc;background-size:cover;background-position:center;justify-content:center;padding-left:7vw!important}.hero .kicker{color:#ddc798}.hero h2{font-size:74px;letter-spacing:6px;margin-bottom:27px}.hero .copy{width:49%;max-width:650px}.hero .copy p{font-size:25px}.hero .credit{position:absolute;bottom:22px;right:25px;font-size:13px;color:#e6e2cc}.hero .subtle{font-size:18px;margin-top:30px}.rest{background-position:center}.rest .rest-card{background:#f8f1dfed;border-radius:20px;padding:32px 40px;max-width:430px;box-shadow:0 6px 30px #18393021}.rest h2{font-size:48px;color:#214b48}.rest p{font-size:22px;color:#345850}.clock{font-size:65px;font-variant-numeric:tabular-nums;letter-spacing:5px;color:#214b48;margin:18px 0}.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.primary{background:#205b55;color:#fff0c8;border-color:#205b55}.primary:hover{background:#32736a}.board{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;background:#215f5c;padding:13px;border:6px solid #cfb273;border-radius:12px;box-shadow:0 8px 0 #937341;max-width:440px;margin:0 auto;aspect-ratio:7/6}.cell{min-width:0;aspect-ratio:1;border-radius:50%;background:#a8c5b4;display:grid;place-items:center;border:2px solid #153c3b;box-shadow:inset 0 3px 3px #12352f4d;color:#fff3d2;font-size:24px;font-weight:bold}.cell.red{background:#df725a;box-shadow:inset 0 3px 0 #ffc7a0}.cell.yellow{background:#efc668;color:#775927;box-shadow:inset 0 3px 0 #fff3bc}.cell.winner{outline:4px solid #fff6c8;outline-offset:-5px}.col-nums{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;font-size:20px;font-weight:bold;max-width:430px;margin:10px auto 0;text-align:center}.board-caption{font-size:14px;line-height:1.55;text-align:center;margin-top:12px}.boardwrap{width:100%;max-width:450px;margin:auto}.cols{display:flex;justify-content:center;gap:6px;margin:15px auto}.cols button{padding:8px 14px}.wide .content{grid-template-columns:1fr}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1000px;margin:auto}.branch{background:#fff9e9;border:1px solid #ccd2ba;border-radius:16px;padding:15px 20px;min-width:0}.branch h3{font-size:25px;margin:0 0 14px}.branch .board{max-width:345px;gap:4px;padding:9px;border-width:4px}.branch .cell{font-size:21px}.branch .btn-row{justify-content:center;margin-top:14px}.result{font-size:17px;line-height:1.5;min-height:52px;margin:10px 0 0}.compact-head{display:flex;justify-content:space-between;gap:24px;align-items:start}.compact-head .intro{font-size:20px;max-width:510px;line-height:1.6;margin:0 0 18px}.algorithm{display:grid;grid-template-columns:.9fr 1.3fr;gap:28px}.method-steps{display:flex;gap:10px;margin-bottom:20px}.method-steps span{padding:10px;background:#e5e9d8;border-radius:8px;font-size:17px}.method-steps .current{background:#205b55;color:#fff2cb}.reply-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.reply-grid button{font-size:17px;padding:12px 6px}.reply-grid small{display:block;font-size:12px;line-height:1.5}.reply-grid .worst{border:3px solid #b46d39;background:#f5dfbd}.algo-text{font-size:23px;line-height:1.65;min-height:82px}.code-card{padding:25px;background:#e8eee0;border:1px solid #bcc8b3;border-radius:15px;text-align:center;font-size:45px;letter-spacing:4px}.entry .visual>img{height:35vh}.directions{display:flex;justify-content:space-around;gap:12px;margin-top:18px}.direction{font-size:34px;letter-spacing:0;color:#c57544;text-align:center}.direction small{font-size:14px;display:block;color:#365a54}.handbook .visual>img{height:64vh;background:transparent}.answer-list p{font-size:19px;line-height:1.65;border-bottom:1px solid #ccd0bc;padding-bottom:12px}.summary-boards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.summary-boards .board{padding:8px;gap:3px;border-width:4px}.summary-boards .cell{font-size:14px}.source-tag{font-size:12px;color:#6d796c}.activity-icon{width:70px;height:70px;object-fit:contain;margin-bottom:12px}#toolbar{height:70px;position:fixed;bottom:0;left:0;right:0;background:#173e42;color:#fff1d2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;font-size:13px;z-index:10}#toolbar>div{display:flex;align-items:center;gap:7px}#toolbar a{color:#f7e6bc;text-decoration:none;padding:9px}#toolbar button,#toolbar select{font-size:12px;padding:9px 10px;background:#244e50;color:#fff2d3;border-color:#6b8780}.paging{position:absolute;left:39%;transform:translateX(-50%)}#pageStatus{min-width:65px;text-align:center;font-variant-numeric:tabular-nums}#showBar{position:fixed;right:15px;bottom:15px;z-index:12;background:#173e42;color:#fff0c7}.bar-hidden #classroom{height:100dvh}dialog{border:1px solid #879f93;border-radius:15px;padding:22px;background:#faf6e9;color:#234f4e;max-width:90vw;max-height:90vh}dialog::backdrop{background:#092a31d4}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;font-size:15px}.dialog-top h2{font-size:25px;margin:0}.dialog-top button{white-space:nowrap}#imageDialog{width:94vw;height:93vh;max-width:96vw;max-height:96vh;overflow:hidden;display:none;flex-direction:column}#imageDialog[open]{display:flex}#largeImage{height:calc(100% - 70px);min-height:0;width:100%;object-fit:contain}#largeCaption{font-size:14px}#pageList{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#pageList button{text-align:left;max-width:330px;font-size:15px}#demoPanel{position:fixed;inset:0;background:#f4f0e3;z-index:30;padding:10px}#demoPanel .dialog-top{height:40px;margin-bottom:8px}#demoFrame{width:100%;height:calc(100% - 48px);border:0;border-radius:12px}#toast{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);background:#123b40;color:#fff2d0;padding:12px 22px;border-radius:9px;pointer-events:none;opacity:0;z-index:100}#toast.visible{opacity:1}.motion-running .slide.active .focus-pulse{animation:focusGlow 3.8s ease-in-out infinite}.motion-paused .focus-pulse{animation-play-state:paused!important}@keyframes focusGlow{50%{box-shadow:0 0 0 5px #c0a96b44}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media(max-width:1000px){h2{font-size:34px}.copy p{font-size:21px}.content{gap:20px}.tools{gap:4px!important}.paging{position:static;transform:none}#toolbar{padding:8px;font-size:11px}#toolbar button,#toolbar select{padding:8px 6px}.hero h2{font-size:60px}.paired img{height:280px}}@media(max-width:750px){.slide{padding:25px}.content,.algorithm{grid-template-columns:1fr}.copy p{font-size:20px}.hero .copy{width:80%}.compare-grid{gap:10px}.branch{padding:10px}.branch h3{font-size:20px}.branch .cell{font-size:12px}.compact-head{display:block}.paired img{height:220px}#toolbar{height:auto;min-height:70px;flex-wrap:wrap}#pageList{grid-template-columns:1fr 1fr}.hero h2{font-size:48px}.reply-grid{grid-template-columns:repeat(3,1fr)}}
.slide[data-id="rules"] .boardwrap{max-width:290px}.slide[data-id="rules"] .board{gap:4px;padding:8px;border-width:4px}.slide[data-id="rules"] .cols{margin:8px 0}.slide[data-id="rules"] .board-caption{margin:4px 0;font-size:13px}.slide[data-id="rules"] .directions{margin-top:7px}.slide[data-id="rules"] .visual{gap:5px}.slide[data-id="entry"] .visual>img{height:24vh}.slide[data-id="entry"] .code-card{padding:13px;font-size:38px}.slide[data-id="entry"] .visual{gap:6px}.slide[data-id="entry"] .board-caption{margin:3px 0}.slide[data-id="entry"] .visual>a{font-size:16px}.slide[data-id="compare"]{padding-top:25px;padding-bottom:18px}.slide[data-id="compare"] h2{font-size:37px;margin-bottom:12px}.slide[data-id="compare"] .branch .board{max-width:242px}.slide[data-id="compare"] .boardwrap{max-width:252px}.slide[data-id="compare"] .branch{padding:12px 18px}.slide[data-id="compare"] .branch h3{font-size:23px;margin-bottom:9px}.slide[data-id="compare"] .branch .cell{font-size:16px}.slide[data-id="compare"] .branch .btn-row{margin-top:10px}.slide[data-id="compare"] .branch button{font-size:14px;padding:9px 10px}.slide[data-id="compare"] .col-nums{font-size:16px;margin-top:5px}.slide[data-id="compare"] .result{font-size:16px;min-height:49px;margin-top:8px}.slide[data-id="compare"]>.btn-row{margin-top:13px}.slide[data-id="method"]{padding-top:24px;padding-bottom:18px}.slide[data-id="method"] h2{font-size:37px;margin-bottom:15px}.slide[data-id="method"] .boardwrap{max-width:300px}.slide[data-id="method"] .board{padding:8px;gap:4px;border-width:4px}.slide[data-id="method"] .cell{font-size:17px}.slide[data-id="method"] .col-nums{font-size:16px;margin-top:6px}.slide[data-id="method"] .btn-row{margin-top:10px}.slide[data-id="method"] .btn-row button{font-size:15px;padding:10px}.slide[data-id="method"] .method-steps{margin-bottom:14px}.slide[data-id="method"] .algo-text{font-size:21px;line-height:1.6;min-height:68px}.slide[data-id="method"] .reply-grid{margin:12px 0}.slide[data-id="method"] .board-caption{font-size:13px;line-height:1.4;margin-top:9px}.slide[data-id="answers"] .copy>p{font-size:20px;margin-bottom:9px}.slide[data-id="answers"] .answer-list p{font-size:19px;line-height:1.6;margin-bottom:12px}.slide[data-id="answers"] .boardwrap{max-width:380px}
.slide.win .boardwrap,.slide.play .boardwrap,.slide.transfer .boardwrap{max-width:345px}.slide.win .board,.slide.play .board,.slide.transfer .board{gap:4px;padding:10px;border-width:5px}.slide.win .cell,.slide.play .cell,.slide.transfer .cell{font-size:20px}.slide.win .board-caption,.slide.play .board-caption,.slide.transfer .board-caption{font-size:14px;margin-top:8px}.slide.win .btn-row,.slide.play .btn-row,.slide.transfer .btn-row{margin-top:11px}.slide.handbook .visual>img{height:58vh}.activity-icon{position:absolute;top:26px;right:4vw;width:68px;height:68px;object-fit:contain}.slide[data-id="rules"] .directions{font-size:22px}.slide[data-id="rules"] .directions svg{width:58px;height:42px;display:block;margin:auto}.slide[data-id="answers"] .copy{align-self:center}.slide[data-id="answers"] .answer-list p{font-size:21px;line-height:1.65}
.slide[data-id="rules"]{padding-top:24px}.slide[data-id="rules"] .boardwrap{max-width:260px}.slide[data-id="rules"] .cell{font-size:17px}
