:root{--paper:#f3f2ed;--ink:#182320;--muted:#6c7771;--edge:#d3d7cd;--green:#254d43;--lime:#d0f96b;--dark:#12201d;--font:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--paper);color:var(--ink);font-size:16px}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible{outline:3px solid #7ca933;outline-offset:3px}button{border:0;background:none}button:disabled{opacity:.25;cursor:default}#app{height:100dvh;min-height:580px;display:flex;flex-direction:column;background:var(--paper);transition:none}.topbar{height:82px;flex:none;border-bottom:1px solid var(--edge);display:flex;align-items:center;padding:0 3.5vw;gap:30px}.brand{display:flex;align-items:center;gap:16px;padding:0;text-align:left}.brandmark{font-size:30px;font-weight:850;letter-spacing:-2px}.brandmark>span{font-size:10px;vertical-align:top;letter-spacing:0;margin-left:3px}.brandtext{font-size:8px;letter-spacing:1.4px;line-height:1.7}.brandtext small{display:block;font-size:11px;letter-spacing:.8px;color:var(--muted)}#chapters{margin-left:auto;display:flex;gap:22px}#chapters button{font-size:12px;color:var(--muted);position:relative;padding:30px 0}#chapters button.active{color:var(--ink);font-weight:700}#chapters button.active:after{content:"";position:absolute;height:3px;bottom:0;left:0;right:0;background:var(--green)}.toptools{display:flex;gap:8px;align-items:center}.toptools>button{height:34px;min-width:32px;border:1px solid var(--edge);font-size:17px}.toptools .menu{font-size:12px;padding:0 12px;display:flex;gap:15px;align-items:center}#stage{flex:1;min-height:0;outline:none;position:relative;overflow:auto;scrollbar-width:thin}.slide{height:100%;padding:4.2vh 5.3vw 2vh;display:flex;flex-direction:column;animation:none}.slide-head{display:flex;justify-content:space-between;gap:25px;align-items:start;flex:none;margin-bottom:2.8vh}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:var(--muted);display:block;text-transform:uppercase}.slide-head h1{font-size:clamp(24px,2.55vw,42px);letter-spacing:-1.4px;line-height:1.4;font-weight:650;margin:11px 0 0}.section-num{font-size:13px;color:var(--muted);padding-top:4px;white-space:nowrap}.lead{font-size:clamp(15px,1.45vw,22px);line-height:1.85;max-width:1050px;margin:0 0 3vh}.slide-body{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;justify-content:center;gap:2vh}.slide-note{border-left:3px solid var(--green);padding:9px 15px;font-size:clamp(12px,1vw,16px);line-height:1.65;margin-top:2vh;background:#e8ece3}.source{font-size:10px;line-height:1.6;color:var(--muted);margin-top:12px;flex:none}.footer{height:65px;flex:none;display:flex;align-items:center;padding:0 3.5vw;gap:20px;border-top:1px solid var(--edge)}#pagebtn{padding:0;font-size:12px;white-space:nowrap}#pagebtn b{font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}#pagebtn span{color:var(--muted)}.progress{width:112px;height:2px;background:var(--edge)}#progressfill{height:100%;background:var(--green);transition:width .3s}#footerchapter{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.footeractions{margin-left:auto;display:flex;align-items:center;gap:12px}.footeractions button{height:36px;width:40px;border:1px solid var(--edge);font-size:20px}.footeractions #sourcebtn{font-size:11px;width:auto;border:0;margin-right:18px}.keyhint{font-size:10px;color:var(--muted);margin-right:15px}.blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 4vw;border-top:1px solid var(--edge)}.block{padding:2.5vh 0;border-bottom:1px solid var(--edge);display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start}.block-label{font-size:12px;color:var(--green);font-variant-numeric:tabular-nums;padding-top:5px}.block h3{font-size:clamp(18px,1.6vw,27px);margin:0 0 10px;font-weight:600;line-height:1.4}.block p{font-size:clamp(13px,1.15vw,18px);color:var(--muted);line-height:1.9;margin:0;white-space:pre-line}.blocks.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw}.blocks.three .block{display:block}.blocks.three .block-label{display:block;margin-bottom:22px}.blocks.wide{grid-template-columns:1fr}.blocks.wide .block{grid-template-columns:45px 1fr;padding:1.8vh 0}.blocks.wide .block>div{display:grid;grid-template-columns:23% 1fr;gap:2vw}.blocks.wide .block h3{margin:0}.panel-figure{flex:1;min-height:0;margin:0;display:flex;align-items:center;justify-content:center;position:relative;background:white;border:1px solid #e5e7df;padding:10px}.panel-figure button{height:100%;width:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:0}.panel-figure img{width:100%;height:100%;object-fit:contain;max-height:57vh}.panel-figure:after{content:"↗ 클릭하여 확대";position:absolute;bottom:9px;right:12px;font-size:10px;color:var(--green);background:#f3f2eddd;padding:7px 10px;pointer-events:none}.source-slide .slide-head{margin-bottom:2vh}.source-slide .slide-note{margin-top:1.3vh}.source-slide .source{margin-top:5px}.sequence{display:grid;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));gap:0;position:relative}.step{padding:26px 20px;min-height:170px;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);text-align:left;transition:background .25s}.step+.step{border-left:1px solid var(--edge)}.step .step-no{display:block;font-size:11px;color:var(--green);margin-bottom:25px}.step b{display:block;font-size:clamp(17px,1.5vw,25px);font-weight:600;line-height:1.4;margin-bottom:12px}.step span:last-child{font-size:clamp(12px,1vw,16px);line-height:1.7;color:var(--muted)}.step.selected{background:var(--green);color:white;border-color:var(--green)}.step.selected .step-no,.step.selected span:last-child{color:#dae4db}.flow-detail{display:flex;align-items:center;gap:18px;padding:20px 24px;background:#e5eadf;min-height:90px}.flow-detail b{font-size:15px;color:var(--green);min-width:100px}.flow-detail p{margin:0;font-size:15px;line-height:1.8}.return-line{display:flex;align-items:center;justify-content:center;border:1px solid var(--green);border-top:0;height:40px;margin:0 9%;font-size:11px;letter-spacing:1px;color:var(--green)}.sample-path{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}.sample-stop{padding:22px 18px;text-align:left;position:relative}.sample-stop+.sample-stop{border-left:1px solid var(--edge)}.sample-stop strong{font-family:Arial,sans-serif;font-size:clamp(60px,6.8vw,115px);font-weight:400;letter-spacing:-6px;display:block;color:var(--green)}.sample-stop h3{font-size:17px;margin:20px 0 10px}.sample-stop p{font-size:12px;line-height:1.7;color:var(--muted)}.sample-stop.selected{background:#e1eacb}.sample-stop:after{content:"→";position:absolute;right:12px;top:42px;font-size:15px;color:var(--muted)}.sample-stop:last-child:after{display:none}.sample-dots{display:flex;gap:4px;flex-wrap:wrap;max-width:120px;min-height:40px;margin:18px 0}.sample-dots i{height:7px;width:7px;border-radius:50%;background:var(--green);display:block}.metrics{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:3vw}.metric{border-top:1px solid var(--edge);padding-top:20px}.metric strong{font-size:clamp(48px,5.5vw,90px);font-weight:400;letter-spacing:-4px;font-family:Arial,sans-serif;color:var(--green)}.metric h3{font-size:19px;margin:16px 0}.metric p{font-size:14px;line-height:1.8;color:var(--muted);white-space:pre-line}.table-wrap{overflow:auto;border:1px solid var(--edge)}.native-table{width:100%;border-collapse:collapse;text-align:left;font-size:clamp(13px,1.1vw,18px)}.native-table th{background:#e3e8dd;padding:15px 20px;font-weight:500;color:var(--green)}.native-table td{border-top:1px solid var(--edge);padding:16px 20px;line-height:1.6}.native-table tr{transition:background .2s}.native-table tbody tr:hover,.native-table tbody tr:focus-within,.native-table tr.selected{background:#e4edcf}.native-table td:first-child{font-weight:600;white-space:nowrap}.native-table button{padding:0;text-align:left;width:100%}.matrix td,.matrix th{text-align:center}.matrix td:first-child{text-align:left}.matrix td.has{color:var(--green);font-size:26px}.matrix td.missing{color:#b1b8aa}.criterion{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.criterion article{padding:22px 0;border-top:1px solid var(--edge)}.criterion em{font-size:50px;font-style:normal;font-weight:300;color:#b7c1ae}.criterion h3{font-size:23px;margin:20px 0}.criterion p{font-size:17px;line-height:2.3;color:var(--muted);white-space:pre-line}.score-key{display:flex;gap:60px;border-top:1px solid var(--edge);padding-top:18px}.score-key b{font-size:26px;font-weight:500;display:block;color:var(--green)}.score-key span{font-size:12px;color:var(--muted)}.optical-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:5vw;align-items:center;height:100%;min-height:0}.optical-art{height:100%;min-height:250px;max-height:420px;overflow:hidden;background:#e7e9e0;border-radius:50%;aspect-ratio:1;justify-self:center}.optical-art svg{height:100%;width:100%}.optical-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;font-size:12px;color:var(--muted)}.optical-controls label{display:flex;gap:15px;align-items:center}.optical-controls input{width:100%;accent-color:var(--green)}.concept-tag{font-size:10px;letter-spacing:1px;margin-top:10px;color:var(--muted)}.cycle-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;min-height:0;height:100%}.cycle-ring{position:relative;aspect-ratio:1;max-height:45vh;width:100%;max-width:480px;justify-self:center}.cycle-ring svg{position:absolute;width:100%;height:100%;inset:0;animation:orbit 36s linear infinite}.cycle-center{position:absolute;left:32%;top:34%;width:36%;height:32%;border-radius:50%;display:grid;place-content:center;background:var(--green);color:white;text-align:center;font-size:22px;line-height:1.5}.cycle-center small{font-size:9px;letter-spacing:1px;margin-top:4px;color:var(--lime)}.cycle-node{position:absolute;width:36%;padding:13px 8px;background:var(--paper);border:1px solid var(--edge);font-size:17px}.cycle-node:nth-of-type(1){top:0;left:32%}.cycle-node:nth-of-type(2){right:-3%;top:43%}.cycle-node:nth-of-type(3){bottom:0;left:32%}.cycle-node:nth-of-type(4){left:-3%;top:43%}.cycle-node.selected{background:var(--lime);border-color:var(--lime)}.cycle-copy .eyebrow{margin-bottom:20px}.cycle-copy h3{font-size:32px;font-weight:500;margin:0 0 20px}.cycle-copy p{font-size:18px;line-height:1.9;color:var(--muted)}.hero{padding:0;position:relative;overflow:hidden;display:block}.hero-art{position:absolute;right:0;top:0;width:53%;height:100%;opacity:.9;mask-image:linear-gradient(to right,transparent,black 25%)}#hero-canvas{width:100%;height:100%}.hero-copy{position:relative;z-index:1;margin-left:6vw;width:60%;padding-top:6vh}.hero .eyebrow{color:#b0bcb1;font-size:10px}.hero-word{font-family:Arial,sans-serif;font-size:clamp(70px,9vw,146px);line-height:.91;letter-spacing:-7px;font-weight:700;margin:4vh 0}.hero-word span{color:var(--lime)}.hero h1{font-weight:500;font-size:clamp(20px,2vw,32px);line-height:1.6;max-width:770px;letter-spacing:-.5px;margin:0}.hero-sub{color:#abb8ae;line-height:1.8;font-size:clamp(12px,1.15vw,18px);margin:10px 0 25px}.hero-meta{display:flex;gap:35px;font-size:12px;line-height:1.9;color:#b4c0b5}.hero-meta strong{display:block;color:#f0f4e9;font-size:15px;font-weight:400}.hero-cta{display:flex;align-items:center;gap:25px;margin-top:30px}.primary{background:var(--lime);color:var(--dark);padding:15px 24px;font-size:12px;display:inline-flex;gap:40px;align-items:center}.text-button{font-size:12px;border-bottom:1px solid #78857b;padding:12px 0}.art-label{position:absolute;right:4vw;top:5vh;text-align:right;color:#b0bcb1;letter-spacing:1.5px;font-size:9px;line-height:2}.hero-caption{position:absolute;bottom:4vh;right:4vw;color:#87978a;font-size:10px;letter-spacing:1.4px}.dark{--edge:#35443c;--muted:#99a99d;--ink:#f0f3e9;--green:#d0f96b;background:var(--dark)!important;color:var(--ink)}.dark .topbar,.dark .footer{background:var(--dark)}.chapter-slide{position:relative;justify-content:center;padding-left:8vw;overflow:hidden}.chapter-back{position:absolute;font-size:clamp(250px,38vw,600px);right:1vw;top:40%;transform:translateY(-50%);font-family:Georgia,serif;font-style:italic;line-height:1;color:#1e3028;pointer-events:none;letter-spacing:-40px}.chapter-slide>*:not(.chapter-back){position:relative;z-index:1}.chapter-slide h1{font-size:clamp(44px,5.5vw,88px);font-weight:450;letter-spacing:-3px;margin:25px 0 35px}.chapter-list{display:flex;flex-direction:column;gap:16px;max-width:800px}.chapter-list button{text-align:left;font-size:clamp(14px,1.4vw,22px);color:#b5c3b8;padding:0;line-height:1.6}.chapter-list button span{font-size:11px;color:var(--lime);margin-right:18px}.chapter-slide .chapter-enter{margin-top:35px;align-self:start}.contents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}.contents-item{text-align:left;padding:25px 0;border-top:1px solid var(--edge);min-height:150px}.contents-item small{color:var(--muted);font-size:10px;letter-spacing:1.4px}.contents-item h3{font-size:27px;margin:16px 0}.contents-item p{color:var(--muted);font-size:12px;line-height:1.8;margin:0;max-width:85%}.contents-item:hover h3{color:var(--green)}.closing{justify-content:center;padding-left:8vw}.closing h1{font-size:clamp(30px,3.7vw,58px);line-height:1.65;font-weight:450;letter-spacing:-1.5px;margin:35px 0;max-width:1050px}.closing h1 span{color:var(--lime)}.closing-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:6vh}.closing-bottom strong{font-weight:400;font-size:42px}.closing-bottom p{color:var(--muted);font-size:13px}.filmstrip{display:flex;gap:10px;min-height:0}.filmstrip button{flex:1;min-width:0;background:#0e1412;padding:0}.filmstrip img{width:100%;height:18vh;object-fit:contain}.diagram-line{display:flex;align-items:center;justify-content:space-around;gap:20px;background:#e4e9df;padding:25px;font-size:18px;color:#254d43}.diagram-line span{font-size:34px}.reviewmodel{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.reviewmodel article{background:#e6ecde;padding:18px 15px}.reviewmodel h3{font-size:18px;font-weight:550;line-height:1.5}.reviewmodel p{font-size:13px;line-height:1.8;color:var(--muted)}.reviewmodel b{font-size:10px;color:var(--green);letter-spacing:1px}.reviewmodel img{width:100%;height:15vh;object-fit:cover}.model-bridge{text-align:center;padding:16px;border-top:1px solid var(--edge);font-size:15px;letter-spacing:2px}.model-bridge strong{background:var(--green);color:white;padding:8px 28px;margin:0 30px}.model-foot{font-size:11px;text-align:center;color:var(--muted)}dialog{padding:0;border:1px solid var(--edge);background:var(--paper);color:var(--ink);box-shadow:0 30px 150px #0005}dialog::backdrop{background:#0b1713c9;backdrop-filter:blur(8px)}#toc{width:min(1100px,92vw);height:min(88vh,900px);max-height:90vh}.dialogtop{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid var(--edge);gap:20px}.dialogtop h2{font-weight:500;font-size:30px;margin:8px 0 0}.dialogtop button{font-size:24px;padding:8px 12px}.close{font-size:30px!important}.tocfilters{padding:20px 30px;display:flex;gap:15px;border-bottom:1px solid var(--edge)}.tocfilters input{flex:1;min-width:0;background:transparent;border:0;outline:none;padding:5px 0;color:var(--ink);font-size:15px}.tocfilters button{font-size:12px;color:var(--muted)}#tocitems{height:calc(100% - 236px);overflow:auto;display:grid;grid-template-columns:repeat(2,1fr);align-content:start;padding:15px 30px;gap:0 25px}.toc-item{padding:14px 4px;display:flex;text-align:left;border-bottom:1px solid var(--edge);gap:17px;align-items:baseline;font-size:13px;line-height:1.6}.toc-item span{font-family:Arial,sans-serif;font-size:11px;color:var(--muted)}.toc-item.current{color:var(--green);background:#e4eccf}.shortcuts{padding:20px 30px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;border-top:1px solid var(--edge)}#lightbox{width:96vw;height:94vh;max-width:none;max-height:96vh;background:#fff}#lightbox .dialogtop{height:60px;padding:8px 25px;font-size:13px}#imageviewport{height:calc(100% - 60px);overflow:auto;display:block;text-align:center;background:#e9ebe6;padding:20px}#sourceimage{width:100%;height:auto;max-width:none;vertical-align:middle}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#12201deb;color:white;padding:12px 22px;font-size:12px;z-index:100;opacity:0;transition:opacity .2s;pointer-events:none}#toast.visible{opacity:1}.motion-off *{animation:none!important;transition:none!important}@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes orbit{to{transform:rotate(360deg)}}
@media(min-width:1500px){.hero-copy{padding-top:7vh}.hero-word{margin:4vh 0}.slide{padding-top:5vh}.slide-head{margin-bottom:3.5vh}.source-slide .panel-figure img{max-height:57vh}}
@media(max-width:1100px){#chapters{gap:14px}.brandtext{display:none}.slide{padding:3.5vh 4vw 2vh}.topbar{height:70px}.footer{height:60px}.hero-copy{width:68%;padding-top:7vh}.hero-meta{gap:20px}.hero-art{width:52%;right:-5%}.step{padding:20px 14px}.flow-detail p{font-size:13px}.slide-head h1{font-size:28px}.reviewmodel{gap:7px}.reviewmodel article{padding:10px}.reviewmodel h3{font-size:16px}.model-bridge{letter-spacing:0}.model-bridge strong{margin:0 10px}.slide-note{font-size:12px}}
@media(max-width:750px){#app{min-height:560px}.topbar{height:64px;padding:0 5vw}.brandmark{font-size:27px}#chapters{display:none}.toptools{margin-left:auto}.toptools>button{height:31px}#stage{overflow:auto}.slide{height:auto;min-height:100%;padding:28px 6vw 22px;display:flex}.slide-head{margin-bottom:25px}.slide-head h1{font-size:25px;letter-spacing:-.8px}.section-num{display:none}.eyebrow{font-size:9px;letter-spacing:1.1px}.slide-body{min-height:auto;gap:22px;justify-content:start}.lead{font-size:15px;margin-bottom:10px}.footer{height:60px;padding:0 5vw;gap:10px}.progress{width:45px}#footerchapter,.keyhint{display:none}.footeractions{gap:8px}.footeractions #sourcebtn{margin-right:5px;font-size:10px}.footeractions button{width:32px;height:32px}.blocks{grid-template-columns:1fr;gap:0}.blocks.three{grid-template-columns:1fr;gap:0}.blocks.three .block{display:grid}.blocks.three .block-label{margin:0}.block{padding:20px 0}.block h3{font-size:20px}.block p{font-size:14px}.blocks.wide .block>div{display:block}.blocks.wide .block h3{margin-bottom:10px}.sequence{grid-template-columns:1fr}.step{min-height:0;padding:18px 20px;display:grid;grid-template-columns:34px 1fr;gap:5px 15px;border:1px solid var(--edge);border-bottom:0}.step:last-child{border-bottom:1px solid var(--edge)}.step .step-no{grid-row:span 2;margin:3px 0}.step b{font-size:18px;margin:0}.step span:last-child{font-size:13px}.flow-detail{padding:18px;display:block}.flow-detail b{display:block;margin-bottom:8px}.sample-path{grid-template-columns:1fr}.sample-stop{display:grid;grid-template-columns:90px 1fr;gap:0 20px;border-top:1px solid var(--edge);padding:18px 12px}.sample-stop+.sample-stop{border-left:0}.sample-stop strong{font-size:65px;grid-row:span 3;letter-spacing:-4px}.sample-stop h3{margin:0;font-size:18px}.sample-stop p{margin:7px 0}.sample-dots{display:none}.sample-stop:after{display:none}.metrics{grid-template-columns:1fr 1fr;gap:25px}.metric strong{font-size:55px}.metric h3{font-size:18px}.metric p{font-size:13px}.native-table{font-size:12px;min-width:620px}.native-table td,.native-table th{padding:14px}.matrix{min-width:400px}.criterion{grid-template-columns:1fr 1fr;gap:20px}.criterion em{font-size:34px}.criterion h3{font-size:19px;margin:14px 0}.criterion p{font-size:14px;line-height:2}.score-key{gap:25px}.score-key b{font-size:23px}.score-key span{font-size:10px}.optical-layout,.cycle-layout{display:flex;flex-direction:column;gap:30px}.optical-art{min-height:0;width:80%;height:auto;max-height:none;order:-1}.optical-controls{display:block}.optical-controls label{margin:14px 0}.cycle-ring{height:300px;width:300px;max-height:none}.cycle-copy h3{font-size:26px}.cycle-copy p{font-size:15px}.panel-figure{min-height:38vh;padding:4px}.panel-figure img{max-height:60vh}.hero{min-height:calc(100dvh - 124px);padding:0}.hero-copy{width:auto;margin:0 7vw;padding:7vh 0 50px}.hero-art{width:110%;height:100%;right:-43%;opacity:.4}.hero-word{font-size:76px;letter-spacing:-5px;margin:36px 0 30px}.hero h1{font-size:21px;line-height:1.65}.hero-sub{font-size:12px;margin:15px 0 25px;max-width:85%}.hero-meta{font-size:10px;gap:18px}.hero-meta strong{font-size:12px}.hero-cta{gap:20px;margin-top:25px}.primary{padding:13px 20px;font-size:11px;gap:25px}.text-button{font-size:10px}.art-label,.hero-caption{display:none}.chapter-slide{min-height:calc(100dvh - 124px);padding:10vh 8vw}.chapter-slide h1{font-size:42px}.chapter-back{font-size:350px;right:10vw;opacity:.7}.chapter-list{gap:18px}.chapter-list button{font-size:15px}.contents-grid{grid-template-columns:1fr 1fr;gap:0 25px}.contents-item{padding:20px 0;min-height:160px}.contents-item h3{font-size:21px;line-height:1.5}.contents-item p{font-size:11px;max-width:100%}.contents-item small{font-size:9px}.closing{padding:8vh 8vw}.closing h1{font-size:26px;line-height:1.7}.closing-bottom{margin-top:4vh;display:block}.closing-bottom strong{font-size:32px}.reviewmodel{grid-template-columns:1fr}.reviewmodel article{padding:22px}.reviewmodel h3{font-size:21px}.reviewmodel p{font-size:14px}.reviewmodel img{height:180px;object-fit:contain;background:white}.model-bridge{font-size:12px;padding:20px 0;line-height:3}.model-bridge strong{margin:0 7px;padding:7px 10px}.model-foot{font-size:11px;line-height:1.8}.filmstrip{flex-wrap:wrap}.filmstrip button{flex:1 1 40%}.filmstrip img{height:140px}.dialogtop{padding:20px}.tocfilters{padding:15px 20px}#tocitems{grid-template-columns:1fr;padding:10px 20px;height:calc(100% - 235px)}.shortcuts{padding:17px 20px;display:block;font-size:10px;line-height:1.7}.shortcuts span{display:block}.dialogtop h2{font-size:25px}#lightbox .dialogtop{font-size:10px;padding:8px 12px}.dialogtop button{padding:7px}#imageviewport{padding:5px}.optical-controls{width:100%}.slide-note{margin-top:20px}.source{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{#app{height:auto;min-height:0}.topbar,.footer{display:none}#stage{overflow:visible}.slide{height:auto;min-height:95vh}.dark{background:#fff!important;color:#182320}.hero-art{opacity:.15}.hero-word span{color:#254d43}}
.evaluation-key{display:flex;justify-content:space-around;gap:18px;padding:10px 0;font-size:11px;line-height:1.8;color:var(--muted)}.evaluation-key b{display:block;font-size:13px;color:var(--green);font-weight:600}@media(max-width:750px){.evaluation-key{display:block}.evaluation-key>span{display:block;margin:14px 0}}

/* Keep the viewport backdrop in the same theme as the rendered slide. */
html:has(#app.dark),body:has(#app.dark){background:var(--dark)}

/* Mobile navigation remains visible even when a slide is taller than the screen. */
@media (max-width:700px){
 #app{height:100dvh;min-height:0}
 .footer{height:auto;min-height:62px;padding:6px 12px calc(6px + env(safe-area-inset-bottom));gap:8px}
 .footer .progress,.footer #footerchapter,.footer .keyhint{display:none}
 .footeractions{min-width:0;gap:7px}
 .footeractions #footersource{display:none}
 .footeractions #sourcebtn{font-size:11px;margin-right:0;white-space:nowrap}
 .footeractions #footerrefs{font-size:11px;white-space:nowrap}
 .footeractions #prev,.footeractions #next{flex:none;width:46px;height:46px;font-size:24px;border:1px solid currentColor;border-radius:5px}
 #stage{touch-action:pan-y pinch-zoom}
}
