:root{--bg:#102a33;--panel:#153540;--ink:#f0e8d0;--muted:#99afb0;--gold:#e3bb70;--teal:#8cc8b5;--line:#ffffff12}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,"Apple SD Gothic Neo",sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}.topbar{height:90px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:14px;font-family:Pretendard,sans-serif;font-size:23px;font-weight:bold}.brand small{display:block;font:10px sans-serif;letter-spacing:3px;color:var(--gold);margin-top:7px}.brand-key{font-size:42px;color:var(--gold);font-weight:normal}.top-center{font-size:12px;color:var(--muted);display:flex;gap:12px;align-items:center}.live-dot{display:inline-block;width:6px;height:6px;background:var(--teal);border-radius:50%}.divider{opacity:.4}.top-actions{display:flex;align-items:center;gap:20px}.demo-tag{border:1px solid #e3bb7040;color:var(--gold);padding:7px 10px;border-radius:4px;font-size:11px}.icon-button{background:none;border:1px solid #ffffff30;border-radius:50%;width:27px;height:27px;color:var(--muted)}main{display:grid;grid-template-columns:minmax(0,1fr) 350px;min-height:calc(100vh - 150px)}.world-wrap{position:relative;overflow:hidden;background:#102d36;display:flex;flex-direction:column;justify-content:center}.scene-heading{position:absolute;top:30px;left:38px;z-index:2;pointer-events:none}.chapter{font-size:10px;letter-spacing:2px;color:var(--gold)}h1{font-family:Pretendard,sans-serif;font-weight:500;font-size:29px;letter-spacing:-1.5px;margin-top:12px}.scene-heading p{font-size:12px;color:var(--muted);margin-top:12px}.canvas-wrap{position:relative;width:100%;margin-top:70px}canvas{display:block;width:100%;height:auto;touch-action:none}.location{position:absolute;text-align:center;pointer-events:none;font-size:12px;letter-spacing:.3px;color:#e9d7b0;text-shadow:0 2px 5px #0d222b}.location span{display:block;font-size:9px;color:#a6b7b4;margin-top:5px}.door1{top:29%;left:19%;width:16%}.door2{top:22%;left:42%;width:17%}.door3{top:29%;left:64%;width:17%}.market{top:50%;right:1%;width:18%}.lounge{top:85%;right:9%;width:20%}.garden{top:84%;left:6%;width:23%}.world-footer{display:flex;justify-content:space-between;gap:12px;padding:20px 30px;font-size:10px;color:#9ab1ae;margin-top:auto}.world-footer .live-dot{margin-right:6px}.keycap{border:1px solid #ffffff20;padding:4px 6px;border-radius:4px;margin-left:8px}.sidebar{background:var(--panel);border-left:1px solid #ffffff0b;padding:28px 26px 18px;display:flex;flex-direction:column}.section-label{font-size:12px;color:#c7d1c7}.section-label span{float:right;font-size:10px;color:var(--muted)}.balance{font-family:Georgia,serif;font-size:37px;letter-spacing:-1px;margin-top:15px}.balance span{font:13px sans-serif;margin-left:6px;color:var(--muted)}.cash-meter{height:6px;background:#091f29;margin-top:20px;border-radius:4px;position:relative}.cash-meter span{display:block;height:100%;width:40%;background:var(--teal);border-radius:4px;transition:width .6s}.cash-meter i{position:absolute;left:30%;height:12px;width:2px;background:#f7df9d;top:-3px}.meter-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:10px}.meter-labels strong{color:var(--teal);font-weight:400}.attempts{display:flex;align-items:center;justify-content:space-between;padding:23px 0;border-bottom:1px solid var(--line);margin-bottom:23px}.attempts strong{font-size:11px;font-weight:400;display:block;margin-top:7px;color:var(--muted)}.attempt-icons{color:var(--gold);letter-spacing:4px;font-size:19px}.attempt-icons .used{color:#486067}.panel{flex:1}.eyebrow{font-size:10px;color:var(--gold);margin-bottom:12px}.panel h2{font-family:Pretendard,sans-serif;font-size:24px;font-weight:400;line-height:1.5;letter-spacing:-.6px}.panel p{font-size:12px;color:#afc0bc;line-height:1.8;margin:12px 0 18px}.guardian-quote{border-left:2px solid #d9b76c;padding:2px 0 2px 15px;margin:23px 0;color:#e9dcbc;font-family:Pretendard,sans-serif;line-height:1.9;font-size:14px}.primary{width:100%;background:var(--gold);border:0;color:#233337;border-radius:6px;padding:14px 16px;font-weight:700;box-shadow:0 3px 0 #9c793e;transition:background .2s}.primary:hover{background:#f1cc86}.secondary{border:1px solid #ffffff26;background:#ffffff04;width:100%;padding:11px;border-radius:6px;margin-top:10px;color:#b6c5bf;font-size:12px}.tiny{font-size:10px!important;color:#90aaa9!important;line-height:1.7!important}.howto{list-style:none;padding:0;margin:22px 0 24px}.howto li{display:flex;gap:13px;margin:14px 0;color:#adbfbc;font-size:12px}.howto b{font-size:10px;color:var(--gold);border:1px solid #d6b26e40;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;font-weight:400}.howto span{padding-top:3px}.sidebar-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.text-button{border:0;padding:0;background:none;color:#9bb3b1;font-size:11px}.text-button:hover{color:var(--gold)}.bottom-bar{min-height:60px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:12px 36px;gap:15px;font-size:11px}.bottom-bar>div{display:flex;gap:12px;align-items:center}.ant-badge{color:var(--gold)}.muted{color:#839ea0}#sayButton{border:1px solid #ffffff19;border-radius:20px;background:#ffffff04;padding:8px 16px;font-size:11px}#sayButton span{color:#8ca6a7;margin-left:18px;font-size:10px}.step-dots{display:flex;gap:5px;margin-bottom:19px}.step-dots span{height:3px;flex:1;background:#3a5258}.step-dots .active{background:var(--gold)}label.field{display:block;color:#c8d4cb;font-size:11px;margin:16px 0 7px}textarea,select{width:100%;padding:11px 12px;background:#0f2b35;border:1px solid #36545c;color:var(--ink);border-radius:5px;outline:none}textarea:focus,select:focus{border-color:var(--gold)}textarea{resize:vertical;min-height:70px;font-size:12px;line-height:1.6}.choices{display:grid;gap:8px;margin:12px 0 18px}.choice{display:flex;align-items:flex-start;gap:9px;background:#102e38;border:1px solid #ffffff10;border-radius:5px;padding:10px;font-size:11px;color:#bacdc6;line-height:1.5;cursor:pointer}.choice:has(input:checked){border-color:#d9b76c;color:#f0e4c7;background:#d9b76c0a}.choice input{accent-color:var(--gold);margin:2px 0}.choice small{display:block;font-size:10px;color:#8eaaa7;margin-top:3px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.card-head span{font-size:10px;color:var(--teal)}.result-icon{width:49px;height:49px;border:1px solid #d9b76c60;display:grid;place-items:center;border-radius:50%;font-size:24px;color:var(--gold);margin-bottom:18px}.countdown{font:42px Georgia,serif;color:var(--gold);margin:20px 0 8px}.sleep-status{font-size:11px;color:var(--muted)}.cinema{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);max-width:80%;width:max-content;text-align:center;background:#0a202bea;border:1px solid #d3b47755;border-radius:8px;padding:14px 22px;box-shadow:0 10px 30px #0003;font-size:13px;color:#e5d6b5;pointer-events:none;opacity:0;transition:opacity .3s}.cinema.show{opacity:1}#toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:6px;background:#f1dcad;color:#20323c;box-shadow:0 6px 25px #0004;z-index:20;opacity:0;pointer-events:none;font-size:13px;max-width:90vw}#toast.show{opacity:1}dialog{background:#173641;border:1px solid #d1b57555;border-radius:12px;color:var(--ink);max-width:540px;width:calc(100% - 32px);padding:34px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#061c27b0;backdrop-filter:blur(4px)}dialog h2{font:25px Pretendard,sans-serif;margin-bottom:20px}dialog p{font-size:13px;color:#bacbc5;line-height:1.9;margin:12px 0}dialog .close{position:absolute;top:10px;right:13px;border:0;background:none;color:#c7cfbc;font-size:25px}.journal-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}.chart{width:100%;height:72px;background:#102b34;border-radius:5px;margin:12px 0}.ledger{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;color:#bacdc6}.note{padding:10px 12px;background:#09232c;font-size:10px;line-height:1.7;color:#a6bcb6;border-radius:5px;margin:12px 0}.guardian-seal{height:70px;display:flex;align-items:center;gap:12px;margin-bottom:17px}.seal-icon{width:59px;height:59px;border-radius:50%;background:#d9b76c12;border:1px solid #d9b76c40;display:grid;place-items:center;font-size:27px}.guardian-seal small{color:var(--muted);font-size:10px;display:block;margin-top:5px}
@media(min-width:1600px){main{grid-template-columns:minmax(0,1fr) 390px}.sidebar{padding:32px}.scene-heading{top:45px;left:50px}h1{font-size:36px}}@media(max-width:1050px){main{grid-template-columns:minmax(0,1fr) 320px}.topbar{padding:0 22px}.sidebar{padding:22px 20px}.scene-heading{left:25px;top:25px}h1{font-size:24px}.world-footer>span:last-child{display:none}.top-center{display:none}.location{font-size:10px}.location span{font-size:8px}.canvas-wrap{margin-top:120px}}@media(max-width:760px){.topbar{height:70px;padding:0 18px}.brand{font-size:19px}.brand-key{font-size:32px}.brand small{font-size:8px}.top-actions{gap:10px}.demo-tag{font-size:9px}main{display:flex;flex-direction:column}.world-wrap{min-height:390px}.scene-heading{top:22px;left:20px}h1{font-size:23px;margin-top:8px}.scene-heading p{font-size:10px;margin-top:7px}.canvas-wrap{margin-top:85px}.world-footer{padding:12px 18px;font-size:9px}.sidebar{border-left:0;border-top:1px solid var(--line);padding:22px}.wallet{float:left}.balance{font-size:31px}.attempts{padding:18px 0;margin-bottom:20px}.panel{min-height:220px}.bottom-bar{padding:14px 18px;flex-direction:column;align-items:flex-start;gap:12px}.bottom-bar .muted{font-size:10px}.location{font-size:9px}.location span{display:none}.cinema{font-size:11px;bottom:38px;padding:10px;max-width:90%}.panel h2{font-size:23px}.sidebar-bottom{margin-top:20px}.topbar .icon-button{width:25px;height:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* 3D edition: cinematic world, quiet private conversation rail. */
:root{--bg:#101d24;--panel:#15252d;--muted:#9daeb0;--line:#ffffff10}body{background:var(--bg)}.topbar{height:76px;padding:0 28px;background:#101e26}.brand{font-size:21px}.brand small{letter-spacing:2px}.world-wrap{min-height:800px;background:#13232c;display:block}.canvas-wrap{position:absolute;inset:0;margin:0;width:100%;height:100%}canvas{width:100%;height:100%;display:block;touch-action:none}.scene-heading{top:31px;left:30px;text-shadow:0 2px 15px #000;z-index:2}.scene-heading h1{font-size:30px}.scene-heading p{color:#b9c5bf}.scene-heading:before{content:'';position:absolute;inset:-31px -120px -20px -30px;background:linear-gradient(180deg,#101e26d0,transparent);z-index:-1;pointer-events:none}.camera-tools{position:absolute;right:20px;top:28px;display:flex;gap:5px;z-index:3}.camera-tools button{background:#12232bd9;border:1px solid #e0bd7138;color:#d6c7a7;padding:8px 11px;border-radius:4px;font-size:10px;backdrop-filter:blur(10px)}.camera-tools button:hover{background:#35443d}.scene-badge{position:absolute;left:28px;bottom:110px;font-size:11px;color:#cdbb95}.scene-badge span{margin-left:12px;color:#8ebaa6;font-size:10px}.chatter{position:absolute;left:28px;bottom:65px;font-size:12px;color:#dfd5bd;background:#12242dc9;border:1px solid #ddc79b25;border-radius:5px;padding:11px 15px;backdrop-filter:blur(10px);max-width:calc(100% - 56px)}.world-footer{position:absolute;bottom:0;width:100%;background:linear-gradient(transparent,#0c1b22a0);padding:23px 28px;color:#c0c4b2}.cinema{bottom:150px;z-index:5}.sidebar{padding:23px 24px;max-height:calc(100vh - 132px);min-height:800px;overflow:auto;background:linear-gradient(160deg,#1b3038,#12242d)}main{grid-template-columns:minmax(0,1fr) 400px;min-height:calc(100vh - 132px)}.wallet .balance{font-size:32px;margin-top:10px}.cash-meter{margin-top:15px}.attempts{padding:17px 0;margin-bottom:19px}.sidebar-bottom{flex-shrink:0}.panel h2{font-size:25px}.panel p{margin:12px 0}.panel{display:block;min-height:0}.guardian-quote{font-size:14px;margin:20px 0}.amount-input{display:flex;align-items:center;background:#10242d;border:1px solid #52645b;border-radius:5px;padding-right:12px;color:#abbbb7}.amount-input input{background:none;border:0;outline:0;width:100%;padding:13px;color:#e6d9ba;font-size:18px;font-family:Georgia,serif}.amount-input:focus-within{border-color:var(--gold)}.conversation-heading{display:flex;justify-content:space-between;align-items:center}.conversation-heading .eyebrow{margin-bottom:5px}.source-button{border:1px solid #d9b96e55;background:#c4aa6720;border-radius:5px;padding:8px 10px;font-size:11px;color:#d9bf86}.step-dots{margin-top:14px;margin-bottom:14px}.mini-ledger{display:flex;justify-content:space-between;gap:7px;border-bottom:1px solid var(--line);padding-bottom:13px;margin:10px 0 14px;font-size:9px;color:#93a9a7}.mini-ledger b{display:block;color:#d8d3bd;font-size:12px;font-weight:400;margin-top:5px}.transcript{max-height:340px;min-height:120px;overflow-y:auto;padding-right:7px;scrollbar-width:thin;scrollbar-color:#617166 transparent}.message{padding:13px 14px;background:#20353d;border:1px solid #ffffff09;border-radius:3px 12px 12px 12px;margin:0 0 13px}.message.user{background:#8b78431b;border-color:#c6a8602a;margin-left:25px;border-radius:12px 3px 12px 12px}.message-name{font-size:11px;color:#d1b576;font-weight:600;display:flex;justify-content:space-between}.message-name small{font-size:9px;font-weight:400;color:#8baba8}.message p{color:#d2dbd3;font-size:12px;line-height:1.85;margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.message.user p{color:#cbc5b2}.decision{display:inline-block;font-size:9px;border-radius:3px;padding:3px 5px;background:#c4aa671a;color:#c4b48a;margin-top:8px}.decision.pass{color:#99cbb0;background:#79b68b19}.decision.reject{color:#d1a58c}.evidence-refs{display:flex;gap:6px;margin-top:8px}.source-ref{background:none;border:0;font-size:9px;color:#91bbb2;padding:0;text-decoration:underline}.chat-actions{display:flex;gap:8px;margin-top:10px}.chat-actions .primary{font-size:12px;padding:12px 8px;box-shadow:none}.chat-actions .secondary{margin:0;padding:10px 6px;font-size:11px;width:45%;flex-shrink:0}.withdraw-link{display:block;margin:16px auto}.thinking{font-size:11px;color:var(--gold);padding:10px 0;line-height:1.7}.thinking[hidden]{display:none}.data-card{padding:15px 0;border-top:1px solid var(--line)}.data-card small{color:#93b6ae;font-size:10px}.data-card h3{font-size:15px;font-weight:500;margin-top:7px}.data-card p{font-size:12px}.data-card.highlight{border-left:2px solid var(--gold);padding-left:12px}.fake-chart{background:#10242c;padding:10px 15px;margin-bottom:20px}.fake-chart svg{width:100%;height:85px}.fake-chart span{font-size:10px;color:#8faaa5}dialog{max-height:85vh;overflow:auto}dialog .transcript{max-height:60vh}#graphicsError{position:absolute;inset:30% 10%;padding:20px;background:#1b3038;color:#e7d9b7;line-height:1.9}.bottom-bar{min-height:56px}.location{display:none}@media(min-width:1600px){main{grid-template-columns:minmax(0,1fr) 430px}.sidebar{padding:26px 30px}.transcript{max-height:420px}}@media(max-width:1100px){main{grid-template-columns:minmax(0,1fr) 360px}.sidebar{padding:22px 20px}.camera-tools{top:140px;left:25px;right:auto}.scene-heading h1{font-size:25px}.world-wrap{min-height:820px}.sidebar{min-height:820px}}@media(max-width:760px){main{display:flex}.topbar{height:68px;padding:0 18px}.brand{font-size:18px}.world-wrap{height:490px;min-height:490px;width:100%}.scene-heading{top:22px;left:20px}.scene-heading h1{font-size:23px}.camera-tools{top:123px;left:20px}.camera-tools button{font-size:9px;padding:7px 9px}.world-footer{padding:15px 18px;font-size:9px}.scene-badge{left:20px;bottom:91px}.chatter{left:20px;bottom:45px;font-size:10px;padding:9px 12px}.sidebar{min-height:0;max-height:none;width:100%;padding:24px 22px}.transcript{max-height:370px}.cinema{bottom:135px;width:85%;font-size:11px}.sidebar .panel{min-height:0}.sidebar-bottom{margin-top:20px}.bottom-bar{font-size:10px}.top-actions{gap:8px}.demo-tag{font-size:8px}.scene-heading p{font-size:10px}}
@media(min-width:761px){
 .sidebar{height:calc(100vh - 132px);min-height:800px;overflow:hidden}
 .wallet,.attempts{flex-shrink:0}
 .panel:has(.transcript){display:flex;flex-direction:column;overflow:hidden}
 .panel:has(.transcript)>:not(.transcript){flex-shrink:0}
 .panel .transcript{flex:1;min-height:90px;max-height:none}
 .panel:has(.transcript) .tiny{font-size:9px!important;line-height:1.5!important;margin:5px 0}
 .panel:has(.transcript) .withdraw-link{margin:10px auto}
 .panel:has(.transcript) .field{margin:9px 0 6px}
 .panel:has(.transcript) textarea{min-height:62px;max-height:100px}
 .sidebar:has(.transcript) .sidebar-bottom{margin-top:10px;padding-top:10px}
 .sidebar:has(.transcript) .attempts{padding:12px 0;margin-bottom:12px}
 .sidebar:has(.transcript) .wallet .balance{font-size:27px;margin-top:6px}
 .sidebar:has(.transcript) .cash-meter{margin-top:10px}
}
.sound-button{border:1px solid #d3b67350;border-radius:5px;background:#d3b67312;padding:7px 10px;color:#dfc594;font-size:11px}.world-tabs{position:absolute;top:139px;left:30px;display:flex;gap:5px;z-index:4;padding:4px;background:#0d202acb;border:1px solid #d3b67333;border-radius:7px;backdrop-filter:blur(10px)}.world-tabs button{background:none;border:0;border-radius:4px;color:#acc2bb;padding:9px 15px;font-size:11px}.world-tabs button.active{background:#d7b570;color:#1a3037}.audio-option{display:flex;gap:10px;margin-top:22px;color:#d4d9c7;font-size:14px}input[type=range]{width:100%;accent-color:var(--gold)}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:370px;overflow:auto;margin:14px 0}.shop-card{background:#102630;border:1px solid #ffffff16;border-radius:6px;text-align:left;padding:10px}.shop-card:hover{border-color:var(--gold)}.shop-card small{color:var(--gold);font-size:10px}.shop-card span{display:block;font-size:12px;color:#e3d7b9;margin:5px 0}.shop-card em{font-style:normal;font-size:9px;color:#8eadab}.note a{color:#cbbb8a}.shop-notices{max-height:160px;overflow:auto;margin:12px 0}.shop-notices details{border-bottom:1px solid #ffffff12;padding:9px 0}.shop-notices summary{font-size:11px;color:#cbbd9b;cursor:pointer}.shop-notices p{font-size:11px;line-height:1.7}.npc-talk{background:#5b755819;border:1px solid #9eb48d20;border-radius:5px;padding:10px;margin:10px 0}.npc-talk small{color:#97baa7;font-size:10px}.npc-talk p{font-size:11px;margin:7px 0}.chat-room-title{font-size:12px;font-weight:500;margin:15px 0 10px}.chat-room-title small{float:right;color:var(--gold);font-size:9px}.shop-messages{height:125px;overflow:auto;background:#10232b;padding:10px;border-radius:5px}.shop-messages article{margin-bottom:10px}.shop-messages strong{font-size:10px;color:var(--gold)}.shop-messages p{font-size:12px;margin:4px 0;overflow-wrap:anywhere;white-space:pre-wrap}#publicChatForm .primary{margin-top:8px;padding:10px;font-size:12px}.sidebar:has(.shop-grid),.sidebar:has(.shop-messages){overflow:auto}.sidebar:has(.shop-grid) .panel,.sidebar:has(.shop-messages) .panel{flex:none}.sidebar:has(.shop-grid) .sidebar-bottom,.sidebar:has(.shop-messages) .sidebar-bottom{margin-top:20px}@media(max-width:1100px){.camera-tools{top:195px}.world-tabs{left:25px}.top-center{display:none}}@media(max-width:760px){.world-tabs{top:115px;left:20px}.world-tabs button{padding:7px 13px}.camera-tools{top:170px}.top-actions{gap:6px}.top-actions .demo-tag{display:none}.sound-button{font-size:9px;padding:6px}.brand{font-size:17px}.brand-key{font-size:27px}.scene-heading p{max-width:300px}.shop-grid{max-height:390px}}
/* Mountain fair: sporting routes, paper tickets and a quiet learning lodge. */
.sidebar:has(.adventure-list),.sidebar:has(#quizForm),.sidebar:has(#sportStatus){overflow:auto}.sidebar:has(.adventure-list) .panel,.sidebar:has(#quizForm) .panel,.sidebar:has(#sportStatus) .panel{flex:none}.adventure-list{display:flex;flex-direction:column;margin:18px 0;gap:8px}.adventure-card{display:flex;align-items:center;gap:12px;text-align:left;padding:15px 10px;border:1px solid #8ba7ad50;border-radius:5px;background:#19333d;color:#e4e5d6}.adventure-card:hover{background:#254750;border-color:#e2bb71}.adventure-card .sport-icon{display:grid;place-items:center;flex:none;width:35px;height:45px;background:#c9dfe0;color:#254750;font-size:24px;border-radius:4px}.adventure-card small,.adventure-card em{display:block;font-size:10px;color:#aac2c4;font-style:normal;line-height:1.6}.adventure-card strong{display:block;font-size:15px;margin:4px 0}.adventure-card>b{margin-left:auto;font-size:10px;color:#e2bc73;white-space:nowrap}.adventure-result,.word-room{padding:16px;background:#203e44;border:1px solid #afc3a950;margin:16px 0;border-radius:7px}.adventure-result summary,.word-room summary{font-size:12px;cursor:pointer;padding:8px 0}.adventure-result p,.word-room p{font-size:12px;line-height:1.8}.word-room h3{font-size:18px;margin-bottom:10px}.word-log,.word-dictionary{max-height:190px;overflow:auto}.word-log p{border-bottom:1px solid #ffffff18;padding:8px 0}.word-room input{width:100%;background:#122b34;border:1px solid #93b7b3;color:#fff;padding:12px;border-radius:4px;margin-bottom:8px}.sport-controls{display:flex;gap:10px;margin:15px 0;touch-action:none}.sport-controls button{flex:1;min-height:58px;background:#c5dfe0;border:0;border-radius:5px;color:#183b45;font-size:22px;touch-action:none;user-select:none}.sport-controls button:active{background:#e2b76c}#sportStatus{background:#102b34;color:#edd39b;padding:15px;font-size:14px;margin:14px 0}#adventurePlay{position:absolute;inset:210px 18px 50px;z-index:6;background:#a8cad4;border:1px solid #d3e2dc;border-radius:8px;overflow:hidden}#adventurePlay canvas{width:100%;height:100%}.sport-hud{position:absolute;top:18px;left:50%;transform:translateX(-50%);padding:10px 18px;background:#16313bdf;color:#fff0cd;border-radius:5px;white-space:nowrap;font-size:14px}#quizForm fieldset{border:0;border-top:1px solid #ffffff25;padding:18px 0;margin:0}#quizForm legend{font-size:14px;color:#e6d4a9;padding-top:15px}.quiz-option{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.8;margin:8px 0;padding:9px;background:#102a34;border-radius:4px;cursor:pointer}.quiz-option input{accent-color:#dfbc72}.attempt-icons{flex-wrap:wrap;justify-content:flex-end;max-width:160px;gap:6px}button:focus-visible,input:focus-visible{outline:2px solid #e5c47e;outline-offset:3px}@media(max-width:760px){#adventurePlay{inset:210px 8px 12px}.sport-hud{font-size:10px;padding:8px}.world-tabs button{padding:7px 10px}.adventure-card strong{font-size:14px}}
@media(max-width:760px){
 body:has(#sportStatus) #adventurePlay{position:fixed;inset:68px 0 210px;border-radius:0;z-index:30}
 .sidebar:has(#sportStatus) .panel{position:fixed;left:0;right:0;bottom:0;height:210px;z-index:31;padding:10px 16px;background:#17343f;overflow:auto;border-top:1px solid #b8d1d2}
 .sidebar:has(#sportStatus) .panel>.eyebrow,.sidebar:has(#sportStatus) .panel>h2,.sidebar:has(#sportStatus) .panel>p,.sidebar:has(#sportStatus) .panel>.note{display:none}
 #sportStatus{margin:0 0 6px;padding:6px;text-align:center;font-size:12px}
 #sportStart{padding:8px;margin:0;font-size:12px}
 .sport-controls{margin:8px 0;gap:8px}.sport-controls button{min-height:44px;font-size:20px}
 #cancelAdventure{padding:7px;margin:0;font-size:11px}
 body:has(#sportStatus) .bottom-bar{visibility:hidden}
}
/* Large-world viewport. The rail can be folded without leaving the game. */
main{grid-template-columns:minmax(0,1fr) 370px}.world-wrap{min-height:calc(100vh - 132px)}.camera-tools{flex-wrap:wrap;max-width:430px;justify-content:flex-end}.world-expanded main{grid-template-columns:1fr}.world-expanded .sidebar{display:none}.world-expanded .world-wrap{height:calc(100vh - 132px);min-height:650px}.world-expanded .camera-tools{max-width:none}#assetStatus{color:#c6ab70;font-size:10px}.scene-badge{max-width:85%}@media(max-width:1100px){.camera-tools{justify-content:flex-start;max-width:90%;top:195px}}@media(max-width:760px){main{display:flex}.camera-tools{top:166px;max-width:calc(100% - 40px);gap:4px}.camera-tools button{font-size:9px;padding:6px}.world-wrap{min-height:540px;height:540px}.world-expanded .world-wrap{height:calc(100dvh - 68px);min-height:540px}.world-expanded .bottom-bar{display:none}.scene-badge{font-size:9px}.scene-badge span{font-size:8px;margin-left:7px}}
.player-portrait{width:34px;height:42px;object-fit:contain;margin:-10px 0}.bottom-bar>div{align-items:center}
.camera-tools select{background:#12232be8;border:1px solid #e0bd7155;color:#d6c7a7;border-radius:4px;padding:7px 10px;font-size:10px;max-width:125px}.world-wrap:has(#adventurePlay)>.scene-heading,.world-wrap:has(#adventurePlay)>.world-tabs,.world-wrap:has(#adventurePlay)>.camera-tools,.world-wrap:has(#adventurePlay)>.scene-badge,.world-wrap:has(#adventurePlay)>.chatter,.world-wrap:has(#adventurePlay)>.world-footer{display:none}#adventurePlay{inset:0;border:0;border-radius:0}.sport-hud{top:28px;padding:12px 24px;background:#102c3deb;border:1px solid #e2ddbc55;box-shadow:0 8px 24px #0f29394d;font-size:16px;letter-spacing:.2px}.adventure-card{border-left:3px solid #b0d2d8}.adventure-card[data-game="rope"]{border-left-color:#c8a46c}.adventure-card[data-game="jump"]{border-left-color:#d38b65}.adventure-card[data-game="ski"]{border-left-color:#86bacb}.adventure-card[data-game="word"]{border-left-color:#b1bf82}@media(max-width:760px){.camera-tools select{padding:5px;font-size:9px}.sport-hud{font-size:12px;top:16px;padding:10px 14px}}
.guardian-portrait{width:54px;height:64px;object-fit:contain;flex:none;margin-right:8px}.conversation-heading:has(.guardian-portrait) h2{font-size:19px}.conversation-heading:has(.guardian-portrait) .source-button{margin-left:auto;font-size:10px;padding:7px}
#guardianInspector{width:min(1160px,94vw);max-width:1160px;height:min(900px,94dvh);max-height:94dvh;padding:0;background:#111e29;border:1px solid #ad90604d;border-radius:12px;overflow:hidden;color:#e3e2d9}#guardianInspector[open]{display:flex;flex-direction:column}#guardianInspector::backdrop{background:#040b12db;backdrop-filter:blur(10px)}.inspector-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px 12px}.inspector-header small{font-size:11px;color:#bca47d}.inspector-header h2{font-size:30px;margin:4px 0 0}.inspector-close{width:40px;height:40px;background:none;border:1px solid #8299a43d;color:#e3d7bf;border-radius:50%;font-size:26px}.inspector-tabs{display:flex;gap:8px;padding:0 28px 14px;flex-shrink:0}.inspector-tabs button{background:#ffffff05;color:#9dafb8;border:1px solid #728c9a40;border-radius:5px;padding:9px 18px;font-size:12px}.inspector-tabs button.active{background:#b59b6122;color:#ead8b5;border-color:#b59b61}.inspector-stage{position:relative;flex:1;min-height:100px}.inspector-stage canvas{display:block;width:100%;height:100%;touch-action:none}.inspector-loading{position:absolute;inset:0;display:grid;place-items:center;background:#111e29;color:#b9c8d1;padding:25px;text-align:center}.inspector-loading[hidden]{display:none}.inspector-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px 22px;border-top:1px solid #ffffff10;flex-shrink:0}.inspector-footer strong{font-size:13px;color:#d9c39d}.inspector-footer p{font-size:12px;color:#a8bbc6;margin:6px 0}.inspector-footer small{color:#7d98a8;font-size:11px}#inspectReset{flex-shrink:0;padding:10px 14px;border:1px solid #8ea7b84d;background:#ffffff05;color:#d5e1e7;border-radius:5px;font-size:12px}@media(max-width:600px){#guardianInspector{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0}.inspector-header{padding:16px 18px 10px}.inspector-tabs{padding:0 18px 10px;gap:5px}.inspector-tabs button{padding:8px 12px;font-size:11px}.inspector-footer{padding:14px 18px;align-items:flex-start;gap:10px}.inspector-footer p{line-height:1.5}.inspector-header h2{font-size:24px}#inspectReset{font-size:10px;padding:8px}.inspector-stage{min-height:200px}}

.sport-crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#ffffffaa;font-size:24px;pointer-events:none}.sport-hud{max-width:calc(100% - 32px);white-space:normal;text-align:center}

.sport-controls button[data-drive]{font-size:15px;font-weight:700}.sport-controls button[data-drive="boost"]{background:#edb65d;color:#26323b}.sport-controls button[data-drive="brake"]{background:#89b6cc;color:#142c3d}.adventure-card[data-game="coaster"]{border-left-color:#ed795c}
/* A match occupies the viewport; the resort and private wallet return on exit. */
body.sport-immersive{overflow:hidden}body.sport-immersive .topbar,body.sport-immersive .sidebar,body.sport-immersive .bottom-bar{display:none!important}body.sport-immersive main{display:block;min-height:100dvh}body.sport-immersive .world-wrap{width:100vw;height:100dvh;min-height:100dvh}body.sport-immersive #adventurePlay{position:fixed;inset:0;z-index:60;border:0}body.sport-immersive #sportStatus{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.sport-toolbar{position:absolute;top:max(18px,env(safe-area-inset-top));right:20px;display:flex;gap:8px;z-index:5}.sport-toolbar button{padding:10px 14px;background:#102635dd;border:1px solid #ffffff40;color:#fff;border-radius:8px;font-size:12px}.sport-toolbar #cancelAdventure{width:auto;margin:0}.sport-dock{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:5;max-width:95vw}.sport-dock .sport-controls{gap:12px;margin:0}.sport-dock button{width:80px;min-height:58px;box-shadow:0 4px 20px #0005;opacity:.9}.sport-immersive .sport-hud{left:22px;top:20px;transform:none;max-width:42%;font-size:14px;text-align:left}.sport-immersive .sport-crosshair{display:none}
.sport-mission{position:absolute;top:16%;left:50%;transform:translateX(-50%);min-width:260px;max-width:85%;padding:16px 28px;border-radius:14px;background:#0d2238de;border:1px solid #fff5;text-align:center;pointer-events:none;color:#fff;box-shadow:0 8px 35px #0003}.sport-mission:empty{display:none}.sport-mission strong{display:block;font:800 30px system-ui}.sport-mission span{display:block;font-size:13px;margin:8px 0;color:#d6e4ef}.sport-mission>div{height:5px;background:#ffffff30;border-radius:5px}.sport-mission i{height:100%;display:block;background:#66e4bb;border-radius:5px}.sport-mission[data-direction=left]{border-left:6px solid #62d8ff}.sport-mission[data-direction=right]{border-right:6px solid #ffc65b}.sport-feedback{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);color:white;font:900 42px system-ui;text-shadow:0 3px 12px #0009;opacity:0;pointer-events:none;white-space:nowrap}.sport-feedback.show{animation:checkpoint-pop 1.1s ease-out forwards}.sport-feedback[data-result=success]{color:#a3ffd1}.sport-feedback[data-result=fail]{color:#ffad99}@keyframes checkpoint-pop{0%{opacity:0;scale:.7}15%,65%{opacity:1;scale:1}100%{opacity:0;scale:1.1}}.speed-streaks{position:absolute;inset:0;pointer-events:none;opacity:var(--rush,0);background:repeating-conic-gradient(from 8deg at 50% 45%,transparent 0deg 14deg,#e8faff70 14.1deg 14.3deg,transparent 14.4deg 28deg);mask-image:radial-gradient(ellipse,transparent 35%,#000 100%)}#adventurePlay[data-paused=true]:after{content:'일시정지 · Esc 또는 계속하기';position:absolute;inset:0;display:grid;place-items:center;background:#0d2039b3;color:white;font-size:24px;pointer-events:none}.sport-toolbar,.sport-dock{z-index:10}
#adventureTravel{position:absolute;left:50%;bottom:100px;transform:translateX(-50%);z-index:8;background:#133444ed;border:1px solid #e6c386;padding:18px 24px;border-radius:12px;text-align:center;color:#fff;min-width:300px}#adventureTravel strong,#adventureTravel span{display:block}#adventureTravel span{font-size:12px;margin:8px}#adventureTravel button{background:none;border:1px solid #ffffff50;color:#eee;padding:6px 12px;border-radius:5px}.facility-curtain{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;background:#102939;animation:facility-fade .65s ease-in-out}.facility-curtain span{color:#e4bf76;letter-spacing:6px;font-size:13px;margin:12px}.facility-curtain strong{font-size:28px}@keyframes facility-fade{0%,100%{opacity:0}35%,70%{opacity:1}}@media(max-width:760px){.sport-toolbar{top:12px;right:10px;gap:4px}.sport-toolbar button{padding:8px;font-size:10px}.sport-immersive .sport-hud{top:58px;left:12px;max-width:94%;font-size:11px;padding:8px}.sport-mission{top:18%;padding:12px 18px;min-width:230px}.sport-mission strong{font-size:25px}.sport-dock button{width:64px;min-height:52px}.sport-feedback{font-size:28px}}@media(prefers-reduced-motion:reduce){.speed-streaks{display:none}.sport-feedback.show{animation:none;opacity:1}.facility-curtain{animation:none}}
.exchange-quotes{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:15px 0}.exchange-quotes button{display:grid;gap:6px;background:#102a38;color:#e9e9dc;text-align:left;border:1px solid #69858d55;padding:10px;border-radius:7px}.exchange-quotes span{font-size:12px}.exchange-quotes b{font-size:13px}.exchange-quotes em{font-size:12px;font-style:normal}.up{color:#ffa08f}.down{color:#8acbff}.sidebar:has(#exchangeQuotes){overflow:auto}.sidebar:has(#exchangeQuotes) .panel{flex:none}#exchangeDetail{background:#152e3d;padding:12px;border-radius:8px;margin:12px 0}#exchangeDetail svg{width:100%;height:90px}#exchangeMessage{width:100%;padding:12px;background:#10232f;color:white;border:1px solid #8aa9b355;border-radius:5px}
body.sport-immersive #adventurePlay{inset:0!important;width:100vw!important;height:100dvh!important}

body{font-synthesis:none;word-break:keep-all}.brand,h1,.panel h2{font-weight:650;letter-spacing:-.035em}.guardian-quote{font-weight:450}.balance{font-family:Pretendard,sans-serif;font-variant-numeric:tabular-nums}

.wts-link{position:fixed;bottom:8px;right:18px;z-index:20;color:#d4e4ed;font-size:11px}.sport-immersive .wts-link{display:none}

.world-map{width:min(760px,95vw);max-height:90dvh;background:#183740;color:#edf2df;border:1px solid #597777;border-radius:18px;padding:24px;grid-template-columns:1fr 1fr;gap:16px}.world-map[open]{display:grid}.world-map::backdrop{background:#061d28bb}.map-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.world-map button{background:#284c55;color:#e9eddf;border:1px solid #68817e;border-radius:6px;padding:9px 12px}.map-districts,.map-hint{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.map-hint{font-size:12px;color:#b5ccc7}.map-districts button[aria-pressed=true]{background:#e2c782;color:#17343d}.map-drawing svg{width:100%;max-height:430px}.map-places{display:flex;flex-direction:column;gap:7px;max-height:430px;overflow:auto}.map-places button{text-align:left}.map-places b{display:inline-block;width:24px;color:#e8cc81}@media(max-width:550px){.world-map{padding:16px;gap:10px;grid-template-columns:1fr}.map-drawing svg{height:240px}.map-places{max-height:180px}}

.guardian-thought{position:absolute;z-index:3;transform:translate(-50%,-110%);max-width:230px;width:max-content;padding:12px 15px;border-radius:14px 14px 14px 3px;background:#f4f0dfed;color:#243e43;box-shadow:0 4px 20px #10202933;pointer-events:none;font-size:13px;line-height:1.6}.guardian-thought small{display:block;font-size:9px;color:#637c7c;margin-bottom:4px}.guardian-thought[hidden]{display:none}.sport-immersive .guardian-thought{display:none}@media(max-width:600px){.guardian-thought{max-width:170px;font-size:11px;padding:8px 10px}}
.wts-context{display:block;text-align:center;text-decoration:none;margin-top:10px}.wts-link[hidden]{display:none}
.learn-button{border:1px solid #d3b67350;border-radius:5px;background:#d3b67312;padding:7px 10px;color:#dfc594;font-size:11px;white-space:nowrap}.learning-steps{display:flex;list-style:none;padding:0;gap:8px;margin:20px 0;flex-wrap:wrap}.learning-steps li{font-size:11px;color:#9aadb2;border:1px solid #ffffff20;border-radius:20px;padding:6px 9px}.learning-steps .done{color:#a7d6bd}.learning-steps .current{color:var(--gold);border-color:var(--gold)}.learning-scenario{margin:16px 0;padding:16px;background:#0e252f;border-left:3px solid var(--gold);line-height:1.8;font-size:13px}.learning-equation{padding:14px 0;font-size:20px;font-variant-numeric:tabular-nums;color:var(--gold)}.learning-answer{display:flex;gap:10px;align-items:center;margin-top:10px}.learning-answer input{width:85px;min-width:0;border:1px solid #63848d;border-radius:5px;padding:10px;background:#102630;color:var(--ink);font:inherit}.learning-answer .primary{width:auto;margin:0;flex:1}.learning-options{display:grid;gap:10px;margin:16px 0}.learning-options button{border:1px solid #68868b;background:#102630;color:var(--ink);padding:15px;text-align:left;border-radius:6px;line-height:1.7}.learning-options button:hover{border-color:var(--gold)}#lessonFeedback{min-height:24px;color:var(--gold);line-height:1.8;margin:12px 0}.learning-footnote{font-size:11px!important;color:#9aadb2!important}#learnWTS{display:block;text-align:center;text-decoration:none}#learnAgain{margin-top:14px}#learningTrail label{display:block;margin-top:14px;font-size:13px}@media(max-width:760px){.learn-button{padding:6px;font-size:10px}.learning-equation{font-size:16px}.learning-steps{gap:5px}.learning-steps li{font-size:10px;padding:5px 7px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.topbar{min-height:68px;height:auto;padding-top:8px;padding-bottom:8px}}

.startup-status{position:fixed;inset:76px 0 0;z-index:100;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#102c36f5,#10212af5);color:#e8eee8}.startup-status[hidden]{display:none}.startup-status>div{max-width:460px}.startup-status small{color:#d9b96e;letter-spacing:.1em}.startup-status h2{font-size:26px;line-height:1.5}.startup-status p{color:#b4c9c8;line-height:1.8}.startup-status button{background:#dfbb72;color:#152d35;border:0;border-radius:8px;padding:13px 22px;font-weight:700}.startup-status button[hidden]{display:none}
