:root{--navy:#182139;--muted:#667085;--teal:#167c7c;--cream:#f8f4eb;--coral:#e75c50;--yellow:#f7c85b;--line:#d4dcd8;font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:var(--navy);background:#101626}
*{box-sizing:border-box}body{margin:0}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #f7c85b;outline-offset:4px}button:disabled{opacity:.35;cursor:default}#player{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center}#stage-wrap{position:relative;flex:1;width:100%;overflow:hidden}#stage{position:absolute;width:1280px;height:720px;transform-origin:top left;background:var(--cream);overflow:hidden}#controls{height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0 22px;color:#fff;background:#101626;font-size:14px}#controls button{border:1px solid #455064;background:none;color:#f3f4f6;border-radius:5px;min-height:34px;padding:5px 13px}#controls button:hover{background:#263348}#controls #next{background:var(--teal);border-color:var(--teal)}.control-group{display:flex;gap:8px;align-items:center}#page-counter{color:#c4ccda;font-variant-numeric:tabular-nums}#course-progress{height:3px;width:100%;background:#333b50;flex-shrink:0}#course-progress i{display:block;height:100%;background:var(--yellow);transition:width .2s}
.slide{position:relative;width:100%;height:100%;padding:36px 56px 45px}.slide h1{font-size:48px;line-height:1.24;font-weight:800;letter-spacing:-1.5px;margin:0;max-width:1165px}.slide h1.long-title{font-size:43px}.slide .eyebrow{color:var(--teal);font-size:18px;letter-spacing:2px;margin:0 0 10px}.slide-footer{position:absolute;bottom:20px;left:56px;right:56px;display:flex;justify-content:space-between;font-size:18px;color:#76839a;font-variant-numeric:tabular-nums}.slide-body{display:grid;grid-template-columns:460px 1fr;gap:32px;align-items:center;position:absolute;top:135px;bottom:61px;left:56px;right:56px}.copy{align-self:center}.copy p{margin:0 0 23px;font-size:33px;line-height:1.4;font-weight:500;word-break:keep-all;overflow-wrap:anywhere}.copy p:first-child{color:var(--teal);font-weight:700}.copy p:last-child{margin-bottom:0}.copy .task{margin-top:26px;font-size:24px;font-weight:700;color:var(--teal);line-height:1.5}.visual{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}.visual svg{display:block;width:100%;max-height:100%}.visual-label{font-size:19px;color:var(--muted);text-align:center;margin-top:10px}.slide .bottom-note{position:absolute;bottom:62px;left:56px;right:56px;font-size:22px;color:var(--teal);font-weight:700;line-height:1.5}.slide.dark{background:var(--navy);color:white}.dark .eyebrow{color:var(--yellow)}.dark .copy p{color:white}.dark .copy p:first-child{color:var(--yellow)}.dark .copy .task,.dark .bottom-note{color:#c4ccda}.dark .slide-footer{color:#b8c6d9}.cover{padding:0;background:var(--navy);color:#fff}.cover .cover-copy{position:absolute;left:62px;top:130px;width:470px;z-index:2;pointer-events:none}.cover h1{font-size:66px;line-height:1.2;max-width:470px}.cover .cover-sub{font-size:28px;line-height:1.5;color:var(--yellow);margin-top:36px}.cover .cover-meta{margin-top:22px;font-size:18px;color:#c4ccda;letter-spacing:2px}.cover .hero-model{position:absolute;right:12px;top:48px;width:720px;height:600px}.cover .hero-model .maze-demo{background:transparent!important}.cover .hero-model .maze-demo-toolbar,.cover .hero-model .maze-demo-help,.cover .hero-model .maze-demo-hud{display:none!important}.cover .hero-model canvas{height:560px!important;max-height:560px!important}.cover .slide-footer{left:62px;color:#b8c6d9}.cover .cover-start{margin-top:28px;pointer-events:auto;background:var(--teal);color:#fff;border:0;padding:11px 23px;font-size:21px;border-radius:5px}.photo-slide .slide-body{display:block;top:126px}.photo-gallery{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.photo-gallery.three{grid-template-columns:repeat(3,1fr);gap:22px}.photo-gallery figure{margin:0;min-width:0;height:100%;display:flex;flex-direction:column;align-items:stretch}.photo-gallery img{width:100%;height:345px;object-fit:contain;display:block;background:rgba(255,255,255,.5)}.photo-gallery.three img{height:310px}.photo-gallery figcaption{font-size:24px;line-height:1.4;text-align:center;margin-top:14px}.photo-gallery .photo-credit{font-size:13px;color:var(--muted);margin-top:8px;text-align:center}.photo-slide .photo-question{position:absolute;bottom:62px;left:56px;right:56px;text-align:center;font-size:26px;color:var(--teal);font-weight:700}.slide.photo-slide .slide-body{bottom:112px}.photo-fallback{font-size:28px;color:var(--teal);line-height:1.6;padding:24px}.play-slide .slide-body{grid-template-columns:330px 1fr;top:125px;gap:15px}.play-slide .copy p{font-size:28px}.play-slide .copy .task{font-size:22px}.play-slide .visual{height:485px;align-self:start}.play-slide .maze-demo{width:100%;height:100%}.play-slide .maze-demo canvas{max-height:385px}.practice .slide-body{grid-template-columns:440px 1fr}.minutes{font-size:76px;font-weight:800;line-height:1;color:var(--coral);margin-bottom:30px}.timer-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:22px}.timer-bar button,.diagram-controls button{background:transparent;border:1.5px solid var(--teal);color:var(--teal);border-radius:5px;padding:7px 15px;font-size:18px}.dark .timer-bar button{border-color:#b8c6d9;color:white}.timer-readout{font-size:72px;font-weight:800;color:var(--yellow);font-variant-numeric:tabular-nums;line-height:1.1;margin-bottom:20px}.practice .timer-readout{font-size:67px;color:var(--coral)}.dark .minutes{color:var(--yellow)}.break-slide .timer-readout{font-size:146px;color:var(--yellow);margin-bottom:40px}.break-slide .slide-body{grid-template-columns:580px 1fr}.studio .timer-readout{font-size:126px}.studio .copy p{font-size:31px}.diagram-controls{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.diagram-controls button.is-active{background:var(--teal);color:white}.diagram-wrap{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.diagram-wrap.with-controls{padding-bottom:50px}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin:32px 0}.check-item{font-size:34px;display:flex;align-items:center;gap:15px;line-height:1.4}.check-item:before{content:'✓';font-size:42px;color:var(--teal)}.keycap{display:inline-block;border:2px solid var(--line);border-bottom-width:5px;min-width:80px;text-align:center;border-radius:10px;padding:14px 20px;font-size:45px;background:#fff;color:var(--navy);font-weight:700}.key-row{display:flex;align-items:center;gap:20px;justify-content:center;margin-bottom:26px}.key-row span:last-child{font-size:25px}.simple-visual{width:100%;font-size:32px;line-height:1.7}.simple-visual strong{color:var(--teal)}.file-example{padding:25px 16px;border-bottom:2px solid var(--teal);text-align:center;font-size:27px;word-break:break-all}.end-slide h1{font-size:58px}.diagram-callout{font-size:25px;color:var(--teal);position:absolute;bottom:0;text-align:center;width:100%}
dialog{max-width:min(1080px,94vw);width:1080px;max-height:88dvh;border:0;border-radius:10px;background:var(--cream);color:var(--navy);padding:26px 32px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#0d152acc}.dialog-head{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-head h2{font-size:25px;margin:0}.dialog-head button{border:0;background:var(--navy);color:white;padding:9px 15px;border-radius:5px;white-space:nowrap}#slide-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}#slide-list button{text-align:left;border:1px solid var(--line);background:transparent;border-radius:5px;padding:13px 14px;line-height:1.5;font-size:15px}#slide-list button.current{background:var(--teal);color:white;border-color:var(--teal)}#slide-list small{display:block;opacity:.7}#note-content{font-size:19px;line-height:1.8}#note-content h3{font-size:23px;color:var(--teal)}#note-content li{margin-bottom:12px}#note-content .note-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}#note-content button,#resource-content button{padding:10px 16px;background:var(--teal);border:0;color:white;border-radius:5px}#resource-content{font-size:17px;line-height:1.75}#resource-content h3{font-size:23px;margin-top:28px}#resource-content a{color:var(--teal)}#resource-content li{margin-bottom:13px}.resource-credit{font-size:14px;color:var(--muted)}.resource-top{background:#fff8;padding:17px 20px;border-left:4px solid var(--teal)}.resource-videos{padding-left:25px}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.source-grid img{width:100%;height:140px;object-fit:contain;background:white}.source-grid p{margin:8px 0;line-height:1.5}#notice{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;border:1px solid #667085;padding:10px 20px;border-radius:6px;display:none;z-index:20;font-size:16px}
.cover .hero-model canvas{height:100%!important;max-height:none!important}.cover .hero-model .mz-stage{background:transparent;box-shadow:none;border-radius:0}.play-slide .maze-demo canvas{max-height:none}.small-photo-gallery .photo-gallery{gap:15px}.small-photo-gallery img{height:250px}.small-photo-gallery figcaption{font-size:20px}.video-link{display:inline-block;margin-top:22px;color:var(--teal);font-size:18px;line-height:1.5;text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){#controls{padding:0 8px;gap:5px;font-size:11px;height:54px}.control-group{gap:4px}#controls button{padding:4px 7px}#page-counter{display:none}#notes-btn{display:none}dialog{padding:18px}#slide-list{grid-template-columns:1fr 1fr}.source-grid{grid-template-columns:1fr}.dialog-head h2{font-size:21px}}
@media print{body{background:white}#controls,#course-progress,dialog{display:none!important}#player{display:block;height:auto}#stage-wrap{height:auto;overflow:visible}#stage{position:static;transform:none!important}.slide{page-break-after:always}}

/* Browser fullscreen and clearly labelled page-only immersive playback. */
#presentation-dock[hidden]{display:none}
#presentation-dock{position:fixed;right:14px;top:12px;z-index:35;display:flex;gap:7px;opacity:.7;transition:opacity .18s}
#presentation-dock:hover,#presentation-dock:focus-within{opacity:1}
#presentation-dock button{min-height:33px;border:1px solid #68768b;border-radius:6px;background:#101626e8;color:#f3f4f6;padding:5px 10px;font-size:12px;line-height:1.4}
body.presentation-mode{overflow:hidden;background:#101626}
body.presentation-mode #player{position:fixed;inset:0;width:100%;height:100dvh}
body.presentation-mode #stage-wrap{position:absolute;inset:0;width:100%;height:100%;flex:none}
body.presentation-mode #controls{position:fixed;left:0;right:0;bottom:0;z-index:30;height:54px;background:#101626f2;box-shadow:0 -8px 24px #0002;transition:transform .2s,opacity .2s}
body.presentation-mode #course-progress{position:fixed;bottom:0;left:0;z-index:31;height:3px;transition:opacity .2s}
body.presentation-mode.toolbar-hidden #controls{transform:translateY(110%);opacity:0;pointer-events:none}
body.presentation-mode.toolbar-hidden #course-progress{opacity:0}
body.presentation-mode.toolbar-hidden #presentation-dock{opacity:0}
body.presentation-mode.toolbar-hidden #presentation-dock:hover,body.presentation-mode.toolbar-hidden #presentation-dock:focus-within{opacity:1}
#fullscreen-help{max-width:min(720px,94vw)}
#fullscreen-help p{font-size:18px;line-height:1.8;margin:18px 0}
#immersive-start{border:0;border-radius:6px;padding:11px 18px;background:var(--teal);color:white;font-size:17px}
@media(prefers-reduced-motion:reduce){body.presentation-mode #controls,body.presentation-mode #course-progress,#presentation-dock{transition:none}}
@media print{#presentation-dock{display:none!important}body.presentation-mode #player{position:static;height:auto}body.presentation-mode #stage-wrap{position:static;height:auto}}
