@charset "UTF-8";
:root{--ink:#263b32;--green:#285643;--deep:#173d30;--paper:#fbf8ef;--cream:#f1eadc;--line:#ded6c6;--gold:#b58c46;--muted:#72766a;--radius:20px;--shadow:0 22px 80px #26352c26;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input,textarea{font:inherit}button,label,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,label:focus-visible{outline:3px solid #d6a33d;outline-offset:3px}a{color:inherit}button{color:inherit}h1,h2,h3,p{margin-top:0}h2{font:normal 38px/1.15 Georgia,serif;letter-spacing:-1px;margin-bottom:14px}h3{font:600 19px/1.4 "Segoe UI",sans-serif;margin:0 0 10px}p{line-height:1.65}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green);margin-bottom:20px}.eyebrow span{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:10px}
.button{border:1px solid transparent;border-radius:9px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:13px;font-weight:600;transition:background .18s,transform .18s;white-space:nowrap;background:none}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--green);color:#fff}.primary:hover:not(:disabled){background:var(--deep)}.primary.dark{background:var(--deep)}.outline{border-color:var(--line);background:#fff9}.outline:hover:not(:disabled){background:#ece6d8}.quiet:hover:not(:disabled){background:#e5e5d35c}.large{padding:16px 22px;font-size:14px}.text-button{border-bottom:1px solid #8f9b88;border-radius:0;padding:12px 0}.small{padding:8px 12px;font-size:12px}.danger{color:#a44032;border-color:#e9c8bd;background:#fff5ef}.danger:hover{background:#fae1d7}.icon-button{border:0;background:transparent;width:40px;height:40px;border-radius:50%;font-size:28px;display:grid;place-items:center;flex-shrink:0}.icon-button:hover{background:#e9e4d8}.font-button{font-size:14px;font-weight:600}.badge{font-size:11px;padding:3px 9px;border-radius:30px;background:#e3eadf}.file-button{cursor:pointer;position:relative}.file-button:focus-within{outline:3px solid var(--gold)}
#main{height:100dvh;min-height:580px;position:relative;overflow:hidden;background:#e4e4cc}#world{position:absolute;inset:0;background:linear-gradient(135deg,#f0e6d5,#c4d0aa)}#world canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.world-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#fbf8efee 0%,#fbf8efcd 27%,#fbf8ef00 66%)}.site-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:30px 4.5vw;gap:16px}.site-header nav{display:flex;gap:12px;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:25px/1.05 Georgia,serif;letter-spacing:-.6px}.brand-mark{width:42px;height:48px;background:var(--green);color:#f6e7bc;display:grid;place-items:center;border-radius:12px 12px 3px 3px;font-size:29px}.brand-small{font:9px/1.8 "Segoe UI",sans-serif;display:block;color:var(--green);letter-spacing:3px;margin:5px 0 0 2px}.intro{position:relative;z-index:1;margin-left:6vw;margin-top:clamp(20px,6.5vh,85px);width:410px;max-width:42vw}.intro h1{font:normal clamp(46px,5.2vw,80px)/1.08 Georgia,serif;letter-spacing:-3px;margin-bottom:26px;color:#284535}.intro h1 em{font-weight:normal;color:#608064}.intro-copy{color:#647060;font-size:15px;max-width:310px;margin-bottom:26px}.intro-actions{display:flex;gap:20px;align-items:center}.intro-foot{display:flex;gap:12px;align-items:center;font-size:11px;line-height:1.8;color:#7d8276;margin-top:40px}.intro-foot strong{font-weight:500;color:#536a55}.small-icon{font-size:24px;border:1px solid #c8cdbf;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;color:var(--green)}.station-hotspot{position:absolute;z-index:1;left:64%;top:56%;display:flex;gap:12px;align-items:center;background:#fffdf2f2;padding:12px 18px;border:1px solid #fff;border-radius:13px;box-shadow:0 8px 35px #24361c2b;color:var(--green);font-size:13px;transition:box-shadow .2s;max-width:280px;transform:translate(-50%,-50%)}.station-hotspot:hover{box-shadow:0 12px 40px #24361c4d}.station-hotspot small{display:block;font-size:10px;margin-top:4px;color:var(--muted);text-align:left}.hotspot-icon{font-size:27px;color:var(--gold)}.world-footer{position:absolute;z-index:2;bottom:25px;left:4.5vw;right:4.5vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#596c4d;gap:15px}.footer-actions{display:flex;align-items:center;gap:10px}.glass{background:#fff9;border-color:#fff8;backdrop-filter:blur(12px)}.walk-controls{position:absolute;z-index:3;left:5vw;bottom:90px;display:flex;flex-direction:column;align-items:center;gap:5px}.walk-controls[hidden]{display:none}.walk-controls div{display:flex;gap:5px}.walk-controls button{background:#fff9;color:var(--green);border:1px solid #fff;border-radius:9px;width:38px;height:38px;font-size:22px;touch-action:none}.exploring .intro{display:none}.exploring .world-shade{background:linear-gradient(180deg,#f5f2e4aa,transparent 20%,transparent 80%,#f5f2e4aa)}.world-fallback{display:grid;place-items:center;height:100%;background:linear-gradient(130deg,#eae4ce,#c6d0ad)}.world-fallback div{margin-left:38%;max-width:360px;font-family:Georgia,serif;font-size:32px;text-align:center;color:var(--green)}
dialog{color:var(--ink)}.dialog{border:1px solid #e4dccb;border-radius:22px;background:var(--paper);box-shadow:var(--shadow);padding:0;width:min(1150px,94vw);max-height:94dvh;overflow:auto}.dialog::backdrop{background:#152d24a6;backdrop-filter:blur(7px)}.dialog-top{padding:25px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.dialog-top .eyebrow{margin-bottom:8px}.dialog-top h2{margin-bottom:0}.mini-brand{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700}.collection-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;padding:35px 40px 12px}.collection-heading .eyebrow{margin-bottom:14px}.collection-heading h2{font-size:43px;margin-bottom:10px}.collection-heading p:last-child{font-size:13px;color:var(--muted);margin-bottom:0}.search-field{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:9px;background:white;padding:3px 12px;min-width:220px}.search-field span{font-size:22px}.search-field input{border:0;background:none;min-width:0;width:100%;font-size:12px;padding:10px 0;outline:none}.collection-count{padding:12px 40px;font-size:11px;color:var(--muted)}.book-grid{padding:12px 40px 40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.book-card{border:1px solid var(--line);border-radius:14px;background:#fffdf8;overflow:hidden;position:relative;display:flex;flex-direction:column}.book-card-cover{height:205px;background:#e9ecde;position:relative;overflow:hidden}.book-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.book-card:hover img{transform:scale(1.035)}.book-card-cover .cover-empty{display:grid;place-items:center;height:100%;font-size:60px;color:#45674d}.book-card-body{padding:20px;flex:1;display:flex;flex-direction:column}.book-card h3{font:22px/1.2 Georgia,serif;margin-bottom:10px}.book-card p{font-size:12px;color:var(--muted);margin-bottom:18px}.book-card .button{width:100%;margin-top:auto}.book-meta{font-size:10px;color:var(--green);margin-bottom:8px;display:flex;justify-content:space-between}.collection-bottom{padding:18px 40px;background:#f0ecdf;font-size:11px;color:#61715e;display:flex;justify-content:space-between}.empty-state{grid-column:1/-1;text-align:center;padding:55px 20px;font-size:15px;color:var(--muted)}
.reader-dialog{width:min(1280px,97vw);background:#eee6d5}.reader-top{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:14px}.reader-top>span{font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.reader-tools{display:flex;align-items:center}.open-book{display:grid;grid-template-columns:1fr 1fr;margin:0 28px;min-height:390px;height:min(65dvh,620px);border-radius:8px 16px 16px 8px;overflow:hidden;box-shadow:0 10px 30px #765a3229;border:1px solid #d2bf9c;background:#fcf9ef}.illustration-page{position:relative;background:#e9ecd9;display:flex;align-items:center;justify-content:center;min-width:0;box-shadow:inset -15px 0 25px #4a331c16}.illustration-page img{width:100%;height:100%;object-fit:cover}.illustration-page>span{position:absolute;bottom:15px;left:16px;font-size:9px;padding:5px 9px;background:#fff9;border-radius:5px;color:#3c603e}.image-placeholder{font:70px Georgia,serif;color:#7d9a64;text-align:center}.image-placeholder span{display:block;font:16px Georgia,serif;padding:10px}.image-placeholder[hidden]{display:none}.text-page{padding:clamp(22px,4vw,52px);display:flex;flex-direction:column;overflow:auto;position:relative;box-shadow:inset 12px 0 15px #765a3209}.text-page .eyebrow{margin-bottom:22px;font-size:9px}.story-text{font:var(--story-size,24px)/1.8 Georgia,"Times New Roman",serif;color:#3b4434;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:28px}.audio-section{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.audio-status{font-size:10px;color:var(--muted);margin-bottom:8px;line-height:1.6}.audio-section audio{width:100%;height:38px}.audio-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.audio-actions .button{font-size:10px}.reader-bottom{display:flex;align-items:center;justify-content:space-between;padding:20px 30px;gap:15px}.page-counter{text-align:center;font-size:11px}.page-dots{display:flex;gap:5px;justify-content:center;margin-top:9px}.page-dots i{display:block;width:5px;height:5px;background:#c8c6b4;border-radius:50%}.page-dots i.active{background:var(--green);width:18px;border-radius:5px}
.teacher-dialog{width:min(1300px,97vw)}.teacher-note{background:#eaf0e5;display:flex;align-items:center;gap:14px;padding:15px 30px}.teacher-note>span{font-size:26px;color:var(--green)}.teacher-note p{font-size:11px;line-height:1.6;margin:0;color:#4d6250}.teacher-note strong{font-weight:650}.teacher-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 30px;border-bottom:1px solid var(--line)}.teacher-toolbar>div{display:flex;gap:8px}.teacher-body{display:grid;grid-template-columns:240px 1fr;min-height:450px}.teacher-sidebar{border-right:1px solid var(--line);padding:22px 16px;background:#f3f0e6}.sidebar-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:0 5px 20px}.teacher-book{display:flex;align-items:center;gap:10px;border:1px solid transparent;background:transparent;border-radius:10px;padding:10px;text-align:left;width:100%;margin-bottom:5px}.teacher-book:hover{background:#e5e9da}.teacher-book.active{border-color:#bdc8b3;background:#e4eadc}.teacher-book img{width:38px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0}.teacher-book .tiny-cover{font-size:28px}.teacher-book strong{display:block;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.teacher-book small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.draft-status{font-size:10px;color:var(--green);margin:25px 10px 5px;line-height:1.6}.book-form{padding:25px 30px 0;min-width:0}.editor-empty{display:grid;place-items:center;min-height:300px;color:var(--muted);font-size:13px;text-align:center}.editor-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.editor-heading h3{margin-bottom:0}.book-form label{font-size:11px;color:#52604b;display:block;margin-bottom:18px;font-weight:600}.book-form input:not([type=file]),.book-form textarea{display:block;margin-top:8px;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fffdf8;color:var(--ink);font-size:13px;font-weight:400;resize:vertical;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-label{font-size:11px;font-weight:600;margin-bottom:12px;display:block;color:#52604b}.media-editor{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cover-preview{height:95px;max-width:100%;object-fit:cover;border-radius:8px;margin-bottom:10px}.media-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.book-form .file-button{display:inline-flex;margin:0;font-weight:500}.media-name{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.media-editor audio{max-width:100%;height:33px;width:260px;margin-bottom:9px}.pages-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 16px}.pages-heading h3{margin-bottom:4px}.pages-heading p{font-size:10px;color:var(--muted);margin:0}.page-editor{border:1px solid var(--line);border-radius:12px;padding:17px;margin-bottom:15px;background:#fffaf0}.page-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:11px}.page-editor-head .page-tools{display:flex;gap:5px}.page-editor .page-tools button{padding:4px 7px;font-size:11px}.page-editor textarea{margin-bottom:12px}.page-media{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:10px}.page-media .button{font-size:10px;padding:6px 8px}.page-thumb{width:55px;height:45px;object-fit:cover;border-radius:5px}.page-media-label{font-size:10px;color:var(--muted);flex-basis:100%;overflow-wrap:anywhere}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0;position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);z-index:1}.form-footer span{font-size:10px;color:var(--muted)}
.help-dialog{width:min(700px,94vw)}.help-dialog h2{font-size:30px}.help-content{padding:30px}.help-step{display:flex;gap:22px;margin-bottom:25px}.help-step>b{font:26px Georgia,serif;color:var(--gold);flex-shrink:0;width:30px}.help-step h3{font-size:15px;margin-bottom:7px}.help-step p{font-size:12px;color:var(--muted);margin-bottom:10px}.confirm-dialog{width:min(450px,90vw);padding:28px}.confirm-dialog h2{font-size:26px}.confirm-dialog p{font-size:13px;color:var(--muted)}.confirm-dialog>div{display:flex;justify-content:flex-end;gap:10px}.toast{position:fixed;z-index:1000;left:50%;bottom:25px;transform:translateX(-50%);padding:15px 23px;background:var(--deep);color:#fff;border-radius:12px;box-shadow:0 5px 25px #0003;max-width:min(550px,92vw);font-size:12px;line-height:1.6;text-align:center}.toast[hidden]{display:none}.noscript{position:fixed;inset:0;background:var(--paper);display:grid;place-items:center;padding:30px;z-index:1000}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.intro{margin-top:10vh}.intro h1{font-size:86px}.intro-copy{font-size:16px}.intro-foot{margin-top:55px}.book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.intro{max-width:45vw;width:380px}.intro-actions{flex-direction:column;align-items:flex-start;gap:8px}.intro-foot{margin-top:25px}.collection-heading h2{font-size:35px}.collection-heading{padding:25px 25px 12px;align-items:start}.search-field{min-width:180px}.book-grid{padding:12px 25px 30px;gap:18px}.collection-count{padding-left:25px}.book-card-cover{height:170px}.teacher-body{grid-template-columns:185px 1fr}.teacher-toolbar{flex-wrap:wrap}.book-form{padding:22px 20px 0}.media-editor{grid-template-columns:1fr}.teacher-sidebar{padding:20px 10px}.teacher-note{padding:15px 20px}.story-text{font-size:calc(var(--story-size,24px) - 2px)}}
@media(max-width:680px){#main{min-height:650px}.site-header{padding:20px}.brand{font-size:20px}.brand-mark{width:34px;height:40px;font-size:24px}.site-header nav{gap:4px}.site-header .button{padding:9px 10px;font-size:11px}.site-header #helpButton{display:none}.brand-small{font-size:8px}.world-shade{background:linear-gradient(180deg,#fbf8eff7,#fbf8efdf 37%,#fbf8ef00 70%)}.intro{margin:28px 25px 0;width:auto;max-width:90vw;pointer-events:none}.intro .eyebrow{font-size:8px;letter-spacing:1.5px}.intro h1{font-size:51px;line-height:1.06;letter-spacing:-2px;margin-bottom:16px}.intro-copy{font-size:12px;max-width:280px;margin-bottom:18px}.intro-actions{pointer-events:auto;flex-direction:row;gap:15px;align-items:center}.intro-actions .large{font-size:12px;padding:13px 17px}.intro-actions .text-button{font-size:11px}.intro-foot{display:none}.station-hotspot{top:73%;left:60%;font-size:11px;padding:10px 12px;gap:9px}.hotspot-icon{font-size:22px}.station-hotspot small{font-size:9px}.world-footer{bottom:20px;left:20px;right:20px;align-items:flex-end}.world-footer>span{max-width:135px;font-size:8px;line-height:1.6}.footer-actions{gap:7px}.footer-actions .button{padding:10px;font-size:11px}.glass span{display:none}.walk-controls{left:20px;bottom:90px}.dialog{width:96vw;max-height:96dvh;border-radius:15px}.dialog-top{padding:17px 20px}.dialog-top h2{font-size:28px}.collection-heading{flex-direction:column;gap:18px;padding:25px 20px 10px}.collection-heading h2{font-size:32px}.collection-heading p:last-child{font-size:12px}.search-field{width:100%}.collection-count{padding:10px 20px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 18px 25px;gap:13px}.book-card-cover{height:140px}.book-card-body{padding:13px}.book-card h3{font-size:18px}.book-card p{font-size:10px;line-height:1.6}.book-meta{font-size:8px;gap:5px}.book-card .button{font-size:11px;padding:10px}.collection-bottom{padding:15px 20px;gap:20px;font-size:9px}.reader-top{padding:12px}.reader-top>span{display:none}.reader-top .button{font-size:11px;padding:8px}.reader-tools .icon-button{width:34px;height:34px}.open-book{display:flex;flex-direction:column;height:auto;max-height:calc(94dvh - 145px);overflow:auto;margin:0 12px;min-height:0}.illustration-page{height:220px;flex-shrink:0}.illustration-page img{object-position:center 40%}.text-page{padding:25px;overflow:visible;flex-shrink:0}.text-page .eyebrow{margin-bottom:12px}.story-text{font-size:var(--story-size,23px);line-height:1.65;margin-bottom:20px}.audio-section{margin-top:8px}.reader-bottom{padding:15px 14px;gap:8px}.reader-bottom .button{font-size:11px;padding:10px}.page-counter{font-size:10px}.teacher-note p{font-size:10px}.teacher-toolbar{padding:14px;gap:10px}.teacher-toolbar .button{font-size:10px;padding:10px}.teacher-toolbar>div{gap:5px}.teacher-body{grid-template-columns:1fr}.teacher-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:14px}.sidebar-head{margin-bottom:10px}#teacherBooks{display:flex;overflow:auto;gap:7px}.teacher-book{min-width:155px;width:155px;padding:8px;margin-bottom:0}.teacher-book strong{font-size:10px}.teacher-book img{width:30px;height:38px}.draft-status{margin:12px 5px 0}.book-form{padding:20px 16px 0}.form-row{grid-template-columns:1fr;gap:0}.editor-heading .button{font-size:10px}.form-footer{gap:9px}.form-footer .button{font-size:11px;padding:12px}.help-content{padding:22px}.help-step{gap:15px}.help-dialog h2{font-size:25px}}
.gallery-art{background-size:cover;background-position:center;transition:background-size .8s;background-repeat:no-repeat}.gallery-art.art-exploring{background-position:62% center}.gallery-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#faf6e65c,transparent 25%);pointer-events:none}.teacher-toolbar{flex-wrap:wrap}.teacher-toolbar>a{background:#b98c3c;color:white}
@media(max-width:680px){.gallery-art{background-position:62% bottom}.world-shade{background:linear-gradient(180deg,#fbf8eff5,#fbf8efdf 36%,#fbf8ef00 69%)}.gallery-art~.station-hotspot{top:73%!important;left:65%!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Modern exterior, continuous walking, auditorium and background music. */
.walk-gallery-light{overflow:hidden;touch-action:none;background:#d9e5d6!important;cursor:grab}.walk-gallery-light:active{cursor:grabbing}.walk-scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;will-change:transform;pointer-events:none}.walk-scene-tint{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#d6e8dc18,transparent 35%)}
.journey-bar{position:absolute;z-index:2;left:4.5vw;top:115px;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #fff9;border-radius:12px;background:#fffdf0ed;box-shadow:0 5px 24px #183b2c13;font-size:11px;max-width:65vw;flex-wrap:wrap}.journey-bar strong{font-size:12px}.journey-bar>span:last-child{color:#66775e}.location-dot{width:7px;height:7px;background:#4c8462;border-radius:50%}.music-dock{position:absolute;z-index:3;right:4.5vw;top:115px;display:flex;align-items:center;gap:10px;padding:5px 12px 5px 4px;background:#fbf8efed;border:1px solid #fff9;border-radius:12px;box-shadow:0 5px 20px #183b2c16}.music-dock .button{font-size:11px}.music-dock input{width:80px;accent-color:var(--green);display:block}.music-dock>span{color:var(--green);font-size:18px}.mini-map{position:absolute;right:4.5vw;top:185px;z-index:2;background:#fbf8efed;border:1px solid #fff9;box-shadow:0 5px 20px #183b2c18;border-radius:12px;padding:8px;display:flex;flex-direction:column;align-items:center;pointer-events:none}.mini-map canvas{width:150px;height:164px}.mini-map>span{font-size:8px;max-width:155px;text-align:center;color:#65755c;margin:3px 0}.door-hotspot{background:#284d3deb;color:#fff9e4;border-color:#eedeb9;font-size:11px;letter-spacing:1px;padding:13px 20px;white-space:nowrap}.world-footer .footer-actions{flex-wrap:wrap;justify-content:flex-end}.world-footer>span{max-width:285px;background:#fff9;padding:7px 10px;border-radius:7px;line-height:1.6}.exploring .walk-controls{bottom:105px}.music-settings{margin:0 26px 20px;border:1px solid var(--line);border-radius:12px;background:#f0f2e7}.music-settings summary{padding:15px 18px;cursor:pointer;font-size:12px;font-weight:600;color:var(--green)}.music-settings-content{display:grid;grid-template-columns:1fr 1fr;padding:5px 20px 20px;gap:30px}.music-settings-content strong{font-size:13px}.music-settings-content p{font-size:10px;color:var(--muted);margin:9px 0}.music-settings-content audio{width:100%;max-width:400px;height:36px}.music-settings-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.music-settings-actions .button{font-size:11px}.music-enabled,.music-slider{font-size:11px;color:var(--green);display:flex;gap:10px;align-items:center;flex-basis:100%}.music-slider input{accent-color:var(--green);width:160px}.music-enabled input{accent-color:var(--green)}#musicSaveStatus{font-size:10px;color:var(--green);line-height:1.5}.video-editor{padding:22px 0;border-bottom:1px solid var(--line)}.video-editor video{display:block;width:100%;max-width:350px;max-height:200px;margin:10px 0;border-radius:10px;background:#233a2c}.video-editor video[hidden]{display:none}.inline-music{border:1px solid #d1d6c5!important;font-size:17px!important;margin-left:8px}.performance-dialog{width:min(1100px,96vw);background:#f2ecd9}.performance-dialog h2{font-size:34px}.performance-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px 28px}.performance-toolbar>label{font-size:11px;color:var(--muted);flex:1}.performance-toolbar select{display:block;margin-top:8px;width:100%;max-width:480px;background:#fffaf0;border:1px solid var(--line);border-radius:9px;padding:12px;color:var(--ink);font-size:13px}.performance-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.performance-toolbar .active{background:var(--green);color:#fff}.prompter-frame{margin:0 28px;background:#203b2e;color:#f7f3dc;border:10px solid #435548;border-radius:15px;overflow:hidden;box-shadow:inset 0 0 0 1px #6b7664}.prompter-title{font:24px Georgia,serif;border-bottom:1px solid #7e8a6a55;padding:22px 30px;color:#e4d3a8}.prompter-text{height:42dvh;overflow-y:auto;padding:32px 8%;font:29px/1.9 Georgia,serif;white-space:pre-wrap;scrollbar-color:#7b8d6b #203b2e}.prompter-frame video{width:100%;max-height:50dvh;display:block;background:#18291f}.performance-bottom{padding:22px 28px;font-size:10px;line-height:1.6;color:var(--muted)}.performance-bottom>div{display:flex;align-items:center;gap:10px;margin-top:15px;flex-wrap:wrap}.performance-bottom label{font-size:10px;display:flex;gap:10px;align-items:center}.performance-bottom input{width:105px;accent-color:var(--green)}.prompter-frame:fullscreen{height:100dvh;width:100vw;margin:0;border-radius:0}.prompter-frame:fullscreen .prompter-text{height:calc(100dvh - 100px);font-size:38px}.prompter-frame:fullscreen video{height:calc(100dvh - 100px);max-height:none}.performance-bottom .button{font-size:11px}.teacher-toolbar:has(#preparedDownload){padding-bottom:14px}
@media(max-width:1000px){.journey-bar{max-width:53vw}.journey-bar>span:last-child{flex-basis:100%;margin-left:17px}.music-dock input{width:60px}.world-footer>span{max-width:200px}.world-footer .button{font-size:11px;padding:11px}.performance-toolbar{align-items:start;flex-direction:column}.performance-toolbar>label{width:100%}.performance-toolbar select{max-width:none}}
@media(max-width:680px){.walk-scene-image{object-position:56% center}.journey-bar{left:15px;top:91px;max-width:calc(100vw - 30px);padding:10px 13px;gap:7px;font-size:9px}.journey-bar strong{font-size:11px}.journey-bar>span:last-child{font-size:9px}.music-dock{top:auto;bottom:90px;right:15px;padding:4px 9px;gap:6px}.music-dock .button{font-size:10px;padding:7px}.music-dock input{width:60px}.mini-map{top:175px;right:15px;padding:5px}.mini-map canvas{width:98px;height:107px}.mini-map>span{max-width:100px;font-size:7px}.exploring .walk-controls{bottom:150px;left:15px}.world-footer{left:15px;right:15px;bottom:18px}.world-footer .footer-actions{gap:6px;width:100%;justify-content:flex-end}.world-footer .button{font-size:10px;padding:10px 11px}.exploring .world-footer>span{display:none}.world-footer>span{font-size:8px;max-width:130px}.door-hotspot{font-size:9px;padding:10px 14px;max-width:none;letter-spacing:.4px}.intro{margin-top:28px}.intro-copy{max-width:290px}.music-settings{margin:0 14px 15px}.music-settings-content{grid-template-columns:1fr;gap:15px;padding:5px 15px 18px}.music-settings summary{font-size:11px}.performance-dialog h2{font-size:27px}.performance-toolbar{padding:18px;gap:14px}.performance-toolbar .button{font-size:10px;padding:8px}.prompter-frame{margin:0 12px;border-width:7px}.prompter-title{font-size:20px;padding:16px 20px}.prompter-text{font-size:24px;padding:22px;height:40dvh}.performance-bottom{padding:18px}.performance-bottom .button{padding:10px;font-size:10px}.performance-bottom input{width:90px}.inline-music{font-size:15px!important}.reader-tools{gap:0}}
@media(max-height:600px){#main{height:100dvh;min-height:0}.site-header{padding-top:12px;padding-bottom:12px}.intro{margin-top:8px}.intro h1{font-size:43px;margin-bottom:15px}.intro-copy{font-size:12px;margin-bottom:16px}.intro-foot{display:none}.intro .eyebrow{margin-bottom:12px}.journey-bar{top:82px}.music-dock{top:82px;bottom:auto}.mini-map{top:140px}.mini-map canvas{width:92px;height:100px}.exploring .walk-controls{bottom:85px}.world-footer{bottom:12px}.world-footer .button{padding:8px 11px}.reader-dialog{max-height:98dvh}.open-book{height:55dvh;min-height:0}.prompter-text{height:36dvh}}
.performance-dialog.stage-view{position:fixed;top:auto;bottom:18px;max-height:56dvh;width:min(980px,94vw);margin:0 auto;border-color:#cfbc92;background:#f6efdef2}.performance-dialog.stage-view::backdrop{background:transparent;backdrop-filter:none}.stage-view .dialog-top{padding:9px 18px}.stage-view .dialog-top .eyebrow{display:none}.stage-view .dialog-top h2{font-size:20px;letter-spacing:0}.stage-view .performance-toolbar{padding:10px 18px;gap:12px;flex-direction:row;align-items:end}.stage-view .performance-toolbar label{font-size:10px}.stage-view .performance-toolbar select{padding:8px;font-size:11px;margin-top:4px}.stage-view .performance-toolbar .button{padding:7px 9px;font-size:10px}.stage-view .prompter-frame{margin:0 18px;border-width:6px}.stage-view .prompter-title{font-size:17px;padding:10px 20px}.stage-view .prompter-text{height:17dvh;font-size:23px;padding:15px 30px;line-height:1.75}.stage-view .prompter-frame video{max-height:23dvh}.stage-view .performance-bottom{padding:10px 18px}.stage-view .performance-bottom>div{margin-top:8px}.stage-view .performance-bottom .button{padding:8px 10px;font-size:10px}.stage-view .performance-bottom>span{font-size:9px}
@media(max-width:680px){.performance-dialog.stage-view{bottom:10px;max-height:63dvh}.stage-view .performance-toolbar{flex-direction:column;align-items:stretch;gap:8px}.stage-view .performance-toolbar>div{gap:5px}.stage-view .performance-toolbar .button{font-size:9px;padding:6px 8px}.stage-view .prompter-text{font-size:21px;height:15dvh;padding:12px 20px}.stage-view .performance-bottom input{width:65px}.stage-view .performance-bottom>div{gap:6px}.stage-view .performance-bottom .button{font-size:9px;padding:7px 8px}.stage-view .prompter-title{padding:8px 15px}}
/* Poster displays and teacher controls */
.poster-note{padding:0 20px;color:#5b695d;line-height:1.6}.poster-editors{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;padding:16px}.poster-editor{display:flex;flex-direction:column;gap:10px;padding:14px;background:#f7f4eb;border:1px solid #dddacb;border-radius:14px}.poster-editor h3{font-size:16px;margin:0}.poster-editor label:not(.button){display:flex;flex-direction:column;gap:6px;font-size:13px}.poster-editor input:not([type=file]){width:100%;padding:9px;border:1px solid #c8cebe;border-radius:8px}.poster-thumb{width:100%;height:155px;object-fit:contain;background:#e7e4d8;border-radius:6px}.poster-editor small{overflow-wrap:anywhere;color:#66715e}.poster-dialog{width:min(1000px,94vw)}.poster-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;padding:20px}.poster-display h3{font-size:19px;margin:0 0 12px}.poster-display img{display:block;width:100%;max-height:65vh;object-fit:contain;background:#ebe7d9}.light-poster-boards{position:absolute;z-index:2;right:7%;top:45%;display:flex;gap:16px;max-width:62%}.light-poster-board{width:110px;max-width:18vw;padding:6px;background:#303d35;border:3px solid #d6bd8a;box-shadow:0 15px 18px #0006;cursor:pointer;transform:perspective(600px) rotateY(-8deg);color:#fff8e8}.light-poster-board img{display:block;width:100%;height:135px;object-fit:contain;background:#f4eddd}.light-poster-board span{display:block;padding:6px 0;font-size:12px}.light-poster-board:hover{outline:3px solid #f3d692}#posterSaveStatus{padding:0 20px 12px;color:#2a694f}.world-footer .footer-actions{flex-wrap:wrap}
@media(max-width:650px){.light-poster-boards{right:3%;top:37%;gap:7px}.light-poster-board{width:75px;max-width:22vw}.light-poster-board img{height:90px}.light-poster-board span{font-size:10px}.poster-editors{grid-template-columns:1fr}.poster-gallery{grid-template-columns:1fr}}
/* Three learning stations, with spacious management and player panels. */
.learning-editor{padding:8px 20px 22px}.compact-form,.activity-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:15px 0}.compact-form label,.activity-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#405b48;flex:1;min-width:170px}.compact-form input,.compact-form textarea,.activity-form input,.activity-form textarea,.learning-layout select,.game-toolbar select{padding:10px;border:1px solid #c8cebe;border-radius:8px;background:#fffcf3;color:#243e2d;width:100%;font:14px/1.5 system-ui}.activity-form input[type=file]{font-size:12px;padding:8px}.activity-form small{width:100%;overflow-wrap:anywhere;color:#64755f}.subject-editor{border:1px solid #ccd4c3;margin:12px 0;background:#faf7ed;border-radius:10px;overflow:hidden}.subject-editor>summary{font-size:15px}.subject-content{padding:0 16px 16px}.subject-content>label{display:flex;gap:12px;align-items:center;margin:10px 0}.subject-content>label input{padding:10px;border:1px solid #c4cfb9;border-radius:8px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.video-edit-row{border-top:1px solid #dce0d1;margin-top:12px}.video-edit-row>summary{padding:12px;font-size:13px}.video-edit-row .activity-form{padding:12px}.learning-dialog{width:min(1180px,96vw);max-height:94dvh}.learning-layout{display:grid;grid-template-columns:250px 1fr;gap:22px;padding:24px}.learning-layout aside>label{display:flex;flex-direction:column;gap:10px;font-size:13px}.learning-choices{display:flex;flex-direction:column;gap:9px;margin-top:18px}.learning-choices .button{white-space:normal;text-align:left;line-height:1.6;justify-content:flex-start}.learning-player{min-width:0}.learning-player h3{margin:0 0 15px;font:24px Georgia,serif}.learning-player video,.learning-player iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#18362a}.learning-player p,.player-note{font-size:13px;color:#5c6b57;line-height:1.6}.game-toolbar{display:flex;align-items:end;gap:20px;justify-content:space-between;padding:20px 26px}.game-toolbar label{display:flex;flex-direction:column;gap:8px;min-width:220px;flex:1;max-width:500px}#gameEmbed{display:block;width:calc(100% - 52px);height:58dvh;min-height:280px;margin:0 26px;border:1px solid #c5d3bb;border-radius:12px;background:#f0f6e9}.player-note{padding:0 26px 20px}.learning-dialog [hidden]{display:none!important}.station-nav-label{font-size:10px}.performance-dialog{max-height:94dvh;overflow:auto}.performance-dialog:not(.stage-view) .prompter-text{font-size:30px;height:34dvh;min-height:180px;scroll-behavior:auto;overflow-anchor:none}.performance-dialog.stage-view{max-height:70dvh;overflow:auto}.stage-view .prompter-text{min-height:120px;scroll-behavior:auto;overflow-anchor:none}.performance-dialog .dialog-top{position:sticky;top:0;background:#f5efdf;z-index:2}.prompter-frame:fullscreen .prompter-text{height:calc(100dvh - 90px)!important;max-height:none!important;min-height:0!important}.world-footer{gap:12px}.world-footer .footer-actions{max-width:76%;gap:6px}.world-footer .footer-actions .button{font-size:10px;padding:10px}.light-station-signs{position:absolute;inset:0;pointer-events:none}.light-station-signs button{position:absolute;top:65%;pointer-events:auto;background:#faf0d9ef;border:1px solid #d2b981;color:#254936;padding:10px 14px;border-radius:10px;box-shadow:0 5px 20px #0002;font-size:12px}.light-station-signs button:nth-child(1){left:9%}.light-station-signs button:nth-child(2){left:48%}.light-station-signs button:nth-child(3){right:7%}
@media(max-width:720px){.learning-layout{grid-template-columns:1fr;padding:16px}.learning-choices{display:flex;flex-direction:row;overflow:auto;max-height:130px}.learning-choices button{min-width:180px}.game-toolbar{align-items:stretch;flex-direction:column;padding:16px;gap:12px}.game-toolbar label{min-width:0;max-width:none}#gameEmbed{width:calc(100% - 32px);margin:0 16px;height:55dvh}.world-footer .footer-actions{max-width:100%}.world-footer .footer-actions .button{font-size:9px;padding:8px}.learning-editor{padding:4px 12px 16px}.compact-form,.activity-form{align-items:stretch;flex-direction:column}.compact-form label,.activity-form label{min-width:0}.performance-dialog .performance-toolbar{gap:10px}.performance-dialog:not(.stage-view) .prompter-text{height:28dvh;font-size:26px;min-height:130px}.performance-bottom>div{gap:7px}.light-station-signs button{font-size:9px;padding:8px}.light-station-signs button:nth-child(1){left:4%}.light-station-signs button:nth-child(2){left:40%}.light-station-signs button:nth-child(3){right:3%}}

.light-station-signs button:nth-child(1){left:31%;top:57%}.light-station-signs button:nth-child(2){left:65%;top:64%}.light-station-signs button:nth-child(3){right:3%;top:54%}
@media(max-width:720px){.light-station-signs button:nth-child(1){left:26%;top:64%}.light-station-signs button:nth-child(2){left:51%;top:72%}.light-station-signs button:nth-child(3){right:2%;top:63%}}

@media(max-width:680px){.exploring .music-dock{bottom:170px}.exploring .walk-controls{bottom:215px}}
/* Student registration and original modular character. */
.student-dialog{width:min(1000px,96vw);max-height:94dvh}.student-layout{display:grid;grid-template-columns:32% 1fr;gap:28px;padding:24px 30px}.avatar-showcase{position:relative;border-radius:24px;background:radial-gradient(ellipse at 50% 90%,#c6d8ba,#edf1df 70%);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:15px;min-height:420px}.avatar-preview{width:210px;max-width:100%;filter:drop-shadow(0 12px 9px #3756431a)}.avatar-preview svg,.avatar-preview-back svg{display:block;width:100%;height:auto}.avatar-preview-back{width:80px;position:absolute;right:8px;bottom:70px;opacity:.8}.avatar-showcase p{text-align:center;font-size:12px;color:#4b6b53;line-height:1.6;margin:8px 0}.student-fields label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#365441}.student-fields input,.student-fields select{border:1px solid #c9d1bd;padding:10px;border-radius:8px;background:#fffcf4;color:#243e2c;font-size:14px;width:100%}.student-fields .form-row{gap:16px;margin-bottom:22px}.avatar-options{display:grid;grid-template-columns:1fr 110px;gap:16px}.avatar-options input[type=color]{height:43px;padding:4px;cursor:pointer}.profile-note{font-size:11px;line-height:1.7;color:#61715b;margin:20px 0}.student-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.student-badge{position:fixed;top:166px;left:4.5vw;z-index:3;background:#fbf5dfed;border:1px solid #e0d6bb;padding:8px 13px!important;color:#385d45;border-radius:8px;font-size:11px;max-width:45vw!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.light-avatar{position:absolute;left:50%;bottom:12%;width:min(185px,21vw);height:auto;z-index:2;pointer-events:none;transform:translateX(-50%);filter:drop-shadow(0 14px 6px #173d3438)}.light-avatar svg{display:block;width:100%}.light-avatar.walking .left-leg,.light-avatar.walking .right-arm{animation:avatar-step .36s ease-in-out infinite alternate;transform-origin:110px 175px}.light-avatar.walking .right-leg,.light-avatar.walking .left-arm{animation:avatar-step .36s ease-in-out infinite alternate-reverse;transform-origin:110px 175px}.light-avatar.walking svg{animation:avatar-bob .3s ease-in-out infinite alternate}.light-avatar.celebrating .avatar-arm{animation:avatar-cheer .3s ease-in-out infinite alternate;transform-origin:110px 140px}.light-avatar.celebrating svg{animation:avatar-bob .2s ease-in-out infinite alternate}.joystick{position:fixed;left:4.5vw;bottom:150px;width:106px;height:106px;border:2px solid #f3e2b4bb;background:#f6f4e338;box-shadow:inset 0 0 0 13px #f7f4e326,0 6px 20px #20403130;border-radius:50%;z-index:5;touch-action:none;user-select:none;cursor:grab}.joystick>div{position:absolute;left:30px;top:30px;width:42px;height:42px;border-radius:50%;background:#3e6f56e8;border:2px solid #fff1ca;box-shadow:0 4px 8px #0003;pointer-events:none}.joystick>span{position:absolute;bottom:-23px;left:0;width:100%;text-align:center;font-size:9px;letter-spacing:2px;color:#315a44;font-weight:bold;text-shadow:0 1px 2px #fff}.exploring .walk-controls{display:none!important}.celebration-layer{position:fixed;inset:0;z-index:8;pointer-events:none;overflow:hidden}.celebration-card{position:absolute;top:19%;left:50%;transform:translateX(-50%);text-align:center;background:#fff9eaeF;border:1px solid #dec898;border-radius:20px;padding:18px 32px;box-shadow:0 15px 60px #173d3429;max-width:90vw}.celebration-card>div{font-size:34px;animation:clap-cheer .4s ease-in-out infinite alternate}.celebration-card h2{font:28px Georgia,serif;color:#335c44;margin:10px 0}.celebration-card p{font-size:12px;color:#5b6d55;line-height:1.6}.celebration-card button{pointer-events:auto}.confetti{position:absolute;top:0;left:10%;width:80%;height:100%;color:#d8a549;font-size:50px;word-spacing:5vw;animation:confetti-fall 2.8s linear infinite;text-shadow:20px 140px #6c9c73,-40px 280px #db8f83,40px 410px #d7bc68}.light-applause{position:absolute;left:9%;right:9%;top:45%;z-index:2;font-size:clamp(25px,4vw,55px);text-align:center;pointer-events:none;animation:clap-cheer .3s ease-in-out infinite alternate}.audience-cheering .walk-scene-image{animation:crowd-bounce .4s ease-in-out infinite alternate}#finishPerformance{background:#ac7e30;border-color:#ac7e30}
@keyframes avatar-step{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}@keyframes avatar-bob{to{transform:translateY(-4px)}}@keyframes avatar-cheer{from{transform:rotate(-12deg) translateY(-8px)}to{transform:rotate(12deg) translateY(-17px)}}@keyframes clap-cheer{to{transform:translateY(-5px) scale(1.05)}}@keyframes confetti-fall{from{transform:translateY(-40%);opacity:1}to{transform:translateY(100%);opacity:.1}}@keyframes crowd-bounce{to{filter:brightness(1.08)}}
@media(max-width:720px){.student-layout{grid-template-columns:1fr;padding:16px;gap:16px}.avatar-showcase{min-height:205px;flex-direction:row;gap:20px}.avatar-preview{width:130px}.avatar-preview-back{position:static;width:70px}.avatar-showcase p{display:none}.avatar-options{grid-template-columns:1fr 100px;gap:12px}.student-fields .form-row{display:grid;grid-template-columns:1fr}.student-actions{justify-content:flex-end}.student-badge{top:149px;left:15px;max-width:67vw!important;font-size:9px;padding:5px 9px!important}.joystick{left:15px;bottom:180px;width:100px;height:100px}.joystick>div{left:27px;top:27px}.light-avatar{width:145px;max-width:32vw;bottom:16%}.celebration-card{top:23%;padding:16px 20px}.celebration-card h2{font-size:23px}.site-header nav{gap:5px}.site-header nav .button{font-size:10px;padding:8px}.student-dialog h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.confetti,.light-avatar svg,.light-avatar .avatar-arm,.light-avatar .avatar-leg,.light-applause,.celebration-card>div,.audience-cheering .walk-scene-image{animation:none!important}}

@media(min-width:721px){.avatar-preview-back{top:20px;bottom:auto;width:70px}}

@media(max-width:480px){.site-header{padding-top:16px;padding-bottom:12px;gap:7px;align-items:flex-start}.site-header .brand{font-size:16px;gap:7px}.site-header .brand-mark{width:30px;height:34px}.site-header nav{max-width:58%;justify-content:flex-end;flex-wrap:wrap;gap:4px}.site-header nav .button{padding:7px;font-size:9px}}

.light-stage-mic{position:absolute;left:52%;bottom:17%;height:27vh;width:9vh;z-index:2;pointer-events:none;transform:translateX(-50%)}.light-stage-mic svg{display:block;height:100%;width:100%}.light-avatar{z-index:3}

/* Shared room */
.room-dock{position:fixed;top:90px;left:24px;z-index:14;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:650px;padding:10px 14px;border-radius:16px;background:#173e35ed;color:white;font-size:12px}.room-dock[hidden]{display:none}.room-dialog{max-width:800px}.room-dialog>p,.room-dialog>section{margin:20px 28px}.room-dialog input{width:100%;padding:12px;border:1px solid #b8cbbf;border-radius:9px;margin:7px 0 14px}.room-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.room-members{padding:0;list-style:none;max-height:38vh;overflow:auto}.room-members li{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #dce5de;padding:10px 0}.light-peers{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.light-peer{position:absolute;transform:translateX(-50%)}.light-peer svg{width:100%}.light-peer span{display:block;background:#173e35;color:white;font-size:11px;text-align:center;border-radius:6px;padding:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:650px){.room-columns{grid-template-columns:1fr}.room-dock{top:110px;left:10px;right:10px}.room-dialog>p,.room-dialog>section{margin:14px}.site-header nav{gap:3px}.site-header nav .button{font-size:11px;padding:8px}}

.turn-controls{position:fixed;left:calc(4.5vw - 10px);bottom:100px;display:flex;gap:6px;z-index:6}.turn-controls[hidden]{display:none}.turn-controls button{touch-action:none;user-select:none;padding:10px 14px;font-size:12px}.light-station-signs{max-width:360px}.light-station-signs button{font-size:11px}@media(max-width:720px){.turn-controls{left:10px;bottom:130px}.turn-controls button{padding:9px 11px;font-size:11px}}

.light-station-signs{position:absolute;inset:0;max-width:none;pointer-events:none}.light-station-signs button{position:absolute;pointer-events:auto;white-space:nowrap}.light-station-signs button:nth-child(1){left:8%;top:57%}.light-station-signs button:nth-child(2){left:19%;top:53%}.light-station-signs button:nth-child(3){left:31%;right:auto;top:49%}.light-station-signs button:nth-child(4){left:auto;right:8%;top:54%}

.language-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:12px 32px 32px}.language-card{border:1px solid #c5d4b9;background:#f5f3e5;min-height:145px;border-radius:18px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#2d5540;cursor:pointer}.language-card strong{font:26px/1.5 Georgia,'Nirmala UI','Microsoft YaHei',sans-serif}.language-card span{font-size:12px}.language-card:hover{background:#dfe9d2;transform:translateY(-2px)}#changeBookLanguage{margin:0 32px 10px}.book-form select{width:100%;padding:12px;border:1px solid #ccd5c0;background:#fffaf0;border-radius:8px;font:14px system-ui;color:#29442e}.story-text{font-family:Georgia,'Nirmala UI','Microsoft YaHei',sans-serif}.seat-dialog{width:min(720px,94vw)}.seat-instructions{margin:24px 28px;color:#52664b;line-height:1.8;font-size:14px}.seat-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:0 28px 28px}.seat-choice{padding:25px;border:1px solid #b8c8a8;border-radius:15px;background:#e6ead6;color:#2c513c;font-size:16px;cursor:pointer}.seat-choice:hover{background:#ceddbd}.earned-badge-preview{width:155px!important;margin:0 auto;font-size:inherit!important;animation:none!important}.earned-badge-preview svg{width:100%;height:auto}.celebration-card:has(.earned-badge-preview){top:10%;max-height:80dvh;overflow:auto}.celebration-card:has(.earned-badge-preview) h2{font-size:25px}.celebration-card:has(.earned-badge-preview) p{max-width:340px}.light-avatar.seated{bottom:16%;width:min(160px,20vw)}.light-avatar.seated svg{animation:none!important}#standFromVideo{margin-bottom:14px}@media(max-width:720px){.language-choices{grid-template-columns:repeat(2,1fr);margin:12px 16px;gap:10px}.language-card{min-height:110px;padding:12px}.language-card strong{font-size:21px}.seat-choices{padding:0 16px 16px;gap:10px}.seat-choice{padding:18px;font-size:13px}.earned-badge-preview{width:125px!important}.celebration-card:has(.earned-badge-preview){top:12%;padding:16px}}

.seat-proximity{position:fixed;left:50%;bottom:125px;transform:translateX(-50%);z-index:7;border:1px solid #ffe3a0;border-radius:16px;background:#234d3fee;color:#fff5d7;padding:15px 24px;box-shadow:0 8px 28px #183c3433;cursor:pointer;text-align:center}.seat-proximity strong{display:block;font-size:17px}.seat-proximity small{display:block;font-size:11px;margin-top:6px;color:#e6e6cc}.seat-proximity[hidden],.award-showcase[hidden]{display:none!important}.award-showcase{position:fixed;left:50%;top:16%;transform:translateX(-50%);z-index:9;text-align:center;max-width:90vw;padding:16px 26px;border:1px solid #e0c174;border-radius:18px;background:#fff5daed;box-shadow:0 12px 35px #173d3424}.award-showcase strong{font:30px Georgia,serif;color:#315d42}.award-showcase p{font-size:12px;color:#5b6d4f}.award-showcase .button{font-size:12px;padding:9px 14px}.light-avatar.award-jumping{z-index:7;width:min(235px,27vw);bottom:12%}.light-avatar.award-jumping svg{animation:award-hop .65s ease-in-out infinite!important;transform-origin:50% 90%}@keyframes award-hop{0%,100%{transform:translateY(0) scale(1.02,.98)}45%,55%{transform:translateY(-55px) scale(.98,1.02)}}@media(max-width:720px){.seat-proximity{bottom:120px;padding:12px 16px;max-width:85vw}.seat-proximity strong{font-size:14px}.award-showcase{top:20%;padding:12px 20px}.award-showcase strong{font-size:25px}.light-avatar.award-jumping{width:180px;max-width:37vw;bottom:15%}}@media(prefers-reduced-motion:reduce){.light-avatar.award-jumping svg{animation:none!important}}

.play-prompt{position:fixed;bottom:160px;left:50%;transform:translateX(-50%);z-index:35;box-shadow:0 8px 30px #173d3440;max-width:85vw}.play-status{position:fixed;top:155px;left:50%;transform:translateX(-50%);background:#fff9e8ee;padding:10px 18px;border-radius:15px;z-index:30;text-align:center;color:#315d48}.light-park-signs{position:absolute;right:5%;top:34%;display:flex;flex-direction:column;gap:8px;z-index:8}.light-park-signs button{background:#fff5dde8;border:1px solid #dbcc9f;border-radius:12px;padding:10px;color:#34543e;font-weight:bold;cursor:pointer}.light-poster-boards{max-width:90%;overflow-x:auto;gap:10px}.light-poster-board{flex-shrink:0}.park-playing .light-avatar{transform:translateX(-50%) translateY(var(--play-hop));bottom:25%}.park-playing[data-play="slide"] .light-avatar{animation:park-slide 7s linear forwards}.park-playing[data-play="seesaw"] .light-avatar{transform:translateX(-50%) translateY(var(--play-hop)) rotate(4deg)}@keyframes park-slide{0%{bottom:20%}30%,40%{bottom:48%}85%,100%{bottom:18%}}@media(max-width:650px){.play-prompt{bottom:210px;font-size:12px}.play-status{top:155px;font-size:12px}.light-park-signs{top:31%;right:3%}.light-park-signs button{font-size:11px;padding:7px}}@media(prefers-reduced-motion:reduce){.park-playing .light-avatar{animation:none}}

.light-play-scene{position:absolute;inset:0;z-index:1;background:#d4e8e1;pointer-events:none}.light-play-scene svg{width:100%;height:100%;display:block}.park-playing .light-poster-boards{display:none!important}

.scene-media-controls{position:fixed;left:50%;bottom:105px;transform:translateX(-50%);z-index:8;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;width:min(960px,85vw);padding:11px 14px;border:1px solid #d9cba6;background:#fff6e5ef;border-radius:16px;box-shadow:0 8px 25px #173d3420;color:#34543e}.scene-media-controls strong{font-size:12px;width:100%;text-align:center}.scene-media-controls label{font-size:11px;display:flex;gap:5px;align-items:center}.scene-media-controls input{width:70px}.scene-media-controls small{font-size:10px;width:100%;text-align:center}.scene-media-controls .button{font-size:11px;padding:8px 10px}.scene-media-controls[hidden],.inworld-tv[hidden]{display:none!important}.inworld-tv{position:fixed;z-index:4;background:#102a23;overflow:hidden;border:2px solid #354c43}.inworld-tv video,.inworld-tv iframe{width:100%;height:100%;object-fit:contain;display:block;border:0}.inworld-tv [hidden]{display:none!important}.story-picker{width:min(560px,94vw)}.story-picker-body{padding:24px}.story-picker-body label{display:flex;flex-direction:column;gap:10px}.story-picker-body select{width:100%;padding:12px;background:#fff8e9;border:1px solid #b7c4a5;border-radius:9px}.story-picker-body p{line-height:1.6;font-size:13px}.light-teleprompter{position:absolute;left:12%;top:26%;width:76%;z-index:2;background:#102b21;border:8px solid #b2a074;border-radius:5px;color:#fff4d8;padding:9px 18px;box-shadow:0 6px 16px #0003;pointer-events:none}.light-teleprompter h3{font:14px Arial;color:#e5ce91;margin:0 0 8px;text-align:center}.light-teleprompter .tele-clip{height:2.7em;overflow:hidden;font-family:Georgia,'Nirmala UI',serif;line-height:1.3;white-space:pre}.light-teleprompter video{width:100%;max-height:200px}.light-teleprompter[hidden]{display:none!important}@media(max-width:720px){.scene-media-controls{bottom:106px;width:94vw;padding:7px;gap:5px}.scene-media-controls .button{font-size:9px;padding:7px}.scene-media-controls strong{font-size:10px}.light-teleprompter{left:3%;width:94%;top:29%;padding:8px;border-width:5px}.light-teleprompter h3{font-size:11px}.inworld-tv{z-index:4}}

.lounge-picker .learning-layout{grid-template-columns:1fr}.lounge-picker .learning-player{display:flex;flex-direction:column}.lounge-picker #learningVideoTitle{display:none}.lounge-picker .learning-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:0}

.light-wildlife{position:absolute;inset:0;pointer-events:none;z-index:3}.light-wildlife[hidden]{display:none!important}.light-wildlife .animal{position:absolute;width:82px;filter:drop-shadow(0 6px 3px #39513933)}.light-wildlife .dog{width:96px}.light-wildlife .butterfly{width:32px;animation:butterfly-flutter .3s ease-in-out infinite alternate}.light-wildlife svg{display:block;width:100%}@keyframes butterfly-flutter{from{margin-top:0;scale:1 .85}to{margin-top:-5px;scale:.8 1}}@media(max-width:650px){.light-wildlife .animal{width:60px}.light-wildlife .dog{width:70px}.light-wildlife .butterfly{width:22px}}@media(prefers-reduced-motion:reduce){.light-wildlife .butterfly{animation:none}}
/* GEMA 360: reveal secondary controls only on request. */
.site-header .brand-small{font-size:8px;letter-spacing:.5px;max-width:210px}.site-header .brand{font-size:25px}.menu-toggle{margin-left:auto}.site-header .app-menu{position:absolute;right:4.5vw;top:85px;z-index:40;display:flex;flex-direction:column;align-items:stretch;min-width:225px;padding:10px;background:#fff8eafa;border:1px solid #d9cda9;box-shadow:0 12px 32px #193c3426;border-radius:16px}.app-menu[hidden],.route-panel[hidden],.music-options[hidden],.performance-settings[hidden]{display:none!important}.app-menu .button{justify-content:flex-start;text-align:left}.route-panel{position:absolute;bottom:65px;right:0;display:flex;flex-direction:column;gap:7px;padding:12px;background:#fff8eaf5;border:1px solid #d7c69e;border-radius:14px;min-width:190px;max-height:65vh;overflow:auto}.music-dock{padding:5px 9px!important;gap:4px!important}.music-dock #musicToggle{padding:9px;font-size:16px}.music-more{background:none;border:none;padding:6px;color:#34543e;cursor:pointer}.music-options{position:absolute;right:0;top:100%;background:#fff8eaf5;border:1px solid #d7c69e;padding:12px;border-radius:12px;display:flex;align-items:center}.journey-bar>span:last-child,.world-footer>#worldHint,#studentBadge{display:none!important}.mini-map{z-index:7}.world-footer #shelfButton{display:none!important}.performing #joystick,.performing #walkControls,.award-active #joystick,.award-active #walkControls{display:none!important}.performing .world-footer,.performing #journeyBar,.performing #roomDock{display:none!important}#performanceControls{width:auto;max-width:94vw;bottom:22px;padding:10px;gap:7px;border-radius:14px}#performanceControls>.button{font-size:12px;padding:10px 14px}.performance-settings{position:absolute;right:0;bottom:calc(100% + 10px);width:min(330px,88vw);max-height:65vh;overflow:auto;padding:16px;background:#fff8eafa;border:1px solid #d7c69e;border-radius:16px;box-shadow:0 8px 25px #183c3426;display:flex;flex-wrap:wrap;gap:8px}.performance-settings strong,.performance-settings small{width:100%}.performance-settings label{display:flex;gap:8px;align-items:center}.reading-comfort{padding:10px 22px;background:#e9ecd9;color:#315341}.reading-comfort summary{font-size:12px;cursor:pointer}.reading-comfort[open]{display:flex;flex-wrap:wrap;gap:15px}.reading-comfort label{font-size:12px;display:inline-flex;gap:8px;margin:10px;align-items:center}.reading-comfort select,.level-filter select{padding:8px;border:1px solid #bdc9ae;border-radius:8px;background:#fff9e9;color:#34543e}.level-filter{font-size:12px;display:flex;flex-direction:column;gap:6px}.story-text{line-height:var(--reading-line-height,1.8)!important;font-family:var(--reading-font,Georgia,serif)!important}.text-page[data-theme=white]{background:#fff!important;color:#23372c}.text-page[data-theme=dark]{background:#152f29!important;color:#fff6db}.text-page[data-theme=dark] .eyebrow,.text-page[data-theme=dark] .story-text{color:#fff6db}.story-text mark{background:transparent;color:inherit;border-radius:4px}.story-text mark.active-cue{background:#f4d571;color:#173c31;box-shadow:0 0 0 3px #f4d571}.cue-input{font:12px/1.7 monospace;width:100%;min-height:95px}.cue-note{font-size:11px;line-height:1.7;color:#62715c}.achievements-content{padding:20px 28px}.achievement-stats{display:flex;gap:14px;flex-wrap:wrap}.achievement-stats div{background:#e6ecd9;padding:18px;border-radius:14px;color:#315341;flex:1;min-width:100px}.achievement-stats strong{display:block;font-size:28px}.achievement-dialog .profile-note{padding:0 28px 20px}.park-access{display:flex;align-items:center;gap:10px}#roomHostActions label{margin:12px;display:inline-flex;gap:8px}#lessonActivity{padding:9px;border-radius:8px}.resume-tag{font-size:11px;color:#537452}.book-level{background:#e5ebd4;border-radius:7px;padding:3px 6px;font-size:10px}@media(max-width:720px){.site-header .brand{font-size:19px}.site-header .brand-small{font-size:6px;max-width:165px}.site-header .app-menu{right:15px;top:75px}.journey-bar{max-width:180px}.music-dock{top:91px!important;bottom:auto!important}.world-footer{bottom:18px}.reading-comfort label{margin:5px}#performanceControls>.button{font-size:10px;padding:9px}.performance-settings{width:290px}}

.cue-editor{padding:12px;background:#edf0e3;border-radius:10px;margin-top:12px}.cue-editor summary{cursor:pointer;font-size:13px;color:#34543e}.cue-row{display:grid;grid-template-columns:1fr 90px 90px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #d6ddc9}.cue-row span{font-size:12px;line-height:1.6}.cue-row input{width:100%;padding:8px;border:1px solid #c3cfb8;border-radius:6px;background:#fffaf0}@media(max-width:600px){.cue-row{grid-template-columns:1fr 75px 75px}}

.brand-logo{width:80px;height:58px;object-fit:contain;background:#fffdf5;border-radius:12px;padding:3px}.hero-logo{display:block;width:min(410px,80vw);height:auto;filter:drop-shadow(0 4px 10px #fff)}.intro h1{margin:12px 0 20px}.brand{gap:12px}.level-filter{min-width:150px}@media(max-width:650px){.hero-logo{width:260px}.brand-logo{width:60px;height:44px}.brand-small{max-width:180px}}

.light-wildlife .fish{width:34px;height:24px;z-index:2}

.story-text,.vocabulary-preview{font-family:Calibri,Carlito,Arial,sans-serif!important}.story-text{--reading-font:Calibri,Carlito,Arial,sans-serif}.vocabulary-red,.story-text mark.vocabulary-red{color:#bf202b!important;font-weight:600}.text-page[data-theme=dark] .vocabulary-red{color:#ff9e9e!important}.vocabulary-editor{margin:8px 0 16px;padding:12px;background:#f8f3e5;border:1px solid #dacdb4;border-radius:12px}.vocabulary-toolbar{display:flex;gap:8px;flex-wrap:wrap}.vocabulary-preview{font-size:19px;line-height:1.7;white-space:pre-wrap;padding:12px;background:#fffdf8;border-radius:8px}.light-name-tag{position:absolute;left:50%;top:-24px;transform:translateX(-50%);background:#153e34eb;border:1px solid #ead5a2;color:white;padding:5px 10px;border-radius:9px;font:600 12px/1.3 Arial,sans-serif;max-width:210px;min-width:70px;text-align:center;overflow-wrap:anywhere;pointer-events:none}.light-avatar{overflow:visible!important}.light-peer>span{max-width:180px;white-space:normal;overflow-wrap:anywhere}.world-image,.illustration-page img{image-rendering:auto}.accessory-color{display:flex;align-items:center;gap:10px}

.text-page[data-theme=dark] mark.active-cue.vocabulary-red{color:#a0101d!important}

:root{--forest:#204f43;--gold:#c6a966}.access-dialog{max-width:900px}.access-content{padding:25px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.access-grid section,.access-grid form{padding:25px;background:linear-gradient(145deg,#f9f4e8,#e9efe5);border:1px solid #d7ddca;border-radius:20px}.access-grid .button{margin:8px 0;display:flex}.access-grid label{display:grid;gap:8px;margin:16px 0;font-size:13px}.access-grid input{padding:12px;border-radius:10px;border:1px solid #b8c7b9;width:100%;box-sizing:border-box}.dialog{border-radius:24px;box-shadow:0 24px 80px #0e362d44}.button{transition:background .18s,box-shadow .18s}.button:hover{box-shadow:0 4px 15px #163d3325}.book-card{border-radius:20px;box-shadow:0 8px 24px #1f4b3912}.site-header .app-menu{backdrop-filter:blur(16px)}.light-name-tag{display:none!important}body[data-role=student] #teacherButton,body[data-role=none] #teacherButton,body[data-role=student] #createRoomForm,body[data-role=none] #createRoomForm{display:none!important}@media(max-width:700px){.access-grid{grid-template-columns:1fr}.access-content{padding:15px}.access-grid section,.access-grid form{padding:18px}}
.device-choices{display:flex;gap:10px;flex-wrap:wrap;max-width:430px;margin:16px 0}.device-choices>span{width:100%;font-size:12px;color:#345848}.device-choices button{flex:1;min-width:140px;background:#fffaf0;border:1px solid #becdbd;border-radius:14px;padding:12px;color:#23483d;font-weight:700;cursor:pointer}.device-choices button small{display:block;margin-top:5px;font-size:10px;font-weight:400}.device-choices button[aria-pressed=true]{background:#244f42;color:#fff5da;border-color:#cbb777;box-shadow:0 4px 15px #153c3326}body[data-device=pc] #joystick,body[data-device=pc] #turnControls{display:none!important}body[data-device=phone] .site-header .app-menu{max-width:280px}body[data-device=phone] #joystick{width:110px;height:110px}body[data-device=phone] .button{min-height:44px}body[data-device=phone] .intro h1 .hero-logo{width:min(300px,65vw)}.light-avatar>svg{width:82%;margin:0 auto;display:block}.light-peer>svg{width:82%;display:block;margin:auto}#teacherMonitor{position:fixed;right:18px;top:110px;z-index:18;width:290px;max-height:75vh;overflow:auto;padding:20px;border:1px solid #b6c8b7;border-radius:22px;background:#fffaf0f2;box-shadow:0 12px 35px #193c3429;backdrop-filter:blur(12px);color:#244e40}#teacherMonitor[hidden]{display:none}#teacherMonitor h2{font-size:23px;margin:8px 0}#teacherMonitor select{width:100%;padding:10px;margin:10px 0;border-radius:9px;border:1px solid #b6c8b7;background:white}#teacherMonitor p,#teacherMonitor label{font-size:12px}#teacherMonitor small{font-size:10px}.monitor-map{height:230px;position:relative;border:1px solid #b6c8b7;background:linear-gradient(#dde8df,#b8cda6);border-radius:12px;margin:14px 0;overflow:hidden}.map-building,.map-hall{position:absolute;border:1px solid #8aab9b;background:#fff8e5ad;text-align:center;font-size:10px;padding-top:10px;box-sizing:border-box}.map-building{left:25%;top:38%;width:50%;height:30%}.map-hall{left:34%;top:2%;width:32%;height:36%}#monitorDots{position:absolute;inset:0}.monitor-dot{position:absolute;width:12px;height:12px;min-height:0!important;padding:0;border-radius:50%;background:#2479b5;border:2px solid #fff;transform:translate(-50%,-50%);cursor:pointer}.teacher-monitoring #joystick,.teacher-monitoring #turnControls,.teacher-monitoring #walkControls,.teacher-monitoring .world-footer,.teacher-monitoring #journeyBar,.teacher-monitoring #playPrompt,.teacher-monitoring #seatPrompt{display:none!important}.teacher-monitoring #musicDock{display:none!important}.teacher-monitoring #roomDock{display:flex!important}.book-card{border:1px solid #dae1d2}.book-card-cover img{object-fit:cover}.dialog-top{background:linear-gradient(110deg,#f5efdf,#e3ebdf)}@media(max-width:720px){#teacherMonitor{right:10px;top:90px;width:230px;padding:13px;max-height:48vh}.monitor-map{height:160px}.device-choices{margin:10px 0}.device-choices button{padding:9px;min-width:120px}.intro{overflow-y:auto;max-height:calc(100vh - 110px)}.hero-logo{max-height:210px;object-fit:contain}}

body[data-role=teacher] #editAvatar{display:none!important}.teacher-monitoring .world-shade{opacity:0!important;pointer-events:none}
/* v21: bounded, scrollable landing content for short and narrow screens. */
#main{min-height:0}#intro{position:absolute;left:6vw;top:115px;bottom:20px;margin:0;width:440px;max-width:44vw;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:4px 12px 14px 0;box-sizing:border-box;scrollbar-width:thin}#intro h1{margin:8px 0 14px}#intro .hero-logo{display:block;width:auto;max-width:100%;height:clamp(110px,25dvh,220px);max-height:none;object-fit:contain;object-position:left center}#intro .intro-copy{max-width:100%;font-size:14px;line-height:1.65;margin-bottom:15px}#intro .eyebrow{font-size:10px;letter-spacing:1.5px}#intro .intro-foot{margin-top:22px}#intro .device-choices{margin:12px 0 16px;max-width:100%;gap:9px}#intro .device-choices button{min-width:0;padding:11px 9px;font-size:14px}#intro .device-choices button small{line-height:1.4}#intro .intro-actions{gap:12px;flex-wrap:wrap}#intro .intro-actions .button{font-size:13px;padding:13px 18px}.device-icon{width:22px;height:22px;vertical-align:middle;display:inline-block;margin-right:5px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:720px){.site-header{padding:20px 5vw}#intro{top:100px;left:6vw;bottom:16px;width:88vw;max-width:88vw;padding-right:8px}#intro .hero-logo{height:clamp(100px,24dvh,190px)}#intro .intro-copy{font-size:13px;line-height:1.6}#intro .intro-foot{margin-top:18px}#intro .device-choices button{font-size:13px}#intro .device-choices button small{font-size:10px}}@media(max-height:600px){#intro{top:85px;bottom:10px}#intro .hero-logo{height:100px}#intro .eyebrow{margin-bottom:3px}#intro .intro-copy{font-size:12px;margin-bottom:8px}#intro .intro-foot{display:none}#intro .device-choices{margin:8px 0}#intro .device-choices button{padding:8px}.site-header{padding-top:15px;padding-bottom:15px}}
.class-code-panel{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:22px 30px;background:linear-gradient(110deg,#1c4b3c,#356454);color:#fff5db}.class-code-panel .eyebrow{color:#e6d197}.class-code-panel h3{font:28px/1.3 Calibri,Arial,sans-serif;letter-spacing:3px;margin:5px 0}.class-code-panel p{font-size:12px}.class-code-actions{display:flex;gap:8px;flex-wrap:wrap;max-width:450px}.class-code-actions .button{background:#fff8e9;color:#214b3d;border-color:#e3d1a4}.class-code-actions .button:disabled{opacity:.45}#monitorEnd{width:100%;margin:8px 0;background:#a7443e;color:#fff;border:1px solid #923a34}#teacherMonitor{border-top:4px solid #c9ac65}.teacher-monitoring #teacherMonitor h2{font-family:Calibri,Arial,sans-serif}.room-members li{background:#eef2e8;border-radius:12px;margin:7px 0;padding:12px}.room-members li button{border-radius:9px}@media(max-width:720px){.class-code-panel{padding:18px;flex-direction:column;align-items:stretch}.class-code-panel h3{font-size:24px}.class-code-actions{max-width:none}.class-code-actions .button{flex:1;font-size:11px}}

/* GEMA 360 v23: role selection and reactions */
.cosmic-access{width:min(1100px,96vw);max-width:1100px;background:radial-gradient(ellipse at top,#fff 20%,#e3f7ff 70%,#bde9ff);padding:44px 30px;color:#123d95;border:2px solid #e6f8ff}.cosmic-access h2{text-align:center;font-family:Arial,sans-serif;font-weight:800;color:#164ca8}.cosmic-close{position:absolute;right:12px;top:10px}.role-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px auto 8px;max-width:920px}.role-card{background:#fff;border:2px solid #fff;border-radius:36px;padding:12px 16px 20px;box-shadow:0 10px 28px #49b9df33;cursor:pointer;color:#061e88}.role-art{display:block;height:235px;border-radius:24px;background-repeat:no-repeat}.teacher-art{background-image:url(assets/teacher-reference.jpeg);background-size:190%;background-position:50% 17%}.pupil-art{background-image:url(assets/role-reference.jpeg);background-size:215%;background-position:99% 56%}.role-card strong{display:block;font-size:40px;margin:8px}.role-cta{display:block;background:linear-gradient(#168bff,#0045ee);border:3px solid #36b0ff;border-radius:40px;color:white;padding:15px;font-size:24px;font-weight:800}.pupil-cta{background:linear-gradient(#12d5dc,#00a6b5);border-color:#3de3e8}.cosmic-login{max-width:560px;margin:0 auto;background:#fff;border-radius:34px;padding:24px;box-shadow:0 10px 28px #49b9df33}.cosmic-login h2{font-size:36px;margin:8px 0}.cosmic-login>p{text-align:center}.cosmic-login .button{display:block;width:100%;margin-top:14px;border-radius:32px}.cosmic-login input{border:2px solid #9bc6f3;border-radius:18px;padding:15px;color:#123d95}.teacher-portrait{height:180px;background:url(assets/teacher-reference.jpeg) 50% 17%/180% no-repeat;border-radius:24px}.role-back{margin-bottom:12px}.or-divider{color:#718ab2}#emojiTray{position:fixed;right:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:5px;z-index:28;background:#fff9;padding:7px;border-radius:25px;backdrop-filter:blur(8px)}#emojiTray[hidden]{display:none}#emojiTray button{border:0;background:transparent;font-size:25px;padding:3px;cursor:pointer;border-radius:50%}#emojiTray button:hover{background:white;transform:scale(1.12)}.light-name-tag{position:absolute;top:-20px;left:50%;transform:translateX(-50%);white-space:nowrap;color:white;background:none!important;font:13px Arial;text-shadow:0 1px 3px #000;pointer-events:none}.light-name-tag:before{content:attr(data-emoji);position:absolute;bottom:23px;left:50%;transform:translateX(-50%);font-size:28px}.avatar-emoji{position:absolute;top:-60px;left:50%;font-size:28px}body.teacher-monitoring #emojiTray{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:600px){.cosmic-access{padding:40px 14px 20px}.role-cards{gap:12px;grid-template-columns:1fr}.role-art{height:160px}.role-card strong{font-size:28px}.role-cta{font-size:20px;padding:10px}.role-card{max-width:360px;width:100%;margin:auto}.cosmic-login{padding:18px}.cosmic-login h2{font-size:28px}.teacher-portrait{height:140px}#emojiTray{right:5px;padding:4px}#emojiTray button{font-size:22px}}

.image-book-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3px;background:#c3a77d;padding:12px;margin:15px;border-radius:12px;max-height:70vh;overflow:auto}.image-book-spread[hidden],.open-book[hidden]{display:none}.image-book-leaf{min-width:0;background:#fffdf7;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-shadow:0 1px 6px #0002}.image-book-leaf img{width:100%;height:min(52vh,620px);object-fit:contain}.image-book-leaf small{display:block;margin:6px;font:13px Arial;color:#53645e}.image-book-leaf audio{display:block;width:100%;height:40px;margin-top:auto}.image-book-spread.single-cover{grid-template-columns:minmax(0,1fr);max-width:650px;margin:15px auto}.image-book-spread.single-cover img{height:56vh}.back-cover-editor{border:1px solid #d6dfd6;padding:15px;border-radius:15px;margin-bottom:20px}#teacherBookFormat{width:100%;margin-bottom:12px}@media(max-width:600px){.image-book-spread{margin:5px;padding:5px;gap:2px}.image-book-leaf{padding:3px}.image-book-leaf img{height:42vh}.image-book-leaf audio{height:40px}.image-book-leaf small{font-size:11px}}
.teacher-art{background-size:310%;background-position:50% 17%}.pupil-art{background-size:310%;background-position:83% 54%}.teacher-portrait{background-size:280%;background-position:50% 16.5%}.cosmic-access{background-image:radial-gradient(circle at 5% 4%,#25b4f8 0 35px,#94e7ff 36px 55px,transparent 56px),radial-gradient(circle at 94% 91%,#45c4ff 0 48px,#a4e9ff 49px 70px,transparent 71px),radial-gradient(ellipse at top,#fff 20%,#e3f7ff 70%,#bde9ff)}
.cosmic-login>label{display:block;font-weight:700}.cosmic-login>label input{display:block;width:100%;margin-top:8px}.cosmic-login .button.primary{background:linear-gradient(#168bff,#0045ee);border:3px solid #36b0ff;color:white;font-size:20px;padding:13px}.cosmic-login #guestAccess{background:#e3fbff;border:2px solid #14baca;color:#057894;font-size:17px;padding:13px}.cosmic-access:before{content:'★';position:absolute;right:8%;top:6%;font:40px Arial;color:#ffcd32;text-shadow:0 3px 8px #ffd22d55;pointer-events:none}.cosmic-access:after{content:'✦';position:absolute;left:5%;bottom:4%;font:32px Arial;color:#ffce36;pointer-events:none}
/* GEMA 360 v24 */
.teacher-dialog{width:min(1280px,97vw);background:#f6faf8}.teacher-tabs{display:flex;gap:7px;overflow-x:auto;padding:14px 22px;background:#e7f1ed;border-block:1px solid #d0e1da;position:sticky;top:0;z-index:2}.teacher-tabs button{border:1px solid #c4dad0;border-radius:13px;background:white;color:#32584c;padding:12px 16px;white-space:nowrap;cursor:pointer;font-weight:700}.teacher-tabs button[aria-selected=true]{background:#245e4d;color:#fff;border-color:#245e4d;box-shadow:0 4px 10px #245e4d22}.teacher-tab-page{padding:22px;min-height:45vh}.teacher-tab-page[hidden]{display:none!important}.teacher-tab-page>h3{font-size:23px;margin:0 0 18px}.teacher-tab-page .teacher-body{margin-top:15px;border:1px solid #d5e4dc;border-radius:18px;overflow:hidden}.teacher-tab-page .music-settings{margin:12px 0;background:white;border-radius:18px;box-shadow:0 4px 20px #26473808}.teacher-tab-page #createRoomForm{display:none!important}.pdf-upload{padding:18px;background:#edf6ff;border:1px solid #c1dcf0;border-radius:17px;margin:18px 0}.pdf-upload h3{margin-top:0}.page-thumb{max-height:260px;max-width:230px;object-fit:contain;border-radius:10px}.page-editor{border:1px solid #d1e2d8;box-shadow:0 4px 18px #18372c06;background:#fff;border-radius:18px}#roomMembers li{gap:10px;flex-wrap:wrap}.image-book-spread{box-shadow:0 10px 28px #273d2622;background:linear-gradient(90deg,#e8dac1,#b8a17c 50%,#eee3cd)}.image-book-leaf{border-radius:4px}.image-book-leaf img{height:min(61vh,760px)}#landscapeHint{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#133e39f5;color:white;text-align:center;padding:28px}#landscapeHint[hidden]{display:none}#landscapeHint span{font-size:85px;color:#f5cf77}#landscapeHint .button{color:white;border-color:#b7d4ca}@media(max-height:520px) and (orientation:landscape){.dialog{max-height:95dvh}.cosmic-access{padding:22px 16px}.role-cards{grid-template-columns:1fr 1fr;margin:8px auto;gap:16px}.role-art{height:95px}.role-card{padding:7px}.role-card strong{font-size:24px;margin:4px}.role-cta{padding:7px;font-size:16px}.cosmic-access h2{font-size:23px;margin:0 0 8px}.teacher-portrait{display:none}.cosmic-login{padding:12px 20px}.cosmic-login h2{font-size:24px}.cosmic-login .button{margin-top:7px;padding:7px!important}.cosmic-login input{padding:8px}.cosmic-login>p{margin:5px}.image-book-leaf img{height:55vh}.reader-top,.reader-bottom{padding:8px}.teacher-tabs{padding:8px}.teacher-tabs button{padding:8px;font-size:12px}.teacher-tab-page{padding:12px}#emojiTray{gap:0;right:5px;padding:3px}#emojiTray button{font-size:20px;padding:1px}}
.light-name-tag{display:block!important;border:0;padding:0;border-radius:0}

#createRoomForm{display:none!important}.release-version{font:600 13px Arial;color:#657e73;border:1px solid #bcd1c7;border-radius:20px;padding:4px 9px;vertical-align:middle}#teacherRoomHost #roomSession{padding:20px;border:1px solid #d0e1d8;background:white;border-radius:18px;margin-top:18px}#teacherRoomHost #roomMembers{max-height:45vh;overflow:auto}#teacherRoomHost #leaveRoom{display:none}#teacherLogout{margin-top:8px}.room-columns{grid-template-columns:1fr}
/* Keep orientation guidance out of the touch path after rotation. */
@media(orientation:landscape){#landscapeHint{display:none!important;pointer-events:none!important}}
body[data-device=phone] button,body[data-device=phone] select,body[data-device=phone] input,body[data-device=phone] summary{touch-action:manipulation}
html:fullscreen{width:100%;height:100%;overflow:hidden}
html:fullscreen body{width:100%;height:100dvh}

/* GEMA 360 v27: compact expressive controls */
#emojiTray,#actionTray{position:fixed;right:12px;z-index:28;padding:5px;background:#fffc;border:1px solid #d6e5dc;border-radius:18px;box-shadow:0 6px 22px #16382c22}#emojiTray{top:42%;transform:none}#actionTray{top:calc(42% + 65px)}#actionTray[hidden]{display:none}#emojiToggle{font-size:33px!important;width:50px;height:50px}#actionToggle{font-size:13px;padding:12px 6px;min-width:50px}#emojiChoices,#actionChoices{position:absolute;right:66px;top:0;background:#fffef8;border:1px solid #d5dfd4;box-shadow:0 8px 25px #153e3433;border-radius:17px;padding:10px;display:grid;gap:6px;width:210px}#emojiChoices{grid-template-columns:repeat(4,1fr)}#emojiChoices[hidden],#actionChoices[hidden]{display:none}#emojiChoices button{font-size:30px;padding:7px}#actionChoices button{border:0;padding:11px;border-radius:10px;background:#edf5f0;color:#214c3c;text-align:left;font-weight:600;cursor:pointer}#actionChoices button:disabled{opacity:.4;cursor:not-allowed}.light-name-tag:before{font-size:54px;bottom:24px;filter:drop-shadow(0 2px 3px #132f39);line-height:1.2}.avatar-emoji{font-size:54px;top:-90px;transform:translateX(-50%);filter:drop-shadow(0 2px 3px #132f39)}.waiting-dialog{width:min(650px,94vw)}.waiting-body{padding:25px}.waiting-body>p{line-height:1.7}#waitingMembers{padding:0;list-style:none;max-height:40vh;overflow:auto}#waitingMembers li{padding:11px 15px;background:#edf5f0;border-radius:10px;margin:6px 0}#waitingCode{font-size:23px;font-weight:700;color:#245641}#startClass{font-size:18px;min-width:110px}.light-avatar[data-action=wave] .right-arm,.light-peer[data-action=wave] .right-arm{transform-origin:147px 135px;animation:gesture-wave .55s infinite alternate}.light-avatar[data-action=thumbs] .right-arm,.light-peer[data-action=thumbs] .right-arm{transform-origin:147px 135px;transform:rotate(-105deg)}[data-action=clap] .left-arm{transform-origin:72px 135px;animation:gesture-clap .25s infinite alternate}[data-action=clap] .right-arm{transform-origin:147px 135px;animation:gesture-clap-right .25s infinite alternate}[data-action=cheer] .left-arm{transform-origin:72px 135px;transform:rotate(150deg)}[data-action=cheer] .right-arm{transform-origin:147px 135px;transform:rotate(-150deg)}.light-avatar[data-action=jump],.light-peer[data-action=jump]{animation:gesture-jump .6s infinite}@keyframes gesture-wave{from{transform:rotate(-135deg)}to{transform:rotate(-165deg)}}@keyframes gesture-clap{from{transform:rotate(-40deg)}to{transform:rotate(-70deg)}}@keyframes gesture-clap-right{from{transform:rotate(40deg)}to{transform:rotate(70deg)}}@keyframes gesture-jump{0%,100%{translate:0 0}50%{translate:0 -35px}}@media(max-height:520px) and (orientation:landscape){#emojiTray{top:30%;right:6px}#actionTray{top:calc(30% + 58px);right:6px}#emojiChoices,#actionChoices{max-height:65vh;overflow:auto}#emojiToggle{width:42px;height:42px}}

#teacherMonitor label{display:block;font-weight:700;margin-top:18px}#monitorStudent{display:block;width:100%;min-height:48px;margin:8px 0 12px;border:2px solid #397968;border-radius:12px}#teacherMonitor[data-following="true"] #monitorLocation{padding:12px;background:#e1f4e9;border-radius:12px;font-weight:700}.monitor-dot.selected{outline:3px solid #e7b84c;outline-offset:3px}

/* v29 compact live map and a separate teacher menu */
#roomDock,.teacher-monitoring #roomDock{display:none!important}
#teacherMonitor{width:200px;top:100px;right:18px;padding:10px;border:1px solid #d4e6df;border-radius:20px;background:#ffffffed;overflow:visible;max-height:none;box-shadow:0 8px 30px #163e3422}
#teacherMonitor .monitor-map{height:170px;margin:0 0 8px;border:1px solid #bcd9ca;border-radius:14px;background:radial-gradient(ellipse at 25% 80%,#e0e9ab,transparent 40%),linear-gradient(145deg,#dfefdf,#b7dac7)}
#monitorMenuToggle{width:100%;min-height:42px;font-size:12px;border-radius:12px}
#monitorMenu{position:absolute;right:0;top:0;width:320px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 125px);overflow:auto;padding:20px;box-sizing:border-box;border:1px solid #bed8ce;border-radius:20px;background:#fffef9;box-shadow:0 20px 65px #173d3440;z-index:2}
#monitorMenu[hidden]{display:none}.monitor-menu-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}#monitorMenu .eyebrow{font-size:10px;letter-spacing:2px}#monitorMenu h2{font-size:23px;margin:4px 0}#monitorMenu .button{width:100%;margin:5px 0;min-height:44px;border-radius:12px;font-size:13px}#monitorMenu hr{border:0;border-top:1px solid #dae7df;margin:14px 0}#monitorMenu label{font-size:13px}#monitorMenu #monitorStudent{font-size:14px}#monitorCount{color:#527267}.map-garden{position:absolute;right:4%;bottom:12%;font-size:9px;color:#466f51}.monitor-dot{transition:left .15s linear,top .15s linear;box-shadow:0 2px 4px #20453344}.monitor-dot:focus-visible{outline:3px solid #e7b84c;outline-offset:3px}
.button{transition:background .15s,box-shadow .15s}.button:focus-visible{outline:3px solid #cfac58;outline-offset:3px}.class-code-panel{border-radius:18px;margin:0 18px 18px;box-shadow:0 8px 25px #193e3415}.teacher-tabs{gap:8px}.dialog-top{border-bottom:1px solid #dce6db}
@media(max-width:720px),(max-height:500px){#teacherMonitor{width:140px;top:75px;right:10px;padding:7px;border-radius:16px}#teacherMonitor .monitor-map{height:116px;margin-bottom:6px}#monitorMenuToggle{font-size:10px;padding:6px;min-height:38px}#monitorMenu{position:fixed;right:10px;top:65px;max-height:calc(100dvh - 78px);width:300px;padding:16px}.map-building,.map-hall{font-size:8px;padding-top:5px}.monitor-dot{width:11px;height:11px}}

#turnControls{display:none!important}.gather-map{position:absolute;z-index:2;padding:3px 5px;min-height:24px;border:1px solid #285d4b;border-radius:7px;background:#fdf8e8;color:#214e3d;font:600 9px Calibri,Arial,sans-serif;cursor:pointer;box-shadow:0 2px 5px #183f3420}.gather-map:disabled{opacity:.45;cursor:default}.gather-hall{left:39%;top:21%}.gather-gallery{left:39%;top:52%}.gather-park{right:2%;bottom:0}#monitorDots{pointer-events:none}.monitor-dot{pointer-events:auto}#teacherMonitor .map-garden{bottom:21%;right:4%}@media(max-width:720px),(max-height:500px){.gather-map{font-size:8px;padding:2px 3px;min-height:23px}}

.teacher-monitoring.teacher-free-camera #joystick,.teacher-monitoring.teacher-free-camera #walkControls{display:block!important}body[data-device=pc].teacher-free-camera #joystick{display:none!important}.teacher-free-camera #worldHint{display:block}.teacher-free-camera #turnControls{display:none!important}

#teacherRoster{position:fixed;left:14px;top:110px;z-index:18;width:210px;box-sizing:border-box;padding:14px;background:#fffef5f5;border:1px solid #c4d9ce;border-radius:18px;box-shadow:0 8px 25px #234b3420}#teacherRoster[hidden]{display:none}#teacherRoster h2{font:700 17px Calibri,Arial,sans-serif;margin:0 0 8px;color:#244e40}#rosterHint{font-size:12px;line-height:1.4;color:#456957}#rosterNames{display:flex;flex-direction:column;gap:6px;max-height:35dvh;overflow:auto}#rosterNames button{padding:10px;text-align:left;border:1px solid #cadbd0;border-radius:10px;background:#f0f5ee;color:#284c3b;cursor:pointer;overflow-wrap:anywhere}#rosterNames button[aria-pressed=true]{background:#265e4c;color:white;border-color:#265e4c}#teacherRoster>.button{width:100%;margin-top:8px;font-size:12px;padding:10px;min-height:40px}#teacherRoster .button:disabled{opacity:.45;cursor:default}@media(max-width:720px),(max-height:500px){#teacherRoster{top:75px;left:8px;width:155px;padding:10px}#teacherRoster h2{font-size:14px}#rosterNames{max-height:25dvh}#rosterNames button{font-size:12px;padding:8px}#rosterHint{font-size:10px}#teacherRoster>.button{font-size:11px;min-height:38px;padding:8px}}

/* Keep teacher overlays clear of the main menu, with automatic restoration on close. */
body:has(#appMenu:not([hidden])) #teacherMonitor,body:has(#appMenu:not([hidden])) #teacherRoster{display:none!important}
.site-header .app-menu{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}
@media(max-height:500px){.site-header .app-menu{max-height:calc(100dvh - 85px)}}

/* GEMA 360 v36: unobstructed countdown and performance input policy. */
.performance-countdown{position:fixed;inset:0;z-index:1200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(16,43,33,.35);pointer-events:none;color:#fff;text-shadow:0 4px 22px #143c30}
.performance-countdown[hidden]{display:none}.performance-countdown span{font-size:clamp(90px,20vmin,220px);font-weight:800;line-height:1}.performance-countdown small{font-size:clamp(16px,3vmin,26px);font-weight:700}
.performance-locked #joystick,.performance-locked #walkControls,.performance-locked #turnControls{display:none!important}
.reaction-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.reaction-audio-card{padding:20px;border:1px solid #d7dfd8;border-radius:18px;background:#fbfaf3}.reaction-audio-card label{display:grid;gap:8px;margin:14px 0}.reaction-audio-card audio{width:100%}

.performance-locked #guideButton,.performance-locked #routeToggle,.performance-locked #routePanel{display:none!important}

.communication-launch{margin-left:auto;margin-right:12px;white-space:nowrap}.communication-launch[hidden]{display:none}.communication-dialog{width:min(1020px,94vw);max-height:92dvh}.communication-body{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.voice-panel,.chat-panel{min-width:0}.voice-actions{display:flex;flex-wrap:wrap;gap:8px}.voice-help{font-size:.9rem;color:#596f64}.mic-live{background:#e1f6e9!important;color:#155b3d!important;border-color:#43a879!important}.voice-student-row{padding:12px 0;border-bottom:1px solid #dde5de}.voice-student-row label{display:grid;gap:6px}.communication-messages{height:280px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #d5dfd8;border-radius:14px;padding:12px;background:#f3f6ef}.chat-message{background:#fff;border-radius:12px;padding:10px 12px;margin:0 0 10px;overflow-wrap:anywhere}.chat-message.mine{background:#ddf2e9}.chat-message header{display:flex;gap:10px;justify-content:space-between;font-size:.8rem;color:#4f675b}.chat-message p{margin:6px 0 0;white-space:pre-wrap}.chat-send-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}#communicationForm textarea{width:100%;box-sizing:border-box}#voiceLiveBadge{font-size:.85rem;padding:8px 12px;border-radius:10px;background:#eee}
@media(max-width:700px){.communication-body{grid-template-columns:1fr;padding:16px;gap:18px}.communication-launch{font-size:12px;padding:10px;margin-right:5px}.communication-dialog{width:96vw}.communication-messages{height:200px}}
@media(max-height:500px) and (min-width:701px){.communication-dialog{max-height:96dvh}.communication-body{padding:12px}.communication-messages{height:150px}}

.communication-dialog textarea,.voice-student-row select{font:inherit;background:#fff;color:#263f34;border:1px solid #bdcec3;border-radius:12px;padding:12px}.communication-dialog textarea:focus,.voice-student-row select:focus{outline:2px solid #2d8c73;outline-offset:2px}.voice-student-row select{width:100%;box-sizing:border-box}.communication-dialog label{display:block;font-size:.9rem;margin:8px 0}.communication-dialog .button{min-height:42px}.communication-dialog #voiceTeacherControls{margin-top:18px}

.light-talk-circle{position:absolute;left:50%;bottom:22%;transform:translateX(-50%);width:190px;height:80px;border-radius:50%;border:4px solid #27bdb5;background:#d6fff1b8;color:#135f58;font-weight:700;z-index:3}.light-talk-circle.inside{box-shadow:0 0 25px #6ffff5}

.light-auto-play-pad{position:absolute;z-index:2;aspect-ratio:3/1;transform:translateX(-50%);border:4px solid #54d88a;border-radius:50%;background:#75ed9940;box-shadow:0 0 18px #4cd88480;cursor:pointer}.light-auto-play-pad[hidden]{display:none}.play-prompt:not(button){pointer-events:none;background:#ecfff0f0;border:1px solid #74bb8e;color:#174a34;border-radius:18px;padding:12px 18px;text-align:center;max-width:85vw}

.light-avatar>canvas,.light-peer>canvas{display:block;width:100%;height:auto;filter:drop-shadow(0 7px 4px #183d3426)}.light-spectator img{display:block;width:100%;height:auto;filter:drop-shadow(0 3px 3px #1c3c3520)}.light-audience-seating.empty .light-spectator img{visibility:hidden}.light-audience-seating{background:linear-gradient(#bba47e66,#eddbc099),repeating-linear-gradient(90deg,#bd9d7633 0 2px,transparent 2px 70px),repeating-linear-gradient(0deg,#dbc6a0 0 40px,#b9a27c 41px 42px);box-shadow:inset 0 8px 20px #68563e18}.light-audience-seating[data-view=stage]{background:linear-gradient(#b79e7d,#e4c79c)}.light-spectator:before{box-shadow:0 4px 7px #1e312832;background:linear-gradient(110deg,#8d9f87,#547a67)}.light-avatar.walking>canvas{animation:avatar-soft-step .45s ease-in-out infinite alternate}@keyframes avatar-soft-step{to{transform:translateY(-3px)}}

#world .light-avatar>canvas,#world .light-peer>canvas{width:100%;height:auto}.exploring .journey-bar,.exploring .music-dock,.exploring .app-menu,.exploring .route-choices{background:#fffcf0ed;border-color:#d8d0b9;box-shadow:0 8px 28px #25483a20;backdrop-filter:blur(16px)}.exploring .world-shade{background:linear-gradient(180deg,#fbf7e94d,transparent 24%,transparent 77%,#f5efe94d)}.exploring .station-hotspot,.exploring .door-hotspot{box-shadow:0 5px 18px #1e443b2b;border-color:#d5d8c4}.character-studio .studio-option-panel{background:#fffef5e8;box-shadow:0 6px 24px #324a3520}.character-studio .wardrobe-card{box-shadow:0 2px 7px #394b2b0b}.character-studio .wardrobe-card[aria-pressed=true]{box-shadow:0 0 0 1px #266b5f19,0 4px 12px #266b5f18}.light-led-frame{border-radius:6px;border-color:#213e38;box-shadow:0 3px 0 2px #c9ae6e,0 12px 26px #173d352e}.light-hall-banner{box-shadow:0 0 18px #ecf5ed20}

#world .light-poster-boards{inset:0;display:block;max-width:none;width:100%;overflow:visible;pointer-events:none}#world .light-poster-board{position:absolute;width:clamp(66px,7.4vw,102px);max-width:20vw;pointer-events:auto;transform:translateX(-50%) perspective(600px) rotateY(-7deg);border-width:2px;border-radius:4px;padding:5px;box-shadow:0 10px 14px #203b342b}#world .light-poster-board[hidden]{display:none}#world .light-poster-board img{height:auto;max-height:140px;aspect-ratio:3/4}#world .light-poster-board span{font-size:10px;line-height:1.25}.light-wildlife .fish{width:48px}

#world .light-audience-seating{background:#d4bc96 url('./assets/hall-floor-v47.svg') center/100% 100%;box-shadow:inset 0 5px 15px #70543120}#world .light-audience-seating[data-view=stage]{background:#d4bc96 url('./assets/hall-floor-v47.svg') center/100% 100%}#world .light-spectator:before,#world .light-spectator:after{display:none}

#world .light-audience-seating.empty .light-spectator img{visibility:visible}

#world .light-avatar.award-jumping>canvas{animation:award-hop .65s ease-in-out infinite;transform-origin:50% 90%}@media(prefers-reduced-motion:reduce){#world .light-avatar.award-jumping>canvas,#world .light-avatar.walking>canvas{animation:none}}
