@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{--ink:#263f34;--green:#285641;--cream:#f9f5e9;--paper:#fffdf6;--muted:#7e8173;--line:rgba(69,75,46,.17);font-family:'Noto Sans KR','Malgun Gothic',sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#b9c9a9}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d68e43;outline-offset:4px}button{border:0}button:disabled{cursor:wait;opacity:.6}button svg{pointer-events:none}svg{width:20px;height:20px;display:block}button:hover{filter:brightness(1.035)}button:active{transform:translateY(1px)}[hidden]{display:none!important}#world{position:fixed;inset:0}#world canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.paper-grain{position:fixed;inset:0;pointer-events:none;opacity:.075;z-index:3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.45' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:27px 40px;background:linear-gradient(#faf5e7ec, #faf5e7a0 68%,transparent);gap:16px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink)}.school-mark{width:48px;height:52px;background:var(--green);clip-path:polygon(50% 0,100% 20%,93% 76%,50% 100%,7% 76%,0 20%);display:grid;place-items:center;color:#f5e7bd;font-family:'Gowun Batang',serif;font-weight:700;font-size:23px;flex:none}.brand b{display:block;font-family:'Gowun Batang',serif;font-weight:700;font-size:20px;letter-spacing:1px}.brand small{display:block;font-size:10px;letter-spacing:2.5px;color:#727b65;margin-top:4px}.top-tools{display:flex;align-items:center;gap:8px}.icon-button,.room-button{height:42px;display:flex;align-items:center;justify-content:center;background:#fffdf6da;border:1px solid #fefcf8aa;box-shadow:0 3px 14px #3f55300a;border-radius:50%;gap:7px}.icon-button{min-width:42px;padding:0 12px}.icon-button b{font-size:12px;font-weight:500}.room-button{border-radius:24px;font-size:12px;padding:0 17px;gap:9px;margin-right:5px}.live-dot{display:inline-block;width:6px;height:6px;background:#5c9870;border-radius:100%;flex:none;box-shadow:0 0 0 3px #6b9f6d15}.tiny-arrow{font-size:15px;color:#81917d}.welcome{position:fixed;z-index:5;left:5.2vw;top:50%;transform:translateY(-43%);width:348px;padding:28px 29px 22px;background:linear-gradient(120deg,#fffdf4f2,#fffdf4de);border:1px solid #fffdf4;border-radius:3px;box-shadow:0 12px 70px #424b3120;backdrop-filter:blur(12px)}.welcome:before,.welcome:after{content:'';position:absolute;top:-9px;width:58px;height:20px;background:#c4b48a6b;transform:rotate(-7deg)}.welcome:before{left:14px}.welcome:after{right:10px;transform:rotate(8deg)}.overline{font-size:10px;letter-spacing:1.1px;color:#8b8e74;display:flex;align-items:center;gap:8px}.overline span{height:1px;width:19px;background:#b09b6b}h1{font-family:'Gowun Batang',Batang,serif;font-size:40px;font-weight:400;line-height:1.4;letter-spacing:-1.8px;margin:20px 0 15px}.welcome-copy{font-size:12px;line-height:1.95;color:#79806c;margin-bottom:26px}.field-label{display:block;font-size:10px;margin-bottom:9px;color:#6c735f}.name-input{display:flex;align-items:center;gap:9px;padding:12px 10px;border-bottom:1px solid #a2aa90;background:#f4f2e8}.name-input svg{width:15px;height:15px;color:#969c82}.name-input input{border:0;background:none;outline:0;min-width:0;width:100%;font-size:11px;color:#3e4b35}.name-input input::placeholder{color:#9d9e8e}.uniform-line{display:flex;align-items:center;gap:11px;font-size:10px;margin:17px 0 22px;color:#69705b}.uniform-line>small{font-size:9px;margin-left:auto;color:#9a9c88}#uniform-options{display:flex;gap:7px}.swatch{width:16px;height:16px;border-radius:50%;border:2px solid var(--paper);outline:1px solid transparent;padding:0}.swatch[aria-pressed=true]{outline-color:#56634b}.enter-button{width:100%;background:var(--green);color:#fff6e1;display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 19px;font-size:13px;letter-spacing:.3px;box-shadow:0 4px 8px #234d4012}.enter-button svg{width:19px}.entry-note{font-size:8px;color:#9a9d87;display:flex;align-items:center;gap:7px;margin:17px 0 0;white-space:nowrap}.entry-note .live-dot{width:4px;height:4px;box-shadow:none}.scene-caption{position:fixed;right:43px;bottom:34px;z-index:5;display:flex;align-items:center;gap:16px;color:#fffdf2;text-shadow:0 2px 12px #31432b66}.caption-line{width:38px;height:1px;background:#fff8}.scene-caption p{font-family:'Gowun Batang',serif;font-size:19px;letter-spacing:2px;margin:0}.scene-caption small{font-family:'Noto Sans KR',sans-serif;display:block;font-size:9px;letter-spacing:1.3px;margin-top:6px}.caption-number{font-size:9px;letter-spacing:2px;align-self:flex-end;margin-left:18px}.loading{position:fixed;z-index:30;inset:0;background:#f3efe3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;transition:opacity .6s}.loading .school-mark{width:55px;height:60px}.loading p{font-size:12px;letter-spacing:1px}.loading p span{display:block;text-align:center;letter-spacing:5px;color:#9b9e81;margin-top:14px;animation:breathe 1.3s infinite}@keyframes breathe{50%{opacity:.25}}#hud{position:fixed;inset:0;z-index:6;pointer-events:none}#hud button{pointer-events:auto}.location-card{position:absolute;left:40px;top:117px;display:flex;gap:12px;align-items:center;padding:12px 17px;background:#fffdf0db;backdrop-filter:blur(10px);border:1px solid #fff9;border-radius:3px}.location-card>svg{color:#8d9976}.location-card b{display:block;font-family:'Gowun Batang',serif;font-size:15px}.location-card span{display:block;font-size:9px;color:#8c927d;margin-top:4px}.hud-right{position:absolute;right:40px;top:117px;display:flex;gap:9px}.small-paper{display:flex;align-items:center;gap:8px;padding:11px 13px;background:#fffdf0dd;border:1px solid #fff9;border-radius:3px;font-size:10px;backdrop-filter:blur(10px)}.small-paper svg{width:15px;height:15px}.small-paper b{font-size:9px;color:#9b977c;font-weight:400;margin-left:5px}.arrival-note{position:absolute;left:41px;bottom:145px;background:#f7f0ced9;max-width:290px;padding:20px 30px 18px 20px;box-shadow:3px 5px 15px #374a2420;transform:rotate(-2deg);border-bottom-right-radius:30px 8px}.handwritten{font-family:'Gowun Batang',serif;font-size:21px}.arrival-note p{font-size:10px;color:#8a896e;margin-bottom:0}.arrival-note button{position:absolute;top:5px;right:5px;padding:5px 8px;background:none;color:#9c9679}.actionbar{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;background:#fffdf1ed;backdrop-filter:blur(15px);padding:8px 12px;box-shadow:0 8px 25px #263d2522;border:1px solid #fff9;border-radius:7px}.actionbar button{position:relative;background:none;min-width:91px;padding:8px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;border-radius:4px;font-size:10px;white-space:nowrap}.actionbar button:hover{background:#e4e9dc}.actionbar button>svg{width:22px;height:22px;color:#526a4b}.actionbar kbd{position:absolute;right:3px;top:1px;font:8px 'Noto Sans KR';color:#a3ab98}.action-divider{height:34px;width:1px;background:#d6dbcb;margin:0 5px}.actionbar small{position:absolute;right:1px;top:1px;font-size:8px;color:#899077}.movement-hint{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;gap:20px;font-size:9px;color:#ffffe9;white-space:nowrap;text-shadow:0 1px 5px #253721}.movement-hint kbd{font:8px inherit;color:#fff}.context-action{position:absolute;left:50%;bottom:150px;transform:translateX(-50%)}.context-action button{padding:9px 16px 9px 9px;background:var(--green);border:1px solid #ffffff70;color:#fffbe9;border-radius:30px;display:flex;align-items:center;gap:10px;font-size:12px;box-shadow:0 3px 15px #2535213a}.context-action kbd{background:#fdf9df;color:var(--green);padding:3px 6px;border-radius:50%;font-size:10px}.connection{position:fixed;left:50%;top:100px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:10px 15px;border-radius:25px;z-index:15;background:#fff9e9ed;font-size:11px;border:1px solid #fff9}.connection.error .live-dot{background:#b77b57}.connection button{background:none;text-decoration:underline;font-size:10px;color:#8c5f39}.toast{position:fixed;left:50%;top:160px;transform:translate(-50%,-10px);max-width:min(90vw,420px);padding:12px 23px;background:#294f42e8;backdrop-filter:blur(10px);border:1px solid #fff3;z-index:35;color:#f8f5e6;font-size:12px;text-align:center;border-radius:5px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}#labels,#pins{position:fixed;inset:0;pointer-events:none;z-index:4}.player-label{position:absolute;left:0;top:0;transform:translate(-50%,-100%);white-space:nowrap;background:#fffbeadb;backdrop-filter:blur(5px);border-radius:4px;padding:4px 9px;color:#57624b;font-size:9px;border:1px solid #fff9}.player-label.self{background:#305b44d9;color:#fff9db}.bubble{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);padding:7px 12px;border-radius:13px;background:#fffdf1;color:#57624b;font-size:11px;box-shadow:0 3px 10px #0001}.bubble:after{content:'';position:absolute;bottom:-4px;left:50%;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #fffdf1}.world-pin{position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;gap:5px;padding:5px 9px;border-radius:15px;background:#fdfbe9dd;border:1px solid #fff7;color:#66724f;font-size:8px;pointer-events:auto;box-shadow:0 3px 12px #26382112;white-space:nowrap}.world-pin i{font-style:normal;color:#a29468}dialog{border:1px solid #fdfbf4;border-radius:6px;background:#faf7ed;color:var(--ink);padding:26px;width:min(540px,calc(100vw - 32px));max-height:85dvh;box-shadow:0 30px 100px #18392250}dialog::backdrop{background:#263b324d;backdrop-filter:blur(5px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.dialog-header small{font-size:9px;color:#9c9b84;letter-spacing:1.3px}.dialog-header h2{font-family:'Gowun Batang',serif;font-weight:400;font-size:25px;margin:7px 0 0}.dialog-header .icon-button{font-size:23px;box-shadow:none;border:1px solid var(--line);width:34px;height:34px;min-width:34px;background:transparent}.dialog-description{font-size:12px;color:#7b836d;line-height:1.8}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.room-card{background:#f1efdf;border:1px solid #dedfcb;padding:18px 8px;text-align:center;border-radius:3px}.room-card strong{font-family:'Gowun Batang';display:block;font-size:17px}.room-card small{display:block;font-size:9px;color:#8b9479;margin-top:6px}.room-card.selected{background:#e0e8d8;border-color:#6e8867}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-card{text-align:left;padding:18px;background:#eeefe1;border:1px solid #dcdfca;border-radius:4px;display:flex;flex-direction:column;gap:9px}.map-card b{font-family:'Gowun Batang';font-size:17px;font-weight:400}.map-card small{font-size:10px;color:#8d947e}.map-card>span{font-size:25px}.memory-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.memory-card{display:flex;gap:12px;align-items:center;text-align:left;padding:14px 12px;background:#f0eddf;border:1px solid #e0dfcd;border-radius:3px}.memory-card.found{background:#e8eddd}.memory-card>span{font-size:27px}.memory-card b{display:block;font-size:12px;font-weight:500}.memory-card small{display:block;font-size:9px;margin-top:6px;color:#949780}.memory-story{text-align:center}.memory-illustration{font-size:65px;background:#f0ebd8;border-radius:50%;width:125px;height:125px;display:grid;place-items:center;margin:0 auto 24px}.memory-story p{font-family:'Gowun Batang';font-size:16px;line-height:2;color:#70775e}.memory-stamp{font-size:10px;letter-spacing:2px;color:#809272;margin:23px 0 7px}.dialog-button{background:var(--green);color:#fffae8;padding:12px 19px;border-radius:3px;font-size:12px}.friend-row{display:flex;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.friend-color{height:26px;width:26px;border-radius:50%;display:inline-block}.friend-row small{margin-left:auto;font-size:9px;color:#8b957e}.help-list{font-size:12px;line-height:2.2;color:#758067}.help-list kbd{font:10px 'Noto Sans KR';padding:3px 7px;border:1px solid #d8ddc9;border-radius:3px;background:#f0f0e2;margin-right:8px}.dialog-footnote{font-size:10px;line-height:1.8;color:#999d87;margin-top:20px}.fatal{position:fixed;z-index:99;inset:0;background:#f6f1e6;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}.fatal h2{font-family:'Gowun Batang';font-size:28px}.fatal p{font-size:12px;color:#77846c;max-width:460px;line-height:1.8}.fatal button{margin-top:20px;background:var(--green);color:#fff;padding:12px 25px}.joystick{display:none;pointer-events:auto;touch-action:none;position:absolute;bottom:134px;left:25px;width:92px;height:92px;border-radius:50%;border:1px solid #fff9;background:#fff4;backdrop-filter:blur(5px)}.joystick>div{position:absolute;width:40px;height:40px;left:25px;top:25px;border-radius:50%;background:#fffbd7b0;box-shadow:0 3px 12px #3b4b2220}.in-game .topbar{padding-top:22px}.in-game .scene-caption{display:none}@media(min-width:1500px){.welcome{left:7vw;width:375px;padding:34px}h1{font-size:45px}}@media(max-width:800px){.topbar{padding:19px 20px}.brand b{font-size:16px}.brand small{font-size:8px;letter-spacing:1.5px}.school-mark{width:38px;height:42px;font-size:20px}.top-tools{gap:4px}.top-tools .icon-button{height:35px;min-width:35px;padding:0 9px}.top-tools svg{width:17px;height:17px}.room-button{height:35px;padding:0 12px;font-size:10px}.welcome{left:25px;width:310px;padding:26px;top:51%;transform:translateY(-42%)}h1{font-size:35px}.welcome-copy{font-size:11px}.scene-caption{right:25px;bottom:25px}.scene-caption p{font-size:15px}.caption-number{display:none}.location-card{top:96px;left:20px}.hud-right{top:96px;right:20px;flex-direction:column}.small-paper{padding:9px 11px}.arrival-note{left:20px;bottom:154px}.movement-hint{display:none}.actionbar{bottom:23px;padding:6px 8px;gap:0}.actionbar button{min-width:77px;padding:8px;font-size:9px}.actionbar kbd{display:none}.context-action{bottom:125px}.connection{top:88px;font-size:9px}.toast{top:145px}.joystick{display:block}.location-card span{max-width:160px;font-size:8px}.in-game .topbar{padding-top:18px}}@media(max-width:500px){.topbar{padding:15px 16px}.brand{gap:8px}.brand b{font-size:14px}.brand small{font-size:7px}.school-mark{width:32px;height:36px;font-size:17px}.top-tools{gap:3px}#friends-button{display:none}.room-button{padding:0 9px;margin:0;height:32px}.top-tools .icon-button{height:32px;min-width:32px;padding:0 7px}.welcome{left:20px;right:20px;top:auto;bottom:36px;transform:none;width:auto;max-width:350px;padding:22px 25px}.welcome h1{font-size:34px;margin-top:16px;margin-bottom:10px}.welcome-copy{margin-bottom:19px;font-size:10px}.overline{font-size:8px}.uniform-line{margin:13px 0 16px}.entry-note{font-size:7px}.scene-caption{display:none}.location-card{top:86px;left:16px;padding:9px 12px}.location-card>svg{display:none}.location-card b{font-size:13px}.location-card span{font-size:7px}.hud-right{top:86px;right:16px}.small-paper{font-size:9px;padding:8px}#book-button{display:none}.arrival-note{bottom:245px;left:20px;max-width:235px;padding:16px 28px 15px 16px}.handwritten{font-size:18px}.arrival-note p{font-size:8px}.actionbar{bottom:25px;width:calc(100vw - 32px);justify-content:space-around}.actionbar button{min-width:0;flex:1;padding:8px 4px;font-size:9px}.actionbar .action-divider{margin:0 6px}.actionbar svg{width:21px;height:21px}.context-action{bottom:133px;left:auto;right:20px;transform:none}.context-action button{font-size:10px}.context-action kbd{display:none}.connection{top:140px;white-space:nowrap}.toast{top:185px;font-size:11px}.joystick{bottom:125px;left:23px}.map-grid,.memory-grid{gap:8px}.memory-card{padding:11px 8px;gap:9px}.memory-card b{font-size:10px}.memory-card>span{font-size:22px}.room-card strong{font-size:14px}.room-card{padding:15px 5px}dialog{padding:20px}.dialog-header h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.solo-button{display:block;width:100%;background:none;font-size:10px;color:#7d896c;text-decoration:underline;text-underline-offset:4px;margin-top:15px;padding:4px}.solo-button:hover{color:#285641}

.organ-keyboard{display:flex;margin:25px 0 15px;height:145px;border:7px solid #6f4e35;border-top-width:14px;border-radius:3px;background:#493c2c;gap:2px}.organ-keyboard button{flex:1;position:relative;padding:0 0 10px;background:#eee7ce;border-radius:0 0 3px 3px;box-shadow:inset 0 -5px 0 #c4b799;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;font-size:11px}.organ-keyboard button:not(:nth-child(3)):not(:nth-child(7)):not(:last-child):after{content:"";position:absolute;top:0;right:-9px;width:16px;height:68px;background:#30352d;z-index:2;border-radius:0 0 2px 2px}.organ-keyboard button.playing{background:#c3d4ac;box-shadow:inset 0 -2px 0 #829573}.organ-keyboard kbd{font-size:9px;color:#969b85}


.activity-tools{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.activity-tools button,.chalk-writing button{padding:10px 13px;border:1px solid #c6ceb6;background:#e9eddd;border-radius:4px;font-size:12px;color:#405c47}.activity-tools .dialog-button{background:#305a45;color:#fff8df;border-color:#305a45}.activity-tools button[aria-pressed=true]{background:#d9e2c8;border-color:#557b55;box-shadow:inset 0 -2px #6e8a61}.activity-tools button:disabled,.organ-keyboard button:disabled{opacity:.5;cursor:default}.activity-status{font-size:12px;line-height:1.8;color:#526b4c;min-height:24px;margin:13px 0}progress{display:block;width:100%;height:12px;accent-color:#77935e;border:0}progress::-webkit-progress-bar{background:#e5e3d1;border-radius:10px}progress::-webkit-progress-value{background:#839761;border-radius:10px}.lunch-scene{height:235px;position:relative;margin:15px 0;background:linear-gradient(#e8e4d1 0 67%,#b99a70 67%);overflow:hidden;border-radius:5px}.stove-pipe{position:absolute;left:64%;bottom:93px;width:15px;height:155px;background:#454a3d;border:2px solid #343c31}.mini-stove{position:absolute;bottom:13px;left:calc(50% - 52px);width:104px;height:100px;background:repeating-linear-gradient(90deg,#41483b 0 8px,#525444 9px 12px);border-radius:25% 25% 42% 42%;box-shadow:0 7px 0 #353e32}.mini-stove:before{content:'';position:absolute;top:-9px;left:-20px;width:144px;height:14px;border-radius:50%;background:#3c4538;box-shadow:0 -3px 0 #6b6c55}.mini-stove:after{content:'';position:absolute;left:30px;bottom:25px;width:44px;height:35px;border:3px solid #333a31;background:#414735;border-radius:8px}.lunch-tin{position:absolute;left:calc(50% - 81px);bottom:111px;width:162px;height:65px;background:#bdbba7;border:3px solid #8b8c79;border-radius:12px;box-shadow:inset 0 -6px #979c89,0 4px 2px #3333;transform:translate(-95px,40px);transition:transform .7s}.heating .lunch-tin{transform:translate(0,0)}.lunch-lid{position:absolute;inset:-5px -5px auto;height:65px;background:linear-gradient(135deg,#d4d2bc,#b6baa5);border:3px solid #8e9480;border-radius:12px;display:grid;place-items:center;font-size:11px;letter-spacing:2px;color:#68745c;transform-origin:right top;transition:transform .8s,opacity .8s}.opened .lunch-lid{transform:translate(45px,-50px) rotate(30deg);opacity:.1}.lunch-food{display:flex;height:100%;gap:4px;padding:5px;font-size:9px;text-align:center}.lunch-food span{display:grid;place-items:center;border:1px solid #a59d7a;border-radius:5px;flex:1;background:#d59c61}.lunch-food span:first-child{flex:2;background:repeating-radial-gradient(ellipse,#eee8cf 0 3px,#ded8b9 4px 5px)}.lunch-food span:last-child{background:#b2684f;color:#f7e9c7}.lunch-steam{opacity:0;position:absolute;inset:-45px 15px auto;height:45px;display:flex;justify-content:space-around;pointer-events:none;transition:opacity .8s}.warm .lunch-steam{opacity:1}.lunch-steam i{height:40px;width:8px;border-radius:100%;background:#fff9dc90;filter:blur(3px);animation:school-steam 1.7s infinite}.lunch-steam i:nth-child(2){animation-delay:.4s}.lunch-steam i:nth-child(3){animation-delay:.9s}@keyframes school-steam{0%{transform:translateY(9px);opacity:0}40%{opacity:1}100%{transform:translate(9px,-22px);opacity:0}}.chalk-canvas{display:block;width:100%;height:auto;touch-action:none;border:8px solid #826643;border-bottom-width:15px;border-radius:3px;box-sizing:border-box;cursor:crosshair;box-shadow:inset 0 0 10px #0003}.chalk-writing{display:flex;gap:7px}.chalk-writing input{width:0;min-width:0;flex:1;padding:11px;font-size:12px;border:1px solid #c8cdb7;background:#fffdf3;color:#425b42}.chalk-writing button{flex:none}.eraser-yard{height:215px;position:relative;overflow:hidden;background:linear-gradient(#d9e4ca 0 62%,#9b815e 62%);border:5px solid #a68b63;border-radius:3px}.eraser-yard:before{content:'';position:absolute;left:22%;height:63%;width:6px;background:#aa9268}.eraser-yard:after{content:'';position:absolute;right:22%;height:63%;width:6px;background:#aa9268}.eraser-object{position:absolute;left:calc(50% - 65px);top:76px;width:130px;height:46px;background:#a47b49;border:3px solid #715c3c;border-radius:7px;box-shadow:0 13px 0 #d4cba6;display:grid;place-items:center;z-index:2}.eraser-object span{font-size:10px;letter-spacing:2px;color:#e9ddba}.eraser-grate{position:absolute;left:15%;right:15%;bottom:29px;height:22px;border:5px solid #656d58;background:repeating-linear-gradient(90deg,#8c947b 0 10px,#444e40 11px 15px)}.eraser-object.tap{animation:school-tap .2s}.chalk-puff{position:absolute;top:116px;width:7px;height:7px;border-radius:50%;background:#f1eacb;z-index:3;pointer-events:none;animation:chalk-puff .65s forwards}@keyframes school-tap{50%{transform:translateY(25px) rotate(5deg)}}@keyframes chalk-puff{from{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}}.melody-line{padding:12px 14px;border:1px dashed #a7b38c;background:#f0efdd;color:#68744d;font-size:13px;line-height:1.8;letter-spacing:2px}.organ-keyboard button.next-note{background:#ecd990;box-shadow:inset 0 -5px #c1a65f}.organ-keyboard button.playing{background:#aecf9c}.map-card[data-game] b{font-size:16px}.map-card[data-game]>span{font-family:serif;color:#63805a;font-size:30px}@media(max-width:500px){.activity-tools{gap:6px}.activity-tools button{padding:9px;font-size:11px}.chalk-canvas{border-width:5px;border-bottom-width:11px}.chalk-writing{flex-wrap:wrap}.chalk-writing input{flex-basis:65%}.lunch-scene{height:210px}.organ-keyboard{height:125px}.melody-line{font-size:12px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){.lunch-steam i{animation:none}.eraser-object.tap{animation-duration:.01s}.chalk-puff{animation-duration:.01s}.lunch-tin,.lunch-lid{transition:none}}

.exhibit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.exhibit-card{text-align:left;background:#eee8d6;border:1px solid #d2c8ae;border-radius:4px;padding:10px;display:flex;flex-direction:column;gap:7px}.exhibit-thumb{height:145px;background:#d9cdb0;display:grid;place-items:center;overflow:hidden;padding:7px}.exhibit-thumb img{width:100%;height:100%;object-fit:contain;box-shadow:0 3px 8px #493a2918}.exhibit-card b{font-family:'Gowun Batang',serif;font-size:16px;line-height:1.5}.exhibit-card small,.exhibit-card>span:last-child{font-size:10px;color:#69765d}.exhibit-toolbar,.exhibit-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}.exhibit-toolbar button,.exhibit-navigation button{font-size:11px;background:#e8e9d9;border:1px solid #c9ccb6;padding:9px 10px;border-radius:4px;min-height:38px}.exhibit-toolbar>span,.exhibit-navigation>span{font-size:10px;color:#748069;text-align:center}.exhibit-navigation button:disabled{cursor:default;opacity:.4}.exhibit-viewer{height:min(48vh,420px);overflow:auto;background:#d9ccb0;border:8px solid #8b6d49;border-radius:3px;display:grid;justify-items:center;align-items:center;overscroll-behavior:contain}.exhibit-viewer img{display:block;max-width:100%;max-height:calc(min(48vh,420px) - 16px);width:auto;height:auto;object-fit:contain}.exhibit-viewer.enlarged{display:block}.exhibit-viewer.enlarged img{width:180%;max-width:none;max-height:none;height:auto}.exhibit-description{font-size:12px;line-height:1.85;color:#65725a}.exhibit-credit{font-size:10px;line-height:1.8;color:#737c66;border-top:1px solid #d5d6c4;padding-top:12px}.exhibit-credit a{color:#37644d;text-underline-offset:3px}.exhibit-viewer:focus-visible{outline:3px solid #d68e43;outline-offset:3px}.exhibit-viewer p{font-size:12px;padding:20px;line-height:1.8}@media(max-width:500px){.exhibit-grid{gap:8px}.exhibit-thumb{height:120px}.exhibit-card{padding:7px}.exhibit-card b{font-size:13px}.exhibit-toolbar{flex-wrap:wrap}.exhibit-toolbar>span{order:3;width:100%;text-align:left}.exhibit-viewer{height:38vh}.exhibit-viewer img{max-height:calc(38vh - 16px)}.exhibit-description{font-size:11px}}

/* A quiet scene with compact tool pills; paper is reserved for reading. */
:root{--ui-glass:rgba(34,53,43,.86);--ui-edge:rgba(249,245,227,.23);--ui-text:#fff9e8;font-family:'Noto Sans KR','Malgun Gothic',sans-serif}button,input{font-family:'Noto Sans KR','Malgun Gothic',sans-serif}.topbar{padding:18px 24px;background:none;gap:12px;pointer-events:none}.topbar>div{pointer-events:auto}.school-header{display:flex;align-items:center;gap:12px;background:var(--ui-glass);border:1px solid var(--ui-edge);border-radius:30px;padding:7px 8px 7px 12px;backdrop-filter:blur(14px);box-shadow:0 5px 22px #19332716}.brand{gap:8px;color:var(--ui-text)}.school-mark{width:31px;height:34px;font-size:18px;background:#839779;color:#fff9e8}.brand b{font-family:'Gowun Batang',Batang,serif;font-size:16px;letter-spacing:.3px}.brand small{font-size:8px;color:#d8dfce;letter-spacing:1.5px;margin-top:2px}.top-tools{padding:4px;background:var(--ui-glass);border:1px solid var(--ui-edge);border-radius:27px;backdrop-filter:blur(14px);gap:3px}.top-tools .icon-button,.room-button,.top-tools .small-paper{border:0;box-shadow:none;background:transparent;color:var(--ui-text);height:42px;min-width:42px;padding:0 11px;border-radius:23px}.room-button{background:#ffffff10;margin:0;font-size:11px;gap:6px;padding:0 11px}.room-button .tiny-arrow{color:#d9e4ce}.room-button .live-dot{display:none}.top-tools .icon-button:hover,.room-button:hover,.top-tools .small-paper:hover{background:#ffffff17}.top-tools .small-paper{display:flex;font-size:11px;gap:6px;backdrop-filter:none}.top-tools .small-paper svg{width:19px;height:19px}.top-tools .small-paper b{font-size:10px;color:#e0d8b8;margin:0}.tool-label{white-space:nowrap}.in-game .topbar{padding-top:18px}.location-card{top:98px;left:24px;padding:9px 13px;background:rgba(36,56,44,.8);color:var(--ui-text);border:1px solid var(--ui-edge);border-radius:18px;backdrop-filter:blur(10px);gap:8px}.location-card b{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;font-size:12px;font-weight:500}.location-card span{font-size:10px;color:#d5ddca}.location-card>svg{width:17px;color:#d6dec6}.hud-right{top:96px;right:24px}.hud-right .small-paper{background:var(--ui-glass);color:var(--ui-text);border-radius:20px;font-size:12px}.actionbar{bottom:27px;gap:4px;padding:8px;background:var(--ui-glass);border:1px solid var(--ui-edge);border-radius:29px;box-shadow:0 6px 25px #182d2433}.actionbar button{min-width:88px;min-height:57px;padding:7px 12px;gap:5px;border-radius:20px;font-size:11px;color:var(--ui-text);font-weight:500}.actionbar button>svg,.actionbar button>[data-icon]>svg{width:23px;height:23px;color:#f3e8c7}.actionbar button:hover{background:#ffffff13}.actionbar button.active{background:#ffffff1a}.actionbar button .nav-count{font-size:8px;line-height:1;position:absolute;right:9px;top:7px;color:#dbd6b8;background:#172f2570;border-radius:8px;padding:3px 4px}.actionbar kbd{font-size:8px;color:#d1d9c3;right:7px;top:5px}.actionbar .action-divider{display:none}.movement-hint{bottom:8px;font-size:10px;gap:17px}.context-action{bottom:132px}.context-action button{font-size:13px;min-height:42px;padding:8px 16px 8px 9px;border-color:#ede6c57a;background:#355e49ee;backdrop-filter:blur(10px)}.arrival-note{left:24px;bottom:134px;max-width:260px;transform:none;border-radius:8px;padding:15px 29px 15px 16px;background:#faf1d6e8}.arrival-note .handwritten{font-size:19px}.arrival-note p{font-size:11px;line-height:1.7;margin-top:7px}.arrival-note button{font-size:16px;min-width:28px;min-height:28px}.joystick{bottom:135px;border-color:#f7f0d56e;background:#203c293d}.welcome{left:50%;top:50%;bottom:auto;right:auto;transform:translate(-50%,-45%);width:366px;padding:29px 30px 25px;border-radius:17px;background:rgba(28,48,37,.88);border:1px solid var(--ui-edge);color:var(--ui-text);box-shadow:0 20px 60px #1a302b3b;backdrop-filter:blur(16px)}.welcome:before,.welcome:after{display:none}.overline{font-size:10px;letter-spacing:2px;color:#ddd8b8;justify-content:center}.overline span{display:none}.welcome h1{font-family:'Gowun Batang',Batang,serif;font-size:39px;text-align:center;margin:15px 0 13px;letter-spacing:-1px;font-weight:400;line-height:1.5}.welcome-copy{font-size:12px;line-height:1.9;text-align:center;color:#e0e2cf;margin:0 0 22px}.entry-customize{margin-bottom:16px;border-top:1px solid #ffffff20}.entry-customize summary{font-size:12px;padding:13px 0;cursor:pointer;list-style:none;color:#e5e4cd}.entry-customize summary:after{content:'⌄';float:right}.entry-customize[open] summary:after{content:'⌃'}.entry-customize .field-label{font-size:11px;color:#dde1cb}.name-input{border:1px solid #c7d0b84f;border-radius:6px;background:#f7f1df15;padding:11px}.name-input input{font-size:13px;color:#fff9e8}.name-input input::placeholder{color:#d8dbc6}.name-input svg{color:#e0d7b5}.uniform-line{font-size:11px;color:#e0e2ce;margin:14px 0 0;flex-wrap:wrap}.uniform-line>small{font-size:10px;color:#ced5bd}.swatch{width:21px;height:21px;border-color:#354e3a;outline-offset:2px}.swatch[aria-pressed=true]{outline-color:#f1dfab}.enter-button{border-radius:25px;background:#eee4bf;color:#2d503c;height:49px;font-size:14px;font-weight:600;justify-content:center;gap:14px;box-shadow:none}.entry-note{font-size:9px;line-height:1.8;white-space:normal;justify-content:center;color:#d5dcc4;margin-top:14px}.scene-caption{display:none}.connection{font-size:12px}.dialog-header small{font-size:10px;letter-spacing:1px}.dialog-header h2{font-family:'Gowun Batang',Batang,serif;font-size:28px}.dialog-description{font-size:13px;line-height:1.9;color:#5b6a53}.dialog-footnote{font-size:11px;line-height:1.9;color:#737d66}.map-card small{font-size:11px;line-height:1.65}.map-card b{font-size:15px}.activity-tools button,.chalk-writing button{font-size:12px;min-height:42px}.activity-status{font-size:13px}.exhibit-card small,.exhibit-card>span:last-child{font-size:11px}.exhibit-toolbar button,.exhibit-navigation button{font-size:12px;min-height:42px}.exhibit-description{font-size:13px}.exhibit-credit{font-size:11px;line-height:1.85}.exhibit-toolbar>span,.exhibit-navigation>span{font-size:11px}.toast{font-size:12px}.help-list{font-size:13px;line-height:1.9}dialog{border-radius:13px}
@media(max-width:800px){.topbar,.in-game .topbar{padding:14px 16px}.school-header{gap:8px}.location-card{top:88px;left:16px}.actionbar{bottom:25px}.movement-hint{display:none}.welcome{width:350px;max-width:calc(100vw - 32px)}.hud-right{top:88px;right:16px}}
@media(max-width:500px){.topbar,.in-game .topbar{padding:12px;gap:7px}.school-header{padding:5px 5px 5px 9px;gap:6px}.school-mark{width:25px;height:29px;font-size:15px}.brand{gap:6px}.brand b{font-size:13px}.brand small{display:none}.room-button{height:36px;min-width:0;font-size:10px;padding:0 7px;gap:4px}.top-tools{padding:2px;gap:0}.top-tools .icon-button,.top-tools .small-paper{height:38px;min-width:36px;padding:0 8px}.top-tools .small-paper{display:flex!important;gap:0}.tool-label,.top-tools .small-paper b{display:none}.top-tools svg{width:18px;height:18px}.location-card{top:79px;left:12px;padding:8px 11px}.location-card b{font-size:11px}.location-card span{display:none}.location-card>svg{display:block;width:15px}.actionbar{width:calc(100vw - 24px);bottom:23px;padding:6px;gap:0;justify-content:space-between}.actionbar button{min-width:0;min-height:58px;flex:1;padding:7px 3px;gap:6px;font-size:10px}.actionbar button .nav-count{right:3px;top:3px;font-size:7px;padding:2px 3px}.actionbar button>[data-icon]>svg{width:23px;height:23px}.arrival-note{left:15px;bottom:246px;max-width:220px;padding:12px 27px 12px 14px}.arrival-note .handwritten{font-size:17px}.arrival-note p{font-size:10px}.context-action{bottom:134px;right:15px}.context-action button{font-size:11px}.joystick{left:18px;bottom:133px}.welcome{left:50%;top:50%;bottom:auto;right:auto;transform:translate(-50%,-42%);width:calc(100vw - 36px);max-width:350px;padding:25px}.welcome h1{font-size:35px;margin:13px 0}.welcome-copy{font-size:12px;margin-bottom:16px}.overline{font-size:9px}.uniform-line{margin:13px 0 0}.entry-note{font-size:9px}.dialog-header h2{font-size:24px}.dialog-description{font-size:12px}.dialog-footnote{font-size:10px}.map-card b{font-size:14px}.map-card small{font-size:10px}.activity-status{font-size:12px}}
@media(max-height:650px){.welcome{top:51%;transform:translate(-50%,-40%);max-height:calc(100dvh - 100px);overflow:auto;padding:20px 25px}.welcome h1{font-size:30px;margin:10px 0}.welcome-copy{margin-bottom:10px}.entry-customize summary{padding:10px 0}}

.exhibit-thumb{display:flex;align-items:center;justify-content:center}.exhibit-thumb img{min-height:0;min-width:0;width:auto;height:100%;max-width:100%;object-fit:contain}

/* Keep the opening visitor visible beneath the title, like the reference framing. */
.welcome{top:97px;transform:translateX(-50%);padding:22px 28px 20px}.welcome h1{font-size:34px;margin:12px 0}.welcome-copy{font-size:11px;margin-bottom:12px}.entry-customize{margin-bottom:12px}.entry-customize summary{padding:11px 0}.entry-note{margin-top:12px}.welcome{max-height:calc(100dvh - 120px);overflow:auto}@media(max-width:500px){.welcome{top:99px;transform:translateX(-50%);padding:21px 24px 19px;max-width:330px}.welcome h1{font-size:31px}.welcome-copy{font-size:11px}.entry-note{font-size:8px}}@media(max-height:600px){.welcome{top:85px;max-height:calc(100dvh - 100px)}.welcome h1{font-size:27px}.welcome-copy{margin-bottom:8px}}

.music-button{font-size:22px}.music-button.music-on{background:#ffffff24;color:#f4e6ad}

.room-short-label{display:none}@media(max-width:500px){.multi-school .school-header{gap:4px}.multi-school .room-button{padding:0 6px}.multi-school #room-label{display:none}.multi-school .room-short-label{display:inline}.multi-school .top-tools .icon-button,.multi-school .top-tools .small-paper{min-width:32px;height:40px;padding:0 7px}.multi-school #friends-button{display:flex;position:relative;gap:0}.multi-school #friends-button b{position:absolute;right:0;top:0;font-size:8px;line-height:12px;min-width:12px;padding:0 2px;text-align:center;border-radius:8px;background:#efe3bf;color:#294c3b}}
