@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--paper:#eee8dd;--panel:#f8f4ed;--ink:#172321;--muted:#69716d;--line:#c8bfb2;--red:#e3452f;--blue:#144b7c;--yellow:#e9b832;--sidebar:216px}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}.skip{position:fixed;left:1rem;top:-4rem;background:#fff;padding:.8rem;z-index:100}.skip:focus{top:1rem}button,input,textarea,select{font:inherit}.app-shell{height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{background:var(--ink);color:white;padding:1.3rem 1rem;display:flex;flex-direction:column;min-height:0}.brand{display:flex;align-items:center;gap:.7rem;background:none;color:white;border:0;text-align:left;cursor:pointer;padding:.4rem;margin-bottom:2.2rem}.brand>span:last-child{font-weight:600;font-size:13px;letter-spacing:.08em}.brand small{display:block;font-size:7px;letter-spacing:.18em;opacity:.55}.bauhaus-mark{display:grid;grid-template-columns:12px 12px;grid-template-rows:12px 12px;width:26px;height:26px}.bauhaus-mark i:nth-child(1){background:var(--red);grid-row:1/3}.bauhaus-mark i:nth-child(2){background:var(--blue)}.bauhaus-mark i:nth-child(3){background:var(--yellow)}nav{display:flex;flex-direction:column;gap:3px}nav button{border:0;background:none;color:#aeb8b3;display:grid;grid-template-columns:34px 1fr;text-align:left;align-items:center;padding:.7rem .65rem;cursor:pointer;border-radius:3px}nav button span{font-size:10px;color:#7d8b86}nav button b{font-weight:500;font-size:12px}nav button:hover,nav button.active{background:#2b3936;color:white}nav button.active span{color:var(--yellow)}.nav-label{font-size:8px;letter-spacing:.18em;color:#64716d;text-transform:uppercase;margin:1rem .7rem .35rem}.sidebar-foot{margin-top:auto;border-top:1px solid #3b4946;padding:.9rem .6rem;display:grid;gap:.2rem}.sidebar-foot span{font-size:8px;letter-spacing:.18em;color:var(--yellow)}.sidebar-foot strong{font:1.25rem "Libre Caslon Display"}.sidebar-foot small{font-size:8px;color:#71807a}.app-main{height:100vh;min-width:0;display:grid;grid-template-rows:64px 1fr}.appbar{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 2.2rem;background:rgba(238,232,221,.95)}.crumb{display:flex;align-items:center;gap:.7rem}.crumb span{font-size:8px;letter-spacing:.16em;color:var(--muted)}.crumb span::after{content:"/";padding-left:.7rem}.crumb b{font-size:11px}.appbar-actions{display:flex;align-items:center;gap:.7rem}.appbar-actions>button:first-child{border:1px solid var(--line);background:var(--panel);padding:.55rem .7rem;color:var(--muted);font-size:11px;cursor:pointer;min-width:220px;text-align:left}.appbar kbd{float:right;border:1px solid var(--line);padding:0 .25rem;background:white}.profile{width:34px;height:34px;border:0;border-radius:50%;background:var(--red);color:white;font-size:10px}.app-main main{overflow:auto;scroll-behavior:smooth}.workspace{padding:2rem 2.3rem 4rem;min-height:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:1.2rem;margin-bottom:1.5rem;gap:2rem}.eyebrow{margin:0 0 .5rem;color:var(--red);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.page-head h1{font:clamp(2.3rem,4vw,4.5rem)/.95 "Libre Caslon Display";letter-spacing:-.035em;margin:0}.page-head p:last-child{max-width:440px;color:var(--muted);font-size:12px;margin:0}.dashboard{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:auto auto;gap:1rem}.hero-card{background:var(--blue);color:white;min-height:360px;padding:2.5rem;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.hero-card::before{content:"";position:absolute;width:340px;height:340px;border:62px solid var(--yellow);border-radius:50%;right:-160px;bottom:-210px}.hero-card::after{content:"";position:absolute;width:120px;height:220px;background:var(--red);right:90px;top:-110px;transform:rotate(28deg)}.hero-card h1{font:clamp(3.2rem,5.7vw,6.5rem)/.85 "Libre Caslon Display";letter-spacing:-.05em;margin:0;max-width:780px;position:relative;z-index:1}.hero-bottom{display:flex;justify-content:space-between;align-items:end;position:relative;z-index:1}.hero-card p{max-width:530px;color:#d4dfdc;font-size:13px}.action{border:1px solid currentColor;background:none;padding:.65rem .9rem;color:inherit;cursor:pointer}.action.solid{background:var(--ink);color:white}.course-card{background:var(--panel);border:1px solid var(--line);padding:1.6rem;display:flex;flex-direction:column}.course-card h2{font:2rem "Libre Caslon Display";margin:.5rem 0}.progress{height:5px;background:#ddd4c8;margin:1.4rem 0}.progress i{display:block;height:100%;width:42%;background:var(--red)}.course-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:auto}.course-meta span{font-size:8px;color:var(--muted);text-transform:uppercase}.course-meta b{display:block;font:1.6rem "Libre Caslon Display"}.module-strip{grid-column:1/3;display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.module-tile{background:var(--panel);border:0;text-align:left;min-height:150px;padding:1rem;cursor:pointer;display:flex;flex-direction:column}.module-tile:hover{background:var(--yellow)}.module-tile span{font-size:9px;color:var(--red)}.module-tile strong{font:1.25rem "Libre Caslon Display";margin:auto 0 .4rem}.module-tile small{font-size:9px;color:var(--muted)}.toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.chip{border:1px solid var(--line);background:transparent;padding:.48rem .7rem;font-size:10px;cursor:pointer}.chip.active{background:var(--red);color:white;border-color:var(--red)}.split-view{display:grid;grid-template-columns:320px 1fr;border:1px solid var(--line);min-height:600px;background:var(--panel)}.list-pane{border-right:1px solid var(--line);max-height:calc(100vh - 210px);overflow:auto}.list-pane button{display:grid;grid-template-columns:42px 1fr;width:100%;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;padding:1rem;cursor:pointer}.list-pane button.active,.list-pane button:hover{background:var(--ink);color:white}.list-pane button span{font-size:9px;color:var(--red)}.list-pane button strong{font:1.2rem "Libre Caslon Display"}.list-pane button small{grid-column:2;font-size:9px;color:var(--muted)}.detail-pane{padding:2rem;overflow:auto;max-height:calc(100vh - 210px)}.detail-pane h2{font:clamp(2.7rem,4vw,5rem)/.95 "Libre Caslon Display";margin:.2rem 0 1rem}.detail-pane h3{font:1.5rem "Libre Caslon Display";margin:2rem 0 .5rem}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:1.2rem 0}.fact{padding:.8rem;border-right:1px solid var(--line)}.fact:last-child{border:0}.fact span{display:block;font-size:8px;text-transform:uppercase;color:var(--muted);letter-spacing:.1em}.fact b{font-size:11px}.portrait-layout{display:grid;grid-template-columns:minmax(240px,.7fr) 1.3fr;gap:2rem}.portrait{height:410px;background:#ddd2c1;overflow:hidden;position:relative;margin:0}.portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06)}.portrait figcaption{position:absolute;bottom:0;left:0;right:0;background:#172321d9;color:white;padding:.7rem;font-size:9px}.lead{font:1.35rem/1.45 "Libre Caslon Display"}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.work-card{border:1px solid var(--line);background:white;overflow:hidden}.work-card img{width:100%;height:130px;object-fit:cover}.work-card div{padding:.7rem}.work-card strong{font:1.05rem "Libre Caslon Display"}.work-card small{display:block;color:var(--muted);font-size:9px}.source-links{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.source-link{border-top:1px solid var(--line);padding:.65rem 0;text-decoration:none;font-size:11px}.source-link span{display:block;color:var(--red);font-size:8px;text-transform:uppercase}.gallery-hero{height:360px;position:relative;background:#d5ccbf}.gallery-hero img{width:100%;height:100%;object-fit:cover}.caption{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(transparent,#111c);color:white;font-size:10px}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.analysis-card{border-top:3px solid var(--ink);padding:1rem 0}.analysis-card h3{margin:.3rem 0}.analysis-card p{font-size:11px;color:var(--muted)}.timeline-board{display:grid;grid-template-columns:150px 1fr;gap:1.5rem}.timeline-rail{display:flex;flex-direction:column}.timeline-rail button{background:none;border:0;border-left:2px solid var(--line);padding:.8rem;text-align:left;cursor:pointer;color:var(--muted)}.timeline-rail button.active{border-color:var(--red);color:var(--ink);background:#f7f2e9}.timeline-rail small{display:block}.timeline-sheet{background:var(--panel);padding:2rem;border:1px solid var(--line)}.timeline-sheet .year{font:5rem/1 "Libre Caslon Display";color:var(--blue)}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:2rem}.event{border-top:2px solid var(--ink);padding-top:.7rem}.event b{color:var(--red)}.event p{font-size:11px}.movement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.movement{min-height:230px;background:var(--panel);border:1px solid var(--line);padding:1rem;text-align:left;cursor:pointer;display:flex;flex-direction:column}.movement:hover{background:var(--yellow)}.movement h2{font:1.7rem "Libre Caslon Display";margin:auto 0 .6rem}.movement p{font-size:10px;color:var(--muted)}.swatches{display:flex;gap:3px}.swatches i{width:16px;height:16px;border-radius:50%}.worksheet-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:1rem}.brief{background:var(--ink);color:white;padding:1.6rem}.brief h2{font:2.2rem "Libre Caslon Display"}.brief ol{padding-left:1.2rem;color:#c6d0cc;font-size:12px}.sheet{background:var(--panel);border:1px solid var(--line);padding:1.5rem}.sheet label{display:block;margin:1rem 0 .35rem;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.sheet select,.sheet textarea{width:100%;border:1px solid var(--line);background:white;padding:.7rem}.sheet textarea{min-height:100px;resize:vertical}.rubric{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem}.rubric div{border:1px solid var(--line);padding:.7rem;font-size:10px}.references-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.reference{background:var(--panel);border:1px solid var(--line);padding:1rem;text-decoration:none;min-height:170px;display:flex;flex-direction:column}.reference:hover{border-color:var(--red)}.reference span{font-size:8px;color:var(--red);text-transform:uppercase;letter-spacing:.12em}.reference h2{font:1.35rem "Libre Caslon Display";margin:auto 0 .4rem}.reference p{font-size:10px;color:var(--muted);margin:0}.reference b{font-size:9px;margin-top:.7rem}dialog{border:0;padding:0;width:min(780px,92vw);max-height:86vh;background:var(--panel);box-shadow:0 30px 100px #0009}dialog::backdrop{background:#101816dc}.close{float:right;position:sticky;top:.8rem;margin:.8rem;width:36px;height:36px;border:0;background:var(--ink);color:white;font-size:22px;z-index:2}.search-panel,#detailContent{padding:3rem;clear:both}.search-panel label{font:2.5rem "Libre Caslon Display"}.search-panel input{width:100%;border:0;border-bottom:2px solid var(--ink);background:none;padding:1rem 0;font-size:1.2rem}.search-result{display:block;text-decoration:none;padding:1rem 0;border-bottom:1px solid var(--line)}.search-result span{color:var(--red);font-size:8px;text-transform:uppercase}.empty{padding:3rem;text-align:center;color:var(--muted)}
@media(max-width:1050px){:root{--sidebar:78px}.brand>span:last-child,.sidebar nav b,.sidebar-foot{display:none}.brand{justify-content:center}.sidebar nav button{grid-template-columns:1fr;text-align:center}.nav-label{text-align:center}.dashboard{grid-template-columns:1fr}.module-strip{grid-column:1;grid-template-columns:repeat(3,1fr)}.movement-grid{grid-template-columns:repeat(3,1fr)}.portrait-layout{grid-template-columns:1fr}.references-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){html,body{overflow:auto}.app-shell{height:auto;min-height:100vh;grid-template-columns:1fr}.sidebar{position:fixed;left:0;right:0;bottom:0;height:64px;z-index:50;padding:.3rem}.brand,.nav-label,.sidebar-foot{display:none!important}.sidebar nav{display:grid;grid-template-columns:repeat(7,1fr);height:100%}.sidebar nav button{padding:.2rem}.sidebar nav button b{display:block;font-size:7px}.app-main{height:auto;min-height:100vh;grid-template-rows:58px auto;padding-bottom:64px}.appbar{padding:0 1rem}.appbar-actions>button:first-child{min-width:0;width:38px}.appbar-actions>button:first-child span,.appbar kbd{display:none}.workspace{padding:1.2rem 1rem 3rem}.page-head{align-items:flex-start;flex-direction:column}.dashboard{display:block}.dashboard>*{margin-bottom:.8rem}.hero-card{min-height:330px;padding:1.5rem}.hero-bottom{display:block}.module-strip{grid-template-columns:1fr 1fr}.split-view{display:block}.list-pane{display:flex;max-height:none;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.list-pane button{min-width:190px}.detail-pane{max-height:none;padding:1rem}.facts{grid-template-columns:1fr 1fr}.portrait-layout,.worksheet-grid{grid-template-columns:1fr}.works-grid{grid-template-columns:1fr 1fr}.timeline-board{grid-template-columns:1fr}.timeline-rail{flex-direction:row;overflow:auto}.timeline-rail button{min-width:130px;border-left:0;border-bottom:2px solid var(--line)}.event-grid,.movement-grid,.references-grid,.analysis-grid{grid-template-columns:1fr}.rubric{grid-template-columns:1fr 1fr}.source-links{grid-template-columns:1fr}}

/* Palet Lensa Permukiman: coklat, krem, terakota, dan sage pastel. */
:root{--paper:#f1e9de;--panel:#fbf6ef;--ink:#382f2a;--muted:#786a61;--line:#d8c8b8;--red:#b77760;--blue:#80685a;--yellow:#d8bd97}
.sidebar{background:#342b27}.appbar{background:rgba(241,233,222,.96)}nav button:hover,nav button.active{background:#4a3b34}.sidebar-foot{border-color:#5b4940}.bauhaus-mark i:nth-child(1){background:#b77760}.bauhaus-mark i:nth-child(2){background:#a4a88d}.bauhaus-mark i:nth-child(3){background:#d8bd97}.profile{background:#a96f59}.hero-card{background:#9a6c59 url('assets/settlement-banner.svg') center/cover no-repeat;color:#fff9f1}.hero-card::before,.hero-card::after{display:none}.hero-card .eyebrow{color:#f1dcc0}.hero-card p{color:#f5e9dc;text-shadow:0 1px 10px #51382c}.hero-card h1{max-width:690px;text-shadow:0 2px 22px #51382c99}.hero-card .action{background:#f6ecdf;color:#4d382f;border-color:#f6ecdf}.module-tile:hover,.movement:hover{background:#e1c9aa}.map-pin{background:#ad725b}.map-pin.active{background:#d2a86f}.map-pin.cluster span{font-weight:700}.case-toolbar{margin-bottom:.8rem}.map-cluster-picker{position:absolute;left:1rem;bottom:2.2rem;z-index:8;width:min(310px,80%);max-height:230px;overflow:auto;background:#fbf6ef;border:1px solid #cdb9a6;box-shadow:0 14px 38px #3b292633;padding:.65rem}.world-map{position:relative}.map-cluster-picker>b{display:block;padding:.4rem;font:1rem 'Libre Caslon Display'}.map-cluster-picker button{display:block;width:100%;border:0;border-top:1px solid var(--line);background:none;text-align:left;padding:.55rem;cursor:pointer}.map-cluster-picker button:hover{background:#ead9c5}.map-cluster-picker small{display:block;color:var(--muted)}
.detail-pane .analysis-card h3{font-size:1.85rem;margin:.65rem 0 1rem}.detail-pane .analysis-card p.lead{font:1.12rem/1.72 "DM Sans",sans-serif;color:#554941;max-width:78ch}.detail-pane .analysis-card a{font-size:.95rem;line-height:1.6}
.material-tabs{margin-bottom:.8rem}.course-tabs{margin-bottom:.8rem}.deck-tabs{display:flex;gap:.5rem;overflow:auto;padding-bottom:.8rem}.deck-tabs button{min-width:190px;border:1px solid var(--line);background:var(--panel);padding:.8rem;text-align:left;display:grid;gap:.3rem;cursor:pointer}.deck-tabs button.active{background:var(--ink);color:white}.deck-tabs span{color:var(--red);font-size:.75rem}.deck-tabs strong{font:1.05rem "Libre Caslon Display"}.deck-tabs small{color:var(--muted)}.lecture-view,.media-library{display:grid;grid-template-columns:290px 1fr;min-height:620px;border:1px solid var(--line);background:var(--panel)}.slide-list,.video-list{max-height:calc(100vh - 310px);overflow:auto;border-right:1px solid var(--line)}.slide-list button,.video-list button{width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:.8rem;text-align:left;display:grid;grid-template-columns:35px 1fr;cursor:pointer}.slide-list button.active,.slide-list button:hover,.video-list button.active,.video-list button:hover{background:var(--ink);color:white}.slide-list span,.video-list span{color:var(--red);font-size:.7rem}.slide-list strong,.video-list strong{font:1rem "Libre Caslon Display"}.video-list small{grid-column:2;color:var(--muted)}.slide-content,.video-stage{padding:1.6rem;overflow:auto;max-height:calc(100vh - 310px)}.slide-content h2,.video-stage h2{font:2.4rem "Libre Caslon Display";margin:.3rem 0 1.2rem}.slide-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.slide-image-grid.single{grid-template-columns:1fr}.slide-image-grid figure{margin:0;background:#e6dbce;min-height:180px;display:grid;place-items:center}.slide-image-grid img{width:100%;max-height:440px;object-fit:contain}.slide-copy{font-size:1rem;line-height:1.7;color:#554941;max-width:85ch}.slide-no-image{padding:3rem;background:#eadfD2;color:var(--muted);text-align:center}.video-stage video{width:100%;max-height:520px;background:#241f1c}.video-stage p{font-size:1rem;line-height:1.6}@media(max-width:720px){.lecture-view,.media-library{display:block}.slide-list,.video-list{display:flex;max-height:none;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.slide-list button,.video-list button{min-width:210px}.slide-content,.video-stage{max-height:none;padding:1rem}.slide-image-grid{grid-template-columns:1fr}}
.archive-search{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.archive-search input{flex:1;padding:.8rem;border:1px solid var(--line);background:var(--panel)}.archive-search span{font-size:.8rem;color:var(--muted)}.archive-list{border:1px solid var(--line);background:var(--panel);max-height:calc(100vh - 270px);overflow:auto}.archive-list article{display:grid;grid-template-columns:50px 1fr auto;gap:.8rem;align-items:center;padding:.75rem;border-bottom:1px solid var(--line)}.archive-list article>span{color:var(--red);font-size:.7rem;text-transform:uppercase}.archive-list strong{display:block}.archive-list small{display:block;color:var(--muted);margin-top:.2rem}.archive-list b{font-size:.72rem;color:var(--muted)}
.video-part{margin-bottom:.8rem}.video-part small{display:block;color:var(--muted);padding:.35rem 0}
.module-strip{grid-template-columns:repeat(7,1fr)}.quiz-shell{background:var(--panel);border:1px solid var(--line);padding:2rem;max-width:1050px;margin:auto;min-height:520px}.quiz-shell>h2,.quiz-layout h2,.result-screen h2{font:clamp(2rem,4vw,4rem)/1 "Libre Caslon Display";margin:1.5rem 0}.quiz-progress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;font-size:9px;letter-spacing:.12em}.quiz-progress>i{height:5px;background:#d8d0c4}.quiz-progress>i b{display:block;height:100%;background:var(--red)}.quiz-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem}.quiz-layout figure{margin:0;height:430px;background:#d6cec2}.quiz-layout figure img{width:100%;height:100%;object-fit:cover}.quiz-answers,.visual-options{display:grid;gap:.65rem}.quiz-answers button,.visual-options button{display:grid;grid-template-columns:38px 1fr;align-items:center;text-align:left;border:1px solid var(--line);background:white;padding:.75rem;cursor:pointer}.quiz-answers button span,.visual-options button span{display:grid;place-items:center;width:28px;height:28px;background:var(--paper);color:var(--red);font-weight:600}.quiz-answers button:hover,.visual-options button:hover{border-color:var(--red)}.quiz-answers button.correct{background:#dce9df;border-color:#477155}.quiz-answers button.wrong{background:#f5d8d2;border-color:#b64b3a}.feedback{margin-top:1rem;padding:1rem;border-left:4px solid var(--ink);background:#e8e2d8}.feedback.ok{border-color:#477155}.feedback.no{border-color:var(--red)}.feedback p{font-size:12px}.big-score{font:7rem/1 "Libre Caslon Display";color:var(--blue)}.big-score small{font-size:2rem;color:var(--muted)}.result-screen{text-align:center;padding:4rem}.result-screen .lead{max-width:720px;margin:1rem auto 2rem}.score-row{max-width:680px;margin:.8rem auto;display:grid;grid-template-columns:180px 1fr;text-align:left;font-size:10px;align-items:center}.score-row i{height:8px;background:#d8d0c4}.score-row b{display:block;height:100%;background:var(--blue)}
@media(max-width:720px){.quiz-layout{grid-template-columns:1fr}.quiz-layout figure{height:280px}.quiz-shell{padding:1rem;min-height:0}.result-screen{padding:2rem 1rem}.score-row{grid-template-columns:120px 1fr}}
@media print{.sidebar,.appbar,.brief,.page-head{display:none}.app-shell{display:block}.app-main{display:block;height:auto}.workspace{padding:0}.worksheet-grid{display:block}.sheet{border:0}}

/* Foto ditampilkan utuh: ruang kosong dipakai sebagai bingkai, bukan dipotong. */
.portrait img,.work-card img,.gallery-hero img,.quiz-layout figure img,.map-card figure img,.architect-mini img{object-fit:contain;background:#ded7cb}
.gallery-hero img,.map-card figure img{padding:.45rem}
.work-card img{padding:.25rem}
.portrait img{padding:.35rem}

.map-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:1rem;align-items:start}
.world-map{position:relative;min-height:0;aspect-ratio:1200/620;background:#dfe7e8;border:1px solid #b9b3aa;overflow:hidden;cursor:grab;touch-action:none;user-select:none}
.world-map.is-dragging{cursor:grabbing}
.map-stage{position:absolute;inset:0;display:grid;place-items:center;transform-origin:center;transition:transform .12s ease;will-change:transform}
.map-canvas{position:relative;width:100%;height:100%}
.world-map.is-dragging .map-stage{transition:none}
.map-canvas>.interactive-world{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.natural-earth-map{background:#dfe7e8}.map-sphere{fill:#dfe7e8;stroke:#9ca8a9;stroke-width:1}.map-graticule{fill:none;stroke:#aab4b5;stroke-opacity:.45;stroke-width:.5}.map-country-shape{cursor:crosshair;transition:filter .12s ease,stroke-width .12s ease}.map-country-empty{fill:#eee8df}.map-country-shape.country-hover{filter:brightness(.84) saturate(1.16);stroke:#342b27;stroke-width:1.2}.map-borders{fill:none;stroke:#979b95;stroke-width:.5;pointer-events:none}.map-country-tone-0{fill:#b98670}.map-country-tone-1{fill:#a38d68}.map-country-tone-2{fill:#789287}.map-country-tone-3{fill:#8d8099}.map-country-tone-4{fill:#6f8d99}.map-country-tone-5{fill:#ae915b}.map-country-tone-6{fill:#a47f88}.map-region-label{fill:#443a35;stroke:#f6f0e8;stroke-width:2.6px;paint-order:stroke;font:700 12px "DM Sans",sans-serif;letter-spacing:.08em;text-anchor:middle;pointer-events:none;opacity:.84}.map-loading,.map-error{position:absolute;inset:0;display:grid;place-content:center;gap:.35rem;text-align:center;background:#dfe7e8;color:var(--muted);font-size:11px}.map-error b{color:var(--ink);font:1.35rem "Libre Caslon Display"}.map-error span{max-width:320px}
.map-controls{position:absolute;z-index:8;top:1rem;left:1rem;display:grid;grid-template-columns:42px 42px 42px auto;align-items:center;gap:4px;padding:5px;background:#f5f0e8e8;border:1px solid var(--line);box-shadow:0 5px 18px #17232128;backdrop-filter:blur(8px)}
.map-controls button{width:42px;height:42px;border:1px solid var(--ink);background:var(--panel);color:var(--ink);font-size:22px;cursor:pointer}
.map-controls button:hover,.map-controls button:focus{background:var(--yellow)}
.map-controls span{min-width:54px;padding:0 .45rem;font-size:9px;font-weight:600;text-align:center}
.map-hint{position:absolute;z-index:7;left:1rem;bottom:1rem;margin:0;padding:.45rem .65rem;background:#172321dc;color:white;font-size:9px;pointer-events:none}
.map-pin{position:absolute;transform:translate(-50%,-50%) scale(var(--marker-scale,1));width:13px;height:13px;border-radius:50%;border:2px solid white;background:var(--red);color:white;text-decoration:none;font-size:7px;font-weight:700;box-shadow:0 2px 8px #17232188;cursor:pointer;display:grid;place-items:center;transform-origin:center;transition:background .12s ease,color .12s ease,outline .12s ease}
.map-pin:hover,.map-pin.active{z-index:3;background:var(--yellow);color:var(--ink);outline:3px solid #fff8;outline-offset:2px}
.map-pin.map-cluster{width:25px;height:25px;background:var(--blue);line-height:1}.map-pin.map-mega{width:33px;height:33px;font-size:8px}.map-pin.map-country span{position:relative;z-index:1}
.map-pin.map-cluster b{font-size:13px}.map-pin.map-cluster small{font-size:6px;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.map-cluster-picker{position:absolute;z-index:12;left:1rem;right:1rem;bottom:3.2rem;max-height:45%;overflow:auto;background:var(--panel);border:1px solid var(--ink);box-shadow:0 12px 40px #17232155;padding:.55rem}
.map-cluster-picker[hidden]{display:none}.map-cluster-picker>div{display:flex;align-items:center;justify-content:space-between;padding:.4rem .55rem;border-bottom:1px solid var(--line)}.map-cluster-picker>div>button{border:0;background:none;font-size:22px;cursor:pointer}.map-cluster-picker>button{display:grid;grid-template-columns:54px 1fr auto;gap:.6rem;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:.55rem;cursor:pointer}.map-cluster-picker>button:hover{background:var(--yellow)}.map-cluster-picker>button span,.map-cluster-picker>button small{font-size:8px;color:var(--muted)}.map-cluster-picker>button b{font-size:10px}
.map-native-cluster[popover]{width:min(560px,calc(100vw - 2rem));max-height:min(72vh,640px);margin:auto;padding:0;border:1px solid var(--ink);background:var(--panel);color:var(--ink);box-shadow:0 22px 70px #1d171566;overflow:auto}.map-native-cluster::backdrop{background:#1d171588}.map-native-cluster header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:var(--ink);color:white}.map-native-cluster header span{display:grid;gap:.15rem}.map-native-cluster header b{font:1.35rem/1.1 'Libre Caslon Display'}.map-native-cluster header small{font-size:.68rem;color:#eadfd6}.map-native-cluster header button{width:42px;height:42px;border:1px solid #ffffff77;background:transparent;color:white;font-size:25px;cursor:pointer}.map-native-cluster>div{display:grid}.map-native-cluster a{display:grid;grid-template-columns:86px minmax(0,1fr);gap:.9rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.map-native-cluster a:hover,.map-native-cluster a:focus-visible{background:var(--yellow);outline:0}.map-native-cluster a img{width:86px;height:72px;object-fit:cover;background:#ddd}.map-native-cluster a span{display:grid;gap:.2rem}.map-native-cluster a small{font-size:.67rem;color:var(--muted)}.map-native-cluster a b{font:1.05rem/1.15 'Libre Caslon Display'}.map-native-cluster a em{font-size:.68rem;font-style:normal;font-weight:700}.country-tooltip{position:absolute;z-index:20;max-width:260px;padding:.42rem .6rem;background:#302722;color:white;border:1px solid #fff8;box-shadow:0 5px 18px #241b1766;font-size:.72rem;font-weight:700;pointer-events:none}.country-tooltip[hidden]{display:none}
.map-card{background:var(--panel);border:1px solid var(--line);padding:1rem;display:flex;flex-direction:column}
.map-card figure{position:relative;height:260px;margin:0 0 1rem;background:#ded7cb;overflow:hidden}
.map-card figure>img{width:100%;height:100%}
.map-card figure figcaption{position:absolute;left:.45rem;right:.45rem;bottom:.45rem;padding:.35rem .5rem;background:#172321d9;color:white;font-size:7px;letter-spacing:.04em}
.map-card figure figcaption a{color:white;text-decoration:none}.map-card figure figcaption a:hover{text-decoration:underline}
.map-card h2{font:2.2rem/1 "Libre Caslon Display";margin:.2rem 0 .7rem}
.map-card p{font-size:11px;color:var(--muted)}
.architect-mini{display:grid;grid-template-columns:62px 1fr;gap:.8rem;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.8rem 0;margin:auto 0 1rem}
.architect-mini img{width:62px;height:62px;border-radius:50%}
.architect-mini span,.architect-mini small{display:block;font-size:8px;color:var(--muted)}
.architect-mini strong{display:block;font:1.1rem "Libre Caslon Display"}
.map-actions{display:flex;gap:.5rem;flex-wrap:wrap}.map-actions a{text-decoration:none;color:var(--ink)}
@media(max-width:1050px){.map-layout{grid-template-columns:1fr}.world-map{min-height:480px}.map-card{display:grid;grid-template-columns:240px 1fr;column-gap:1rem}.map-card figure{grid-row:1/8;height:100%;min-height:300px}.map-actions{grid-column:2}}
@media(max-width:720px){.world-map{min-height:360px}.map-stage{inset:.25rem}.map-pin{width:11px;height:11px;font-size:7px}.map-pin.map-cluster{width:22px;height:22px}.map-pin.map-mega{width:28px;height:28px}.map-controls{top:.55rem;left:.55rem;grid-template-columns:36px 36px 36px auto}.map-controls button{width:36px;height:36px}.map-hint{left:.55rem;bottom:.55rem}.map-card{display:block}.map-card figure{height:260px}.portrait{height:360px}.gallery-hero{height:300px}.work-card img{height:160px}}
.exam-login{max-width:760px;margin:2rem auto;background:var(--panel);border:1px solid var(--line);padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.exam-login>div:first-child{grid-column:1/3}.exam-login h2,.admin-settings h2,.report-table h2{font:2.3rem "Libre Caslon Display";margin:.3rem 0}.exam-login label,.admin-settings label{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.exam-login input,.admin-settings input{display:block;width:100%;padding:.8rem;margin-top:.35rem;border:1px solid var(--line);background:white}.exam-rules{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.exam-rules b{background:white;padding:1rem;text-align:center;font-size:11px}.exam-login .action{justify-self:start}.exam-timer{color:var(--red);font-size:15px}.report-actions{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.answer-review{text-align:left;margin-top:2rem;border-top:2px solid var(--ink)}.answer-review article{padding:1rem 0;border-bottom:1px solid var(--line)}.answer-review p{margin:.35rem 0;font-size:11px}.answer-review small{color:var(--muted)}.correct-text{color:#386746}.admin-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem}.admin-settings,.admin-summary,.report-table{background:var(--panel);border:1px solid var(--line);padding:1.5rem}.admin-settings{display:grid;gap:1rem}.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.admin-summary div{text-align:center;border-right:1px solid var(--line)}.admin-summary div:last-child{border:0}.admin-summary span{display:block;font-size:9px;text-transform:uppercase;color:var(--muted)}.admin-summary b{font:3.5rem "Libre Caslon Display"}.report-table{margin-top:1rem}.table-head{display:flex;justify-content:space-between;align-items:end}.report-table table{width:100%;border-collapse:collapse;margin-top:1rem}.report-table th,.report-table td{text-align:left;padding:.8rem;border-bottom:1px solid var(--line);font-size:11px}.report-table th{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
@media(max-width:720px){.exam-login,.admin-grid{grid-template-columns:1fr}.exam-login>div:first-child,.exam-rules{grid-column:1}.exam-rules{grid-template-columns:1fr}.admin-summary{grid-template-columns:1fr}.admin-summary div{padding:1rem;border-right:0;border-bottom:1px solid var(--line)}.table-head{align-items:flex-start;gap:1rem;flex-direction:column}.report-table{overflow:auto}}
.export-menu{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.export-menu .action{min-width:68px}.export-menu button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:720px){.export-menu{justify-content:flex-start}}
.admin-tools{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem;margin:1rem 0}.admin-panel{background:var(--panel);border:1px solid var(--line);padding:1.5rem}.admin-panel h2{font:2rem "Libre Caslon Display";margin:.25rem 0 1rem}.live-panel{grid-column:1/3}.panel-head{display:flex;justify-content:space-between;align-items:start}.live-table{overflow:auto}.live-table table{width:100%;border-collapse:collapse}.live-table th,.live-table td{padding:.7rem;border-bottom:1px solid var(--line);text-align:left;font-size:10px}.live-table th{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.live-dot{display:inline-block;width:8px;height:8px;background:#3c9b64;border-radius:50%;margin-right:.5rem;box-shadow:0 0 0 3px #3c9b6422}.theme-form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.theme-form label,.content-form label{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.theme-form input[type=color]{display:block;width:100%;height:44px;margin-top:.35rem;border:1px solid var(--line);background:white;padding:3px}.theme-form .action{grid-column:1/3}.content-form{display:grid;gap:.75rem}.content-form input,.content-form select{display:block;width:100%;padding:.7rem;margin-top:.3rem;border:1px solid var(--line);background:white}.managed-content{display:grid;gap:.35rem;margin-top:1rem}.managed-content>a{display:flex;justify-content:space-between;gap:1rem;padding:.65rem;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.managed-content small{color:var(--muted)}@media(max-width:850px){.admin-tools{grid-template-columns:1fr}.live-panel{grid-column:1}.panel-head{gap:.8rem;flex-direction:column}.theme-form{grid-template-columns:1fr}.theme-form .action{grid-column:1}}
.appearance-panel{grid-column:1/2}.font-size-picker{grid-column:1/3;border:1px solid var(--line);padding:.7rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.font-size-picker legend{padding:0 .35rem;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.theme-form .font-size-option{display:block;position:relative;cursor:pointer;text-transform:none;letter-spacing:0}.font-size-option input{position:absolute;opacity:0}.font-size-option span{display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-height:48px;padding:.65rem;border:1px solid var(--line);background:white}.font-size-option input:checked+span{border-color:var(--red);box-shadow:inset 0 0 0 2px var(--red);background:#fff8e8}.font-size-option b{font-size:10px}.font-size-option small{font-size:8px;color:var(--muted)}.font-preview{grid-column:1/3;border-left:4px solid var(--yellow);background:#edf3f0;padding:.8rem 1rem;transition:font-size .18s ease}.font-preview span{display:block;font-size:.55em;letter-spacing:.12em;color:var(--muted)}.font-preview strong{display:block;font:1.35em "Libre Caslon Display"}.font-preview p{margin:.3rem 0 0;font-size:.72em;color:var(--muted)}#themeMessage{grid-column:1/3;color:var(--muted);line-height:1.5}@media(max-width:850px){.font-size-picker,.font-preview,#themeMessage{grid-column:1}.font-size-picker{grid-template-columns:1fr 1fr}}
.admin-settings select{display:block;width:100%;padding:.8rem;margin-top:.35rem;border:1px solid var(--line);background:white}.exam-topic{margin-top:1rem;padding:.8rem;border-left:4px solid var(--yellow);background:#e9e2d7}.exam-topic span{display:block;font-size:8px;color:var(--muted);letter-spacing:.12em}.exam-topic b{font:1.2rem "Libre Caslon Display"}
.exam-topic small{display:block;margin-top:.45rem;color:var(--muted)}.meeting-picker{border:1px solid var(--line);padding:.8rem;display:grid;gap:.45rem;max-height:520px;overflow:auto}.meeting-picker legend{padding:0 .35rem;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.meeting-picker label{margin:0;display:grid;grid-template-columns:22px 1fr;align-items:center;padding:.65rem;background:white;border:1px solid transparent;cursor:pointer}.meeting-picker label:has(input:checked){border-color:var(--red);background:#fff8e8}.meeting-picker input{width:16px;height:16px;margin:0;accent-color:var(--red)}.meeting-picker span,.meeting-picker small,.meeting-picker em{display:block}.meeting-picker b{font-size:11px}.meeting-picker small{margin-top:.15rem;color:var(--muted);font-size:9px}.meeting-picker em{margin-top:.28rem;color:var(--red);font-size:8px;font-style:normal;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.form-error{color:var(--red);font-weight:600}
.essay-answer{display:grid;gap:.8rem}.essay-answer label{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.essay-answer textarea{width:100%;padding:1rem;border:1px solid var(--line);background:white;resize:vertical;font:1rem/1.55 "DM Sans",sans-serif;min-height:210px}.essay-answer .action{justify-self:start}
.clickable-card{cursor:pointer;transition:transform .15s,box-shadow .15s}.clickable-card:hover,.clickable-card:focus{transform:translateY(-3px);box-shadow:0 8px 22px #17232124;outline:2px solid var(--red)}.entity-link{color:var(--blue);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px;cursor:pointer}.building-source{display:inline-block;margin-top:1rem;text-decoration:none;color:var(--ink)}
.section-title{font:2rem "Libre Caslon Display";margin:1.4rem 0 .8rem}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.video-card{background:var(--panel);border:1px solid var(--line);color:var(--ink);text-decoration:none;overflow:hidden;display:flex;flex-direction:column}.video-card:hover{border-color:var(--red)}.video-card img,.video-card video{width:100%;height:190px;object-fit:contain;background:#171f1d}.video-card div{padding:1rem}.video-card span{font-size:8px;color:var(--red);letter-spacing:.13em}.video-card h3{font:1.35rem "Libre Caslon Display";margin:.35rem 0}.video-card p{font-size:10px;color:var(--muted)}.video-card b{font-size:9px}.video-section-head{display:flex;align-items:end;justify-content:space-between;margin-top:2rem}.video-section-head p{font-size:11px;color:var(--muted)}.server-badge{padding:.45rem .7rem;background:var(--yellow);font-size:9px}.server-badge.offline{background:#d8d0c4}.local-video video{cursor:pointer}
@media(max-width:1050px){.video-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.video-grid{grid-template-columns:1fr}.video-card img,.video-card video{height:230px}.video-section-head{align-items:flex-start;flex-direction:column;gap:.5rem}}
.movement-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:1.5rem 0}.movement-detail-grid section{border-top:2px solid var(--ink);padding-top:.7rem}.movement-detail-grid h3{font:1.35rem "Libre Caslon Display";margin:.5rem 0}.movement-detail-grid p,.movement-detail-grid li{font-size:12px;line-height:1.6}.movement-source{display:inline-block;color:var(--ink);text-decoration:none;margin-top:.5rem}@media(max-width:720px){.movement-detail-grid{grid-template-columns:1fr;gap:.5rem}.search-panel,#detailContent{padding:2rem 1.3rem}}
.era-description{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;margin:1.6rem 0}.era-description section,.era-description aside{border-top:2px solid var(--ink);padding-top:.75rem}.era-description h3{font:1.35rem "Libre Caslon Display";margin:.25rem 0 .65rem}.era-description p,.era-description li{font-size:12px;line-height:1.65}.era-description ul{padding-left:1.15rem}.era-source{display:inline-block;text-decoration:none;color:var(--ink);margin-top:.25rem}@media(max-width:720px){.era-description{grid-template-columns:1fr;gap:.6rem}.timeline-sheet .year{font-size:3.5rem}}

.timeline-model-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-bottom:1rem;background:var(--line);gap:1px}.timeline-model-switch button{border:0;background:var(--panel);color:var(--ink);padding:1rem 1.15rem;display:grid;grid-template-columns:42px 1fr;gap:.8rem;text-align:left;cursor:pointer;align-items:start}.timeline-model-switch button>span{font:1.65rem "Libre Caslon Display";color:var(--red)}.timeline-model-switch button b{display:block;font:1.2rem "Libre Caslon Display";margin-bottom:.3rem}.timeline-model-switch button small{display:block;color:var(--muted);font-size:10px;line-height:1.45}.timeline-model-switch button.active{background:var(--ink);color:white}.timeline-model-switch button.active small{color:#d9d0c5}.timeline-context{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.7rem 0;margin-bottom:1.2rem}.timeline-context span{font-size:8px;letter-spacing:.16em;color:var(--red)}.timeline-context p{margin:0;color:var(--muted);font-size:11px}.timeline-context>b{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.timeline-board{grid-template-columns:190px minmax(0,1fr)}.timeline-rail button{padding:.82rem .9rem}.timeline-rail button b{display:block;font-size:11px}.timeline-rail button small{font-size:9px;line-height:1.35;margin-top:.18rem}.timeline-sheet{padding:2rem 2.2rem}.timeline-sheet h2{font:2rem "Libre Caslon Display";margin:.7rem 0}.timeline-content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr);gap:2rem;margin-top:1.8rem}.timeline-content h3{font:1.3rem "Libre Caslon Display";margin:.2rem 0 .7rem}.era-narrative,.era-facts{border-top:3px solid var(--ink);padding-top:1rem}.era-narrative>p,.era-facts>p,.era-facts li{font-size:12px;line-height:1.65}.era-facts ul{padding-left:1.1rem;margin-bottom:1.5rem}.milestone-list{border-top:1px solid var(--line)}.milestone-list>div{display:grid;grid-template-columns:92px 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.milestone-list b{font-size:10px;color:var(--red)}.milestone-list p{margin:0;font-size:11px;line-height:1.55}.timeline-source{margin-top:1.5rem;padding:1rem;background:#e8ded2}.timeline-source span{font-size:8px;letter-spacing:.14em;color:var(--red)}.timeline-source p{font-size:10px;line-height:1.5;margin:.45rem 0 .8rem}.timeline-source .action{font-size:9px;padding:.55rem .7rem}
@media(max-width:960px){.timeline-content{grid-template-columns:1fr}.timeline-board{grid-template-columns:160px minmax(0,1fr)}.timeline-sheet{padding:1.5rem}.timeline-sheet .year{font-size:4rem}}
@media(max-width:720px){.timeline-model-switch{grid-template-columns:1fr}.timeline-context{grid-template-columns:1fr}.timeline-board{grid-template-columns:1fr}.timeline-rail{flex-direction:row}.timeline-rail button{min-width:150px}.timeline-content{grid-template-columns:1fr}.timeline-sheet{padding:1.2rem}.timeline-sheet .year{font-size:3rem}.milestone-list>div{grid-template-columns:76px 1fr}}
.quiz-control{border:1px solid var(--line);background:#fff;padding:1.25rem 1.5rem;margin-bottom:1rem;display:grid;grid-template-columns:1fr auto;gap:1rem 2rem;align-items:center}.quiz-control h2{font:2rem "Libre Caslon Display";margin:.15rem 0}.quiz-control h2 .live-dot{display:inline-block;margin-right:.6rem;background:#777}.quiz-control.open h2 .live-dot{background:#2e9b61;box-shadow:0 0 0 5px #dff4e8}.quiz-control.ended h2 .live-dot{background:var(--red)}.quiz-control p{margin:.25rem 0;color:var(--muted)}.quiz-control-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.quiz-control ol{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:.25rem 0 0;padding:0;list-style:none}.quiz-control li{border-top:1px solid var(--line);padding-top:.65rem;font-size:11px;line-height:1.5}.quiz-access{display:flex;align-items:center;gap:.55rem;margin:1rem 0;padding:.75rem;border:1px solid var(--line);font-size:12px}.quiz-access span{width:9px;height:9px;border-radius:50%;background:#777}.quiz-access.is-open{background:#edf8f1;border-color:#9bc8aa}.quiz-access.is-open span{background:#2e9b61}.quiz-access.is-closed{background:#f3efea}.quiz-access.is-closed span{background:var(--red)}
@media(max-width:720px){.quiz-control{grid-template-columns:1fr}.quiz-control-actions{justify-content:flex-start}.quiz-control ol{grid-template-columns:1fr}}
.quiz-archive{border:1px solid var(--line);background:#faf7f1;padding:1.5rem;margin:1rem 0}.quiz-archive .table-head p{margin:.25rem 0}.archive-list{display:grid;gap:.75rem;margin-top:1rem}.archive-card{display:grid;grid-template-columns:1.2fr .7fr auto;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);padding:1rem}.archive-card h3{font:1.3rem "Libre Caslon Display";margin:.2rem 0}.archive-card time,.archive-card p{font-size:10px;color:var(--muted);line-height:1.45}.archive-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:0}.archive-card dl div{border-left:1px solid var(--line);padding-left:.6rem}.archive-card dt{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.archive-card dd{font:1.35rem "Libre Caslon Display";margin:.15rem 0}.archive-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.archive-actions .action{padding:.55rem .65rem;font-size:9px}.archive-detail{background:#fff;border:1px solid var(--ink);padding:1rem;margin-top:1rem;overflow:auto}.archive-detail table{min-width:650px;width:100%;border-collapse:collapse}.archive-detail th,.archive-detail td{padding:.65rem;border-bottom:1px solid var(--line);text-align:left;font-size:10px}.host-storage-note{margin:1rem 0 0;padding:.8rem;background:#edf3f0;font-size:10px;line-height:1.5}.host-storage-note code{font-size:9px}.report-table time{white-space:nowrap;font-size:9px;color:var(--muted)}
@media(max-width:900px){.archive-card{grid-template-columns:1fr}.archive-actions{justify-content:flex-start}.archive-card dl{max-width:360px}}@media(max-width:520px){.quiz-archive{padding:1rem}.archive-card dl{grid-template-columns:1fr 1fr 1fr}.archive-card{padding:.8rem}}
.registered-card{max-width:760px;margin:1rem auto;background:#fff;border:1px solid var(--line);padding:2rem}.registered-card h2{font:2.5rem "Libre Caslon Display";margin:.25rem 0}.registered-card .action{margin-top:1rem}.late-note{border-left:4px solid var(--yellow);padding:.75rem 1rem;background:#fff8e8;font-size:11px;line-height:1.55}.session-locked{display:inline-flex;align-items:center;padding:.65rem .9rem;background:#f0ece5;color:var(--muted);font-size:10px;font-weight:600}
.essay-limit{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:-.25rem;padding:.55rem .7rem;background:#edf3f0;color:var(--muted);font-size:9px}.essay-limit b{color:var(--ink);font-size:10px}.essay-limit.over-limit{background:#f7ded8;color:var(--red)}.essay-limit.over-limit b{color:var(--red)}.essay-answer textarea:invalid{border-color:var(--red)}
@media(max-width:520px){.essay-limit{align-items:flex-start;flex-direction:column;gap:.2rem}}
.access-panel{grid-column:1/3}.access-panel>p{font-size:11px;line-height:1.55;color:var(--muted)}.access-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1rem}.access-links>div{display:grid;grid-template-columns:1fr auto;gap:.35rem;padding:.8rem;background:#edf3f0;border:1px solid var(--line)}.access-links span{grid-column:1/3;font-size:8px;letter-spacing:.1em;color:var(--muted)}.access-links a{overflow-wrap:anywhere;color:var(--blue);font-size:11px}.access-links button{border:1px solid var(--ink);background:white;padding:.35rem .55rem;cursor:pointer}.ppt-panel{grid-column:1/3}.ppt-panel>p{font-size:11px;line-height:1.55}.append-only-note{border-left:4px solid var(--yellow);background:#fff8e8;padding:.75rem}.ppt-import-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}.ppt-import-form label{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.ppt-import-form input,.ppt-import-form select{display:block;width:100%;padding:.7rem;margin-top:.3rem;border:1px solid var(--line);background:white}.ppt-import-form .action,.ppt-import-form small{grid-column:1/3}.generated-material-list{display:grid;gap:.35rem;margin-top:1rem}.generated-material-list button{display:flex;justify-content:space-between;gap:1rem;text-align:left;padding:.7rem;border:1px solid var(--line);background:white;cursor:pointer}.generated-material-list button:hover{border-color:var(--red)}.generated-material-list small{color:var(--muted)}.material-intro{margin-top:-.4rem;color:var(--muted);font-size:11px}.generated-material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.generated-material-card{text-align:left;padding:1rem;border:1px solid var(--line);background:var(--panel);cursor:pointer;color:var(--ink)}.generated-material-card:hover{border-color:var(--red);transform:translateY(-2px)}.generated-material-card span{font-size:8px;color:var(--red);letter-spacing:.08em}.generated-material-card h2{font:1.45rem "Libre Caslon Display";margin:.55rem 0}.generated-material-card p,.generated-material-card b{font-size:9px}.generated-slide-list{display:grid;gap:.7rem;margin:1.5rem 0}.generated-slide-list article{border-top:1px solid var(--line);padding-top:.7rem}.generated-slide-list span{font-size:8px;color:var(--red);letter-spacing:.1em}.generated-slide-list h3{font:1.3rem "Libre Caslon Display";margin:.25rem 0}.generated-slide-list p{font-size:11px;line-height:1.55}
@media(max-width:850px){.access-panel,.ppt-panel{grid-column:1}.access-links,.generated-material-grid{grid-template-columns:1fr}.ppt-import-form{grid-template-columns:1fr}.ppt-import-form .action,.ppt-import-form small{grid-column:1}.generated-material-list button{flex-direction:column}}
.list-pane button.active{background:var(--ink);color:white}
.list-pane button:not(.active):hover{background:rgba(233,184,50,.18);color:var(--ink)}
.list-pane button:not(.active):hover small{color:#53605c}
.list-pane button:focus-visible{outline:2px solid var(--red);outline-offset:-3px}
.compare-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1rem}.compare-picker label{display:grid;gap:.35rem;font-size:8px;letter-spacing:.12em;color:var(--muted)}.compare-picker select{width:100%;padding:.8rem;border:1px solid var(--line);background:var(--panel);color:var(--ink)}.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.compare-card{background:var(--panel);border:1px solid var(--line);min-width:0}.compare-card figure{height:230px;margin:0;position:relative;background:#d6cec2;overflow:hidden}.compare-card figure img{width:100%;height:100%;object-fit:contain}.compare-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:.6rem;background:#172321d9;color:white;font-size:9px}.compare-card>div{padding:1.2rem}.compare-card h2{font:2rem/1 "Libre Caslon Display";margin:.35rem 0 1rem}.compare-card dl{margin:0 0 1rem}.compare-card dl div{display:grid;grid-template-columns:70px 1fr;gap:.5rem;padding:.5rem 0;border-top:1px solid var(--line)}.compare-card dt{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.compare-card dd{margin:0;font-size:10px}.compare-card p:not(.eyebrow){font-size:11px;line-height:1.65;min-height:7.5em}.compare-card .action{display:inline-block;text-decoration:none;color:var(--ink);margin-top:.5rem}@media(max-width:980px){.compare-grid{grid-template-columns:1fr}.compare-picker{grid-template-columns:1fr}.compare-card{display:grid;grid-template-columns:minmax(260px,.75fr) 1fr}.compare-card figure{height:100%}}@media(max-width:620px){.compare-card{display:block}.compare-card figure{height:230px}}

/* Media soal selalu menjelaskan hubungan gambar dengan pertanyaan. */
.question-media{position:relative;overflow:hidden;border:1px solid var(--line)}
.question-media figcaption{position:absolute;left:0;right:0;bottom:0;padding:.65rem .8rem;background:linear-gradient(transparent,#101816e8);color:white;font-size:9px;line-height:1.4;letter-spacing:.02em}
.quiz-layout.is-concept{grid-template-columns:minmax(0,1fr);max-width:850px;margin-left:auto;margin-right:auto}
.question-concept{min-height:430px;display:flex;flex-direction:column;justify-content:center;padding:2.5rem;background:var(--ink);color:white;border:1px solid #35423f}
.question-concept span{font-size:9px;letter-spacing:.2em;color:var(--yellow)}
.question-concept strong{display:block;margin:1.1rem 0;font:clamp(2.2rem,4vw,4.2rem)/.96 "Libre Caslon Display"}
.question-concept small{max-width:32rem;color:#c4cfcb;font-size:11px;line-height:1.65}
.session-duration{display:inline-block;margin-top:.65rem!important;padding:.5rem .7rem;background:#edf3f0;color:var(--ink)!important;border-left:4px solid var(--yellow);font-size:10px}
@media(max-width:720px){.question-concept{min-height:250px;padding:1.5rem}.question-media figcaption{font-size:8px}}

/* Keep the central worksheet independently scrollable, including when the
   application-level font zoom is larger than 100%. */
.app-main{min-height:0;overflow:hidden;grid-template-rows:64px minmax(0,1fr)}
.app-main main{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

/* Login dosen/admin untuk instalasi server prodi. */
.admin-auth-shell{min-height:560px;display:grid;grid-template-columns:.85fr 1.15fr;background:var(--panel);border:1px solid var(--line);overflow:hidden}
.admin-auth-brand{position:relative;padding:3rem;background:var(--ink);color:white;overflow:hidden}
.admin-auth-brand>span{display:grid;place-items:center;width:76px;height:76px;margin-bottom:3rem;background:var(--red);color:white;font:2rem "Libre Caslon Display"}
.admin-auth-brand::after{content:"";position:absolute;width:260px;height:260px;border:46px solid var(--yellow);border-radius:50%;right:-150px;bottom:-130px}
.admin-auth-brand h2{font:2.7rem/1.05 "Libre Caslon Display";max-width:360px;margin:.6rem 0 2rem}
.admin-auth-brand ul{position:relative;z-index:1;padding:0;list-style:none;color:#cad4d0;font-size:11px;line-height:2}
.admin-auth-brand li{border-top:1px solid #42504c;padding:.45rem 0}
.admin-auth-form,.admin-auth-status{align-self:center;width:min(470px,calc(100% - 4rem));margin:2rem auto;padding:2.2rem;background:white;border-top:5px solid var(--yellow);box-shadow:0 14px 44px #17232114}
.admin-auth-form h2,.admin-auth-status h2{font:2.25rem/1.05 "Libre Caslon Display";margin:.4rem 0 1rem}
.admin-auth-form>p:not(.eyebrow),.admin-auth-status>p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.6}
.admin-auth-form label{display:block;margin:1rem 0;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.admin-auth-form input{display:block;width:100%;margin-top:.4rem;padding:.85rem;border:1px solid var(--line);background:#fff}
.admin-auth-form .action{width:100%;margin:.5rem 0 .8rem}
.admin-auth-form small{display:block;color:var(--muted);font-size:9px;line-height:1.5}
.admin-auth-status .action{display:inline-block;margin-top:1rem;text-decoration:none}
.auth-spinner{display:block;width:34px;height:34px;border:4px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:auth-spin .8s linear infinite}
@keyframes auth-spin{to{transform:rotate(360deg)}}
.admin-identity{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.8rem;font-size:10px;color:var(--muted)}
.admin-identity .action{padding:.45rem .7rem;color:var(--ink)}
@media(max-width:850px){.admin-auth-shell{grid-template-columns:1fr}.admin-auth-brand{padding:2rem}.admin-auth-brand>span{margin-bottom:1.2rem}.admin-auth-brand h2{font-size:2rem;margin-bottom:1rem}.admin-auth-form,.admin-auth-status{width:calc(100% - 2rem);padding:1.4rem}}

/* Identitas pengembang dibuat tenang agar tidak bersaing dengan navigasi. */
.sidebar-foot{gap:.12rem;padding:.7rem .6rem}
.sidebar-foot span{font-size:6.5px;letter-spacing:.15em}
.sidebar-foot strong{font:600 6.5px/1.35 "DM Sans",sans-serif;letter-spacing:.04em}
.sidebar-foot small{font-size:7px;line-height:1.35}

/* Panel tema menjelaskan sasaran warna dan menampilkan hasil sebelum disimpan. */
.theme-help{margin:-.45rem 0 1rem;color:var(--muted);font-size:10px;line-height:1.5}
.theme-form label>span{display:block;font-weight:600}
.theme-form label>small{display:block;min-height:2.5em;margin:.25rem 0;color:var(--muted);font-size:8px;line-height:1.35;letter-spacing:0;text-transform:none}
.font-preview{background:var(--preview-paper,var(--paper));border-left-color:var(--preview-yellow,var(--yellow));color:var(--preview-ink,var(--ink))}
.font-preview span{color:var(--preview-red,var(--red))}
.font-preview p{color:var(--preview-ink,var(--ink));opacity:.72}
.font-preview button{margin-top:.55rem;border:0;background:var(--preview-ink,var(--ink));color:white;padding:.45rem .7rem;font-size:.65em}
.actor-toolbar{overflow-x:auto;flex-wrap:nowrap}.actor-list small{line-height:1.35}.actor-role{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red);font-weight:700;margin:.2rem 0 1rem}.source-link{display:inline-flex;flex-direction:column;gap:.2rem;margin-top:1.3rem;padding:.85rem 1rem;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:700}.source-link:hover{background:var(--paper)}.source-link small{font-weight:400;color:var(--muted)}
.actor-section{border-top:2px solid var(--ink);padding-top:1rem;margin-top:1.2rem}.actor-section>span,.actor-knowledge-grid section>span{font-size:.65rem;font-weight:800;letter-spacing:.13em;color:var(--red)}.actor-knowledge-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-top:1.2rem}.actor-knowledge-grid section{padding:1rem}.actor-knowledge-grid section+section{border-left:1px solid var(--line)}.actor-knowledge-grid ul{padding-left:1.05rem;margin:.75rem 0 0}.actor-knowledge-grid li{margin:.45rem 0;line-height:1.45}.actor-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.actor-source-grid .source-link{margin-top:1rem}.portrait figcaption a{color:white;text-decoration:none}.portrait figcaption a:hover{text-decoration:underline}
.map-lens-toolbar{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:.8rem}.map-lens-toolbar button{display:grid;gap:.3rem;padding:.85rem 1rem;border:1px solid var(--line);background:var(--panel);text-align:left;cursor:pointer}.map-lens-toolbar button:hover,.map-lens-toolbar button.active{background:var(--ink);color:white;border-color:var(--ink)}.map-lens-toolbar b{font-size:.85rem}.map-lens-toolbar small{font-size:.68rem;line-height:1.4;opacity:.72}.map-legend{display:flex;gap:.8rem 1.1rem;align-items:center;flex-wrap:wrap;margin:0 0 1rem;padding:.65rem .8rem;border-left:4px solid var(--ink);background:#f8f1e9}.map-legend span{display:flex;align-items:center;gap:.35rem;font-size:.65rem}.map-legend i{width:.8rem;height:.8rem;border-radius:50%;background:var(--tone)}.map-tone-0{--tone:#9b604b!important}.map-tone-1{--tone:#806746!important}.map-tone-2{--tone:#586f66!important}.map-tone-3{--tone:#725d7d!important}.map-tone-4{--tone:#3f6b7a!important}.map-tone-5{--tone:#a27e3e!important}.map-tone-6{--tone:#895c64!important}.map-pin[class*="map-tone-"]{background:var(--tone)}.map-pin.map-cluster[class*="map-tone-"]{background:var(--tone)}.map-cluster-picker>div span{display:grid;gap:.15rem}.map-cluster-picker>div small{color:var(--muted);font-size:.65rem;font-weight:400}
.map-photo-strip{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,2fr);gap:1rem;margin:0 0 1rem;padding:1rem;background:#3b302b;color:#fff}.map-photo-strip>header{display:flex;flex-direction:column;justify-content:center;padding:.35rem}.map-photo-strip>header h2{font:1.65rem/1.05 "Libre Caslon Display";margin:.15rem 0 .65rem}.map-photo-strip>header>p:last-child{margin:0;color:#e5d9ce;font-size:.76rem;line-height:1.55}.map-photo-strip>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.map-photo-strip button{position:relative;min-width:0;padding:0;border:1px solid #ffffff55;background:#211b18;color:#fff;text-align:left;cursor:pointer}.map-photo-strip button:hover,.map-photo-strip button:focus-visible,.map-photo-strip button.active{border-color:#e4b18e;outline:3px solid #e4b18e66}.map-photo-strip figure{position:relative;height:188px;margin:0;overflow:hidden}.map-photo-strip img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.map-photo-strip button:hover img{transform:scale(1.035)}.map-photo-strip figcaption{position:absolute;inset:auto 0 0;padding:2.6rem .7rem .65rem;background:linear-gradient(transparent,#1e1816ee);display:grid;gap:.1rem}.map-photo-strip figcaption span,.map-photo-strip figcaption small{font-size:.58rem;line-height:1.25;color:#e8dcd2}.map-photo-strip figcaption b{font:1rem/1.05 "Libre Caslon Display";white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-photo-strip figure>i{position:absolute;top:.45rem;right:.45rem;padding:.25rem .38rem;background:#b77760;font-size:.5rem;font-style:normal;font-weight:800;letter-spacing:.09em}.map-cluster-picker>button img{grid-row:1/4;width:54px;height:54px;object-fit:cover;background:#ddd}.map-cluster-picker>button span,.map-cluster-picker>button b,.map-cluster-picker>button small{grid-column:2}.map-cluster-picker>button span{grid-row:1}.map-cluster-picker>button b{grid-row:2}.map-cluster-picker>button small{grid-row:3}
@media(max-width:900px){.map-photo-strip{grid-template-columns:1fr}.map-photo-strip>header{padding:.15rem}.map-photo-strip figure{height:165px}}
@media(max-width:720px){.actor-knowledge-grid,.actor-source-grid,.map-lens-toolbar{grid-template-columns:1fr}.actor-knowledge-grid section+section{border-left:0;border-top:1px solid var(--line)}.map-lens-toolbar button{padding:.7rem}.map-legend{max-height:120px;overflow:auto}.map-photo-strip{margin-inline:-.5rem;padding:.8rem}.map-photo-strip>div{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.3rem}.map-photo-strip button{flex:0 0 72vw;scroll-snap-align:start}.map-photo-strip figure{height:210px}}
.learning-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:1.5rem;align-items:end;padding:1.3rem 1.5rem;background:#d8c9bb;margin:1rem 0}.learning-intro .eyebrow{grid-column:1/-1}.learning-intro h2{font:2rem/1.05 "Libre Caslon Display";margin:0}.learning-intro p:last-child{margin:0;line-height:1.6;color:#5e5048}.learning-path button{min-width:260px}.learning-path button strong{font-size:1rem;line-height:1.15}.lesson-sheet{background:var(--panel);border:1px solid var(--line);padding:clamp(1.2rem,3vw,2.6rem);margin-top:1rem}.lesson-sheet>header{max-width:900px}.lesson-sheet>header h2{font:clamp(2.2rem,4vw,4.4rem)/.98 "Libre Caslon Display";margin:.3rem 0 1rem}.lesson-lead{font:1.18rem/1.65 "Libre Caslon Display";max-width:900px}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin:2rem 0}.lesson-grid section{padding:1.4rem}.lesson-grid section+section{border-left:1px solid var(--line)}.lesson-grid h3,.evidence h3,.studio-bridge h3{font:1.55rem/1.2 "Libre Caslon Display";margin:.2rem 0 1rem}.lesson-grid li{margin:.6rem 0;line-height:1.45}.concept-tags{display:flex;gap:.5rem;flex-wrap:wrap}.concept-tags span{border:1px solid #b7917d;background:#efe2d6;padding:.5rem .7rem;font-size:.78rem}.evidence{display:grid;grid-template-columns:260px 1fr;gap:1.4rem;margin:2rem 0}.evidence>div:first-child p:last-child{font-size:.82rem;line-height:1.55;color:var(--muted)}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.evidence-grid button{border:1px solid var(--line);background:#eee5da;text-align:left;padding:0;cursor:pointer;min-width:0}.evidence-grid img{width:100%;height:140px;object-fit:cover;display:block;background:#ddd2c5}.evidence-grid span,.evidence-grid strong{display:block;padding:.35rem .55rem}.evidence-grid span{font-size:.62rem;color:var(--red);padding-bottom:0}.evidence-grid strong{font:1rem/1.15 "Libre Caslon Display";white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-bridge{display:grid;grid-template-columns:1.4fr .6fr;background:#3c302b;color:#f5ede4;margin:2rem 0}.studio-bridge section,.studio-bridge aside{padding:1.5rem}.studio-bridge aside{background:#b77d64}.studio-bridge .eyebrow{color:#e4b79f}.studio-bridge p{line-height:1.55}.source-slides{border:1px solid var(--line);background:#f2eade}.source-slides summary{cursor:pointer;padding:1rem 1.2rem;font-weight:700}.source-slides .lecture-view{margin:0;border-width:1px 0 0}.source-slides .slide-content h2{font-size:2.2rem}.source-slides .slide-copy{font-size:.9rem;line-height:1.65}
.course-selector{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.course-selector button{min-height:148px;border:2px solid var(--line);background:#f8f1e9;padding:1.25rem 1.4rem;text-align:left;display:grid;align-content:center;gap:.45rem;cursor:pointer}.course-selector button:hover{border-color:var(--red)}.course-selector button.active{background:var(--ink);border-color:var(--ink);color:white;box-shadow:inset 8px 0 0 var(--red)}.course-selector span{font-size:.72rem;font-weight:800;letter-spacing:.13em;color:var(--red)}.course-selector strong{font:1.65rem/1.1 "Libre Caslon Display"}.course-selector small{font-size:.82rem;line-height:1.45;color:inherit;opacity:.78}.course-identity{display:grid;grid-template-columns:.85fr 1.15fr;gap:1.5rem;align-items:end;padding:1.5rem 1.6rem;margin:1rem 0;border-left:8px solid var(--red);background:#dccbbe}.course-identity.mkp{border-left-color:#806c50;background:#d8d0b9}.course-identity .eyebrow{grid-column:1/-1}.course-identity h2{font:2.15rem/1.05 "Libre Caslon Display";margin:0}.course-identity p:last-child{font-size:1rem;line-height:1.55;margin:0}.learning-sequence{display:flex;align-items:center;gap:.7rem;padding:1rem 1.2rem;border:1px solid var(--line);background:white;margin-bottom:1rem}.learning-sequence span{display:flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;white-space:nowrap}.learning-sequence b{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--ink);color:white}.learning-sequence i{height:1px;flex:1;background:var(--line)}.source-slides summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none}.source-slides summary::-webkit-details-marker{display:none}.source-slides summary span{display:grid;gap:.2rem}.source-slides summary b{font-size:1rem}.source-slides summary small{font-weight:400;color:var(--muted)}.source-slides summary em{font-style:normal;font-size:.8rem;color:var(--red)}.source-slides[open] summary{background:var(--ink);color:white}.source-slides[open] summary small{color:#dfd5cb}.slide-source-nav{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding-bottom:1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.slide-source-nav b{font-size:.8rem}
.book-map{border:1px solid var(--line);background:#e9ded1;margin:1rem 0 1.5rem}.book-map-intro{display:grid;grid-template-columns:135px 1fr;gap:1.4rem;padding:1.3rem;align-items:center}.book-map-intro img{width:135px;height:175px;object-fit:cover;object-position:top;background:#d2c5b7}.book-map-intro h2{font:2.4rem/1 "Libre Caslon Display";margin:.25rem 0 .7rem}.book-map-intro p:last-child{max-width:760px;line-height:1.55;color:#5d514b}.book-chapters{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.book-chapters button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f0e8;text-align:left;padding:1rem;cursor:pointer}.book-chapters button:hover{background:#d4b8a7}.book-chapters span,.book-chapters strong,.book-chapters small{display:block}.book-chapters span{font-size:.65rem;color:var(--red);letter-spacing:.12em}.book-chapters strong{font:1.2rem/1.15 "Libre Caslon Display";margin:.4rem 0}.book-chapters small{color:var(--muted);line-height:1.35}
.book-chapters button.active{background:#3c302b;color:#fff}.book-chapters button.active small{color:#d8c5b8}.book-chapter-detail{background:#fbf6ef;padding:clamp(1.2rem,3vw,2.4rem)}.book-chapter-detail>header{display:grid;grid-template-columns:1fr 110px;gap:2rem;align-items:start;border-bottom:2px solid #3c302b;padding-bottom:1.5rem}.book-chapter-detail>header h2{font:clamp(2.5rem,5vw,5rem)/.95 "Libre Caslon Display";margin:.25rem 0 1rem}.book-chapter-detail>header p:last-child{max-width:880px;font-size:1rem;line-height:1.65}.book-chapter-detail>header>b{font:7rem/1 "Libre Caslon Display";color:#c49b84;text-align:right}.book-section-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.book-section-grid section{padding:1.4rem;border-right:1px solid var(--line)}.book-section-grid section:last-child{border:0}.book-section-grid h3{font:1.4rem/1.15 "Libre Caslon Display";margin:0 0 .8rem}.book-section-grid ul{margin:0;padding-left:1.1rem}.book-section-grid li{margin:.45rem 0;font-size:.8rem;line-height:1.35}.book-insight{display:grid;grid-template-columns:1fr 1fr;margin:1.4rem 0;border:1px solid var(--line)}.book-insight section{padding:1.3rem}.book-insight section+section{border-left:1px solid var(--line);background:#ead9cc}.book-insight p:last-child{line-height:1.6;margin:0}.book-question{display:grid;grid-template-columns:80px 1fr;gap:1rem;background:#3c302b;color:white;padding:1.3rem}.book-question>span{font:4.5rem/1 "Libre Caslon Display";color:#d7a98f}.book-question h3{font:1.7rem/1.25 "Libre Caslon Display";margin:.35rem 0 .8rem}.book-question small{color:#cbb9af}.book-question .eyebrow{color:#d7a98f}
@media(max-width:900px){.learning-intro,.lesson-grid,.evidence,.studio-bridge,.book-insight{grid-template-columns:1fr}.lesson-grid section+section,.book-insight section+section{border-left:0;border-top:1px solid var(--line)}.evidence-grid,.book-chapters{grid-template-columns:repeat(2,1fr)}.book-section-grid{grid-template-columns:1fr}.book-section-grid section{border-right:0;border-bottom:1px solid var(--line)}.book-map-intro{grid-template-columns:90px 1fr}.book-map-intro img{width:90px;height:120px}.book-chapter-detail>header{grid-template-columns:1fr}.book-chapter-detail>header>b{display:none}}
@media(max-width:900px){.course-identity{grid-template-columns:1fr}.learning-sequence{overflow:auto}.learning-sequence i{min-width:26px}.course-selector strong{font-size:1.35rem}}
@media(max-width:620px){.course-selector{grid-template-columns:1fr}.course-selector button{min-height:120px}.slide-source-nav{align-items:stretch;flex-direction:column}.slide-source-nav .action{width:100%}.learning-sequence span{font-size:.74rem}}
.book-lab{margin:1.4rem 0;border:1px solid #967563;background:#efe3d7;padding:1.3rem}.book-lab>header{display:grid;grid-template-columns:1fr minmax(220px,.45fr);gap:1rem;align-items:start}.book-lab h3{font:1.65rem/1.15 "Libre Caslon Display";margin:.3rem 0}.book-lab output{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center;background:#3c302b;color:white;padding:.8rem}.book-lab output b{font:1.35rem "Libre Caslon Display";white-space:nowrap;color:#e0ad91}.book-lab output span{font-size:.72rem;line-height:1.4}.lab-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin:1rem 0}.lab-metrics label{display:grid;grid-template-columns:1fr auto;gap:.45rem;align-items:center;background:#fbf6ef;padding:.7rem;border:1px solid #d7c2b3}.lab-metrics label span{grid-column:1/-1;min-height:2.8em;font-size:.7rem;line-height:1.35}.lab-metrics input{width:100%;accent-color:#a66850}.lab-metrics b{font:1.2rem "Libre Caslon Display";color:#965f49}.lab-scale{display:flex;justify-content:space-between;gap:1rem;margin:-.25rem 0 1rem;color:var(--muted);font-size:.62rem}.book-lab .action{background:#fbf6ef}.book-relations{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:1.4rem 0;background:var(--line);border:1px solid var(--line)}.book-relations>div{background:#fbf6ef;padding:1.2rem}.relation-links{display:flex;flex-wrap:wrap;gap:.5rem}.relation-links button,.relation-links a{border:1px solid #b99a88;background:#efe3d7;color:var(--ink);padding:.65rem .75rem;text-align:left;font:inherit;font-size:.72rem;text-decoration:none;line-height:1.25}.relation-links button,.relation-links a{cursor:pointer}.relation-links button:hover,.relation-links a:hover,.relation-links button:focus-visible,.relation-links a:focus-visible{background:#3c302b;color:#fff;outline:2px solid var(--red);outline-offset:2px}.relation-links small{display:block;margin-top:.25rem;opacity:.72;font-size:.6rem}
@media(max-width:900px){.lab-metrics{grid-template-columns:repeat(2,1fr)}.book-relations,.book-lab>header{grid-template-columns:1fr}.lab-scale{flex-direction:column;gap:.2rem}}
@media(max-width:520px){.lab-metrics{grid-template-columns:1fr}.book-chapters{grid-template-columns:1fr}.book-map-intro{grid-template-columns:1fr}.book-map-intro img{width:110px;height:145px}}
.access-links b{font-size:10px;line-height:1.5;font-weight:500}.server-note{margin-top:1rem;border-left:4px solid #b77d64;background:#efe3d7;padding:.75rem 1rem!important;color:var(--ink)!important}
.share-link-set{grid-column:1/-1;border:1px solid var(--line);background:#edf3f0;padding:.8rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.share-link-set>header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:0 .15rem .65rem}
.share-link-set>header span{grid-column:auto;color:var(--red);font-weight:700}.share-link-set>header b{font-size:11px;overflow-wrap:anywhere}
.share-link-set>div{display:grid;grid-template-columns:1fr auto;gap:.35rem;background:#fff;border:1px solid var(--line);padding:.75rem;min-width:0}
.share-link-set>div span{grid-column:1/3;color:var(--muted);font-size:8px;letter-spacing:.1em}.share-link-set>div a{overflow-wrap:anywhere;color:var(--blue);font-size:10px;line-height:1.45}
.share-link-set>div button{align-self:start;border:1px solid var(--ink);background:white;padding:.38rem .55rem;cursor:pointer;white-space:nowrap}.share-link-set>div button:hover{background:var(--ink);color:#fff}
.access-loading{grid-column:1/-1!important}
@media(max-width:900px){.share-link-set{grid-template-columns:1fr}.share-link-set>header{align-items:flex-start;flex-direction:column;gap:.2rem}.share-link-set>div{grid-template-columns:1fr}.share-link-set>div span{grid-column:1}.share-link-set>div button{justify-self:start}}
.tunnel-panel{grid-column:1/3;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(280px,1.2fr);gap:1rem;align-items:start}.tunnel-panel>div:first-child p:last-child{color:var(--muted);font-size:11px;max-width:680px}.tunnel-status{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;background:#fff8e8;border:1px solid var(--line);padding:.9rem}.tunnel-status small{grid-column:2;color:var(--muted)}.tunnel-dot{width:12px;height:12px;border-radius:50%;background:#c79442;box-shadow:0 0 0 4px #f5e6c8}.tunnel-status.running{background:#e4efe7}.tunnel-status.running .tunnel-dot{background:#3f8b5c;box-shadow:0 0 0 4px #cbe1d1}.tunnel-status.error{background:#f8e3dc}.tunnel-status.error .tunnel-dot{background:#b64b3a;box-shadow:0 0 0 4px #efd0c8}.tunnel-actions{grid-column:1/3;display:flex;align-items:center;gap:.7rem}.tunnel-actions .action{margin:0}.tunnel-panel #tunnelPublicLinks{grid-column:1/3}.tunnel-help{grid-column:1/3!important;margin:0!important;padding-top:.7rem!important;border-top:1px solid var(--line);font-size:9px!important;color:var(--muted)!important}.tunnel-help a{color:var(--blue)}.tunnel-error{background:#f8e3dc;border-left:4px solid #b64b3a;padding:.75rem;color:#7d3025}
@media(max-width:900px){.tunnel-panel{grid-column:1;grid-template-columns:1fr}.tunnel-status,.tunnel-actions,.tunnel-panel #tunnelPublicLinks,.tunnel-help{grid-column:1}}
.material-manager,.quiz-admin-panel{grid-column:1/3}.material-manager-head{display:flex;justify-content:space-between;gap:2rem;align-items:start}.material-manager-head>div>p:last-child{font-size:11px;color:var(--muted);max-width:720px}.material-manager-head>b{font:3.4rem/1 "Libre Caslon Display";text-align:right}.material-manager-head>b small{display:block;font:8px "DM Sans";text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.material-security{padding:.7rem 1rem;background:#f8e3dc;border-left:4px solid var(--red);font-size:10px}.material-security.ready{background:#e4efe7;border-color:#4f8460}.material-upload-form{display:grid;grid-template-columns:minmax(220px,.65fr) 1.35fr;gap:1rem;margin:1rem 0 1.5rem}.material-drop{border:2px dashed var(--line);background:#fff;display:flex;min-height:240px;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:1rem;cursor:pointer}.material-drop:hover{border-color:var(--red);background:#fff8e8}.material-drop input{position:absolute;opacity:0;width:1px;height:1px}.material-drop span{font:3rem "Libre Caslon Display";color:var(--red)}.material-drop strong{font:1.25rem "Libre Caslon Display"}.material-drop small{margin-top:.4rem;color:var(--muted)}.material-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.material-fields label{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.material-fields input,.material-fields select,.material-fields textarea{display:block;width:100%;padding:.7rem;margin-top:.3rem;border:1px solid var(--line);background:white}.material-fields label:last-of-type{grid-column:1/3}.material-fields textarea{resize:vertical}.material-fields .action,.material-fields output{grid-column:1/3}.material-fields output{font-size:10px;color:var(--muted)}.material-admin-list{display:grid;gap:.4rem}.material-admin-list article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);padding:.75rem}.material-kind{display:grid;place-items:center;width:52px;height:52px;background:var(--ink);color:white;font-size:9px}.material-admin-list span{font-size:8px;color:var(--red);text-transform:uppercase;letter-spacing:.08em}.material-admin-list h3{font:1.2rem "Libre Caslon Display";margin:.15rem 0}.material-admin-list p{font-size:9px;color:var(--muted);margin:0}.material-row-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.material-row-actions a,.material-row-actions button{border:1px solid var(--line);background:white;color:var(--ink);padding:.45rem .55rem;font-size:9px;text-decoration:none;cursor:pointer}.material-row-actions .danger{color:#a33b2d}.material-list-empty,.material-empty{padding:2rem;text-align:center;background:#faf7f1;border:1px solid var(--line);color:var(--muted)}.material-empty span{font:4rem "Libre Caslon Display";color:var(--red)}.material-empty h2{font:2rem "Libre Caslon Display";color:var(--ink)}.managed-library-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:1rem 0}.managed-library-head h2{font:2rem "Libre Caslon Display";margin:.2rem 0}.managed-library-head input{width:min(360px,100%);padding:.75rem;border:1px solid var(--line);background:white}.managed-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.managed-material-card{background:var(--panel);border:1px solid var(--line);overflow:hidden;min-width:0}.managed-material-card>img,.managed-material-card>video{width:100%;height:210px;object-fit:contain;background:#292522}.managed-material-card>audio{width:calc(100% - 1rem);margin:.5rem}.material-file-icon{height:160px;display:grid;place-items:center;background:#ded3c5;color:var(--ink);font:2rem "Libre Caslon Display"}.managed-material-card>div:last-child{padding:1rem}.managed-material-card span{font-size:8px;color:var(--red);letter-spacing:.08em}.managed-material-card h3{font:1.45rem "Libre Caslon Display";margin:.35rem 0}.managed-material-card p{font-size:10px;color:var(--muted);min-height:3em}.managed-material-card small{display:block;font-size:8px;color:var(--muted);margin-bottom:.8rem}.managed-material-card .action{display:inline-block;text-decoration:none;color:var(--ink);font-size:9px}.material-tabs b{margin-left:.3rem}.quiz-admin-panel{padding:1.2rem}.quiz-admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.quiz-admin-grid .admin-settings{display:grid;gap:.75rem}.quiz-admin-grid .admin-summary{background:#fff;border:1px solid var(--line)}.quiz-report-list{margin-top:1rem;background:#fff;border:1px solid var(--line);padding:1.2rem;overflow:auto}.quiz-report-list table{width:100%;border-collapse:collapse}.quiz-report-list th,.quiz-report-list td{padding:.65rem;border-bottom:1px solid var(--line);font-size:10px;text-align:left}.quiz-report-list th{font-size:8px;text-transform:uppercase;color:var(--muted)}.quiz-archive-summary{margin-top:1rem;border-left:4px solid var(--yellow);background:#fff8e8;padding:1rem}.quiz-archive-summary h3{font:1.35rem "Libre Caslon Display";margin:.2rem 0}.quiz-archive-summary p:last-child{font-size:10px;color:var(--muted)}.visual-options button.wrong{background:#f5d8d2;border-color:#b64b3a}
@media(max-width:900px){.material-manager,.quiz-admin-panel{grid-column:1}.material-upload-form,.quiz-admin-grid{grid-template-columns:1fr}.managed-library{grid-template-columns:1fr 1fr}.material-admin-list article{grid-template-columns:52px 1fr}.material-row-actions{grid-column:1/3;justify-content:flex-start}}
@media(max-width:620px){.material-fields,.managed-library{grid-template-columns:1fr}.material-fields label:last-of-type,.material-fields .action,.material-fields output{grid-column:1}.managed-library-head,.material-manager-head{align-items:flex-start;flex-direction:column}.material-admin-list article{grid-template-columns:1fr}.material-row-actions{grid-column:1}.material-kind{width:44px;height:44px}}
.admin-login-card{max-width:850px;margin:2rem auto;background:var(--panel);border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem}.admin-login-card h2{font:2.5rem/1 "Libre Caslon Display";margin:.3rem 0 1rem}.admin-login-card p:last-child{font-size:12px;line-height:1.65;color:var(--muted)}.admin-login-card form{display:grid;gap:.8rem}.admin-login-card label{font-size:9px;text-transform:uppercase;letter-spacing:.09em}.admin-login-card input{display:block;width:100%;padding:.8rem;margin-top:.35rem;border:1px solid var(--line);background:white}.admin-login-card small{color:var(--muted);line-height:1.5}.admin-session-bar{display:flex;justify-content:space-between;align-items:center;background:#e4efe7;border-left:4px solid #4f8460;padding:.7rem 1rem;margin-bottom:1rem;font-size:10px}.admin-session-bar button{border:1px solid var(--ink);background:white;padding:.4rem .65rem;cursor:pointer}@media(max-width:720px){.admin-login-card{grid-template-columns:1fr;padding:1.2rem}}
.admin-login-card input{cursor:text;min-height:46px}.admin-login-card input:focus{border-color:var(--red);outline:3px solid color-mix(in srgb,var(--red) 24%,transparent);outline-offset:1px}

/* Layar lebar: penuhi area kerja tanpa celah akibat pembesaran berbasis zoom. */
:root{--sidebar:248px}.app-shell,.app-main,.app-main main,.workspace{width:100%;max-width:none}.sidebar nav button{grid-template-columns:40px 1fr;padding:.78rem .75rem}.sidebar nav button b{font-size:14px;line-height:1.25;font-weight:600}.sidebar nav button span{font-size:11px}.sidebar .nav-label{font-size:9px;margin-top:1.15rem}.brand>span:last-child{font-size:14px}.brand small{font-size:8px}
.aspect-framework{margin:1.5rem 0 2rem;border:1px solid var(--line);background:#eadfd2}.aspect-framework>header{display:flex;justify-content:space-between;gap:1.5rem;align-items:end;padding:1.3rem}.aspect-framework h3{font:2rem/1.05 "Libre Caslon Display";margin:.25rem 0}.aspect-framework header p:last-child{max-width:760px;line-height:1.55}.aspect-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}.aspect-grid article{min-height:205px;padding:1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8f2e9}.aspect-grid article:nth-child(4n){border-right:0}.aspect-grid b{color:var(--red);font-size:.75rem}.aspect-grid h4{font:1.5rem "Libre Caslon Display";margin:.55rem 0}.aspect-grid p{font-size:.78rem;line-height:1.5}.aspect-grid small{display:block;color:var(--muted);font-weight:600;line-height:1.35}.aspect-source-images{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.aspect-source-images button{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:1rem;border:0;background:#3c302b;color:#fff;padding:.65rem;text-align:left;cursor:pointer}.aspect-source-images img{width:150px;height:90px;object-fit:cover}.aspect-source-images span{font-size:.78rem;font-weight:600}
@media(max-width:1050px){:root{--sidebar:86px}.sidebar nav button{grid-template-columns:1fr}.aspect-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.aspect-grid,.aspect-source-images{grid-template-columns:1fr}.aspect-framework>header{align-items:flex-start;flex-direction:column}.aspect-source-images button{grid-template-columns:110px 1fr}.aspect-source-images img{width:110px}}
.sidebar nav button b{font-size:15px}.sidebar nav button span{font-size:12px}.brand>span:last-child{font-size:15px}
.quiz-navigation{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.quiz-navigation.centered{justify-content:center}.visual-options button.selected{border-color:var(--red);background:#ead9cc;box-shadow:inset 4px 0 0 var(--red)}.quiz-navigation .action:only-child{margin-right:auto}@media(max-width:520px){.quiz-navigation{align-items:stretch;flex-direction:column-reverse}.quiz-navigation .action{width:100%}}

/* Setiap lembar kerja dibuka dengan foto kontekstual, bukan bidang kosong. */
.page-head.page-head-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,42%);align-items:stretch;min-height:224px;padding:0;margin-bottom:1.5rem;border:1px solid #6e584d;background:#3c302b;color:#fff;overflow:hidden;isolation:isolate}
.page-head-visual .page-head-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.4rem,3vw,2.5rem)}
.page-head-visual .page-head-copy::after{content:"";position:absolute;right:-54px;bottom:-80px;width:180px;height:180px;border:34px solid #d5b990;border-radius:50%;opacity:.28;pointer-events:none}
.page-head-visual .eyebrow{color:#ddb39d}
.page-head-visual h1{color:#fff8f0;text-shadow:0 2px 18px #251a1770}
.page-head-visual .page-head-copy>p:last-child{max-width:650px;color:#eadfd5;font-size:12px;line-height:1.6;margin-top:.8rem;position:relative;z-index:1}
.page-head-visual figure{position:relative;height:224px;min-height:224px;margin:0;overflow:hidden;background:#cbb9aa}
.page-head-visual figure::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#3c302b 0,transparent 34%),linear-gradient(0deg,#3c302b80 0,transparent 45%);pointer-events:none}
.page-head-visual figure img{position:absolute;inset:0;width:100%;height:100%;min-height:0;display:block;object-fit:cover;filter:sepia(.18) saturate(.78) contrast(.96)}
.page-head-visual figcaption{position:absolute;z-index:1;right:0;bottom:0;max-width:92%;padding:.65rem .9rem;background:#b77d64e8;color:#fff8f0;font-size:8px;font-weight:700;letter-spacing:.15em;text-align:right}
@media(max-width:900px){.page-head.page-head-visual{grid-template-columns:minmax(0,1fr) minmax(260px,38%)}.page-head-visual .page-head-copy{padding:1.4rem}.page-head-visual h1{font-size:clamp(2.5rem,6vw,4rem)}}
@media(max-width:700px){.page-head.page-head-visual{grid-template-columns:1fr;min-height:0}.page-head-visual figure{height:190px;min-height:190px;max-height:190px}.page-head-visual figure::after{background:linear-gradient(0deg,#3c302b80 0,transparent 58%)}.page-head-visual .page-head-copy::after{right:-70px;bottom:-105px}}
.evidence-grid button,.aspect-source-images button{position:relative;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.evidence-grid button:hover,.evidence-grid button:focus-visible,.aspect-source-images button:hover,.aspect-source-images button:focus-visible{transform:translateY(-2px);border-color:#9f6653;box-shadow:0 8px 20px #4a332522;outline:2px solid #9f6653;outline-offset:2px}.source-slides.source-highlight{animation:source-highlight 1.4s ease}@keyframes source-highlight{0%,100%{box-shadow:none}25%,70%{box-shadow:0 0 0 4px #c4866d,0 12px 32px #4a332533}}
.export-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.export-actions .action{white-space:nowrap}.portrait figcaption a{color:inherit;text-decoration:none}.portrait figcaption a:hover{text-decoration:underline}@media(max-width:620px){.quiz-report-list .table-head{align-items:flex-start;flex-direction:column}.export-actions{justify-content:flex-start;width:100%}.export-actions .action{flex:1}}

/* Laboratorium simulasi rumah dan permukiman. */
.sim-mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 0 1.25rem;background:var(--line);border:1px solid var(--line)}
.sim-mode-tabs button{min-height:96px;border:0;background:#faf6ef;padding:1rem 1.2rem;text-align:left;cursor:pointer;color:var(--ink)}
.sim-mode-tabs button:hover,.sim-mode-tabs button:focus-visible{background:#ead9cc;outline:2px solid var(--red);outline-offset:-2px}
.sim-mode-tabs button.active{background:var(--ink);color:#fff}
.sim-mode-tabs span,.sim-mode-tabs small{display:block}.sim-mode-tabs span{font:1.55rem/1 "Libre Caslon Display"}.sim-mode-tabs small{margin-top:.4rem;font-size:.72rem;line-height:1.35;opacity:.72}
.spatial-simulator{border:1px solid var(--line);background:#f8f2e9}
.sim-intro{display:grid;grid-template-columns:minmax(0,1fr) 38%;min-height:210px;background:#dfcdbf;border-bottom:1px solid var(--line)}
.sim-intro>div{padding:1.5rem 1.7rem;align-self:center}.sim-intro h2{font:clamp(2.2rem,4vw,4rem)/.95 "Libre Caslon Display";margin:.35rem 0 .8rem}.sim-intro p:last-child{max-width:720px;line-height:1.55;color:#594c45}
.sim-intro img{width:100%;height:100%;min-height:210px;max-height:260px;object-fit:cover;filter:sepia(.18) saturate(.8)}
.sim-workbench{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);align-items:start}
.sim-controls{display:grid;gap:0;padding:1rem;background:#3c302b;color:white;position:sticky;top:82px}
.sim-controls label{display:grid;gap:.55rem;padding:.85rem .6rem;border-bottom:1px solid #68564d}.sim-controls label span{display:flex;justify-content:space-between;gap:1rem;font-size:.76rem}.sim-controls label b{font:1.05rem "Libre Caslon Display";color:#e1b49c}
.sim-controls input[type=range]{width:100%;accent-color:#c18165}.sim-controls select{width:100%;padding:.7rem;border:1px solid #806b60;background:#fbf6ef;color:var(--ink)}.sim-controls .action{margin-top:1rem;background:#fbf6ef;color:var(--ink)}
.sim-output{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:1px;background:var(--line);min-height:600px}
.sim-visual-card,.sim-result-copy{background:#fbf7f0;padding:1.2rem}.sim-visual-card{display:flex;flex-direction:column;justify-content:center}.sim-visual-card svg{width:100%;height:auto;max-height:540px;background:#e5ded3;border:1px solid #c5b7aa}.sim-visual-card>p{font-size:.68rem;line-height:1.45;color:var(--muted);margin:.7rem 0 0}
.house-view-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 0 .7rem;border:1px solid #9d8b7f}.house-view-tabs button{border:0;border-right:1px solid #9d8b7f;background:#f4ebe2;color:var(--ink);padding:.72rem 1rem;font-weight:700;cursor:pointer}.house-view-tabs button:last-child{border-right:0}.house-view-tabs button:hover,.house-view-tabs button:focus-visible{background:#ead5c7;outline:2px solid var(--red);outline-offset:-2px}.house-view-tabs button.active{background:var(--ink);color:white}
.house-3d-shell{position:relative;border:1px solid #b9aa9d;background:#e9e0d5;overflow:hidden;min-height:390px}.house-3d-canvas{position:relative;width:100%;min-height:390px;touch-action:none}.house-3d-canvas canvas{display:block;width:100%!important;height:auto;min-height:390px;cursor:grab}.house-3d-canvas canvas:active{cursor:grabbing}.house-3d-status{position:absolute;left:.65rem;right:.65rem;bottom:.65rem;background:#302c28e8;color:white;padding:.58rem .72rem;font-size:.65rem;line-height:1.35;pointer-events:none}.house-3d-reset{position:absolute;top:.65rem;right:.65rem;z-index:2;border:1px solid #75645b;background:#fbf5ecdf;color:var(--ink);padding:.55rem .68rem;font-weight:700;cursor:pointer;box-shadow:0 5px 15px #3b292622}.house-3d-reset:hover,.house-3d-reset:focus-visible{background:white;outline:2px solid var(--red)}.house-3d-loading,.house-3d-error{min-height:390px;display:grid;place-content:center;text-align:center;padding:2rem;color:var(--muted)}.house-3d-error b,.house-3d-error span{display:block}.house-3d-error span{max-width:420px;margin:.6rem auto 0;line-height:1.5}.house-3d-canvas[aria-busy=true]::after{content:"";position:absolute;width:34px;height:34px;border:3px solid #b9947f;border-top-color:#3c302b;border-radius:50%;left:calc(50% - 17px);top:calc(50% - 17px);animation:house-spin .8s linear infinite}@keyframes house-spin{to{transform:rotate(360deg)}}
.house-3d-tools{position:absolute;top:.65rem;right:.65rem;z-index:3;display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.house-3d-tools button{border:1px solid #75645b;background:#fbf5ecdf;color:var(--ink);padding:.55rem .68rem;font-weight:700;cursor:pointer;box-shadow:0 5px 15px #3b292622}.house-3d-tools button:hover,.house-3d-tools button:focus-visible,.house-3d-tools button.active{background:var(--ink);color:white;outline:2px solid var(--red)}
.sim-mode-tabs button{display:flex;flex-direction:column;justify-content:center;gap:.45rem;min-height:112px}.sim-mode-tabs small{margin-top:0}
.sim-result-copy h2{font:clamp(2rem,3vw,3.4rem)/1 "Libre Caslon Display";margin:.6rem 0 1.25rem}.sim-metric-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.sim-metric-grid article{padding:.85rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.sim-metric-grid article:nth-child(2n){border-right:0}.sim-metric-grid b,.sim-metric-grid span{display:block}.sim-metric-grid b{font:2rem "Libre Caslon Display";color:var(--red)}.sim-metric-grid span{font-size:.63rem;color:var(--muted)}
.sim-findings{display:grid;gap:.55rem;margin:1rem 0}.sim-findings p{display:grid;grid-template-columns:72px 1fr;gap:.65rem;margin:0;padding:.7rem;border-left:4px solid #4e7961;background:#e4efe7;font-size:.72rem;line-height:1.45}.sim-findings p.warning{border-color:#b65b45;background:#f5dfd6}.sim-findings b{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.sim-source{margin:0;padding:.8rem 1rem;border-top:1px solid var(--line);background:#efe3d7;color:#695951;font-size:.67rem;line-height:1.45}
.sim-lot,.sim-site{fill:#d4c3a6;stroke:#77665c;stroke-width:2}.sim-path,.sim-road{fill:#faf6ef;stroke:#b9a99a;stroke-width:1}.sim-road-line{fill:none;stroke:#faf6ef;stroke-width:30;stroke-linecap:round;stroke-linejoin:round}.sim-room{stroke:#5f4b43;stroke-width:2}.sim-room-0{fill:#dcb69f}.sim-room-1{fill:#e8d6ad}.sim-room-2{fill:#b6c7bd}.sim-room-3{fill:#cab8cf}.sim-visual-card svg text{font:12px "DM Sans";fill:#3c302b;pointer-events:none}.sim-dimension{font-size:10px!important;fill:#6c5d54!important}.sim-north{font-weight:700!important;font-size:14px!important}.sim-open-space{fill:#9ebba6;stroke:#607c67;stroke-width:2}.sim-unit{stroke:#614b41;stroke-width:1.5}.sim-unit-0{fill:#b97a5f}.sim-unit-1{fill:#d1a86b}.sim-unit-2{fill:#728f86}.sim-unit-3{fill:#8f7899}.sim-facility{fill:#f2ddab;stroke:#685549;stroke-width:2}
@media(max-width:1100px){.sim-output{grid-template-columns:1fr}.sim-result-copy{border-top:1px solid var(--line)}}
@media(max-width:850px){.sim-mode-tabs{grid-template-columns:1fr}.sim-mode-tabs button{min-height:0}.sim-intro,.sim-workbench{grid-template-columns:1fr}.sim-intro img{max-height:220px}.sim-controls{position:static;grid-template-columns:1fr 1fr}.sim-controls .action{grid-column:1/-1}.sim-output{min-height:0}}

/* Aturan kuis: esai open book, soal objektif terkunci, dan penilaian dosen. */
.sidebar nav button.quiz-locked{opacity:.38;cursor:not-allowed}.sidebar nav button.quiz-locked:hover{background:transparent;color:#aeb8b3}.essay-open-book{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.9rem;border-left:5px solid var(--yellow);background:#fff6db}.essay-open-book div{display:grid;gap:.2rem}.essay-open-book b{font-size:.72rem;letter-spacing:.12em;color:#7b5532}.essay-open-book span{font-size:.72rem;line-height:1.45;color:var(--muted)}.essay-limit span.blocked{color:#b13e2f;font-weight:700}.open-book-dock{position:fixed;z-index:45;left:calc(var(--sidebar) + 1rem);right:1rem;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;background:#2f2824f2;color:white;border:1px solid #d1b184;box-shadow:0 14px 36px #21171355}.open-book-dock>div{display:flex;align-items:center;gap:.8rem}.open-book-dock>div:first-child{display:grid;gap:.15rem}.open-book-dock span{font-size:.58rem;letter-spacing:.14em;color:#e3bd8a}.open-book-dock b{font-size:.85rem}.open-book-dock small{font-size:.64rem;color:#d8cdc3}.open-book-dock strong{font:1.35rem "Libre Caslon Display";min-width:64px;text-align:center;color:#f0c58c}.essay-grading-panel{grid-column:1/-1}.essay-grading-panel>header{padding-bottom:1rem;border-bottom:1px solid var(--line)}.essay-grading-panel>header h2{font:2.2rem "Libre Caslon Display";margin:.25rem 0}.essay-grading-panel>header p:last-child{font-size:.74rem;line-height:1.55;color:var(--muted)}.essay-report-list{display:grid;gap:.65rem;margin-top:1rem}.essay-report-list details{border:1px solid var(--line);background:#fffaf3}.essay-report-list summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;cursor:pointer}.essay-report-list summary span{display:grid;gap:.2rem}.essay-report-list summary small{color:var(--muted);font-size:.65rem}.essay-report-list summary>strong{color:var(--red)}.essay-grade-answers{display:grid;gap:1px;background:var(--line);border-top:1px solid var(--line)}.essay-grade-answers article{background:#fff;padding:1rem}.essay-grade-answers h3{font:1.25rem/1.3 "Libre Caslon Display";margin:.25rem 0 .8rem}.essay-grade-answers blockquote{margin:0 0 1rem;padding:.85rem 1rem;background:#f1e8dc;border-left:4px solid #927967;font-size:.76rem;line-height:1.6;white-space:pre-wrap}.essay-grade-answers label{display:flex;align-items:center;gap:.7rem;font-size:.7rem;font-weight:700}.essay-grade-answers select{padding:.55rem .75rem;border:1px solid var(--line);background:white}.essay-grade-status{display:block;margin-top:.45rem;color:var(--muted);font-size:.62rem}
@media(max-width:720px){.open-book-dock{left:.65rem;right:.65rem;bottom:88px;align-items:stretch;flex-direction:column}.open-book-dock>div:last-child{justify-content:space-between}.essay-open-book{align-items:stretch;flex-direction:column}.essay-open-book .action{width:100%}.essay-grade-answers label{align-items:stretch;flex-direction:column}.essay-grade-answers select{width:100%}}
@media(max-width:560px){.sim-controls{grid-template-columns:1fr}.sim-controls .action{grid-column:1}.sim-output{display:block}.sim-metric-grid{grid-template-columns:1fr}.sim-metric-grid article{border-right:0}.sim-findings p{grid-template-columns:1fr}.sim-intro>div{padding:1.1rem}.house-3d-shell,.house-3d-canvas,.house-3d-canvas canvas,.house-3d-loading,.house-3d-error{min-height:330px}.house-3d-status{font-size:.59rem}.house-3d-reset{font-size:.65rem}}
.catalog-gallery{display:grid;gap:.7rem}.catalog-gallery .gallery-hero img{min-height:430px;object-fit:contain;background:#d9d0c5}.catalog-gallery .caption{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.catalog-gallery .caption small{display:block;width:100%;opacity:.8}.catalog-media-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.catalog-media-tabs button{border:1px solid var(--line);padding:.35rem;background:#f8f1e9;text-align:left;cursor:pointer}.catalog-media-tabs button.active{border:2px solid var(--red);background:#ead6ca}.catalog-media-tabs img{width:100%;height:76px;object-fit:cover;background:#ddd}.catalog-media-tabs span{display:block;padding:.35rem .2rem .1rem;font-size:.67rem;font-weight:700}.source-connectors{margin-top:1rem;border:1px solid var(--line);background:#f3e9df;padding:1rem}.source-connectors header{display:flex;align-items:end;justify-content:space-between;gap:1rem}.source-connectors h3{font:1.4rem "Libre Caslon Display";margin:.25rem 0}.source-connectors header>span{font-size:.66rem;color:var(--muted)}.source-connectors>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.8rem 0}.source-connectors a{display:grid;gap:.15rem;padding:.75rem;border:1px solid var(--line);background:white;color:var(--ink);text-decoration:none}.source-connectors a:hover,.source-connectors a:focus-visible{border-color:var(--red);outline:2px solid var(--red);outline-offset:2px}.source-connectors a span,.source-connectors>p{font-size:.7rem;line-height:1.45;color:var(--muted)}
.catalog-browser-tools{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}.catalog-browser-tools input{width:min(620px,100%);padding:.8rem 1rem;border:1px solid var(--line);background:white;font:inherit}.catalog-browser-tools span{font-size:.7rem;color:var(--muted);white-space:nowrap}
.catalog-manager{grid-column:1/3}.catalog-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0}.catalog-stats span{display:grid;padding:.8rem;background:#fff;border:1px solid var(--line);font-size:.7rem}.catalog-stats b{font:1.8rem "Libre Caslon Display"}.catalog-import-form{display:grid;grid-template-columns:1.2fr 1fr auto auto;align-items:end;gap:.7rem;margin:1rem 0}.catalog-import-form label{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}.catalog-import-form input,.catalog-import-form select{display:block;width:100%;margin-top:.35rem;padding:.7rem;border:1px solid var(--line);background:white}.catalog-import-form .action{text-decoration:none;color:var(--ink);text-align:center;white-space:nowrap}.catalog-import-form output{grid-column:1/-1;font-size:.7rem;color:var(--muted)}.catalog-preview-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.catalog-preview-list article{display:flex;justify-content:space-between;gap:1rem;padding:.75rem;background:white;border:1px solid var(--line)}.catalog-preview-list span{font-size:.61rem;color:var(--red);text-transform:uppercase}.catalog-preview-list h3{font:1.1rem "Libre Caslon Display";margin:.2rem 0}.catalog-preview-list p{font-size:.68rem;color:var(--muted);margin:0}.catalog-preview-list button{align-self:center;border:1px solid #a33b2d;background:white;color:#a33b2d;padding:.45rem;cursor:pointer}
@media(max-width:900px){.catalog-manager{grid-column:1}.catalog-import-form{grid-template-columns:1fr 1fr}.catalog-preview-list{grid-template-columns:1fr}}
@media(max-width:620px){.catalog-media-tabs,.source-connectors>div,.catalog-stats,.catalog-import-form{grid-template-columns:1fr 1fr}.catalog-gallery .gallery-hero img{min-height:280px}}

/* Keterbacaan responsif: pertahankan ukuran huruf nyaman pada panel dan layar sempit. */
@media(max-width:1050px){
  .page-head p:last-child,.page-head-visual .page-head-copy>p:last-child{font-size:15px;line-height:1.65}
  .eyebrow{font-size:11px}
  .map-lens-toolbar b{font-size:17px}
  .map-lens-toolbar small{font-size:14px;line-height:1.5}
  .map-legend span{font-size:13px;line-height:1.35}
  .map-hint{font-size:12px;line-height:1.45}
  .map-controls span{font-size:12px}
  .catalog-browser-tools span,.source-connectors header>span,.source-connectors a span,.source-connectors>p{font-size:13px;line-height:1.5}
}
@media(max-width:720px){
  .sidebar{height:84px;padding:.35rem .25rem;overflow-x:auto;overflow-y:hidden}
  .sidebar nav{display:flex;min-width:max-content;gap:.2rem}
  .sidebar nav button{display:flex;flex-direction:column;justify-content:center;min-width:92px;height:100%;padding:.35rem .45rem;text-align:center}
  .sidebar nav button span{font-size:11px;line-height:1}
  .sidebar nav button b{display:block;font-size:13px;line-height:1.15;white-space:normal}
  .app-main{padding-bottom:84px}
  .crumb span{font-size:10px}.crumb b{font-size:13px}
  .page-head-visual .page-head-copy{padding:1.35rem}
  .page-head-visual figcaption{font-size:11px;line-height:1.35}
  .map-lens-toolbar{grid-template-columns:1fr}
  .map-lens-toolbar button{padding:1rem}
  .map-lens-toolbar b{font-size:18px}
  .map-lens-toolbar small{font-size:15px}
  .map-legend{max-height:none;overflow:visible;gap:.65rem 1rem;padding:.8rem}
  .map-legend span{font-size:14px}
  .chip{font-size:13px}
}

/* Bilingual interface */
.language-switch{display:flex;align-items:center;border:1px solid var(--line);background:var(--panel);padding:3px;gap:2px}
.language-switch button{min-width:34px;height:27px;border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;cursor:pointer}
.language-switch button.active,.language-switch button[aria-pressed="true"]{background:var(--ink);color:#fff}
.language-switch button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
@media(max-width:720px){.language-switch{position:fixed;right:12px;bottom:76px;z-index:55;box-shadow:0 6px 22px #241d1933}.appbar-actions{gap:.4rem}}

/* Persistent lecturer/admin account access */
.account-control{position:relative}.profile{cursor:pointer;font-weight:700}.account-menu{position:absolute;z-index:90;right:0;top:calc(100% + .65rem);width:220px;padding:.55rem;background:var(--panel);border:1px solid var(--ink);box-shadow:0 14px 38px #241d1940}.account-menu[hidden]{display:none}.account-menu span{display:block;padding:.55rem .65rem;border-bottom:1px solid var(--line);font-size:.68rem;line-height:1.45;color:var(--muted)}.account-menu span b{display:block;color:var(--ink)}.account-menu button{display:block;width:100%;padding:.7rem .65rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font-size:.72rem;font-weight:700;cursor:pointer}.account-menu button:last-child{border-bottom:0}.account-menu button:hover,.account-menu button:focus-visible{background:var(--ink);color:white;outline:0}

/* Country pin opens a compact list; each object is then a real link */
.map-cluster-picker>a{display:grid;grid-template-columns:54px 1fr auto;gap:.6rem;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;text-decoration:none;padding:.55rem;cursor:pointer}.map-cluster-picker>a:hover,.map-cluster-picker>a:focus-visible{background:var(--yellow);outline:0}.map-cluster-picker>a img{grid-row:1/4;width:54px;height:54px;object-fit:cover;background:#ddd}.map-cluster-picker>a span,.map-cluster-picker>a b,.map-cluster-picker>a small{grid-column:2}.map-cluster-picker>a span{grid-row:1}.map-cluster-picker>a b{grid-row:2;font-size:10px}.map-cluster-picker>a small{grid-row:3;font-size:8px;color:var(--muted)}
@media(max-width:720px){.account-menu{position:fixed;top:58px;right:.65rem;width:min(260px,calc(100vw - 1.3rem))}}

/* Keep full navigation labels on tablets and phones using desktop-site mode. */
@media(min-width:721px) and (max-width:1050px){
  :root{--sidebar:190px}
  .brand{justify-content:flex-start}
  .brand>span:last-child{display:block}
  .sidebar nav button{display:grid;grid-template-columns:38px minmax(0,1fr);text-align:left;padding:.72rem .6rem}
  .sidebar nav button b{display:block;font-size:13px;line-height:1.2;white-space:normal}
  .sidebar nav button span{font-size:11px}
  .sidebar .nav-label{display:block;text-align:left;margin:.8rem .6rem .25rem}
}


/* Neutral selection: never encode quiz correctness in student feedback. */
.visual-options button.selected{border-color:var(--ink);background:#eee9e2;color:var(--ink)}
#globalSearch:disabled{opacity:.38;cursor:not-allowed}

/* Long country/object lists scroll independently from the zoomable map. */
.map-cluster-picker{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;scroll-behavior:smooth}
.map-cluster-picker>div{position:sticky;top:0;z-index:2;background:var(--panel)}
.map-cluster-picker:focus{outline:2px solid var(--red);outline-offset:-2px}
.map-cluster-picker::-webkit-scrollbar{width:10px}
.map-cluster-picker::-webkit-scrollbar-thumb{background:#8e7060;border:2px solid var(--panel)}
.map-native-cluster[popover]{overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable}
.map-native-cluster::-webkit-scrollbar{width:10px}
.map-native-cluster::-webkit-scrollbar-thumb{background:#8e7060;border:2px solid var(--panel)}

/* pt-mobile-scroll-fix-v1 */
@media(min-width:721px) and (max-width:1050px){.sidebar{height:100dvh;max-height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.sidebar nav{flex:0 0 auto}.sidebar-foot{flex:0 0 auto;margin-top:1rem}}
@media(max-width:720px){.sidebar{max-width:100vw;scrollbar-width:thin;-webkit-overflow-scrolling:touch;touch-action:pan-x}.sidebar nav{padding-right:.5rem}}

/* pt-main-site-home-v1 */
aside.sidebar>.pt-site-home{display:flex;align-items:center;gap:.55rem;flex:0 0 auto;margin:0 12px 14px;padding:9px 11px;border:1px solid currentColor;border-radius:10px;color:inherit;background:rgba(255,255,255,.08);font:600 11px/1.2 system-ui,sans-serif;letter-spacing:.02em;text-decoration:none}aside.sidebar>.pt-site-home:hover,aside.sidebar>.pt-site-home:focus-visible{background:rgba(255,255,255,.16);outline:2px solid currentColor;outline-offset:2px}@media(min-width:721px){aside.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}@media(max-width:720px){aside.sidebar>.pt-site-home{min-width:max-content;margin:0 8px 0 0;padding:8px 10px;font-size:10px}}
