@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600&display=swap');
:root{--ink:#253e37;--paper:#fbfcf3;--muted:#60766e}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#cbdfe2;color:var(--ink);font-family:'Noto Sans KR',sans-serif;font-size:12px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible{outline:2px solid #c38b50;outline-offset:4px}#world{position:fixed;width:100%;height:100%;inset:0;touch-action:none;cursor:crosshair;outline:none}header{position:fixed;top:30px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;pointer-events:auto;text-shadow:0 2px 12px #fff8}.brand svg{width:35px;fill:none;stroke:currentColor;stroke-width:1.5}.brand strong{font:700 29px 'Gowun Batang',serif}.brand small{display:block;font:8px 'Noto Sans KR',sans-serif;letter-spacing:3.7px;margin-top:5px}.top-right{display:flex;gap:10px;align-items:center;background:#fbfcf1c9;backdrop-filter:blur(14px);padding:9px 12px 9px 17px;border-radius:30px;font-size:10px;letter-spacing:.6px;pointer-events:auto}.status-dot{width:5px;height:5px;background:#637c57;border-radius:50%}#help{background:transparent;border:1px solid #29473b3a;border-radius:50%;width:24px;height:24px;margin-left:12px}.intro{position:fixed;left:5%;top:20%;pointer-events:none;text-shadow:0 2px 24px #f8fbef}.eyebrow{font-size:9px;letter-spacing:2.2px}.intro h1{font:400 clamp(35px,4vw,61px)/1.45 'Gowun Batang',serif;letter-spacing:-2px;margin:18px 0}.intro p{font-size:12px;line-height:2;color:#425e51}.intro button{pointer-events:auto;padding:12px 18px;background:#f5f8eada;backdrop-filter:blur(10px);border:1px solid #fff9;border-radius:4px;margin-top:8px;font-size:11px}.intro button span{margin-left:27px}.walk-hint{position:fixed;bottom:128px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:#213e30b8;color:#f4f5e9;padding:10px 19px;border:1px solid #ffffff20;border-radius:30px;font-size:10px;white-space:nowrap;pointer-events:none;backdrop-filter:blur(10px)}.walk-hint i{width:1px;height:10px;background:#ffffff40}.mouse-icon{font-size:17px}footer{position:fixed;bottom:27px;left:4%;right:4%;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;pointer-events:none}.place-card{text-shadow:0 1px 14px #0a241c;color:#fffef1;display:flex;flex-direction:column;gap:7px;min-width:185px}.place-card>span{font-size:8px;letter-spacing:1.8px;opacity:.8}.place-card strong{font:400 20px 'Gowun Batang',serif}.place-card small{font-size:8px;opacity:.8}.spot-nav{display:flex;background:#f7f9eedf;padding:5px;border:1px solid #fff8;border-radius:5px;backdrop-filter:blur(18px);pointer-events:auto}.spot-nav button{background:transparent;padding:14px 16px;font-size:11px;border-radius:3px;white-space:nowrap}.spot-nav button.active{background:#d9e3d0}.spot-nav button span{font:10px Georgia,serif;margin-right:10px;color:#87927e}.toolbar{display:flex;background:#f7f9eeea;backdrop-filter:blur(14px);border:1px solid #fff9;border-radius:5px;padding:4px;pointer-events:auto}.toolbar button{background:transparent;width:53px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:49px;border-radius:4px}.toolbar button[aria-pressed=true]{background:#d6e2cc}.toolbar button>span{font-size:20px;line-height:24px}.toolbar button small{font-size:8px}.toolbar svg{width:22px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3}#settings{position:fixed;right:4%;bottom:100px;background:#f9faefef;border:1px solid #fff;padding:20px;border-radius:6px;backdrop-filter:blur(15px);width:250px}#settings p{margin:0 0 16px;font-size:11px}.sky-choices{display:flex;gap:6px}.sky-choices button{background:#e8eddf;flex:1;padding:11px 0;font-size:22px;border-radius:4px}.sky-choices button.selected{background:#ccd9c0}.sky-choices span{display:block;font-size:9px;margin-top:5px}#settings label{display:block;font-size:10px;margin-top:20px}#volume{width:100%;accent-color:#466447;margin-top:12px}#settings .setting-note{font-size:9px;color:#788777;margin:14px 0 0}.hidden{display:none!important}#arrival{position:fixed;top:110px;left:50%;transform:translateX(-50%);border-radius:30px;background:#f8faeeeb;padding:12px 24px;font-size:11px;opacity:0;transition:opacity .4s;pointer-events:none;white-space:nowrap}#arrival.show{opacity:1}body.quiet header,body.quiet footer,body.quiet .intro,body.quiet #walkHint,body.quiet #settings{display:none}#restore{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);border-radius:24px;background:#fafbf0b3;padding:11px 23px;font-size:10px}#ridePanel{position:fixed;top:18%;left:50%;transform:translateX(-50%);text-align:center;width:90%;pointer-events:none;text-shadow:0 2px 10px #fff9}#ridePanel h2{font:400 30px 'Gowun Batang',serif}#ridePanel>div{width:160px;height:2px;background:#25422d33;margin:20px auto}#rideProgress{display:block;width:0;height:100%;background:#3f5d44}#endRide{background:#f8f9eecc;padding:10px 18px;border-radius:4px;font-size:10px;pointer-events:auto}body.riding footer,body.riding #walkHint,body.riding .intro{display:none}dialog{border:1px solid #fff;border-radius:8px;background:#f4f6eb;padding:40px;max-width:460px;width:calc(100% - 36px);color:var(--ink)}dialog::backdrop{background:#203d3d66;backdrop-filter:blur(7px)}dialog h2{font:400 30px/1.5 'Gowun Batang',serif}dialog dl{font-size:11px;line-height:1.8}dialog dt{font-weight:600;margin-top:14px}dialog dd{margin:3px 0;color:var(--muted)}dialog p{font-size:10px;line-height:1.9;color:#7b8777;border-top:1px solid #30452b22;padding-top:16px}#closeHelp{position:absolute;right:17px;top:12px;font-size:25px;background:none}#resetCamera{background:#dbe5d0;padding:12px 17px;border-radius:4px;font-size:11px}#loading{position:fixed;z-index:10;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e3eadd}#loading h1{font:400 44px 'Gowun Batang',serif;margin:12px}#loading p{font-size:12px;color:#687b68}.mountain-mark{font-size:65px;font-family:serif}#loading>span{width:90px;height:2px;background:#819776;margin-top:24px;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.25}}@media(max-width:1100px){.place-card{display:none}footer{justify-content:space-between}.intro h1{font-size:43px}}@media(max-width:650px){header{top:20px;left:6%;right:6%}.brand strong{font-size:24px}.brand svg{width:28px}.top-right{font-size:8px;padding:8px 10px}.top-right #help{margin-left:2px}.intro{top:16%;left:7%}.intro h1{font-size:35px;margin:12px 0}.intro .eyebrow{font-size:7px}.intro p{font-size:10px}.intro button{font-size:10px;padding:10px 13px}.walk-hint{bottom:155px;font-size:9px;padding:9px 12px;gap:8px}footer{bottom:18px;left:5%;right:5%;flex-direction:column;align-items:center;gap:9px}.spot-nav{width:100%;justify-content:center}.spot-nav button{flex:1;padding:11px 5px;font-size:10px}.spot-nav button span{margin-right:7px}.toolbar{width:100%;justify-content:space-around}.toolbar button{min-height:42px}.toolbar button small{font-size:8px}.toolbar button>span{font-size:18px}#settings{bottom:149px;right:5%}#arrival{top:90px;font-size:10px;max-width:90%;white-space:normal;text-align:center}#ridePanel h2{font-size:25px}dialog{padding:30px 25px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Arrival-to-rest flow */
.at-base .spot-nav,.at-base #walkHint,.at-base #sit,.at-base #quiet{display:none}.at-base footer{justify-content:space-between}.intro{background:linear-gradient(115deg,#f4f6e9ed,#f4f6e9b8);padding:25px 30px 28px;border:1px solid #fff5;border-radius:6px;backdrop-filter:blur(9px);text-shadow:none;max-width:420px}.intro h1{font-size:clamp(34px,3.7vw,55px)}.intro p{font-size:11px}.intro button{background:#345545;color:#fff9e8;width:100%;padding:16px;margin-top:13px}.at-base .intro{top:21%}.at-base .toolbar{margin-left:auto}#ridePanel{top:auto;bottom:22px;width:min(720px,92%);padding:17px 22px;background:#f5f7ebeb;backdrop-filter:blur(15px);border:1px solid #fff7;border-radius:7px;text-shadow:none;pointer-events:auto}#ridePanel .eyebrow{font-size:8px}#ridePanel h2{font-size:22px;margin:9px 0}#ridePanel p{font-size:10px;color:#6a7d6e;margin:0}.ride-controls{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.ride-controls button,#endRide{font-size:10px;padding:10px 12px;border-radius:4px;background:#e2e9d9}.ride-controls #pauseRide{background:#46674f;color:#fff8e7}.ride-controls #endRide{background:transparent;color:#64735e}#ridePanel>.ride-track{width:100%;max-width:220px;margin:13px auto}.riding .top-right{background:#f7fae9bd}body.riding footer{display:none}@media(max-width:650px){.intro{left:5%;right:5%;max-width:none;padding:20px;top:17%!important}.intro h1{font-size:32px;line-height:1.35;margin:12px 0}.intro p{font-size:10px}.intro button{padding:13px}.at-base footer{align-items:flex-end}.at-base .toolbar{width:auto}.at-base #settings{bottom:86px}#ridePanel{bottom:16px;padding:12px 13px}#ridePanel h2{font-size:17px}.ride-controls button,#endRide{padding:9px;font-size:9px}.ride-controls{gap:4px}#ridePanel p{font-size:9px}}
@media(max-width:650px){.at-base .intro{width:min(320px,83vw);right:auto;top:16%!important;padding:18px}.intro h1{font-size:28px}.intro p{font-size:9px}.intro button{font-size:10px;padding:12px}.intro .eyebrow{font-size:6px}}

#intro{display:none!important}.at-base #ride{display:none!important}.at-base #walkHint{display:flex!important}#boardPrompt{position:fixed;left:50%;bottom:145px;transform:translateX(-50%);z-index:20;border:1px solid #ffffff80;border-radius:40px;background:#f4f3e5ed;color:#385348;padding:13px 22px;box-shadow:0 6px 28px #203c3222;cursor:pointer;font:inherit;font-size:13px;backdrop-filter:blur(14px)}#boardPrompt span{margin-left:18px}.riding #boardPrompt{display:none!important}@media(max-width:700px){#boardPrompt{bottom:155px}.at-base #walkHint{bottom:105px}}

.at-base.riding #walkHint{display:none!important}#helpDialog details{font-size:12px;color:#576b5c;margin:12px 0}#helpDialog a{color:inherit}

/* Separate view, sound and journey controls by where they are used. */
.ride-view-controls,.ride-audio{display:none}body.riding .ride-view-controls{display:block}.ride-view-controls button{position:fixed;top:42%;z-index:6;min-width:66px;padding:8px 10px 13px;background:#f6f7e9c9;border:1px solid #ffffff80;border-radius:38px;backdrop-filter:blur(12px);box-shadow:0 4px 24px #1d39211c}.ride-view-controls button span{display:block;font:42px/1 Georgia,serif}.ride-view-controls button small{font-size:10px;white-space:nowrap}#cabinCity{left:22px}#cabinMountain{right:22px}body.riding .ride-audio{display:block;position:fixed;top:98px;right:4%;z-index:7;border:1px solid #ffffff99;border-radius:30px;background:#f8f8ecdf;padding:12px 18px;backdrop-filter:blur(12px);box-shadow:0 4px 18px #17392a15}.ride-audio:before{content:'♪';font-size:18px;margin-right:9px}.ride-audio[aria-pressed=true]{background:#3c6150;color:#fff5de}.ride-controls{display:grid;grid-template-columns:1fr;justify-items:center;gap:8px}#pauseRide{min-width:190px}#endRide{font-size:10px!important;padding:6px!important;text-decoration:underline;text-underline-offset:4px}#ridePanel{width:min(440px,84%);padding:16px 20px;pointer-events:none}#ridePanel button{pointer-events:auto}#ridePanel h2{font-size:19px}#ridePanel>.ride-track{margin:11px auto}.ride-controls button{min-height:36px}@media(max-width:650px){#cabinCity{left:12px}#cabinMountain{right:12px}.ride-view-controls button{min-width:56px;padding:6px 8px 10px;top:38%}.ride-view-controls button span{font-size:34px}.ride-view-controls button small{font-size:8px}body.riding .ride-audio{top:86px;right:6%;padding:10px 14px;font-size:10px}#ridePanel{bottom:16px;padding:13px 14px}#ridePanel h2{font-size:16px}#ridePanel p{font-size:9px}}
body.riding .ride-audio[aria-pressed=true]{background:#3c6150;color:#fff5de}

#matPanel{position:fixed;bottom:103px;left:50%;transform:translateX(-50%);width:min(490px,90%);padding:17px 20px;background:#f6f5e9ef;border:1px solid #fff9;border-radius:14px;backdrop-filter:blur(16px);box-shadow:0 10px 40px #213d3020;z-index:15}.mat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.8px}.mat-heading button{background:transparent;font-size:10px;padding:7px;color:#54705c}#ritualStatus{font-size:11px;line-height:1.7;margin:10px 0 14px;min-height:19px}.mat-actions{display:flex;gap:6px}.mat-actions button{flex:1;border:1px solid #61745c22;background:#e9eddf;border-radius:8px;padding:11px 4px;font-size:11px}.mat-actions button[aria-pressed=true]{background:#46674f;color:#fff6e4}.mat-actions b{display:block;font:23px Georgia;margin-bottom:6px}.mat-actions small{display:block;font-size:8px;margin-top:5px;opacity:.7}.ritual-controls{display:flex;justify-content:center;gap:16px}.ritual-controls button{padding:10px 4px 0;background:transparent;text-decoration:underline;text-underline-offset:3px;font-size:10px}#breathGuide{display:flex;align-items:center;justify-content:center;gap:18px;height:54px;margin-bottom:14px}#breathOrb{width:27px;height:27px;border:1px solid #75896a;border-radius:50%;background:#c1d1bba0;box-shadow:0 0 0 6px #c1d1bb44}#breathLabel{font-size:12px}#breathCount{color:#7c8876}.on-mat .spot-nav,.on-mat #walkHint{display:none!important}.quiet #matPanel{display:none}.riding #matPanel{display:none!important}@media(max-width:650px){#matPanel{bottom:88px;padding:13px 14px}.mat-heading{font-size:9px}.mat-heading button{font-size:9px}.mat-actions button{font-size:10px}#ritualStatus{font-size:10px}.on-mat footer{gap:0}}

#benchPrompt{position:fixed;left:50%;bottom:148px;transform:translateX(-50%);z-index:19;padding:12px 21px;border:1px solid #fff9;border-radius:30px;background:#f7f2deee;box-shadow:0 5px 22px #243b2925;font-size:12px}#benchPrompt span{margin-left:12px}#benchTooltip{position:fixed;z-index:40;pointer-events:none;padding:8px 12px;border-radius:8px;color:#fff9df;background:#294738ed;border:1px solid #f3cd7980;font-size:11px;white-space:nowrap}body.riding #benchPrompt,body.quiet #benchPrompt,body.quiet #benchTooltip{display:none!important}#sit{min-width:68px}@media(max-width:650px){#benchPrompt{bottom:192px;font-size:11px}#sit small{font-size:9px}}
body:has(#benchPrompt:not(.hidden)) #walkHint,body:has(#boardPrompt:not(.hidden)) #walkHint{display:none!important}

#socialPanel{position:fixed;top:105px;right:4%;z-index:21;max-width:280px;padding:10px 13px;border-radius:14px;background:#f5f6ebed;box-shadow:0 4px 18px #23433118;font-size:10px}#socialJoin{padding:8px 12px;border-radius:20px;background:#456852;color:#fff}#socialStatus{display:block;margin-top:8px;line-height:1.6}#socialActions{display:flex;gap:4px;margin-top:8px}#socialActions button{background:#e1e8d9;border-radius:8px;padding:8px;font-size:10px}.visitor-label{position:fixed;top:0;left:0;pointer-events:none;z-index:8;font-size:11px;background:#f4f4e6e8;color:#345741;border-radius:14px;padding:6px 10px;white-space:nowrap}.visitor-label[hidden]{display:none}.quiet #socialPanel,.riding #socialPanel{display:none}@media(max-width:650px){#socialPanel{top:89px;max-width:220px;padding:7px 10px}#socialActions button{font-size:9px;padding:7px}}

.visitor-label{background:rgba(246,248,235,.58);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(3px);color:#234735;text-shadow:0 1px 2px #fff8}.own-label{background:rgba(232,241,220,.6)}.social-heading{font-size:12px;font-weight:500}#socialActions button:disabled{opacity:.45;cursor:default}

body.night-world .brand{color:#e4ecdd;text-shadow:0 1px 10px #0008}
#ridePanel .eyebrow, #rideTitle { color: #000; }

.visitor-label{padding:3px 7px!important;font-size:10px!important;border-radius:10px!important}.own-label{z-index:8}.npc-speech{position:fixed;top:0;left:0;pointer-events:none;background:#fff9e8e8;color:#435545;padding:9px 13px;border-radius:15px;font-size:11px;max-width:230px;text-align:center;z-index:5}.npc-speech[hidden]{display:none}#wishPrompt{position:fixed;bottom:145px;left:50%;transform:translateX(-50%);background:#f4e7b9ee;padding:12px 22px;border-radius:24px;z-index:6}#restInvite{position:fixed;top:170px;right:4%;max-width:280px;padding:17px;background:#f6f8eeee;border-radius:16px;z-index:10}#restInvite button,#wishDialog button{background:#dce7d3;border-radius:9px;padding:10px 14px;margin:4px}#wishText{width:100%;resize:vertical;border:1px solid #bdc9b4;border-radius:10px;background:#fffdf7;padding:12px;font:inherit}#wishClose{position:absolute;right:8px;top:8px}#wishList{padding:0;list-style:none;max-height:220px;overflow:auto}#wishList li{padding:12px 0;border-bottom:1px solid #ced7c4;white-space:pre-wrap;overflow-wrap:anywhere}#wishDialog{max-height:85vh;overflow:auto}#restInvite p{line-height:1.7}

#restInvite{top:220px;z-index:22}

#wishPrompt{bottom:210px}

#mailboxTooltip {
  position: fixed;
  z-index: 11;
  pointer-events: none;
  padding: 8px 12px;
  color: #fff5de;
  background: #782a25ee;
  border-radius: 6px;
  font-size: 11px;
  white-space: nowrap;
}
#mailboxPrompt {
  position: fixed;
  left: 50%;
  bottom: 180px;
  transform: translateX(-50%);
  z-index: 18;
  min-height: 46px;
  width: max-content;
  max-width: calc(100% - 28px);
  padding: 10px 20px;
  border: 1px solid #fff5dc;
  border-radius: 30px;
  color: #fff8e8;
  background: #8a2c24;
  font-weight: 600;
  font-size: 13px;
  box-shadow: 0 5px 20px #321a143d;
}
@media (max-width: 650px) {
  #mailboxPrompt { bottom: 210px; bottom: calc(210px + env(safe-area-inset-bottom)); }
}
#mailboxDialog {
  max-width: 430px;
  max-height: calc(100% - 32px);
  overflow: auto;
  padding: clamp(20px, 6vw, 32px);
  background: #fffaf0;
  color: #392e27;
  border: 1px solid #e9d7bc;
  border-top: 5px solid #ad332d;
  box-shadow: 0 22px 70px #281b1640;
}
#mailboxDialog h2 { margin: 0 36px 4px 0; color: #8e2c25; }
#mailboxDialog p { padding: 0; border: 0; font-size: 12px; color: #65544a; }
#mailboxClose {
  position: absolute;
  top: 9px;
  right: 10px;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  font-size: 23px;
  background: transparent;
}
#mailboxForm { margin-top: 20px; }
#mailboxForm label { display: block; margin-bottom: 8px; font-weight: 600; }
#mailboxLetter {
  width: 100%;
  padding: 12px;
  background: #fffdf7;
  border: 1px solid #d6bfa7;
  border-radius: 6px;
  resize: vertical;
  font: inherit;
  font-size: 16px;
  color: inherit;
  line-height: 1.6;
}
#mailboxLetter::placeholder { color: #796b60; font-size: 13px; }
#mailboxLetter:focus-visible { outline: 2px solid #ad332d; outline-offset: 2px; }
.mailbox-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
#mailboxLength { font-size: 11px; color: #65544a; }
#mailboxSend, #mailboxDone { padding: 11px 16px; min-height: 42px; border-radius: 6px; background: #9d3129; color: #fff8eb; font-weight: 600; }
#mailboxSend:disabled { opacity: .65; cursor: progress; }
#mailboxStatus:empty { margin: 0; }
#mailboxDialog .mailbox-sent { font-size: 16px; font-weight: 600; color: #395843; }

.own-label{z-index:9}


