:root{--ink: #f6f2e8;--muted: rgba(246, 242, 232, .66);--glass: rgba(18, 20, 24, .5);--line: rgba(255, 255, 255, .17);--gold: #e9c46a;--gold-deep: #b98a2f;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,-apple-system,BlinkMacSystemFont,sans-serif}:root:lang(en){font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:#14171c;color:var(--ink);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}#scene{position:fixed;inset:0;width:100%;height:100%;display:block}.muted{color:var(--muted);font-size:.84em}.lobby{position:fixed;inset:0;overflow-y:auto;padding:calc(40px + var(--safe-t)) 24px calc(32px + var(--safe-b));background:radial-gradient(1200px 700px at 50% -10%,#2a3442,#14171c 70%);display:flex;flex-direction:column;align-items:center;gap:28px}.lobby-head{text-align:center}html:not(.i18n) .lobby-head{visibility:hidden}.lobby-head h1{margin:0;font-size:clamp(30px,4.6vw,46px);font-weight:600;letter-spacing:.05em}.lobby-head p{margin:10px 0 0;color:var(--muted)}.place-list{list-style:none;margin:0;padding:0;width:min(1120px,100%);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:18px}.place-card{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;text-align:left;background:#20242b;aspect-ratio:16 / 9.4;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.place-card:hover,.place-card:focus-visible{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 16px 40px #00000073}.place-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.place-card .shade{position:absolute;inset:0;background:linear-gradient(180deg,#0000 40%,#080a0edb)}.place-card .body{position:absolute;left:18px;right:18px;bottom:14px}.place-card h2{margin:0;font-size:23px;font-weight:600;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px}.place-card .en{white-space:nowrap;font-size:13px;font-weight:400;color:var(--muted)}.place-card p{margin:5px 0 0;font-size:14px;color:#f6f2e8db}.place-card .count{position:absolute;top:12px;right:12px;padding:5px 11px;border-radius:999px;font-size:13px;background:#0a0c109e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.place-card .count i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#66d19e;vertical-align:1px}.lobby-foot{color:var(--muted);font-size:13px}.hud{position:fixed;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between}.hud button,.hud input,.hud .feed{pointer-events:auto}.hud-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:calc(12px + var(--safe-t)) 14px 0}.pill-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);white-space:nowrap;font-size:14px}.pill.icon{width:40px;padding:0;justify-content:center}.pill.icon.off{color:var(--muted);text-decoration:line-through}.pill:hover{border-color:#fff6}.place-pill strong{font-weight:600}.hud-top>.pill-group:first-child{min-width:0;flex-wrap:nowrap}.hud-top>.pill-group:first-child>:not(.channel-wrap){flex:none}.hud-top>.pill-group:last-child{flex:none}.channel-wrap{position:relative;display:flex;min-width:0}.place-pill{min-width:0;max-width:100%}.place-pill>*{flex:none}.place-pill strong{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.place-pill .divider{width:1px;height:16px;background:#ffffff47}.channel-list{position:absolute;top:46px;left:0;z-index:5;margin:0;padding:6px;list-style:none;min-width:180px;max-height:50vh;overflow-y:auto;border-radius:14px;border:1px solid var(--line);background:#101216eb;pointer-events:auto}.channel-list button{display:flex;justify-content:space-between;gap:18px;width:100%;min-height:38px;padding:0 10px;align-items:center;border:0;border-radius:8px;background:transparent;font-size:14px}.channel-list button:hover:not(:disabled){background:#ffffff1a}.channel-list button[aria-selected=true]{color:var(--gold)}.channel-list button:disabled{opacity:.45;cursor:not-allowed}.banners{position:fixed;top:calc(66px + var(--safe-t));left:50%;transform:translate(-50%);width:min(620px,calc(100vw - 24px));display:flex;flex-direction:column;gap:8px;align-items:center}.banner{position:relative;width:100%;padding:12px 18px;border-radius:14px;text-align:center;overflow:hidden;color:#2e2206;background:linear-gradient(100deg,#f7e2a4,#eec566 45%,#f8e7b2);box-shadow:0 0 0 1px #fff0becc,0 10px 36px #e9b44680;animation:banner-in .55s cubic-bezier(.2,1.3,.4,1) both}.banner.mine{box-shadow:0 0 0 2px #fff4cc,0 0 44px #ffcd64d9}.banner.out{animation:banner-out .45s ease forwards}.banner:after{content:"";position:absolute;top:0;bottom:0;width:34%;left:-40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);animation:banner-shine 1.5s .25s ease-out}.banner b{font-weight:700}.banner .line1{font-size:15.5px}.banner .line2{margin-top:2px;font-size:13.5px;color:#58441a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes banner-in{0%{opacity:0;transform:translateY(-22px) scale(.94)}}@keyframes banner-out{to{opacity:0;transform:translateY(-14px)}}@keyframes banner-shine{to{left:110%}}.toast{position:fixed;top:calc(66px + var(--safe-t));left:50%;transform:translate(-50%);max-width:calc(100vw - 32px);padding:9px 16px;border-radius:16px;background:#782822eb;font-size:14px;line-height:1.5;text-align:center;z-index:15}.info-card{position:fixed;top:calc(62px + var(--safe-t));right:14px;width:min(370px,calc(100vw - 28px));padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:#101216db;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:14px;line-height:1.65;pointer-events:auto}.info-card h3{margin:0 0 6px;font-size:16px;font-weight:600}.info-card p{margin:0;color:#f6f2e8e0}.info-card .how{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.info-card .credits{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.5}.info-card .credits a{color:inherit;text-decoration:underline}.sound-panel{position:fixed;top:calc(62px + var(--safe-t));right:14px;width:min(270px,calc(100vw - 28px));padding:8px 16px 10px;border-radius:16px;border:1px solid var(--line);background:#101216e6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:14px;pointer-events:auto;z-index:4}.sound-row{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer}.sound-volume{display:flex;align-items:center;gap:10px;min-height:40px;margin-bottom:4px;padding-bottom:8px;border-bottom:1px solid var(--line)}.sound-volume.off{opacity:.42}.sound-volume output{flex:none;width:40px;text-align:right;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}#ambience-volume{flex:1;min-width:0;height:32px;margin:0;accent-color:var(--gold);cursor:pointer}#ambience-volume:disabled{cursor:not-allowed}.switch{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:44px;height:26px;margin:0;border-radius:13px;background:#fff3;cursor:pointer;transition:background .15s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch:checked{background:var(--gold-deep)}.switch:checked:after{transform:translate(18px)}.look-hint{position:fixed;top:calc(62px + var(--safe-t));left:50%;transform:translate(-50%);padding:6px 14px;border-radius:999px;font-size:13px;white-space:nowrap;background:#0c0e1280;color:var(--muted)}.aim-hint{position:fixed;left:50%;bottom:calc(68px + var(--safe-b));transform:translate(-50%);text-align:center;z-index:3;padding:10px 18px;border-radius:14px;background:#101216d1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);max-width:calc(100vw - 28px)}.aim-hint p{margin:0;font-size:14px}.power{margin-top:8px;height:5px;border-radius:3px;overflow:hidden;background:#ffffff2e}.power span{display:block;height:100%;width:0;background:linear-gradient(90deg,#f7e2a4,#ee9f3e)}.result{position:fixed;left:50%;bottom:calc(92px + var(--safe-b));transform:translate(-50%);width:max-content;max-width:calc(100vw - 24px);display:flex;flex-direction:column;gap:3px;align-items:center;padding:12px 22px;border-radius:16px;text-align:center;border:1px solid var(--line);background:#0e1014c7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:result-in .38s cubic-bezier(.2,1.25,.4,1) both}.result strong{font-size:19px;font-weight:700}.result span{font-size:13.5px;color:#f6f2e8cc}.result.goal{color:#2e2206;border-color:#fff4cc;background:linear-gradient(100deg,#f7e2a4,#eec566 45%,#f8e7b2);box-shadow:0 0 40px #ffcd64a6}.result.goal span{color:#58441a}.result.water strong{color:#a9e3f2}.result.water.wish{border-color:#ffd88cb3;box-shadow:0 0 26px #ffcd6459}.result.water.wish strong{color:#ffd98a}.result.lost strong{color:#e8b4a0}@keyframes result-in{0%{opacity:0;transform:translate(-50%,14px) scale(.95)}}.hud-bottom{padding:0 14px calc(14px + var(--safe-b));display:flex;flex-direction:column;gap:8px}.feed{list-style:none;margin:0;padding:18px 2px 2px;width:min(560px,100%);max-height:min(30vh,216px);overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.42;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22px);mask-image:linear-gradient(180deg,transparent 0,#000 22px);text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.55)}.feed::-webkit-scrollbar{display:none}.feed li{animation:feed-in .28s ease both;overflow-wrap:anywhere}.feed .who{margin-right:7px;font-weight:600;color:#ffe2a0}.feed .demo{margin-right:6px;padding:0 5px;border-radius:4px;font-size:11px;background:#fff3;text-shadow:none}.feed .state{margin-left:7px;font-size:12px;color:var(--muted)}.feed li.goal .state{color:#ffd76d;font-weight:700}.feed li.goal{color:#fff3cf}.feed .empty,.feed .wish.sealed{color:var(--muted)}@keyframes feed-in{0%{opacity:0;transform:translateY(6px)}}.wish-form{display:flex;gap:8px;width:min(720px,100%);align-items:center}.nick{flex:none;max-width:30vw;min-height:46px;padding:0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:12px;border:1px solid var(--line);background:var(--glass);font-size:13px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}#wish-input{flex:1;min-width:0;min-height:46px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:#101216a8;outline:none;font-size:16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}#wish-input:focus{border-color:var(--gold)}#wish-input::placeholder{color:var(--muted)}.wish-btn{flex:none;min-height:46px;padding:0 18px;border:0;border-radius:12px;font-weight:600;color:#2e2206;background:linear-gradient(180deg,#f6dc92,#e0b253);white-space:nowrap}.wish-btn.cancel{color:var(--ink);background:#ffffff29}.privacy{flex:none;min-height:46px;padding:0 12px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:12px;border:1px solid var(--line);background:var(--glass);font-size:13px;color:var(--muted);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.privacy.on{color:#ffe2a0;border-color:#e9c46a99;background:#e9c46a33}.loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#14171c;z-index:20;color:var(--muted);font-size:15px}.coin-spin{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fbecc0,#cfa24a 70%);box-shadow:inset 0 0 0 3px #a88335;animation:coin-spin 1.1s linear infinite}@keyframes coin-spin{to{transform:rotateY(360deg)}}.fatal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;background:#14171c;z-index:30;line-height:1.7}@media(max-width:640px){.place-pill .muted{display:none}.feed{font-size:13px;max-height:24vh}.wish-btn{padding:0 13px}.privacy{padding:0 11px}.privacy .label{display:none}.nick{max-width:22vw;font-size:12px;padding:0 8px}.pill{font-size:13px}.banner .line1{font-size:14px}}@media(pointer:coarse)and (orientation:portrait){.feed{max-height:84px}}@media(prefers-reduced-motion:reduce){.banner,.banner:after,.feed li,.result{animation:none}.coin-spin{animation-duration:4s}}
