:root{--panel: rgba(30, 24, 22, .82);--line: rgba(255, 255, 255, .1);--text: #f4ede4;--muted: #b8aa9c;--accent: #e0a463;--accent-ink: #2a1f18;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#14100e;color:var(--text);font:14px/1.5 ui-rounded,-apple-system,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}#panel{position:fixed;top:18px;left:18px;width:260px;max-height:calc(100vh - 36px);overflow-y:auto;padding:18px;border-radius:18px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 18px 50px #00000073}#panel header h1{margin:0;font-size:19px;letter-spacing:-.01em}#panel header p{margin:2px 0 16px;color:var(--muted);font-size:12px}#panel h2{margin:16px 0 8px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}#panel h2 span{color:var(--accent);letter-spacing:0;text-transform:none;font-size:12px}#palette{display:flex;flex-wrap:wrap;gap:6px}.chip{font:inherit;font-size:12.5px;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;color:var(--text);cursor:pointer;transition:background .14s ease,border-color .14s ease}.chip:hover{background:#ffffff1c}.chip.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.chip.erase{color:#e79a9a}.chip.erase.active{background:#c86b6b;color:#1a1010;border-color:#c86b6b}input[type=range]{width:100%;accent-color:var(--accent);margin:0}.swatches{display:flex;gap:6px}.swatch{width:30px;height:30px;border-radius:9px;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .12s ease}.swatch:hover{transform:translateY(-2px)}.swatch.on{border-color:var(--accent)}#panel footer{display:grid;gap:7px;margin-top:20px}#panel footer button{font:inherit;padding:10px;border-radius:11px;border:1px solid var(--line);background:#ffffff0d;color:var(--text);cursor:pointer}#panel footer button:hover{background:#ffffff1c}#panel footer button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}#panel footer button.quiet{color:var(--muted);font-size:12.5px;padding:7px}#panel footer button#sound.on{color:var(--accent)}#hint{position:fixed;left:50%;bottom:20px;transform:translate(-50%);margin:0;padding:7px 15px;border-radius:999px;background:#14100e99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted);font-size:12px;pointer-events:none;white-space:nowrap}#toast{position:fixed;left:50%;top:22px;transform:translate(-50%,-12px);padding:9px 17px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}#toast.show{opacity:1;transform:translate(-50%)}@media (max-width: 720px){#panel{top:auto;bottom:0;left:0;width:100%;max-height:46vh;border-radius:18px 18px 0 0}#hint{display:none}}#panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}#panel header h1{margin-bottom:12px}#wallet{text-align:right;line-height:1.2}#coins{font-size:17px;font-weight:700;color:var(--accent)}#coins:before{content:"◍ ";opacity:.8}#wallet small{display:block;font-size:10.5px;color:var(--muted)}#tabs{display:flex;gap:4px;margin-bottom:6px}.tab{flex:1;font:inherit;font-size:12.5px;padding:7px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.tab.active{background:#ffffff17;color:var(--text);font-weight:600}.muted{color:var(--muted);font-size:11.5px}.shop-intro{margin:8px 0 14px;line-height:1.45}.chip .n{display:inline-block;margin-left:5px;padding:0 5px;border-radius:999px;background:#0000004d;font-size:10.5px}.chip.active .n{background:#00000038}#cozy{color:var(--accent);letter-spacing:0;text-transform:none;font-size:11.5px}#shop-list{display:grid;gap:6px}.shop-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#ffffff0a}.shop-row b{font-weight:600;font-size:13px}.shop-row .cozy-val{font-size:10.5px;color:var(--muted);display:block}.shop-row .price{font-size:12.5px;color:var(--accent);font-variant-numeric:tabular-nums}.shop-row button{font:inherit;font-size:12px;font-weight:600;padding:5px 12px;border-radius:8px;border:none;cursor:pointer;background:var(--accent);color:var(--accent-ink)}.shop-row button:disabled{background:#ffffff14;color:var(--muted);cursor:default}#upgrade-box{margin-top:18px}#level-label{color:var(--accent);letter-spacing:0;text-transform:none;font-size:11.5px}#upgrade{width:100%;font:inherit;font-size:12.5px;padding:9px;border-radius:10px;border:1px solid var(--line);background:#ffffff0d;color:var(--text);cursor:pointer}#upgrade:disabled{color:var(--muted);cursor:default}#upgrade:not(:disabled):hover{border-color:var(--accent)}.hidden{display:none!important}button.wide{width:100%;font:inherit;font-size:13px;padding:10px;border-radius:10px;border:1px solid var(--line);background:#ffffff0d;color:var(--text);cursor:pointer}button.wide:hover:not(:disabled){border-color:var(--accent)}button.wide:disabled{color:var(--muted);cursor:default}button.wide.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.wide.primary:disabled{background:#ffffff12;border-color:var(--line)}#pond{color:var(--accent);letter-spacing:0;text-transform:none;font-size:11.5px}#pond-note{margin:0 0 10px;line-height:1.45}#bag{display:grid;gap:4px;margin-bottom:10px}.bag-row{display:flex;justify-content:space-between;align-items:center;padding:5px 9px;border-radius:8px;font-size:12.5px;background:#ffffff0a;border:1px solid var(--line)}.bag-row .val{color:var(--accent);font-variant-numeric:tabular-nums}.bag-row.nadir{border-color:#d9a24a}.bag-row.nadir b{color:#f0c070}#bag-count{color:var(--muted);letter-spacing:0;text-transform:none;font-size:11.5px}#phone-btn{position:fixed;right:20px;bottom:20px;z-index:40;width:46px;height:68px;border-radius:12px;cursor:pointer;background:linear-gradient(160deg,#2c3340,#1a1f28);border:1px solid var(--line);box-shadow:0 8px 22px #00000073;transition:transform .15s ease}#phone-btn:after{content:"";position:absolute;top:6px;right:5px;bottom:11px;left:5px;border-radius:7px;background:#47536b}#phone-btn:before{content:"";position:absolute;left:50%;bottom:4px;width:14px;height:3px;margin-left:-7px;border-radius:2px;background:#6a7690}#phone-btn:hover{transform:translateY(-3px)}#phone-badge{position:absolute;top:-5px;right:-5px;z-index:1;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#d9584f;color:#fff;font-size:10px;line-height:17px;font-weight:700;text-align:center}#phone{position:fixed;right:20px;bottom:20px;z-index:41;width:300px;height:520px}.phone-frame{display:flex;flex-direction:column;height:100%;padding:12px;border-radius:26px;background:#12151cf2;border:1px solid var(--line);box-shadow:0 22px 60px #0000008c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.phone-frame header{display:flex;justify-content:space-between;align-items:center;padding:2px 6px 10px;font-size:11px;color:var(--muted);font-family:ui-monospace,Menlo,monospace}.phone-body{flex:1;overflow-y:auto}.phone-screen{display:grid;gap:8px;align-content:start}.phone-screen p{margin:0;line-height:1.5}.app{display:block;width:100%;text-align:left;cursor:pointer;padding:12px 14px;border-radius:13px;background:#ffffff0d;border:1px solid var(--line);color:var(--text);font:inherit}.app:hover{border-color:var(--accent)}.app b{display:block;font-size:14px}.app small{color:var(--muted);font-size:11.5px}#phone-back{margin-top:8px;padding:8px;border-radius:10px;cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--muted);font:inherit;font-size:12px}.region{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid var(--line)}.region.here{border-color:var(--accent)}.region b{font-size:13px}.region small{display:block;color:var(--muted);font-size:11px;line-height:1.4}.region .go{font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;padding:5px 11px;border-radius:8px;border:none;background:var(--accent);color:var(--accent-ink)}.region .go:disabled{background:#ffffff14;color:var(--muted);cursor:default}.region .tag{font-size:10.5px;color:var(--accent)}#trip-status{padding:12px;border-radius:12px;background:#ffffff0d;border:1px solid var(--line)}#trip-status p{font-size:12.5px;margin-bottom:8px!important}.bar{height:5px;border-radius:3px;background:#00000059;overflow:hidden}#trip-bar{height:100%;width:0;background:var(--accent);transition:width .4s ease}@media (max-width: 720px){#phone{right:10px;bottom:10px;width:calc(100vw - 20px);height:70vh}}#account-box{margin-top:18px}#account-state{color:var(--accent);letter-spacing:0;text-transform:none;font-size:11.5px}#account-note{margin:0 0 8px;line-height:1.45}#auth{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:#0a0807c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#auth-form{width:min(360px,calc(100vw - 32px));display:grid;gap:12px;padding:26px;border-radius:18px;background:var(--panel);border:1px solid var(--line);box-shadow:0 24px 60px #00000080}#auth-form h2{margin:0;font-size:19px}#auth-form .muted{margin:-4px 0 4px}#auth-form label{display:grid;gap:5px;font-size:12px;color:var(--muted)}#auth-form input{font:inherit;font-size:14px;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:#00000040;color:var(--text)}#auth-form input:focus{outline:none;border-color:var(--accent)}.err{margin:0;color:#ff8a8a;font-size:12.5px;line-height:1.4}.link{background:none;border:none;cursor:pointer;color:var(--muted);font:inherit;font-size:12.5px;padding:2px}.link:hover{color:var(--text)}#landing{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 50% 15%,rgba(224,164,99,.16),transparent 60%),linear-gradient(170deg,#1d1815,#12100e 70%)}.landing-card{width:min(420px,100%);max-height:100%;overflow-y:auto;text-align:center;padding:34px 30px;border-radius:22px;background:#1c1714b8;border:1px solid var(--line);box-shadow:0 26px 70px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-card h1{margin:0;font-size:34px;letter-spacing:-.02em;background:linear-gradient(100deg,#f2d5b0,#e0a463);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{margin:6px 0 26px;color:var(--muted);font-size:13.5px}#landing-actions{display:grid;gap:9px}#region-pick h2{margin:4px 0 6px;font-size:17px}#region-pick .muted{margin:0 0 16px;line-height:1.5}#region-choices{display:grid;gap:8px;text-align:left}.region-choice{display:grid;gap:3px;cursor:pointer;font:inherit;padding:12px 14px;border-radius:13px;background:#ffffff0d;border:1px solid var(--line);color:var(--text)}.region-choice:hover{border-color:var(--accent);background:#ffffff17}.region-choice b{font-size:14px}.region-choice small{color:var(--muted);font-size:11.5px;line-height:1.4}.region-choice em{font-style:normal;font-size:11px;color:var(--accent)}.fine{margin:22px 0 0;font-size:11px;color:var(--muted);opacity:.75}#city-name{color:var(--text)!important;font-size:15px!important;letter-spacing:0!important;text-transform:none!important}#city-blurb{margin:0 0 4px;line-height:1.45}#city-doors{display:grid;gap:6px}.door-btn{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;font-size:12.5px;padding:9px 12px;border-radius:10px;background:#ffffff0d;border:1px solid var(--line);color:var(--text)}.door-btn:hover{border-color:var(--accent)}#devbar{position:fixed;left:14px;bottom:14px;z-index:45;display:flex;align-items:center;gap:5px;flex-wrap:wrap;max-width:min(520px,calc(100vw - 28px));padding:7px 9px;border-radius:11px;background:#14100ed1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px dashed rgba(224,164,99,.45)}#devbar .dev-tag{font-size:9.5px;font-weight:700;letter-spacing:.1em;color:#e0a463;padding-right:3px}#devbar button{font:inherit;font-size:11.5px;padding:4px 9px;cursor:pointer;border-radius:7px;border:1px solid var(--line);background:#ffffff0f;color:var(--text)}#devbar button:hover{border-color:var(--accent)}#room-tools{display:flex;gap:6px}#room-tools button{flex:1;font:inherit;font-size:12.5px;padding:8px;cursor:pointer;border-radius:9px;border:1px solid var(--line);background:#ffffff0d;color:var(--text)}#room-tools button:hover{border-color:var(--accent)}#room-tools button.active{background:var(--accent);color:var(--accent-ink);font-weight:600;border-color:var(--accent)}#palette{max-height:148px;overflow-y:auto;align-content:start}#catch{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#080e1280;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none}.catch-inner{display:grid;justify-items:center;gap:14px}#catch-hint{margin:0;font-size:12.5px;color:#dfe8ef;text-shadow:0 1px 4px rgba(0,0,0,.7)}#catch-track{position:relative;width:58px;height:340px;border-radius:29px;overflow:hidden;background:linear-gradient(180deg,#16303d,#0d1c25);border:2px solid rgba(255,255,255,.14);box-shadow:inset 0 2px 10px #00000080}#catch-box{position:absolute;left:4px;right:4px;border-radius:22px;background:linear-gradient(180deg,#7cd6968c,#58c98a66);border:1px solid rgba(150,240,180,.7);transition:none}#catch-fish{position:absolute;left:50%;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffd9a0,#e0a463 60%,#b8763c);box-shadow:0 2px 8px #00000073}#catch-progress{width:220px;height:9px;border-radius:5px;overflow:hidden;background:#00000073;border:1px solid rgba(255,255,255,.12)}#catch-fill{height:100%;width:35%;background:linear-gradient(90deg,#e0a463,#7cd696)}#presets .swatch{width:34px;height:34px;position:relative;overflow:hidden}#presets .swatch span{position:absolute;left:0;right:0;height:33.34%}#presets .swatch span:nth-child(1){top:0}#presets .swatch span:nth-child(2){top:33.33%}#presets .swatch span:nth-child(3){top:66.66%}#color-slots{display:grid;gap:7px}.slot-row{display:grid;grid-template-columns:60px 1fr 30px;gap:8px;align-items:center}.slot-row span{font-size:11.5px;color:var(--muted)}.slot-row .picks{display:flex;gap:4px;flex-wrap:wrap}.slot-row .pick{width:20px;height:20px;border-radius:6px;cursor:pointer;padding:0;border:2px solid transparent}.slot-row .pick.on{border-color:var(--accent)}.slot-row input[type=color]{width:30px;height:26px;padding:0;cursor:pointer;border:1px solid var(--line);border-radius:7px;background:none}.wear-list{display:flex;flex-wrap:wrap;gap:6px}.wear{font:inherit;font-size:12.5px;padding:6px 11px;cursor:pointer;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;color:var(--text)}.wear:hover{background:#ffffff1a}.wear.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.wear .cost{font-size:10.5px;opacity:.8;margin-left:4px}.wear.locked{color:var(--muted)}
