:root{color:#edf3f7;--bg:#111a22;--chrome:#192631;--raised:#23323e;--border:#344956;--ink:#edf3f7;--muted:#a9bcc9;--accent:#8de4cb;--paper:#fff;--surround:#e9eff2;background:#111a22;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px}*{box-sizing:border-box}html,body,main{background:var(--bg);min-height:100%;margin:0}body{overflow:hidden}button,input,textarea,select{font:inherit}button{border:1px solid var(--border);background:var(--raised);min-height:44px;color:var(--ink);cursor:pointer;border-radius:8px;padding:.55rem .8rem}button:hover{border-color:var(--accent)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}.app-header{background:var(--chrome);border-radius:8px;align-items:center;gap:14px;height:48px;margin:8px 8px 0;padding:0 4px 0 12px;display:flex}.app-header strong{font-size:1.125rem}.connection-status{color:var(--muted);margin-left:auto;font-size:.875rem}.connection-status i{background:#72808a;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.connected i{background:var(--accent)}.header-actions{gap:4px;display:flex}.icon-button{width:44px;padding:0;font-size:1.15rem}.entry-card{background:var(--chrome);border:1px solid var(--border);border-radius:12px;width:min(440px,100vw - 32px);margin:12vh auto;padding:28px}.entry-card h1{margin-top:0}.entry-card p{color:var(--muted);line-height:1.5}.entry-card form{gap:10px;display:grid}.entry-card input{border:1px solid var(--border);height:46px;color:var(--ink);background:#101820;border-radius:8px;padding:0 12px}.entry-card form button{background:var(--accent);color:#102a26;font-weight:700}.classroom{grid-template-columns:minmax(0,1fr) clamp(180px,22vw,300px);gap:10px;min-width:0;height:calc(100dvh - 64px);min-height:0;padding:10px 8px 8px;display:grid}.lesson{grid-template-rows:44px minmax(0,1fr) 26px;min-width:0;min-height:0;display:grid}.lesson-tabs-wrap{background:var(--chrome);border-radius:8px 8px 0 0;min-width:0;display:flex;overflow:hidden}.lesson-tabs{scrollbar-width:thin;min-width:0;display:flex;overflow-x:auto}.lesson-tabs button{white-space:nowrap;text-overflow:ellipsis;text-align:left;background:0 0;border:0;border-radius:0;flex:0 180px;min-width:120px;max-width:220px;height:44px;position:relative;overflow:hidden}.lesson-tabs button[aria-selected=true]{background:var(--surround);color:#203644}.lesson-tabs button[aria-selected=true]:after{content:"";background:var(--accent);height:3px;position:absolute;bottom:0;left:0;right:0}.add-tab{border:0;border-left:1px solid var(--border);border-radius:0;flex:0 0 44px}.student .lesson-tabs-wrap{display:none}#lesson-stage{background:var(--surround);overscroll-behavior:contain;border-radius:0 0 8px 8px;min-width:0;min-height:0;scroll-padding-bottom:64px;position:relative;overflow:auto}.student #lesson-stage{border-radius:8px;overflow:hidden}.lesson-empty{text-align:center;color:#617681;place-content:center;height:100%;padding:24px;display:grid}.lesson-empty h1{color:#203644;margin:.6rem 0 .3rem;font-size:clamp(1.35rem,3vw,2rem)}.lesson-empty p{margin:0}.empty-mark{color:#35515d;background:#d7e3e7;border-radius:14px;place-items:center;width:52px;height:52px;margin:auto;font-weight:800;display:grid}.lesson-caption{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:4px 8px 0;font-size:.875rem;display:flex}.document-pages{flex-direction:column;align-items:center;gap:12px;min-height:100%;padding:14px;display:flex}.pdf-page{background:#fff;max-width:none;display:block;box-shadow:0 2px 12px #1c2a3340}.image-page{justify-content:center;align-items:flex-start;min-height:100%;padding:14px;display:flex}.image-page img{background:#fff;max-width:none;height:auto;display:block;box-shadow:0 2px 12px #1c2a3340}.obs-stage{height:100%;color:var(--ink);text-align:center;background:#081015;place-items:center;display:grid}.obs-stage video{object-fit:contain;width:100%;height:100%}.stage-overlay{z-index:4;color:#fff;pointer-events:none;background:#111a227d;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.pdf-controls{z-index:5;border:1px solid var(--border);background:#192631ed;border-radius:9px;align-items:center;gap:4px;height:44px;padding:0 5px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #0006}.pdf-controls button{height:38px;min-height:38px;padding:0 10px}.pdf-controls input{text-align:center;border:1px solid var(--border);border-radius:6px;width:45px;height:34px}.pdf-controls output{text-align:center;min-width:45px}.student .pdf-controls{display:none!important}.rail{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;display:grid}.video-tile{aspect-ratio:4/3;background:var(--chrome);border:1px solid var(--border);border-radius:8px;margin:0;position:relative;overflow:hidden}.video{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.video video{object-fit:cover;width:100%;height:100%}.video audio{display:none}.video-tile h2{background:#0d161dcc;border-radius:5px;margin:0;padding:4px 7px;font-size:.875rem;font-weight:600;position:absolute;bottom:6px;left:6px}.join-overlay{background:var(--accent);color:#102a26;white-space:nowrap;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.joined .join-overlay{display:none}.chat-card{background:var(--chrome);border:1px solid var(--border);border-radius:8px;grid-template-rows:32px minmax(0,1fr) auto;min-height:0;display:grid;position:relative;overflow:hidden}.chat-heading{justify-content:space-between;align-items:center;padding:0 9px;display:flex}.chat-heading h2{margin:0;font-size:.875rem}.chat-log{overscroll-behavior:contain;min-height:0;padding:5px 8px;overflow:auto}.chat-empty{color:var(--muted);text-align:center;padding:12px 4px;font-size:.875rem}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;background:#293c4b;border-radius:8px;max-width:92%;margin:5px 0;padding:7px 9px}.bubble.teacher{background:#244a49;margin-left:auto}.bubble b{color:#c4d6df;margin-bottom:2px;font-size:.75rem;display:block}.bubble small{color:var(--muted);margin-top:3px;font-size:.75rem;display:block}.chat-form{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) 58px;gap:5px;padding:6px;display:grid}.chat-form textarea{resize:none;border:1px solid var(--border);min-height:44px;max-height:92px;color:var(--ink);background:#101820;border-radius:7px;padding:10px}.chat-form button{background:var(--accent);color:#102a26;padding:0 5px}.new-message{background:var(--accent);color:#102a26;min-height:34px;position:absolute;bottom:62px;left:50%;transform:translate(-50%)}.compact-chat{width:100%}.drawer-backdrop{z-index:20;background:#0008;position:fixed;inset:0}.drawer{z-index:21;background:var(--chrome);border-left:1px solid var(--border);width:min(340px,100vw);height:100dvh;padding:12px;position:fixed;top:0;right:0;overflow:auto;box-shadow:-8px 0 28px #0007}.drawer-heading{justify-content:space-between;align-items:center;display:flex}.drawer h2,.drawer h3{margin:.55rem 0}.drawer section,.drawer{flex-direction:column;gap:8px;display:flex}.drawer label{color:var(--muted);gap:4px;font-size:.875rem;display:grid}.drawer select{height:44px;color:var(--ink);border:1px solid var(--border);background:#101820;border-radius:7px}.drawer p{color:var(--muted);font-size:.875rem;line-height:1.45}.danger{background:#552c31;border-color:#9b5b5b}.meter{background:#101820;border-radius:9px;height:9px;overflow:hidden}.meter span{background:var(--accent);width:0;height:100%;display:block}#message{z-index:30;color:#fff;background:#6d282d;border-radius:7px;max-width:min(680px,90vw);margin:0;padding:8px 12px;position:fixed;bottom:10px;left:50%;transform:translate(-50%)}#message:empty{display:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (height<=650px){.rail{grid-template-rows:auto 48px auto}.chat-card{display:none}.compact-chat{display:block!important}.rail.chat-open .chat-card{z-index:18;grid-template-rows:44px minmax(0,1fr) auto;display:grid;position:fixed;inset:56px 8px 8px}.rail.chat-open .compact-chat{display:none!important}.rail.chat-open .chat-close{display:block}.classroom{grid-template-columns:minmax(0,1fr) min(300px,66.6667dvh - 88px)}}@media (width<=600px){.classroom{grid-template-columns:minmax(0,1fr) min(29vw,180px);gap:7px}.app-header{margin-left:5px;margin-right:5px}.lesson-caption{font-size:.75rem}.pdf-controls{max-width:calc(100% - 12px);overflow-x:auto}.pdf-controls button{padding:0 7px}.video-tile h2{font-size:.75rem}.chat-form{grid-template-columns:minmax(0,1fr) 48px}.chat-form button{font-size:.75rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}#moonlight-cinema{background:linear-gradient(#160e23bd,#160e23ed),url(/magic-studio/workshop.png) 50%/cover;border:1px solid #d5ae72;width:min(1000px,95vw);max-height:94dvh;padding:28px;overflow:auto;box-shadow:inset 0 0 80px #05020abb,0 25px 90px #000c}#moonlight-cinema header{justify-content:space-between;align-items:center;gap:12px;display:flex}#moonlight-cinema h2{color:#ffe2a7;margin:0;font:clamp(27px,4vw,43px) Georgia,serif}.cinema-invitation{text-align:center;color:#e9cda4;font:italic 19px Georgia,serif}.cinema-curtains{background:#08060e;border:2px solid #b78b50;border-radius:14px;min-height:260px;margin:22px 0;padding:0 32px;position:relative;overflow:hidden;box-shadow:0 0 25px #d5a15024,inset 0 0 50px #000}.cinema-curtains:before,.cinema-curtains:after{content:"";z-index:1;pointer-events:none;background:repeating-linear-gradient(90deg,#311222,#702641 8px,#45162e 17px,#210d20 26px);border-bottom:4px solid #b99156;width:30px;position:absolute;top:0;bottom:0;box-shadow:3px 0 10px #0008}.cinema-curtains:before{border-radius:0 0 75%;left:0}.cinema-curtains:after{right:0;transform:scaleX(-1)}.cinema-preview{background:#000;width:100%;min-height:240px;max-height:48dvh;display:block}.cinema-empty{text-align:center;color:#d8bd91;padding:30px}.cinema-empty>span{color:#ffe1a0;text-shadow:0 0 35px #f4d08666;font:90px Georgia,serif}.cinema-prepare{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.cinema-file{color:#ebd0a4;gap:7px;display:grid}.cinema-file input{max-width:100%;font-size:14px}.cinema-prepare button{color:#30200e;background:linear-gradient(#ffe3a2,#c99b52)}.cinema-help{color:#cbb89d;font-size:13px;line-height:1.6}.cinema-stage{background:#000;place-items:center;width:100%;height:100%;display:grid}.cinema-stage video{object-fit:contain;width:100%;height:100%;max-height:100%}.lesson-content:has(.cinema-stage){width:100%;height:100%}.screening-film{grid-template-rows:44px minmax(0,1fr) 26px auto!important}.student .screening-film{grid-template-rows:minmax(0,1fr) 26px auto!important}.cinema-controls{background:linear-gradient(#39243c,#21152d);border:1px solid #967044;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:8px;display:flex}.cinema-controls button{min-height:40px;font-size:14px}.cinema-scrub{flex:1;min-width:70px}.cinema-scrub input{accent-color:#eac583;width:100%}.cinema-controls output{color:#e7cda7;font-size:12px}.cinema-error{color:#ffd1b9;font-size:13px}.student .cinema-scrub{display:none}@media (width<=650px){#moonlight-cinema{padding:16px}.cinema-curtains{padding:0 16px}.cinema-curtains:before,.cinema-curtains:after{width:15px}.cinema-controls{gap:4px;padding:5px}.cinema-controls button{padding:5px;font-size:12px}}.cinema-file input::file-selector-button{font:inherit;color:#ffe5b5;cursor:pointer;background:linear-gradient(#4b3048,#271a31);border:1px solid #bd965e;border-radius:8px;margin-right:10px;padding:10px 14px}#moonlight-cinema[open]{animation:.38s ease-out room-arrival}#moonlight-cinema header{isolation:isolate;position:relative}html[data-room-motion=still] #moonlight-cinema[open]{animation:none}@media (prefers-reduced-motion:reduce){#moonlight-cinema[open]{animation:none}}[hidden]{display:none!important}#magic-arrival{z-index:10;isolation:isolate;touch-action:pinch-zoom;color:#fff1db;background:#100e1a;font-family:Segoe UI,system-ui,sans-serif;position:fixed;inset:0;overflow:auto}.magic-room{object-fit:cover;object-position:60% center;z-index:-3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.magic-shade{z-index:-2;pointer-events:none;background:linear-gradient(90deg,#100b17d9,#100b1744 50%,#0000),linear-gradient(#0000 70%,#100e1ae8);position:absolute;inset:0}#arrival-stars{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.magic-brand{z-index:3;align-items:center;gap:14px;padding:30px 5%;display:flex;position:relative}.magic-brand>span{color:#ffcf80;font-size:40px}.magic-brand strong{letter-spacing:-1px;font-size:24px;line-height:1}.magic-brand label{color:#e8c99e;align-items:center;gap:12px;margin-left:auto;font-size:14px;display:flex}.magic-brand select{color:#ffe1ab;background:#261d30;border:1px solid #766047;border-radius:9px;min-height:44px;padding:0 12px}.magic-welcome{z-index:3;pointer-events:none;max-width:min(630px,52%);margin:7vh 0 150px 7%;position:relative}.magic-welcome>*{pointer-events:auto}.magic-eyebrow{letter-spacing:3px;color:#e5b87c!important;margin:0 0 25px!important;font-size:12px!important}.magic-welcome h1{letter-spacing:-3px;margin:0 0 28px;font:400 clamp(46px,5.5vw,82px)/1.05 Georgia,serif}.magic-welcome h1 em{color:#ffd18b}.magic-welcome>p{color:#e6d6d1;margin:20px 0;font-size:19px;line-height:1.7}.magic-welcome button{color:#352210;background:linear-gradient(#ffde8b,#f5bd55);border:1px solid #ffeab0;border-radius:14px;min-height:58px;padding:0 25px;font-size:17px;font-weight:700;box-shadow:0 5px #946225}.magic-welcome button span{margin-left:22px}.magic-welcome .quiet-star{min-height:44px;box-shadow:none;color:#e9c89b;background:0 0;border:0;margin-top:20px;padding:0;font-size:14px;font-weight:400;display:block}.magic-welcome #star-response{color:#ffdfa8;min-height:24px;font-size:14px}.magic-footer{color:#dfc7b0;z-index:3;font-size:14px;position:absolute;bottom:20px;left:7%}.arrival-mode .app-header{visibility:hidden}.arrival-mode:not(.entry-open) #entry{display:none}.entry-open #entry{z-index:12;color:#fff0dc;background:#211b2c;border-color:#926f4c;max-height:calc(100dvh - 30px);margin:0;display:block;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #090510b8}.entry-back{background:0 0;width:100%;margin-top:18px}.entry-card form button{color:#352210;background:#ffd184}.lesson{position:relative}.lesson-content{min-width:100%;min-height:100%;position:relative}.image-page,.document-pages{justify-content:flex-start;align-items:center;width:max-content;min-width:100%}.image-page{justify-content:center}.image-page img{flex:none}.pdf-controls{width:max-content;max-width:calc(100% - 20px);margin:0 auto 12px;position:sticky;bottom:12px;left:auto;overflow-x:auto;transform:none}.pdf-controls button{flex-shrink:0;height:44px;min-height:44px}.pdf-controls{height:50px}#lesson-stage{padding-bottom:4px}#teaching-cues{z-index:7;background:#1b2a34ed;border:1px solid #6c6659;border-radius:12px;gap:5px;padding:5px;display:flex;position:absolute;bottom:33px;right:8px;box-shadow:0 5px 20px #0003}#teaching-cues button{color:#ffe0a6;background:0 0;border:0;min-height:44px;padding:0 14px;font-size:14px}#teaching-cues button:hover{background:#43382c}.lesson:has(#teaching-cues:not([hidden])) #lesson-stage{padding-bottom:76px}.reveal-preparation input{color:#f5f2e8;background:#101820;border:1px solid #566570;border-radius:7px;min-height:44px;padding:10px}.reveal-preparation small{font-size:12px;line-height:1.5}#teaching-magic{color:#3e2b19;z-index:8;pointer-events:none;text-align:center;overflow-wrap:anywhere;background:#ffe1a7f5;border:1px solid #fff0bf;border-radius:15px;width:max-content;max-width:calc(100% - 36px);padding:20px 30px;position:absolute;top:65px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #0003}#teaching-magic strong{font:600 clamp(20px,2.5vw,36px)/1.3 Segoe UI,system-ui,sans-serif}.student #teaching-magic{top:20px}.gentle-cue{animation:.2s ease-out cue-in}@keyframes cue-in{0%{opacity:0}to{opacity:1}}#lesson-stage .stage-overlay{background:#192631e8;border-radius:9px;max-width:calc(100% - 30px);min-height:60px;margin:0 auto -60px;padding:16px;position:sticky;inset:auto auto 35%}.bubble button{min-height:44px;margin-top:6px;font-size:14px;display:block}.rail.chat-open .chat-card{z-index:18;grid-template-rows:44px minmax(0,1fr) auto;display:grid;position:fixed;inset:56px 8px 8px}.rail.chat-open .chat-heading #chat-close{display:block}@media (width<=800px){.magic-welcome{max-width:65%;margin-top:9vh}.magic-welcome h1{font-size:58px}.magic-welcome>p{font-size:17px}.magic-room{object-position:65% center}.magic-shade{background:linear-gradient(90deg,#100b17e0,#100b1733),linear-gradient(#0000 70%,#100e1a)}#teaching-cues button{padding:0 10px}}@media (width<=550px){.magic-brand{padding:20px 6%}.magic-brand strong{font-size:21px}.magic-brand label{gap:8px;font-size:13px}.magic-welcome{max-width:88%;margin:50px 6% 100px}.magic-welcome h1{letter-spacing:-2px;font-size:52px}.magic-room{opacity:.7}.magic-footer{margin:20px 0;position:relative;bottom:auto}.magic-welcome button{padding:0 18px;font-size:16px}#teaching-cues{max-width:calc(100% - 10px);right:5px;overflow:auto}#teaching-cues button{white-space:nowrap;flex-shrink:0;font-size:14px}#teaching-magic{padding:15px 20px}}@media (prefers-reduced-motion:reduce){.gentle-cue{animation:none}}#open-library{white-space:nowrap;flex:none;min-height:40px;font-size:14px}#enchanted-library{color:#f7e5c5;background:#130f20;border:1px solid #82664b;border-radius:22px;width:min(1100px,96vw);height:min(850px,94dvh);max-height:94dvh;padding:28px;overflow:auto;box-shadow:0 30px 100px #000b}#enchanted-library::backdrop{background:#06050bce}#enchanted-library header{z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative}#enchanted-library header h1{margin:8px 0;font:38px Georgia,serif}.library-eyebrow{letter-spacing:4px;color:#d4ad70;font-size:11px}.library-room{background:radial-gradient(at 50% 40%,#69503944,#0000 65%);min-height:550px;padding-top:75px;position:relative}.library-window{color:#f6dca3;text-shadow:0 0 60px #97bdff;font-size:100px;position:absolute;top:0;right:20px}.library-window i{font-size:18px;animation:4s infinite alternate library-glow;position:absolute;top:30px;right:50px}.library-invitation{text-align:center;color:#d7bf9c;margin:20px 0 40px;font:italic 23px Georgia,serif}#story-shelf{justify-content:center;align-items:flex-end;gap:28px;padding:0 20px;display:flex}.library-book{background:linear-gradient(100deg,#0005,transparent 10%,#ffffff15 12%,transparent 16%),var(--book-color);color:#fff3d7;border:1px solid #d7b57a;border-radius:5px 16px 16px 5px;flex-direction:column;justify-content:center;align-items:center;width:220px;height:290px;padding:25px;transition:transform .25s,box-shadow .25s;display:flex;position:relative;transform:rotate(-3deg);box-shadow:10px 12px #09080e,15px 20px 30px #0008}.library-book:nth-child(2){height:315px;transform:rotate(2deg)}.library-book span{margin-bottom:22px;font-size:65px}.library-book strong{font:27px/1.18 Georgia,serif}.library-book small{margin-top:20px;font-size:12px}.library-shelf-edge{background:linear-gradient(#72513d,#332418);border-radius:5px;height:25px;margin:0 0 28px;box-shadow:0 20px 30px #0008}#class-book-shelf{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}#library-add-book{color:#f3d59a;background:#352b3e;margin:auto;display:block}.storybook-page{box-sizing:border-box;background:radial-gradient(circle at 85% 25%,color-mix(in srgb,var(--book-color) 40%,transparent),transparent 50%),#151420;color:#fff2d9;text-align:center;min-height:100%;padding:clamp(25px,4vw,65px);position:relative;overflow:hidden}.story-kicker{letter-spacing:2px;color:#d3ba91;font-size:12px}.story-orbit{color:#ffda85;text-shadow:0 0 35px var(--book-color);font:90px Georgia,serif;animation:6s ease-in-out infinite library-float}.storybook-page h1{margin:15px 0 25px;font:clamp(28px,4vw,49px) Georgia,serif}.story-prose{max-width:800px;margin:0 auto 30px;font:clamp(19px,2.1vw,27px)/1.7 Georgia,serif}.story-question{color:#312113;white-space:normal;background:#f0cc88;border:0;border-radius:30px;max-width:90%;padding:15px 25px}#library-reader footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex}#read-together{color:#312113;background:#f0cc88}.student .story-question{min-height:50px}@keyframes library-float{50%{transform:translateY(-9px)rotate(4deg)}}@keyframes library-glow{to{opacity:.4;transform:scale(.7)}}@media (width<=650px){#enchanted-library{padding:16px}#enchanted-library header h1{font-size:28px}#story-shelf{flex-wrap:wrap;gap:12px}.library-book,.library-book:nth-child(2){width:150px;height:225px;padding:16px}.library-book strong{font-size:21px}.library-book span{font-size:40px}.library-invitation{font-size:18px}.library-window{font-size:65px}.library-room{padding-top:45px}.storybook-page{padding:20px}.story-orbit{font-size:55px}}@media (prefers-reduced-motion:reduce){.story-orbit,.library-window i{animation:none}.library-book{transition:none}}#enchanted-library{isolation:isolate;background:linear-gradient(#0e091bcc 0%,#110c1b55 35%,#160d1ee8 100%),url(/magic-studio/workshop.png) 50%/cover fixed;border:1px solid #d5a86d;padding:32px;box-shadow:inset 0 0 100px #10081aaa,0 30px 100px #000b}#enchanted-library header{background:linear-gradient(90deg,#150c1bdd,#0000);border-radius:12px;padding:10px 16px 18px}#enchanted-library header h1{text-shadow:0 3px 10px #000;color:#ffe2a7;font-size:clamp(30px,4vw,49px)}.library-eyebrow{color:#ffd49b}.library-room{background:0 0;padding-top:36px}.library-window{display:none}.library-invitation{color:#ffebcd;text-shadow:0 2px 8px #000;background:#160d2080;border-radius:30px;width:fit-content;margin:18px auto 35px;padding:10px 24px;font-size:22px}#story-shelf{perspective:1000px;gap:36px}.library-book{background:linear-gradient(#160d2410 25%,#160d24de 73%,#160d24 100%),url(/magic-studio/workshop.png) 72%/cover;border:2px solid #e6ba75;border-left:10px solid #755134;border-radius:5px 15px 15px 5px;justify-content:flex-end;width:245px;height:330px;padding:22px 16px;overflow:hidden;transform:rotateY(-9deg)rotate(-3deg);box-shadow:6px 5px #d8c298,11px 9px #644329,15px 20px 35px #000c}.library-book:nth-child(2){background-image:linear-gradient(#0000 25%,#271015e8 73%,#271015 100%),url(/magic-studio/rocket-sofa.png);background-position:50%;height:350px;transform:rotateY(-5deg)rotate(2deg)}.library-book:nth-child(3){background-image:linear-gradient(#0000 25%,#092921e8 73%,#092921 100%),url(/magic-studio/garden.png);background-position:55%}.library-book:before{content:"";pointer-events:none;border:1px solid #f9dda77a;border-radius:3px 8px 8px 3px;position:absolute;inset:8px}.library-book span{color:#ffebad;text-shadow:0 0 20px #ffb94b;margin:0;font-size:35px;position:absolute;top:18px;right:18px}.library-book strong{text-shadow:0 2px 8px #000;font-size:27px;position:relative}.library-book small{color:#ffdfaa;text-shadow:0 2px 5px #000;margin-top:12px}.library-book:hover,.library-book:focus-visible{transform:translateY(-15px)rotateY(0);box-shadow:0 0 45px #ffc76f80,6px 5px #e6cc9e,14px 16px 25px #000c}.library-shelf-edge{background:linear-gradient(#c38b4d,#6c3d22 35%,#2b1713);border-top:2px solid #e8b871;height:28px;box-shadow:0 20px 30px #000c}#library-add-book{color:#32210f;background:linear-gradient(#ffe1a0,#d9a453);border-color:#ffe4b0;font-weight:700;box-shadow:0 4px #714923}#leave-library{color:#ffe0a3;background:#211628b8;border-color:#96774c}#private-story .storybook-page{background:linear-gradient(90deg,#160e22eb,#160e22c9),url(/magic-studio/workshop.png) 50%/cover;border:1px solid #d1a96a77;border-radius:15px;margin-top:16px}#library-reader>button,#library-reader footer button{color:#ffe4b3;background:#25172ddd;border-color:#b48d58}#library-reader #read-together{color:#312113;background:#f0cc88}.library-room:after{content:"✦     ·          ✧        ·          ✦";color:#ffe2a3;letter-spacing:24px;pointer-events:none;text-shadow:0 0 18px #ffd483;width:84%;animation:7s ease-in-out infinite library-dust;position:absolute;top:0;left:8%}@keyframes library-dust{50%{opacity:.35;transform:translateY(20px)}}@media (width<=650px){#enchanted-library{background-attachment:scroll;padding:14px}#enchanted-library header{padding:8px}.library-invitation{margin-bottom:24px;padding:8px 15px;font-size:17px}#story-shelf{gap:20px}.library-book,.library-book:nth-child(2){width:180px;height:255px}.library-book strong{font-size:22px}.library-room:after{letter-spacing:8px}}@media (prefers-reduced-motion:reduce){.library-room:after{animation:none}}#studio-launchers{flex-shrink:0;gap:4px;display:flex}#studio-launchers button{white-space:nowrap;min-height:40px;padding:0 10px;font-size:14px}#studio-hub{color:#f5ecdf;background:#192631;border:1px solid #697176;border-radius:18px;width:min(800px,94vw);max-height:88dvh;padding:22px;box-shadow:0 25px 100px #0008}#studio-hub::backdrop{background:#0009}#studio-hub header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}#studio-hub h2{color:#ffdc94;margin:0}#studio-hub h3{margin:18px 0 12px}#studio-hub p{color:#b8c7cc;font-size:14px;line-height:1.5}#studio-hub a{color:#ffdda1;background:#263847;border:1px solid #566875;border-radius:9px;padding:12px;text-decoration:none;display:block}#studio-hub button{min-height:44px}#studio-hub label{color:#c8d6de;gap:6px;margin:12px 0;display:grid}#studio-hub input,#studio-hub textarea{color:#fff;background:#0f1a22;border:1px solid #566875;border-radius:8px;width:100%;min-width:0;padding:10px}#studio-hub textarea{resize:vertical}.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}#quick-result{color:#ffdc94!important;font-size:28px!important}.app-header{overflow:hidden}.app-header #drawing-tools{flex:1}.header-actions{flex-shrink:0}@media (width<=850px){#studio-launchers button{padding:0 6px;font-size:12px}.app-header strong{display:none}}@media (width<=500px){.hub-grid{grid-template-columns:1fr}}:root{--surround:#000}.lesson-empty h1{color:#dce5eb}.lesson-empty{color:#a9bcc9}#lesson-stage{background:#000!important;padding-bottom:0!important}.image-page img{background:0 0}.video:has(video)>p{display:none}.video video{position:absolute;inset:0}.rail{grid-template-rows:auto minmax(80px,1fr) auto auto;padding-bottom:20px}#teaching-cues{box-shadow:none;flex-wrap:wrap;justify-content:center;position:static}#teaching-cues button{padding:0 10px}.lesson{grid-template-rows:44px minmax(0,1fr) 26px auto}.student .lesson{grid-template-rows:minmax(0,1fr) 26px}.lesson>.pdf-controls{max-width:100%;height:50px;box-shadow:none;flex-shrink:0;margin:4px auto 0;position:static;transform:none}.drawing-board{flex:none;margin:14px;position:relative}.drawing-board.white{background:#fff}.drawing-board.black{background:#101010;border:1px solid #35424c}.shared-ink{z-index:3;touch-action:none;position:absolute;overflow:visible}.lesson-content{min-height:100%}#drawing-tools{align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}#drawing-tools button{white-space:nowrap;min-height:40px;padding:0 10px;font-size:14px}#drawing-tools button[aria-pressed=true]{color:#102a26;background:#8de4cb}#drawing-tools input{background:0 0;border:0;width:36px;height:36px;padding:0}#drawing-tools label{flex:none}.app-header strong,.app-header .connection-status{white-space:nowrap}.app-header{gap:10px}.lesson-tabs-wrap #lesson-tabs{min-width:0;display:flex;overflow:auto}.lesson-tabs-wrap #lesson-tabs button{white-space:nowrap;text-overflow:ellipsis;border-radius:0;max-width:240px;overflow:hidden}.lesson-tabs-wrap #lesson-tabs button[aria-selected=true]{background:#23323e;border-bottom:3px solid #8de4cb}@media (width<=1100px){.app-header strong{font-size:14px}.connection-status{font-size:0}.connection-status i{margin:0}.app-header{gap:6px}#drawing-tools button{padding:0 8px}}@media (height<=650px){.rail{grid-template-rows:auto 44px auto auto;padding-bottom:0}.classroom{grid-template-columns:minmax(0,1fr) min(260px,66.6667dvh - 140px)}#teaching-cues{gap:0;padding:2px}#teaching-cues button{padding:0 6px;font-size:12px}}.tile-controls{z-index:6;gap:4px;display:flex;position:absolute;top:5px;right:5px}.tile-controls button{background:#10202bdd;border-color:#64737d;min-height:36px;padding:0 9px;font-size:12px}.video-hidden video{visibility:hidden}.video-hidden:after{content:"Video hidden";color:#a9bcc9;background:#111a22;place-items:center;display:grid;position:absolute;inset:0}.lesson-tab-group{border-right:1px solid #344956;flex-shrink:0;max-width:280px;display:flex}.lesson-tabs-wrap #lesson-tabs .lesson-tab-group [role=tab]{border-right:0;max-width:230px}.lesson-tabs-wrap #lesson-tabs .close-tab{background:#192631;border:0;width:38px;min-width:38px;min-height:44px;padding:0;font-size:22px}.lesson-tabs-wrap #lesson-tabs .close-tab:hover{color:#fff;background:#7b343b}:root{--bg:#100d18;--chrome:#21182c;--raised:#33243c;--border:#715840;--ink:#fff0da;--muted:#ccbca9;--accent:#ffda90}html,body,main{background:#100d18}button{color:#ffe5b3;background:linear-gradient(160deg,#3b2a43,#251b30);border-color:#806341;transition:background .15s,border-color .15s,box-shadow .15s}button:hover{border-color:#eac383;box-shadow:0 0 14px #f7c87522}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#ffe0a1}button:disabled{box-shadow:none}.app-header{background:linear-gradient(90deg,#26152df5,#20182be8),url(/magic-studio/workshop.png) 50% 20%/cover;border:1px solid #81613b;box-shadow:0 2px 16px #0005}.app-header strong{color:#ffe6b6;text-shadow:0 0 18px #ffcf6866;font-family:Georgia,serif;font-size:20px}.connected i{background:#a2ecd5;box-shadow:0 0 8px #81e0c177}#studio-launchers button,#open-library{color:#ffe5b2;background:linear-gradient(160deg,#513446,#271d32);border-color:#a17a4c}#drawing-tools button[aria-pressed=true]{color:#33200f;background:linear-gradient(#ffe4a4,#d9ab60);border-color:#ffe5ac}.lesson-tabs-wrap{background:linear-gradient(#38273c,#211827);border:1px solid #725538;border-bottom:0}.lesson-tabs-wrap #lesson-tabs .lesson-tab-group [role=tab]{color:#e8cfad;background:0 0}.lesson-tabs-wrap #lesson-tabs .lesson-tab-group [role=tab][aria-selected=true]{color:#fff0d1;background:#443047;border-bottom-color:#ffda90}.lesson-tab-group{border-right-color:#73583e}.lesson-tabs-wrap #lesson-tabs .close-tab{color:#e8c794;background:#291d30}.lesson-tabs-wrap #lesson-tabs .close-tab:hover{background:#763543}.lesson-caption{color:#cdb898}.lesson>.pdf-controls{background:linear-gradient(#33243b,#22182b);border-color:#997349}.pdf-controls input{color:#32200e;background:#f8e9ce}.video-tile{background:linear-gradient(150deg,#251b32,#151222);border-color:#8b6841;box-shadow:inset 0 0 25px #c88b2020}.video-tile h2{color:#ffe5b0;background:#211126df;border:1px solid #92704870}.video{color:#cdbcab}.tile-controls button{color:#ffdfab;background:#291c32e8;border-color:#b09163}.tile-controls button[aria-pressed=true]{background:#893743;border-color:#e8a38a}.chat-card{background:linear-gradient(#23192eea,#171220f2),url(/magic-studio/garden.png) 50%/cover;border-color:#7b5b40}.chat-heading{background:#33203a80;border-bottom:1px solid #76543755}.chat-heading h2{color:#ffe0a1;letter-spacing:.4px}.chat-log{scrollbar-color:#876444 #1a1424}.chat-empty{color:#c7b8a5}.chat-form{border-color:#74533b}.chat-form textarea,.entry-card input{color:#ffefdb;background:#171020;border-color:#806244}.chat-form button,.join-overlay,.entry-card form button{color:#32200f;background:linear-gradient(#ffe5a3,#d6a554);border-color:#ffdf9b}.bubble{color:#fff0db;background:#3b2a49}.bubble.teacher{background:#25423f}.bubble b{color:#ebd3ae}#teaching-cues{background:linear-gradient(#372439,#21182b);border-color:#997245}#teaching-cues button{color:#ffe0a1}.drawer{color:#ffebca;background:linear-gradient(#1d1329e8,#1c1427fa),url(/magic-studio/workshop.png) 70%/cover;border-color:#a57c48}.drawer h2{color:#ffe3a5;font:30px Georgia,serif}.drawer h3{color:#efd099;border-bottom:1px solid #8a694349;padding-bottom:8px}.drawer p,.drawer label{color:#d8c5ac}.drawer select,.reveal-preparation input{color:#fff0d6;background:#171021;border-color:#947047}.drawer-backdrop{background:#090511aa}.entry-open #entry{background:linear-gradient(#21152ded,#21152df5),url(/magic-studio/workshop.png) 50%/cover;border-color:#c99b5e}.entry-card h1{color:#ffe6b2;font:36px Georgia,serif}#message{background:#6d303bef;border:1px solid #c78776}.lesson-empty{color:#c4af94;background:radial-gradient(#36223a44,#0000 70%)}.lesson-empty h1{color:#f0d5a9;font-family:Georgia,serif}.empty-mark{color:#ffe2a1;background:#39283f;border:1px solid #b3874f;box-shadow:0 0 25px #ffd38022}#studio-hub{color:#ffecd0;background:linear-gradient(100deg,#170d23ee,#170d23aa),url(/magic-studio/workshop.png) 50%/cover;border:1px solid #c6995b;border-radius:22px;width:min(960px,95vw);padding:28px;box-shadow:inset 0 0 90px #13092088,0 30px 100px #000b}#studio-hub[data-world=games]{background-image:linear-gradient(100deg,#1b1024ed,#1b1024a8),url(/magic-studio/upside-down-castle.png)}#studio-hub[data-world=search]{background-image:linear-gradient(100deg,#0b2024ed,#102026bd),url(/magic-studio/garden.png)}#studio-hub header{border-bottom:1px solid #c2985d66;padding-bottom:18px}#studio-hub h2{color:#ffe1a0;text-shadow:0 2px 8px #000;font:42px Georgia,serif}#studio-hub h3{color:#ffdfaa;font:24px Georgia,serif}#studio-hub p{color:#dfcbb0;text-shadow:0 1px 4px #000}#studio-hub label{color:#efd4b1}#studio-hub a{color:#ffebc6;background:linear-gradient(140deg,#65403bba,#2b1b36e8);border-color:#bd9056;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #0003}#studio-hub a:hover{transform:translateY(-2px);box-shadow:0 6px 18px #ffd48422}#studio-hub input,#studio-hub textarea{color:#fff0d8;background:#140e20e8;border-color:#9b784d;box-shadow:inset 0 2px 8px #0003}#studio-hub input::placeholder,#studio-hub textarea::placeholder{color:#b5a390}#studio-hub .hub-grid>a{align-items:center;min-height:70px;font-family:Georgia,serif;font-size:20px;display:flex}#quick-dice,#quick-spin,#build-prompt,#paste-search-image,#paste-ai-image{color:#32200f;background:linear-gradient(#ffe0a0,#d2a257);border-color:#f4d399}#quick-result{text-shadow:0 0 18px #ffc97055;background:#23152dbb;border-radius:12px;width:fit-content;padding:12px}#quick-result:empty{display:none}.storybook-page{color:#fff0d9;background:linear-gradient(100deg,#170e23ef,#170e23e0),url(/magic-studio/workshop.png) 50%/cover}.story-question{background:linear-gradient(#ffe5a7,#d7ad65);box-shadow:0 3px 14px #0004}.story-question.revealed{color:#ffe6b6;background:#34243d}.story-kicker{color:#ddbd87}.story-orbit{filter:drop-shadow(0 0 15px #ffcf6844)}@media (width<=650px){#studio-hub{background-position:65%;padding:18px}#studio-hub h2{font-size:32px}#studio-hub .hub-grid>a{font-size:18px}.app-header strong{font-size:16px}}@media (prefers-reduced-motion:reduce){button,#studio-hub a{transition:none}}body{background:linear-gradient(#180d2480,#120b20a8),url(/magic-studio/workshop.png) 50%/cover fixed}main,.classroom{background:0 0}.lesson{background:linear-gradient(120deg,#42243ec4,#1c132ac9),url(/magic-studio/workshop.png) 50%/cover;border:1px solid #bc9059;border-radius:13px;padding:5px;overflow:hidden;box-shadow:0 0 0 1px #140b20,inset 0 0 16px #f6c87924,0 5px 22px #0006}#lesson-stage{border:1px solid #927048;border-radius:6px;box-shadow:0 0 10px #e1ab4824}.lesson-tabs-wrap{background:linear-gradient(#39233bd9,#20142ce8),url(/magic-studio/workshop.png) 50% 35%/cover;border-radius:7px 7px 0 0}.app-header{background:linear-gradient(90deg,#2a172dd9,#21162bbd),url(/magic-studio/workshop.png) 50% 24%/cover;box-shadow:inset 0 1px #ffe4ab44,0 3px 16px #0007}.video-tile{background:linear-gradient(#251730a6,#1c1226dc),url(/magic-studio/garden.png) 50%/cover;box-shadow:0 0 0 1px #382338,inset 0 0 24px #d09b3830}.chat-card{background:linear-gradient(#23192edb,#171220ed),url(/magic-studio/garden.png) 50%/cover}#teaching-cues,.lesson>.pdf-controls{background:linear-gradient(#38243bdc,#21182be8),url(/magic-studio/workshop.png) 50% 65%/cover;box-shadow:inset 0 1px #ffdda334}:is(dialog,.drawer){scrollbar-color:#ad8453 #21152c}dialog{color:#ffecd0;background:linear-gradient(#1e122bdb,#1a1125e8),url(/magic-studio/workshop.png) 50%/cover;border:1px solid #c6995b;border-radius:20px;box-shadow:inset 0 0 60px #d6a85c18,0 24px 90px #000a}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(#20102e77,#080411c9)}:is(#studio-hub,#enchanted-library)[open]{animation:.3s ease-out room-arrival}@keyframes room-arrival{0%{opacity:0;transform:translateY(7px)scale(.99)}to{opacity:1;transform:none}}@media (width<=650px){.lesson{border-radius:9px;padding:3px}body{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){:is(#studio-hub,#enchanted-library)[open]{animation:none}}*{scrollbar-color:#9a744c #21152c;scrollbar-width:thin}.lesson-tabs-wrap #lesson-tabs{overflow-y:hidden}.lesson-tab-group{flex-shrink:0}#drawing-tools{overflow-y:hidden}#adventure-chest{background:linear-gradient(100deg,#180f24ed,#201329ba),url(/magic-studio/workshop.png) 50%/cover;width:min(760px,94vw);max-height:90dvh;padding:28px;overflow:auto}#adventure-chest header{justify-content:space-between;align-items:center;gap:16px;display:flex}#adventure-chest h2{color:#ffe1a0;margin:0;font:36px Georgia,serif}#adventure-chest h3{color:#ffdfa4;font:23px Georgia,serif}.adventure-kicker{letter-spacing:4px;color:#dcb975;font-size:11px}#adventure-chest section{background:#201329c9;border:1px solid #a57d4b;border-radius:14px;margin:16px 0;padding:18px}#adventure-chest label{color:#ecd5b4;gap:7px;margin:12px 0;display:grid}#adventure-chest input{color:#fff1db;background:#150f21df;border:1px solid #977246;border-radius:8px;width:100%;padding:12px}.adventure-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.adventure-actions button{color:#33200f;background:linear-gradient(#ffe2a0,#cca05e)}.adventure-private{color:#d1bda5;font-size:13px}.treasure-art{filter:drop-shadow(0 0 20px #ffc86166);width:160px;height:108px;margin:20px auto;position:relative}.treasure-lid{background:repeating-linear-gradient(90deg,#4a2830 0 24px,#a17447 25px 29px);border:4px solid #dcb16a;border-radius:60px 60px 4px 4px;width:160px;height:42px;position:absolute;top:17px}.treasure-box{text-align:center;color:#ffe5a2;background:repeating-linear-gradient(90deg,#4a2830 0 24px,#a17447 25px 29px);border:4px solid #dcb16a;border-radius:0 0 12px 12px;width:160px;height:50px;font-size:34px;position:absolute;top:57px}.treasure-art>span{color:#ffe6a0;font-size:26px;position:absolute;top:-12px;left:70px}#quest-preview{color:#ffe9c6;line-height:1.6}:is(#studio-hub,#enchanted-library,#adventure-chest)[open]{animation:.38s cubic-bezier(.2,.7,.2,1) room-arrival}#studio-hub header,#adventure-chest header{isolation:isolate;position:relative}#studio-hub header:after,#adventure-chest header:after{content:"";pointer-events:none;opacity:.45;background:linear-gradient(90deg,#0000,#ffe3a3,#0000);width:80px;height:1px;animation:10s ease-in-out infinite wand-glimmer;position:absolute;bottom:0;left:0}#adventure-chest[open] .treasure-art>span{animation:6s ease-in-out infinite chest-spark}#adventure-chest[open] .treasure-lid{transform-origin:50% 100%;animation:8s ease-in-out infinite chest-breathe}#studio-hub[open] h2,#enchanted-library[open] header h1,#adventure-chest[open] h2{text-shadow:0 2px 8px #000,0 0 22px #e9b55425}#studio-launchers button,#open-library,.adventure-actions button{transition:border-color .25s,box-shadow .25s,background .25s,transform .25s}@media (hover:hover){#studio-launchers button:hover,#open-library:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffe4a455,0 0 17px #ffcb7133}.adventure-actions button:hover{transform:translateY(-1px);box-shadow:0 0 20px #ffc76a38}}#studio-launchers button:active,#open-library:active,.adventure-actions button:active{transform:translateY(0)}#private-story>.storybook-page{animation:.35s ease-out page-unfold}@keyframes wand-glimmer{0%,to{opacity:.2;transform:translate(0)}50%{opacity:.7;transform:translate(130px)}}@keyframes chest-spark{0%,to{opacity:.65;transform:translateY(0)rotate(-5deg)}50%{opacity:1;transform:translateY(-5px)rotate(5deg)}}@keyframes chest-breathe{0%,80%,to{transform:rotate(0)}88%{transform:rotate(-1deg)}94%{transform:rotate(.5deg)}}@keyframes page-unfold{0%{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}html[data-room-motion=still] :is(#studio-hub,#enchanted-library,#adventure-chest,#private-story) *,html[data-room-motion=still] :is(#studio-hub,#enchanted-library,#adventure-chest),html[data-room-motion=still] :is(#studio-hub,#adventure-chest) header:after,html[data-room-motion=still] .library-room:after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){:is(#studio-hub,#enchanted-library,#adventure-chest,#private-story) *,:is(#studio-hub,#enchanted-library,#adventure-chest),#studio-hub header:after,#adventure-chest header:after{transition:none!important;animation:none!important}#studio-launchers button,#open-library,.adventure-actions button{transition:none;transform:none!important}}#magic-arrival,.world-home-header,.world-home-invitation,.map-door,.world-home-footer{-webkit-user-select:none;user-select:none}#magic-arrival input,#magic-arrival textarea{-webkit-user-select:text;user-select:text}.magic-brand strong{letter-spacing:-1.5px;text-shadow:0 2px 12px #0007;font-size:clamp(32px,3.5vw,54px);line-height:.98}.magic-brand>span{font-size:clamp(42px,4vw,62px)}.world-home-header .library-eyebrow{letter-spacing:-.5px;color:#ffe4ad;font-size:clamp(22px,2.6vw,34px);font-weight:800}@media (width<=550px){.magic-brand strong{font-size:32px}.magic-brand>span{font-size:42px}.magic-brand{gap:10px}}#puzzle-world{color:#ffedce;isolation:isolate;background:linear-gradient(#0b1e26a8,#111027e8),url(/magic-studio/garden.png) 50%/cover;border:1px solid #dbb278;width:min(1000px,95vw);max-height:94dvh;padding:28px;overflow:auto;box-shadow:inset 0 0 75px #0b142288,0 25px 90px #000c}#puzzle-world header{isolation:isolate;justify-content:space-between;align-items:center;gap:15px;display:flex;position:relative}#puzzle-world h2{color:#ffe3a6;margin:0;font:clamp(28px,4vw,44px) Georgia,serif}.puzzle-gateway{text-align:center;padding:15px 0}.puzzle-invitation{color:#ead4b2;font:italic 21px/1.5 Georgia,serif}.world-portal{isolation:isolate;color:#fff0c5;background:radial-gradient(#38878e55,#1d254fc9 62%,#c3e4cd44),url(/magic-studio/garden.png) 50% 48%/cover;border:3px solid #dbbe82;border-radius:50% 50% 45% 45%;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:min(310px,80%);height:340px;margin:25px auto;transition:box-shadow .4s,transform .4s;display:flex;position:relative;box-shadow:0 0 0 7px #769a8833,0 0 0 10px #c5bd7855,0 0 45px #9beed544,inset 0 0 45px #a4efe655}.world-portal:hover{transform:scale(1.015);box-shadow:0 0 0 7px #769a8855,0 0 0 10px #c5bd7888,0 0 65px #9beed566,inset 0 0 45px #a4efe677}.world-portal:after{content:"✦";color:#ffdfa2;text-shadow:0 0 15px #fff1b8;font-size:25px;animation:7s ease-in-out infinite portal-spark;position:absolute;top:32%;left:-12px}.portal-moon{color:#ffe9b5;text-shadow:0 0 25px #fff2bc;font:75px Georgia,serif}.world-portal strong{text-shadow:0 2px 12px #000;font:26px Georgia,serif}.world-portal small{font-size:13px}.portal-footnote,.puzzle-personal{color:#d3c4ab;font-size:13px}.puzzle-paths{flex-wrap:wrap;gap:10px;margin:25px 0 16px;display:flex}.puzzle-paths button[aria-pressed=true]{color:#32210f;background:linear-gradient(#ffe6aa,#c9a163)}.puzzle-progress{color:#dfc69b;justify-content:space-between;gap:12px;font-size:13px;display:flex}.puzzle-scroll{background:linear-gradient(135deg,#1a2130ed,#19122ce8);border:1px solid #ab9663;border-radius:20px;margin:14px 0;padding:clamp(18px,4vw,38px);position:relative;box-shadow:inset 0 0 35px #cfb9700c,0 10px 30px #0005}.puzzle-scroll h3{color:#ffe0a2;margin-top:0;font:28px Georgia,serif}.puzzle-scroll [data-question]{max-width:700px;font:20px/1.6 Georgia,serif}.puzzle-scroll [data-display]{color:#bcebdc;letter-spacing:3px;overflow-wrap:anywhere;margin:24px 0;font:clamp(22px,4vw,38px) Georgia,serif}.puzzle-answers{flex-wrap:wrap;gap:12px;display:flex}.puzzle-answers form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.puzzle-answers label{color:#dbc9ad;gap:8px;display:grid}.puzzle-answers input{color:#ffebce;background:#101624;border:1px solid #ac986d;border-radius:9px;width:min(260px,100%);padding:12px}.puzzle-answers button{background:linear-gradient(#3e4150,#242037);border-color:#bca171;min-height:48px}.puzzle-feedback{color:#d9eed9;min-height:24px;font-size:15px}.puzzle-solved{border-color:#d9d699;box-shadow:0 0 28px #a5e8c92b}.puzzle-solved:after{content:"✦  ·  ✧";color:#ffe8a2;pointer-events:none;animation:.7s ease-out puzzle-discovery;position:absolute;top:18px;right:20px}.puzzle-scroll [data-next]{color:#322210;background:linear-gradient(#ffe3a1,#cba461)}@keyframes portal-spark{50%{opacity:.5;transform:translateY(-12px)rotate(35deg)}}@keyframes puzzle-discovery{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=650px){#puzzle-world{padding:16px}.world-portal{height:285px}.puzzle-paths{gap:6px}.puzzle-paths button{font-size:13px}.puzzle-scroll [data-question]{font-size:18px}}dialog.at-portal>:not(.room-doorway){display:none!important}.room-doorway{text-align:center;padding:15px 0;display:none;position:relative}.at-portal>.room-doorway{display:block}.room-doorway .doorway-close{position:absolute;top:0;right:0}.room-doorway>h2{color:#ffe2a7!important;margin:18px 44px!important;font:clamp(28px,4vw,42px) Georgia,serif!important}.room-doorway>p:last-child{color:#dfcba8;font:italic 17px Georgia,serif}.room-doorway .world-portal{width:min(290px,80%);height:300px}#studio-hub[data-world=games] .world-portal{background-image:radial-gradient(#a283bb22,#24164cb0 65%,#eac78555),url(/magic-studio/upside-down-castle.png)}#studio-hub[data-world=ai] .world-portal,#adventure-chest .world-portal,#moonlight-cinema .world-portal{background-image:radial-gradient(#c2974322,#24164ca0 65%,#eac78555),url(/magic-studio/workshop.png)}dialog.through-portal{animation:.5s ease-out cross-the-threshold!important}@keyframes cross-the-threshold{0%{opacity:.6;transform:scale(.975)}to{opacity:1;transform:none}}html[data-room-motion=still] .world-portal,html[data-room-motion=still] .world-portal:after,html[data-room-motion=still] .puzzle-solved:after,html[data-room-motion=still] dialog.through-portal{transition:none!important;animation:none!important;transform:none!important}.rooms-asleep .world-portal:after{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.world-portal,.world-portal:after,.puzzle-solved:after,dialog.through-portal{transition:none!important;animation:none!important;transform:none!important}}#world-home{z-index:11;color:#ffe7bf;background:radial-gradient(at 50% 20%,#48314666,#0000 65%),#110d1c;padding:24px clamp(12px,4vw,60px);position:fixed;inset:0;overflow:auto}.world-home-header{justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:auto;display:flex}.world-home-header h1{color:#ffe3a4;margin:5px 0;font:clamp(27px,4vw,46px) Georgia,serif}.world-home-header button{font-size:13px}.world-home-invitation{text-align:center;color:#e4ccaa;margin:18px auto;font:italic 18px/1.5 Georgia,serif}.world-map{aspect-ratio:3/2;border:1px solid #c29c61;border-radius:24px;max-width:1200px;margin:auto;position:relative;overflow:hidden;box-shadow:0 0 0 5px #68513922,0 18px 60px #0009}.world-map>img{object-fit:cover;width:100%;height:100%;display:block}.world-map:after{content:"";pointer-events:none;border-radius:inherit;position:absolute;inset:0;box-shadow:inset 0 0 85px #0f092166}.world-map nav{margin:0;position:absolute;inset:0}.map-door{color:#ffe5ac;z-index:1;background:radial-gradient(at top,#536c7866,#1f142de8);border:1px solid #e8c580aa;border-radius:50% 50% 15px 15px;flex-direction:column;justify-content:center;align-items:center;width:21%;min-height:105px;padding:12px 7px;transition:box-shadow .3s,background .3s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 20px #efd99a35,inset 0 0 15px #efd99a1a}.map-door:hover,.map-door:focus-visible{background:radial-gradient(at top,#6c789688,#23182cf0);box-shadow:0 0 35px #ffe3a279,inset 0 0 22px #efd99a44}.map-door>span{color:#ffe7a0;text-shadow:0 0 14px #ffdf8f;font-size:26px}.map-door strong{margin:4px 0;font:clamp(17px,2vw,25px) Georgia,serif}.map-door small{color:#efd9b8;font-size:clamp(10px,1.1vw,13px);font-weight:400}.map-library{top:48%;left:18%}.map-puzzles{top:30%;left:53%}.map-cinema{top:34%;left:81%}.map-class{top:80%;left:54%}.world-teacher-doors{flex-wrap:wrap;justify-content:center;gap:10px;max-width:1000px;margin:20px auto;display:flex}.world-home-footer{text-align:center;color:#bda889;font:italic 15px Georgia,serif}.world-map-open .app-header{visibility:hidden}#back-to-worlds{white-space:nowrap;flex:none;min-height:40px;font-size:14px}.map-door:after{content:"✧";color:#f7e4ad;pointer-events:none;animation:8s ease-in-out infinite map-spark;position:absolute;top:0;right:10%}.map-puzzles:after{animation-delay:-3s}.map-cinema:after{animation-delay:-5s}@keyframes map-spark{50%{opacity:.35;transform:translateY(-6px)}}html[data-room-motion=still] .map-door:after{animation:none}.rooms-asleep .map-door:after{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.map-door:after{animation:none}.map-door{transition:none}}@media (width<=650px){#world-home{padding:16px 10px}.world-map{aspect-ratio:3/4}.world-map>img{object-position:65% center}.map-door{width:40%;min-height:100px}.map-library{top:38%;left:25%}.map-puzzles{top:22%;left:73%}.map-cinema{top:60%;left:75%}.map-class{top:81%;left:29%}.world-home-invitation{font-size:16px}.map-door small{font-size:11px}.world-home-header{gap:10px}.world-home-header button{padding:8px;font-size:12px}}.map-trail{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-trail path{fill:none;stroke:#f5cf88;stroke-width:2px;stroke-dasharray:4 10;opacity:.7;filter:drop-shadow(0 0 4px #ffc861)}.map-compass{color:#e3c88e;text-shadow:0 0 15px #ffc86166;pointer-events:none;font:52px Georgia,serif;position:absolute;top:5%;left:5%}.map-compass small{font:11px Georgia,serif;position:absolute;top:-5px;left:22px}.room-map-link{white-space:nowrap;margin-left:auto;font-size:12px}@media (width<=650px){.map-trail{display:none}.map-compass{font-size:36px}.room-map-link{padding:7px;font-size:11px}.map-compass small{left:15px}}.room-fireflies{pointer-events:none;z-index:-1;border-radius:12px;position:absolute;inset:0;overflow:hidden}.room-fireflies i{opacity:.4;width:3px;height:3px;animation:firefly-wander var(--flight) ease-in-out var(--delay) infinite;background:#ffe8ac;border-radius:50%;position:absolute;box-shadow:0 0 7px 2px #ffd27355}#enchanted-library header{isolation:isolate}.pip-nook{justify-content:center;align-items:center;gap:16px;max-width:500px;min-height:100px;margin:8px auto 22px;display:flex}.pip-friend{border-radius:45% 45% 30% 30%;flex:none;width:82px;height:100px;animation:18s ease-in-out infinite pip-peek;position:relative;overflow:hidden;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.pip-friend img{object-fit:cover;object-position:top;pointer-events:none;width:82px;height:123px;-webkit-mask-image:linear-gradient(#000 75%,#0000);mask-image:linear-gradient(#000 75%,#0000)}.pip-whisper{color:#f1d5a3;text-shadow:0 2px 8px #000;max-width:270px;margin:0;font:italic 16px/1.5 Georgia,serif}.pip-waves .pip-friend{animation:.8s ease-in-out pip-hello}.pip-friend:focus-visible{outline-offset:3px;outline:2px solid #ffe1a0!important}.lesson-caption{position:relative}.pocket-star{width:27px;min-height:24px;box-shadow:none;color:#e7c385;background:0 0;border:0;flex:none;margin-left:6px;padding:0;font-size:21px;line-height:24px}.pocket-star:hover{color:#fff0c6;box-shadow:none;text-shadow:0 0 9px #ffc36b}.pocket-response{color:#ffe3b2;z-index:8;pointer-events:none;background:linear-gradient(135deg,#38243af5,#191124f5);border:1px solid #b28a54;border-radius:12px;max-width:240px;padding:8px 12px;font-size:13px;position:absolute;bottom:32px;right:5px;box-shadow:0 4px 20px #0007}.pocket-response:empty{display:none}.star-awake{animation:.65s ease-out pocket-twirl}@keyframes firefly-wander{0%,to{opacity:.15;transform:translate(0)}35%{opacity:.65;transform:translate(14px,-6px)}70%{opacity:.3;transform:translate(-9px,7px)}}@keyframes pip-peek{0%,75%,to{transform:translateY(0)rotate(0)}82%,90%{transform:translateY(-3px)rotate(-3deg)}}@keyframes pip-hello{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)translateY(-3px)}65%{transform:rotate(5deg)}}@keyframes pocket-twirl{50%{text-shadow:0 0 12px #ffd67b;transform:rotate(90deg)scale(1.2)}to{transform:rotate(180deg)}}.rooms-asleep .room-fireflies i,.rooms-asleep .pip-friend{animation-play-state:paused}html[data-room-motion=still] .room-fireflies i,html[data-room-motion=still] .pip-friend,html[data-room-motion=still] .pocket-star{animation:none!important}@media (prefers-reduced-motion:reduce){.room-fireflies i,.pip-friend,.pocket-star{animation:none!important}}@media (width<=650px){.pip-nook{gap:10px}.pip-whisper{max-width:210px;font-size:14px}.room-fireflies i:nth-child(n+4){display:none}}.library-book:after{content:"✧";color:#ffe3a5;opacity:0;pointer-events:none;font:21px Georgia,serif;transition:opacity .4s,transform .4s;position:absolute;top:14px;right:16px;transform:scale(.7)rotate(-15deg)}.library-book:hover:after,.library-book:focus-visible:after{opacity:.8;transform:scale(1)rotate(0)}html[data-room-motion=still] .library-book:after{transition:none}@media (prefers-reduced-motion:reduce){.library-book:after{transition:none}}#bedakids-room{color:#ffe7bf;background:#110d1c;border:1px solid #c29c61;border-radius:18px;width:min(1500px,97vw);max-width:97vw;height:94dvh;max-height:96dvh;padding:0;overflow:hidden}#bedakids-room[open]{flex-direction:column;display:flex}#bedakids-room::backdrop{background:#080410b8}#bedakids-room header{background:#23182c;flex-shrink:0;align-items:center;gap:16px;padding:10px 16px;display:flex}#bedakids-room h2{color:#ffe3a4;margin:0;font:clamp(20px,2vw,28px) Georgia,serif}#bedakids-room header a{color:#ffe3a4;margin-left:auto;font-size:14px}#bedakids-room iframe{background:#110d1c;border:0;flex:1;width:100%;min-height:0}.bedakids-stage{background:#110d1c;border:0;width:100%;height:100%;min-height:300px;display:block}.lesson-content:has(>.bedakids-stage){height:100%;min-height:0}@media (width<=650px){#bedakids-room header{gap:8px;padding:8px}#bedakids-room header a{font-size:12px}#bedakids-room h2{font-size:18px}}#discovery-room{color:#ffe7bf;background:linear-gradient(#110d1ce8,#23182cf5),url(/magic-studio/workshop.png) 50%/cover;border:1px solid #c29c61;border-radius:22px;width:min(1250px,96vw);height:90dvh;max-height:95dvh;padding:24px;overflow:auto}#discovery-room::backdrop{background:#080410b8}#discovery-room header{justify-content:space-between;align-items:center;gap:12px;display:flex}#discovery-room h2{color:#ffe3a4;margin:5px 0 15px;font:32px Georgia,serif}.discovery-eyebrow{color:#c29c61;letter-spacing:.12em;margin:0;font-size:12px}#discovery-room form{align-items:end;gap:12px;display:flex}#discovery-room label{gap:6px;font-size:14px;display:grid}#discovery-room label:first-child{flex:1}#discovery-room input,#discovery-room select{color:#ffe7bf;background:#110d1c;border:1px solid #c29c61;border-radius:8px;min-width:0;padding:12px}#discovery-room form button,#discovery-room [data-show]{color:#23182c;background:#e5c080;font-weight:700}.discovery-help{color:#d8c6d8;font-size:14px;line-height:1.5}.discovery-body{align-items:start;gap:20px;display:flex}.discovery-results{flex:1;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;min-width:0;display:grid}.discovery-results article{background:#23182cd9;border:1px solid #c29c6155;border-radius:12px;min-width:0;overflow:hidden}.discovery-results button{text-align:left;background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0}.discovery-results img{object-fit:contain;background:#080510;width:100%;height:150px}.discovery-results span,.discovery-results a,.discovery-results p{overflow-wrap:anywhere;margin:0;padding:10px;font-size:14px;line-height:1.4;display:block}.discovery-results a{color:#ffe3a4}.discovery-preview{background:#110d1c;border:1px solid #c29c61;border-radius:14px;width:38%;padding:16px;position:sticky;top:0}.discovery-preview img{object-fit:contain;width:100%;max-height:45vh;display:block}.discovery-preview a{color:#ffe3a4;margin:14px 0;font-size:14px;display:block}.discovery-preview h3{margin:0 0 14px;font:22px Georgia,serif}.discovery-preview[hidden]{display:none}#discovery-room [hidden]{display:none!important}@media (width<=700px){#discovery-room{padding:16px}#discovery-room form{flex-wrap:wrap}#discovery-room label:first-child{flex-basis:100%}.discovery-body{flex-direction:column-reverse}.discovery-preview{width:100%;position:static}.discovery-results{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}#discovery-room h2{font-size:26px}}
