@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{color:#dce4e9;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#14171b;font-family:Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:280px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:2px solid #9ee6bf}button{border:0}input,select{color:#ecf2f6;background:#20262e;border:1px solid #39434d;border-radius:9px}input{min-width:0;padding:13px}h1{letter-spacing:-.8px;margin:5px 0 10px;font-size:24px;font-weight:600}.app-shell{max-width:780px;margin:0 auto;padding:28px 20px 18px}.topbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.eyebrow{color:#9ee6bf;letter-spacing:2.5px;font-size:10px;font-weight:700}.quiet{color:#a6b2bc;background:0 0;border:1px solid #36424a;border-radius:8px;padding:9px 13px;font-size:12px}.room-bar{justify-content:space-between;align-items:center;margin:12px 0;display:flex}.room-bar label{color:#8f9ba5;align-items:center;gap:12px;font-size:12px;display:flex}.room-bar select{padding:8px 28px 8px 10px;font-size:13px}.status{color:#8f99a5;font-size:11px}.status:before{content:"";background:#8f99a5;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.status.online:before{background:#9ee6bf}.map-card{background:#1b2026;border:1px solid #343b44;border-radius:12px;overflow:hidden}.viewport{isolation:isolate;width:100%;height:390px;position:relative;overflow:hidden}.tile-map{-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0}.tile-row{height:24px;display:flex}.tile-row>span{text-align:center;flex-shrink:0;width:24px;height:24px;font:18px/24px ui-monospace,Consolas,monospace}.wall{color:#687687}.floor{color:#303c47}.actor{text-align:center;z-index:2;width:24px;height:24px;font:700 21px/24px ui-monospace,Consolas,monospace;transition:left .13s linear,top .13s linear;position:absolute}.actor.self span{text-shadow:0 0 15px #9ee6bf44}.actor small{white-space:nowrap;color:#b0bdc9;background:#1b2026dd;border-radius:4px;padding:2px 4px;font:10px/14px system-ui,sans-serif;display:block;position:absolute;top:22px;left:50%;transform:translate(-50%)}.speech-layer{z-index:5;pointer-events:none;position:absolute;inset:0}.bubble{color:#202831;overflow-wrap:anywhere;white-space:pre-wrap;background:#eef3f7;border-radius:13px;width:max-content;max-width:min(220px,100vw - 60px);padding:9px 13px;font:13px/1.5 system-ui,sans-serif;transition:left .13s linear,top .13s linear;animation:.15s ease-out appear;position:absolute;transform:translate(-50%,-100%);box-shadow:0 5px 20px #0005}.bubble:after{content:"";bottom:-6px;left:var(--tail,50%);border-top:7px solid #eef3f7;border-left:6px solid #0000;border-right:6px solid #0000;position:absolute;transform:translate(-50%)}.map-caption{color:#6f7d88;pointer-events:none;font-size:10px;position:absolute;bottom:10px;left:14px}.controls{justify-content:space-between;align-items:center;margin:14px 0;display:flex}.identity{align-items:center;gap:12px;display:flex}.identity>span{font:700 30px monospace}.identity strong{font-size:13px;display:block}.text-button{color:#8f9da9;text-underline-offset:3px;background:0 0;padding:5px 0;font-size:11px;text-decoration:underline;display:block}.dpad{grid-template-columns:repeat(3,40px);grid-template-areas:".up.""left down right";gap:4px;display:grid}.direction{color:#b9c8d4;touch-action:none;-webkit-user-select:none;user-select:none;background:#252e37;border:1px solid #3b4854;border-radius:7px;height:34px;font-size:18px}.direction:active{color:#9ee6bf;background:#3b5348}.chat-form{gap:8px;display:flex}.chat-form input{flex:1;font-size:13px}.primary{color:#183526;background:#9ee6bf;border-radius:9px;padding:12px 19px;font-size:13px;font-weight:700}.primary:hover:not(:disabled){background:#b3f1ce}.hint{color:#7f8c98;font-size:11px;line-height:1.7}.error{color:#f5b1af;background:#422d2e;border:1px solid #704246;border-radius:8px;padding:12px;font-size:12px;line-height:1.6}.welcome{background:#1b2026;border:1px solid #343b44;border-radius:16px;width:min(400px,100% - 40px);margin:12vh auto;padding:28px}.welcome h1{margin-top:12px;font-size:23px}.welcome-art{color:#586878;letter-spacing:5px;margin-bottom:25px;font:24px/1.7 ui-monospace,Consolas,monospace}.welcome-art span{color:#9ee6bf}.muted{color:#a3b0bc;margin-bottom:24px;font-size:13px;line-height:1.9}.wide{width:100%;margin:10px 0}.field{color:#a3b0bc;flex-direction:column;gap:9px;font-size:12px;display:flex}fieldset{border:0;margin:22px 0;padding:0}legend{color:#a3b0bc;margin-bottom:10px;font-size:12px}.colors{gap:10px;display:flex}.color{background:#222a32;border:1px solid #0000;border-radius:8px;width:44px;height:44px;font:700 24px monospace}.color.selected{background:#303c42;border-color:currentColor}@keyframes appear{0%{opacity:0;translate:0 3px}to{opacity:1;translate:0}}@media (width<=600px){.app-shell{padding:16px 12px}.topbar{margin-bottom:14px}h1{font-size:20px}.viewport{height:min(48dvh,370px);min-height:220px}.welcome{margin:8vh auto;padding:24px}.room-bar label{gap:7px}.chat-form input{padding:11px;font-size:16px}.primary{padding:11px 14px}.hint{font-size:10px}.dpad{grid-template-columns:repeat(3,44px)}.direction{height:38px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.npc-bar{color:#f5c783;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:12px;display:flex}.parcel-npc{background:0 0;border:0;padding:0;overflow:visible}.parcel-npc:disabled{opacity:1;cursor:default}.parcel-npc small{color:#f5c783}.game-dialog{color:#dce4e9;background:#1b2026;border:1px solid #43524b;border-radius:16px;width:min(440px,100vw - 24px);max-height:calc(100dvh - 30px);padding:24px;overflow:auto;box-shadow:0 25px 100px #0009}.game-dialog::backdrop{background:#080c11cc}.game-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.game-heading h2{margin:8px 0;font-size:22px}.game-stats{color:#9ee6bf;justify-content:space-between;margin:24px 0 12px;display:flex}.parcel-card{text-align:center;background:#232d35;border-radius:12px;min-height:155px;margin-bottom:20px;padding:24px}.parcel-card>span{font-size:52px}.parcel-card h3{margin:12px 0 0;font-size:20px}.sort-buttons{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sort-buttons button{color:#c8f4dc;touch-action:manipulation;background:#33483e;border:1px solid #526c5e;border-radius:9px;padding:17px 5px;font-size:13px}.sort-buttons button:active{background:#516e5d}.game-result{text-align:center;padding-top:18px}.game-result strong{color:#9ee6bf;font-size:28px}.game-result p{font-size:14px}.game-dialog .error{overflow-wrap:anywhere}@media (width<=420px){.game-dialog{padding:18px}.npc-bar{font-size:11px}.sort-buttons button{font-size:12px}}.watering-plant{text-align:center;margin:20px 0;font-size:64px}.timing-track{background:#29343f;border:1px solid #526476;border-radius:9px;height:34px;margin:24px 8px;position:relative;overflow:visible}.timing-target{background:#427b58;width:32%;height:100%;position:absolute;left:34%}.timing-perfect{background:#9ee6bf;width:12%;height:100%;position:absolute;left:44%}.timing-marker{background:#f5c783;border-radius:3px;width:5px;height:48px;position:absolute;top:-8px;transform:translate(-50%);box-shadow:0 0 8px #0007}.water-button{touch-action:manipulation;min-height:55px;font-size:18px}.watering-stage{border:2px solid #0000;border-radius:14px;padding:0 10px 8px;transition:background .15s,border-color .15s}.watering-stage.hit{background:#234a3533;border-color:#71d59a}.watering-stage.perfect{background:#68522133;border-color:#f7d76c}.watering-stage.miss{background:#672c3533;border-color:#ff9292;animation:.28s ease-out water-shake}.watering-plant{position:relative}.water-splash{pointer-events:none;font-size:42px;animation:.65s ease-out both water-drop;position:absolute;top:-20px;left:50%}.watering-stage.hit .watering-plant,.watering-stage.perfect .watering-plant{animation:.4s ease-out plant-pop}.watering-feedback{text-align:center;background:#26313b;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:88px;padding:12px 6px;display:flex}.watering-feedback strong{font-size:23px}.watering-feedback span{font-size:12px}.watering-feedback small{font-size:10px}.watering-feedback.pending{color:#a8dfff}.watering-feedback.hit{color:#c0f8d4;background:#234d36;animation:.25s ease-out plant-pop}.watering-feedback.perfect{color:#ffe792;background:#554822;animation:.25s ease-out plant-pop}.watering-feedback.miss{color:#ffb9b9;background:#532e35}.watering-feedback.neutral{color:#a5b6c4}.watering-feedback.neutral strong{font-size:15px}.water-button:active:not(:disabled),.water-button.water-pressed{color:#102d3c;background:#65bde7;transform:translateY(3px)scale(.97);box-shadow:inset 0 3px 8px #0004}.water-button.water-pressed{opacity:1}.water-button{transition:transform 80ms,background 80ms}.game-result .watering-feedback{margin-bottom:20px}@keyframes water-drop{0%{opacity:0;transform:translate(-50%,-25px)scale(.6)}25%{opacity:1}to{opacity:0;transform:translate(-50%,65px)scale(1.35)}}@keyframes plant-pop{0%,to{transform:scale(1)}45%{transform:scale(1.12)}}@keyframes water-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.tile-row>span.road{color:#877452;background:#c6ac6b12}.tile-row>span.bridge{color:#edd49c;background:#63513777}.tile-row>span.door{color:#f4cf86;background:#68512a44}.tile-row>span.water{color:#6bb8e5;background:#27638b44}.tile-row>span.building{color:#c29c80;background:#a1795930}.tile-row>span.mountain{color:#a6b0c3;background:#7b859b22}.tile-row>span.tree{color:#75b890;background:#386a4725}.terrain-legend{color:#9baab7;flex-wrap:wrap;gap:8px 14px;margin:10px 0;font-size:11px;display:flex}.terrain-legend span{align-items:center;gap:5px;display:flex}.terrain-legend i{font-size:14px;font-style:normal}.terrain-legend .water{color:#6bb8e5}.terrain-legend .building{color:#c29c80}.terrain-legend .mountain{color:#a6b0c3}.terrain-legend .tree{color:#75b890}.terrain-legend .bridge{color:#edd49c}.map-caption{background:#1b2026df;border-radius:4px;max-width:calc(100% - 28px);padding:3px 5px}.market-entry{color:#91a5b5;justify-content:space-between;align-items:center;gap:12px;margin:0 0 15px;font-size:11px;display:flex}.market-entry .quiet{color:#9ee6bf;white-space:nowrap}.market-dialog{width:min(600px,100vw - 24px)}.market-session{color:#91a5b5;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;font-size:11px;display:flex}.market-session strong{color:#9ee6bf;font-size:13px}.market-mood{color:#d5e9df;background:#26352e;border-radius:10px;flex-direction:column;gap:8px;padding:14px;font-size:12px;display:flex}.market-mood span{color:#aabfb1;line-height:1.6}.stock-list{grid-template-columns:1fr;gap:6px;margin:16px 0;display:grid}.stock-list button{text-align:left;color:#dce4e9;background:#222b33;border:1px solid #38454e;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.stock-list button.selected{background:#2b3b33;border-color:#9ee6bf}.stock-list button>span:last-child{text-align:right}.stock-list small{color:#90a1af;margin-top:4px;font-size:10px;display:block}.stock-list .stock-up{color:#f2a1a1}.stock-list .stock-down{color:#91beff}.stock-detail{background:#202831;border-radius:12px;padding:16px}.stock-detail>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.stock-detail h3,.stock-news h3{margin:0;font-size:15px}.stock-detail strong{color:#e0eee5;font-size:23px}.stock-detail strong small{font-size:11px}.stock-detail .hint{margin-bottom:4px}.stock-chart svg{width:100%;display:block}.stock-chart>div{color:#879aaa;justify-content:space-between;font-size:10px;display:flex}.stock-news{margin-top:20px}.stock-news>p{border-bottom:1px solid #333f48;gap:10px;padding-bottom:10px;font-size:12px;line-height:1.7;display:flex}.stock-news time{color:#8d9cab;flex-shrink:0}.market-dialog .game-heading h2{font-size:21px}@media (width<=420px){.market-entry{font-size:10px}.market-session{flex-direction:column;align-items:flex-start;gap:5px}.stock-detail{padding:12px}}.stock-trading{border-top:1px solid #394650;margin-top:20px;padding-top:20px}.stock-trading h3{margin:0 0 14px;font-size:15px}.trade-wallet{color:#a3b6c3;justify-content:space-between;gap:8px;margin:16px 0;font-size:12px;display:flex}.trade-wallet strong{color:#dbeadd}.trade-tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.trade-tabs button{color:#a8bdb0;background:#25312c;border:1px solid #42514c;border-radius:8px;padding:11px}.trade-tabs button[aria-pressed=true]{color:#dcf5e7;background:#3e5c4a;border-color:#9ee6bf}.trade-quantity{align-items:center;gap:10px;margin:14px 0;font-size:12px;display:flex}.trade-quantity input{width:100%;font-size:16px}.trade-shortcuts{gap:7px;display:flex}.trade-shortcuts button{color:#d0dee7;background:#29333e;border:1px solid #405160;border-radius:8px;flex:1;padding:9px 5px;font-size:11px}.trade-summary{background:#232e37;border-radius:9px;margin:14px 0;padding:12px;font-size:12px}.trade-summary>div{justify-content:space-between;gap:12px;margin:8px 0;display:flex}.trade-summary dt{color:#9fb0be}.trade-summary dd{margin:0}.trade-summary>div:last-child{border-top:1px solid #43514f;padding-top:10px;font-weight:700}.trade-success{color:#c8f6db;background:#294636;border:1px solid #649877;border-radius:8px;padding:12px;font-size:12px;line-height:1.7}.stock-holdings,.stock-orders{margin-top:24px}.holding-row,.order-row{border-bottom:1px solid #35424b;justify-content:space-between;gap:10px;padding:12px 0;font-size:12px;display:flex}.holding-row span,.order-row>span:last-child{text-align:right}.holding-row small,.order-row small{color:#8c9eab;margin-top:5px;font-size:10px;font-weight:400;line-height:1.6;display:block}.stock-trading .stock-up{color:#f2a1a1}.stock-trading .stock-down{color:#91beff}.trade-quantity{white-space:nowrap}.trade-quantity input{flex:1;width:0;min-width:0}.mole-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.mole-hole{color:#69725b;touch-action:manipulation;background:radial-gradient(#151b1e 45%,#473c2b 46%,#65563a 75%);border:3px solid #665139;border-radius:50%;height:95px;position:relative;overflow:hidden}.mole-character{font-size:48px;line-height:1.2;display:block}.mole-hole.active .mole-character{animation:.12s ease-out mole-rise}.mole-hole.active{border-color:#a5c978}.mole-hole.hit{background:#325940;border-color:#9ee6bf;animation:.2s ease-out mole-hit}.mole-hole.miss{background:#633b40;border-color:#ed8e8e}.mole-hole small{color:#eef7ee;width:100%;font-size:11px;font-weight:700;position:absolute;bottom:5px;left:0}.mole-hole:active:not(:disabled){transform:scale(.92)}.mole-feedback{text-align:center;color:#b3c5d1;background:#26323c;border-radius:9px;min-height:50px;padding:12px 8px;font-size:14px}.mole-feedback.hit{color:#b9f4ce;background:#294d38;font-weight:700}.mole-feedback.miss{color:#ffb4b4;background:#4d3035}@keyframes mole-rise{0%{opacity:.3;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes mole-hit{50%{transform:scale(1.07)}}@media (width<=420px){.mole-grid{gap:9px}.mole-hole{height:83px}.mole-character{font-size:40px}}.village-shell .map-card{position:relative}.map-dpad{z-index:8;opacity:.92;position:absolute;bottom:18px;right:14px}.map-dpad .direction{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#202c38cf;width:44px;height:42px}.map-chat{z-index:8;background:#2a4033e8;border:1px solid #729782;border-radius:50%;width:48px;height:48px;font-size:23px;position:absolute;bottom:22px;left:16px;box-shadow:0 4px 16px #0005}.village-shell .map-caption{color:#94a2b0;top:10px;bottom:auto;left:10px}.chat-dialog{color:#dce4e9;background:#1b2026;border:1px solid #43594a;border-radius:14px;width:min(480px,100vw - 24px);padding:18px;box-shadow:0 20px 80px #0008}.chat-dialog::backdrop{background:#080c11aa}.chat-dialog h2{margin:0;font-size:17px}.chat-dialog .chat-form input{font-size:16px}.guest-login{align-self:flex-start}.market-pages{flex-direction:column;height:min(700px,100dvh - 24px);max-height:none;padding:18px;overflow:hidden}.market-pages[open]{display:flex}.market-page-header{flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.market-page-header h2{margin:0;font-size:19px}.market-pages .market-session{flex-direction:row;flex:none;margin:14px 0;font-size:10px}.market-screen-body{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.market-bottom-nav{border-top:1px solid #34433b;flex:none;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;padding-top:10px;display:grid}.market-bottom-nav button{color:#8eaa99;background:0 0;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:5px;font-size:11px;display:flex}.market-bottom-nav button span{font-size:21px}.market-bottom-nav button[aria-current=page]{color:#bbebce;background:#2c4537}.screen-title{margin:18px 0 8px;font-size:14px}.market-pages .market-mood{padding:12px;font-size:11px}.market-pages .stock-list{gap:7px;margin:10px 0}.market-pages .stock-list button{min-height:57px}.stock-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.sell-action{color:#d6e8ff;background:#294460;border:1px solid #5e88b7;border-radius:9px;padding:12px;font-weight:700}.screen-pager{color:#98a99f;justify-content:space-between;align-items:center;margin:14px 0;font-size:11px;display:flex}.market-pages .stock-trading{border:0;margin:0;padding:4px 0 0}.trade-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.trade-title h3{margin:0}.trade-title span{color:#93a9b6;white-space:nowrap;font-size:10px}.trade-price{background:#26333c;border-radius:10px;justify-content:space-between;padding:14px;font-size:12px;display:flex}.trade-price strong{font-size:19px}.trade-total{border-top:1px solid #374c40;justify-content:space-between;margin-top:14px;padding:16px 0;font-size:12px;display:flex}.trade-total strong{color:#b9eccc;font-size:19px}.screen-empty{text-align:center;padding:24px 0}.screen-empty>span{color:#9ee6bf;font-size:36px}.asset-summary{background:#273a30;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.asset-summary>span{justify-content:space-between;font-size:12px;display:flex}.asset-summary strong{font-size:16px}.market-pages .trade-wallet{margin:16px 0}.market-pages .stock-news{margin-top:8px}.market-pages .stock-chart svg{max-height:170px}.market-pages .trade-summary{margin:16px 0}.market-pages .trade-summary>div{margin:12px 0}.market-pages .error{padding:10px;font-size:11px}.village-shell .error{z-index:20;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 8px 30px #0007}@media (width<=600px){body:has(.village-shell){height:100dvh;overflow:hidden}.village-shell{height:100dvh;padding:calc(10px + env(safe-area-inset-top)) 10px calc(8px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex;overflow:hidden}.village-shell .topbar{flex:none;margin:0}.village-shell h1{margin:2px 0;font-size:17px}.village-shell .eyebrow{font-size:8px}.village-shell .market-entry{flex:none;justify-content:flex-end;margin:0}.village-shell .market-entry>span{display:none}.village-shell .market-entry .quiet{padding:7px 12px}.village-shell .room-bar{flex:none;margin:0}.village-shell .room-bar select{padding:7px 25px 7px 8px}.village-shell .room-bar label{font-size:11px}.village-shell .map-card{flex:1;min-height:0;display:flex}.village-shell .viewport{flex:1;height:100%;min-height:0}.village-shell .terrain-legend,.village-shell .village-hint{display:none}.village-shell .npc-bar{flex:none;min-height:34px;margin:0}.village-shell .npc-bar .quiet{max-width:65%;padding:7px 9px;font-size:10px}.village-shell .controls{flex:none;margin:0}.village-shell .identity>span{font-size:24px}.village-shell .identity strong{font-size:12px}.village-shell .text-button{padding:2px 0;font-size:10px}.guest-note{flex:none;margin:0!important}.guest-login{padding:7px 10px;font-size:10px}.chat-dialog{width:100%;max-width:none;padding:18px 12px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;margin:0;position:fixed;inset:auto 0 0}.market-pages{width:100%;max-width:none;height:100dvh;padding:calc(12px + env(safe-area-inset-top)) 14px calc(8px + env(safe-area-inset-bottom));border:0;border-radius:0;margin:0;position:fixed;inset:0}.market-pages .market-session{margin:12px 0}.market-pages .stock-chart svg{max-height:145px}.market-pages .stock-detail{padding:14px}.market-pages .trade-summary>div{margin:10px 0}}@media (height<=700px){.market-pages .market-session{margin:8px 0}.market-pages .market-mood{gap:4px;padding:8px}.market-pages .screen-title{margin:10px 0 5px}.market-pages .stock-list button{min-height:48px;padding:7px 10px}.market-pages .stock-list{gap:5px}.market-pages .trade-wallet{margin:10px 0}.market-pages .trade-price{padding:10px}.market-pages .trade-quantity{margin:10px 0}.market-pages .trade-quantity input{padding:9px}.market-pages .trade-total{margin-top:8px;padding:10px 0}.market-pages .trade-summary{margin:10px 0}.market-pages .trade-summary>div{margin:8px 0}.market-pages .wide{margin:6px 0}.market-pages .stock-chart svg{max-height:110px}.market-pages .screen-pager{margin:8px 0}.market-pages .hint{line-height:1.5}.game-dialog:not(.market-pages) .game-stats{margin:12px 0}.game-dialog:not(.market-pages) .watering-plant{margin:8px 0;font-size:42px}.game-dialog:not(.market-pages) .watering-feedback{min-height:65px}.game-dialog:not(.market-pages) .mole-grid{gap:8px;margin:12px 0}.game-dialog:not(.market-pages) .mole-hole{height:clamp(42px,13dvh,80px)}.game-dialog:not(.market-pages) .mole-character{font-size:clamp(25px,7dvh,42px)}.game-dialog:not(.market-pages) .parcel-card{min-height:100px;padding:12px}.game-dialog:not(.market-pages) .muted{margin-bottom:12px}}.plaza-board{z-index:8;color:#f5cf83;background:#252820ee;border:1px solid #baa06466;border-radius:9px;align-items:center;gap:6px;padding:9px 12px;font-size:12px;display:flex;position:absolute;top:40px;right:12px;box-shadow:0 3px 12px #0004}.leaderboard-dialog{height:min(650px,100dvh - 24px)}.ranking-tabs{gap:8px;margin-top:16px;display:flex}.ranking-tabs button{color:#a6b2bc;background:#20262e;border:1px solid #39464a;border-radius:9px;flex:1;padding:12px}.ranking-tabs button[aria-pressed=true]{color:#15271f;background:#9ee6bf;font-weight:700}.ranking-description{min-height:32px}.ranking-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ranking-list li{background:#20262e;border:1px solid #354148;border-radius:10px;align-items:center;gap:8px;min-height:62px;padding:12px 9px;display:flex}.ranking-place{text-align:center;flex:none;width:25px;font-size:19px}.ranking-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:12px}.ranking-list strong{text-align:right;flex:none;font-size:14px}.ranking-list small{color:#a6b2bc;font-size:9px;font-weight:400;display:block}.ranking-footer{color:#8f9da9;flex-direction:column;font-size:10px;line-height:1.7;display:flex}.leaderboard-dialog .market-screen-body{margin-top:0}.leaderboard-dialog .market-page-header h2{font-size:17px}.leaderboard-dialog .screen-pager{flex:none}@media (width<=600px){.leaderboard-dialog{height:100dvh}.plaza-board{padding:8px 10px;font-size:11px}.leaderboard-dialog .ranking-description{margin:8px 0}.leaderboard-dialog .ranking-list li{min-height:56px;padding:9px 7px}.leaderboard-dialog .ranking-tabs{margin-top:12px}}.dungeon-dialog{height:min(760px,100dvh - 24px)}.dungeon-intro{margin:10px 0}.dungeon-field{grid-template-columns:65px 1fr;align-items:center;gap:8px;margin:10px 0;font-size:12px;display:grid}.dungeon-field select{width:100%;min-width:0;padding:9px;font-size:12px}.dungeon-supplies{border:1px solid #39464a;border-radius:9px;margin:10px 0;padding:8px 10px}.dungeon-supplies legend{color:#a6b2bc;font-size:11px}.dungeon-supplies>div{align-items:center;gap:8px;margin:5px 0;font-size:12px;display:flex}.dungeon-supplies>div>span{flex:1}.dungeon-supplies small{color:#8f9da9;font-size:9px;display:block}.dungeon-supplies .quiet{padding:4px 10px;font-size:15px}.dungeon-status,.dungeon-state{background:#202b28;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:10px;font-size:12px;display:flex}.dungeon-status strong{color:#9ee6bf}.dungeon-status>span{font-size:10px}.dungeon-state{background:#20262e}.dungeon-logs{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dungeon-logs li{background:#20262e;border-left:3px solid #566370;border-radius:7px;padding:8px 10px;font-size:11px;line-height:1.5}.dungeon-logs small{color:#8997a1;font-size:9px;display:block}.dungeon-logs span{overflow-wrap:anywhere;display:block}.dungeon-logs .log-use,.dungeon-logs .log-return,.dungeon-logs .log-level{border-color:#9ee6bf}.dungeon-logs .log-loot{border-color:#f5c783}.dungeon-logs .log-death,.dungeon-logs .log-poison{border-color:#f29a9a}.dungeon-selected{font-size:13px;line-height:1.8}.dungeon-dialog .market-page-header h2{font-size:17px}.dungeon-dialog .screen-title small{color:#8f9da9;font-size:10px}.dungeon-history{text-align:left;color:#dce4e9;background:#20262e;border:1px solid #354148;border-radius:9px;justify-content:space-between;align-items:center;width:100%;margin:8px 0;padding:12px;font-size:11px;display:flex}.dungeon-history strong{color:#9ee6bf;white-space:nowrap}@media (width<=600px){.dungeon-dialog{height:100dvh}.dungeon-dialog .hint{font-size:10px}.dungeon-dialog .market-bottom-nav{margin-top:6px}.dungeon-dialog .market-bottom-nav button{padding:10px 4px;font-size:11px}.dungeon-dialog .market-screen-body{margin-top:0}}@media (height<=650px){.dungeon-dialog .dungeon-intro{margin:6px 0}.dungeon-dialog .dungeon-field{margin:7px 0}.dungeon-dialog .dungeon-field select{padding:6px}.dungeon-dialog .dungeon-supplies{margin:7px 0;padding:4px 8px}.dungeon-dialog .dungeon-supplies>div{margin:4px 0}.dungeon-dialog .screen-title{margin:6px 0}.dungeon-dialog .dungeon-status,.dungeon-dialog .dungeon-state{margin:5px 0;padding:7px}.dungeon-dialog .dungeon-logs li{padding:6px 8px}.dungeon-dialog .screen-pager{margin:6px 0}.dungeon-dialog .primary{padding:10px}}.dungeon-health{margin:8px 0}.dungeon-health>div:first-child{justify-content:space-between;align-items:center;margin-bottom:5px;font-size:12px;display:flex}.dungeon-health strong{color:#f99}.dungeon-health-track{background:#49272b;border:1px solid #8c404a;border-radius:8px;height:16px;overflow:hidden}.dungeon-health-track>span{background:linear-gradient(90deg,#cd3549,#ff6575);border-radius:7px;height:100%;transition:width .3s;display:block}.dungeon-return-time{color:#a6b2bc;margin:8px 0;font-size:11px}.dungeon-return-time strong{color:#f5cf83;margin:0 5px;font-size:13px}.dungeon-return-time small{font-size:9px}.dungeon-poison{color:#cbb7ff}@media (height<=650px){.dungeon-health{margin:6px 0}.dungeon-health-track{height:14px}.dungeon-return-time{margin:6px 0}.dungeon-dialog .dungeon-logs li{padding:5px 8px}}.dungeon-log-health{align-items:center;gap:8px;margin-top:5px;display:flex}.dungeon-log-health>small{color:#ffabb5;white-space:nowrap;min-width:66px}.dungeon-log-health .dungeon-health-track{flex:1;height:8px}.dungeon-log-health .dungeon-health-track>span{padding:0}.dungeon-prepare-links{justify-content:space-between;align-items:center;gap:8px;display:flex}.dungeon-dialog .dungeon-history small{white-space:nowrap;font-size:10px}@media (height<=650px){.dungeon-dialog .dungeon-history{margin:6px 0;padding:9px}.dungeon-dialog .dungeon-recovery .hint{margin:4px 0}.dungeon-dialog .dungeon-supplies{margin:5px 0}.dungeon-dialog .dungeon-field{margin:4px 0}}.dungeon-dialog .dungeon-history>span{flex:1;min-width:0}.dungeon-dialog .dungeon-history>span small{white-space:normal;overflow-wrap:anywhere}.dungeon-dialog .dungeon-selected small{color:#a6b2bc;font-size:10px;line-height:1.4}@media (height<=650px){.dungeon-dialog .dungeon-selected{margin:8px 0;padding-left:18px;font-size:11px;line-height:1.5}.dungeon-dialog .dungeon-selected li{margin-bottom:5px}.dungeon-dialog .dungeon-selected small{font-size:9px}.dungeon-dialog h3{margin:10px 0}.dungeon-dialog .error{margin:8px 0;padding:7px}}.relic-spot{z-index:4;color:#ffe08c;text-shadow:0 0 8px #e2ad57;cursor:pointer;background:#b7903c33;border:0;border-radius:50%;width:24px;height:24px;padding:0;font-size:21px;line-height:24px;position:absolute}.relic-spot:disabled{opacity:.65;cursor:default}.relic-spot:not(:disabled){box-shadow:0 0 0 3px #ffe08c33}.map-relic-book{z-index:9;background:#253b32df;border:1px solid #577861;border-radius:10px;width:40px;height:36px;padding:0;font-size:21px;position:absolute;top:44px;right:12px}.relic-map-hint{z-index:8;color:#e8ca8d;pointer-events:none;background:#14191de6;border-radius:5px;padding:5px;font-size:10px;line-height:1.4;position:absolute;top:48px;left:12px;right:60px}.relic-card{color:#8c99a3;background:#20262e;border:1px dashed #3e484e;border-radius:10px;align-items:center;gap:10px;margin:8px 0;padding:12px;display:flex}.relic-card.discovered{color:#e4eddd;border-style:solid;border-color:#6b7757}.relic-card-icon{text-align:center;flex:none;width:32px;font-size:25px}.relic-card>div{flex:1;min-width:0}.relic-card strong{font-size:13px}.relic-card small{color:#a9b5a2;margin-top:4px;font-size:10px;display:block}.relic-card button{white-space:nowrap;padding:8px;font-size:10px}.relic-found{text-align:center;padding:10px 4px}.relic-icon{margin:12px 0;font-size:64px}.relic-rarity{color:#f5c783;font-size:12px}.relic-found p{font-size:12px}.relic-found .primary{margin-top:16px}@media (height<=650px){.relic-card{margin:6px 0;padding:10px}.relic-dialog .hint{margin:7px 0}.relic-dialog .dungeon-status{margin:6px 0}}.map-relic-search{z-index:9;color:#e5d5a0;background:#263a31e8;border:1px solid #577861;border-radius:10px;height:36px;padding:0 12px;font-size:11px;position:absolute;top:44px;left:12px}.map-relic-search:disabled{opacity:.65}.fishing-dialog{width:min(440px,100vw - 20px);max-height:calc(100dvh - 16px);padding:18px;overflow:hidden}.fishing-wallet{color:#b5c9bd;justify-content:space-between;gap:8px;margin:10px 0;font-size:11px;display:flex}.fishing-wallet span{font-size:10px}.fishing-tabs{gap:5px;margin:12px 0;display:flex}.fishing-tabs button{flex:1;padding:10px 3px;font-size:11px}.fishing-water{text-align:center;background:linear-gradient(#213c4a,#24546b);border:2px solid #4e7689;border-radius:12px;margin:12px 0;padding:20px 8px}.fishing-float{margin:5px;font-size:50px}.fishing-water strong{font-size:14px;display:block}.fishing-water p{margin-bottom:0;font-size:11px}.fishing-water.caught{background:#244639;border-color:#9ee6bf}.fishing-water.miss{background:#4a2f36;border-color:#ed8787}.fishing-target{background:#6dcb91;position:absolute;top:0;bottom:0}.fishing-card{background:#242e35;border-radius:9px;align-items:center;gap:8px;margin:8px 0;padding:12px 9px;display:flex}.fishing-card>div{flex:1;min-width:0}.fishing-card strong{font-size:12px}.fishing-card small{color:#a7b6be;margin-top:5px;font-size:10px;line-height:1.4;display:block}.fishing-card button{white-space:nowrap;padding:8px;font-size:11px}.fishing-book-heading{justify-content:space-between;align-items:center;font-size:12px;display:flex}.fishing-book-heading select{width:100px;padding:6px;font-size:12px}.fishing-result{text-align:center;padding:12px 0}.fishing-result strong{color:#f5c783}.fishing-tap{margin-top:12px}.fishing-dialog .error{max-height:45px;margin:7px 0;padding:6px;font-size:10px;overflow:auto}@media (height<=650px){.fishing-dialog{padding:14px}.fishing-dialog .game-heading h2{margin:5px 0;font-size:19px}.fishing-water{padding:12px 5px}.fishing-float{font-size:40px}.fishing-card{margin:6px 0;padding:9px}.fishing-dialog .hint{margin:8px 0;font-size:10px}.fishing-tabs,.fishing-dialog .screen-pager{margin:8px 0}}.sand{color:#d8bf87;background:#534b3038}.map-insect{z-index:7;background:#243a28bb;border:1px solid #bbc76d;border-radius:50%;width:28px;height:28px;padding:0;font-size:22px;line-height:26px;position:absolute}.map-insect:disabled{opacity:.85}.map-insect.near{box-shadow:0 0 0 3px #c8e58b55}.map-insect-book{z-index:9;background:#253b32df;border:1px solid #577861;border-radius:10px;width:40px;height:36px;padding:0;font-size:22px;position:absolute;top:86px;right:12px}.insect-flight{background:#1f342d;border-radius:10px;height:100px;margin:12px 0;position:relative;overflow:hidden}.insect-flight .fishing-target{background:#6dcb9144;border-left:2px solid #9ee6bf;border-right:2px solid #9ee6bf}.insect-moving{font-size:30px;position:absolute;top:28px;transform:translate(-50%)}.insect-dialog .fishing-water{padding:12px 5px}.insect-dialog .fishing-float{font-size:32px}.insect-dialog .fishing-card strong{overflow-wrap:anywhere;font-size:11px}.insect-dialog .fishing-card small{font-size:9px}.insect-dialog .fishing-book-heading select{width:95px}@media (height<=650px){.insect-flight{height:64px;margin:7px 0}.insect-moving{font-size:26px;top:14px}.insect-dialog .fishing-water{margin:7px 0;padding:6px}.insect-dialog .fishing-float{margin:3px;font-size:24px}.insect-dialog .fishing-water strong{font-size:12px}.insect-dialog .fishing-water p{margin:5px 0;font-size:10px}.insect-dialog .fishing-tap{margin-top:7px}.insect-dialog .fishing-card{padding:7px}}.resident-actor{z-index:4;text-align:center;background:0 0;border-radius:7px;width:32px;height:32px;padding:4px;font:700 21px/24px ui-monospace,Consolas,monospace;position:absolute;overflow:visible}.resident-actor:disabled{opacity:1}.resident-actor.near:not(:disabled){background:#9ee6bf15;box-shadow:inset 0 0 0 1px #9ee6bf55}.resident-actor small{white-space:nowrap;color:inherit;pointer-events:none;background:#14171bd9;border-radius:3px;padding:1px 3px;font:9px/12px system-ui,sans-serif;position:absolute;top:29px;left:50%;transform:translate(-50%)}.resident-bubble{z-index:12;color:#303426;pointer-events:none;overflow-wrap:anywhere;background:#f2ead6;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.6;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 16px #0005}.resident-bubble strong{color:#75633c;margin-bottom:3px;font-size:10px;display:block}.resident-bubble:after{content:"";border:7px solid #0000;border-top-color:#f2ead6;position:absolute;top:100%;left:50%;transform:translate(-50%)}.map-dpad{pointer-events:none}.map-dpad .direction{pointer-events:auto}.community-board-entry{z-index:8;color:#d6eedc;background:#253b32ed;border:1px solid #577861;border-radius:9px;padding:9px 12px;font-size:12px;position:absolute;top:80px;right:12px}.community-dialog{flex-direction:column;gap:12px;width:min(440px,100vw - 24px);height:min(610px,100dvh - 24px);max-height:calc(100dvh - 24px);display:flex;overflow:hidden}.community-dialog:not([open]){display:none}.community-dialog h2{margin:0;font-size:19px}.community-toolbar,.community-meta,.community-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.community-toolbar,.community-meta{color:#a2b4bb;font-size:11px}.community-content{flex:1;min-height:0;overflow:auto}.community-list{flex-direction:column;gap:12px;display:flex}.community-post{color:#dce4e9;text-align:left;background:#24302a;border:1px solid #45564d;border-radius:10px;min-height:108px;padding:14px}.community-post p{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.community-post small{color:#b6d0be;font-size:11px}.community-compose{flex-direction:column;gap:8px;display:flex}.community-compose label{font-size:12px}.community-compose textarea{resize:none;color:#dce4e9;width:100%;height:132px;font:inherit;background:#141d18;border:1px solid #526659;border-radius:9px;margin-top:8px;padding:12px;font-size:16px;display:block}.community-count{text-align:right;color:#a2b4bb;font-size:11px}.community-preview{align-items:center;gap:8px;display:flex}.community-preview img{object-fit:contain;border-radius:8px;max-width:65%;height:115px}.community-file{border:1px dashed #526659;border-radius:8px;padding:12px}.community-file input{width:100%;margin-top:8px;font-size:12px;display:block}.community-detail p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}.community-detail img{object-fit:contain;max-width:100%;max-height:260px;margin:12px auto;display:block}.community-actions button{flex:1}.community-dialog .error{max-height:50px;margin:0;font-size:11px;overflow:auto}.community-dialog .screen-pager{margin:0}.bulk-sale{margin:6px 0;padding:8px!important;font-size:11px!important}.fishing-dialog:has(.bulk-sale) .fishing-card{margin:6px 0;padding:8px}@media (width<=600px){.community-dialog{border-radius:0;width:100vw;height:100dvh;max-height:100dvh;padding:16px}.community-board-entry{padding:8px 10px;font-size:11px}.community-dialog{border:0;max-width:none;margin:0;position:fixed;inset:0}}.tile-row>span.interior{color:#c5ad87;background:#8c735633}.building-sign{z-index:4;color:#ffdf9e;white-space:nowrap;pointer-events:none;background:#3b3022;border:1px solid #b39764;border-radius:4px;max-width:145px;padding:4px 7px;font-size:10px;position:absolute;transform:translate(-50%,-45%);box-shadow:0 2px 6px #0008}.world-board{z-index:5;color:#f5dda5;background:#53442f;border:1px solid #987954;border-radius:3px;width:24px;height:24px;padding:0;line-height:22px;position:absolute;overflow:visible}.world-board>span{font-size:19px}.world-board small{color:#eed5a7;white-space:nowrap;pointer-events:none;background:#1b2026e6;border-radius:3px;padding:2px 4px;font-size:9px;position:absolute;top:24px;left:50%;transform:translate(-50%)}.world-board:disabled{opacity:1;cursor:default}.world-board.near{box-shadow:0 0 0 3px #e5c47744}.collection-menu h2{font-size:19px}.collection-menu>.wide{min-height:48px;margin:10px 0}.daily-dialog{width:min(440px,100vw - 20px);padding:18px;overflow:hidden}.daily-dialog h2{margin:0;font-size:19px}.daily-heading{color:#a9beb0;justify-content:space-between;align-items:center;gap:8px;margin:14px 0;font-size:11px;display:flex}.daily-heading button{padding:7px;font-size:10px}.daily-list{gap:10px;display:grid}.daily-card{background:#23332b;border:1px solid #476052;border-radius:10px;padding:12px}.daily-title{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.daily-title>span{color:#f5cf83;white-space:nowrap;font-size:11px}.daily-card p{color:#a9beb0;margin:8px 0;font-size:11px;line-height:1.5}.daily-progress{align-items:center;gap:8px;display:flex}.daily-progress progress{accent-color:#9ee6bf;width:100%;min-width:0;height:10px}.daily-progress>span{white-space:nowrap;font-size:11px}.daily-progress button{white-space:nowrap;padding:8px;font-size:11px}.daily-notice{color:#9ee6bf;font-size:12px}.daily-dialog .error{margin:8px 0;padding:8px;font-size:10px}@media (height<=650px){.daily-dialog{padding:14px}.daily-list{gap:8px}.daily-card{padding:10px}.daily-dialog .hint{margin:10px 0;font-size:10px;line-height:1.5}}button.holding-row{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0}button.holding-row:hover{background:#ffffff08}button.holding-row:focus-visible{outline-offset:2px;outline:2px solid #9ee6bf}button.holding-row{border:0;border-bottom:1px solid #35424b;border-radius:0}.holding-summary{background:#27322e;border:1px solid #435348;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:11px}.holding-summary>div{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.holding-summary>div+div{color:#a3b6c3;margin-top:8px;font-size:10px}.holding-summary strong{font-size:14px}.holding-summary b{color:#dce4e9;font-weight:500}.market-pages .stock-up{color:#f2a1a1}.market-pages .stock-down{color:#91beff}.stock-day-change{margin:7px 0;font-size:12px}.trade-projection{grid-template-columns:1fr auto;gap:4px 8px;padding:8px 0;font-size:11px;display:grid}.trade-projection small{color:#a3b6c3;grid-column:1/-1}.trade-projection strong{font-size:12px}.holding-row small.stock-up,.holding-row small.stock-down{font-size:11px;font-weight:600}.holding-row>span{flex-shrink:0}.asset-summary>span:last-child{flex-wrap:wrap;gap:4px}@media (height<=700px){.market-pages .holding-summary{margin:7px 0;padding:7px 9px}.market-pages .holding-summary>div+div{margin-top:5px}.market-pages .trade-wallet{margin:6px 0}.market-pages .trade-price{padding:7px}.market-pages .trade-quantity{margin:6px 0}.market-pages .trade-quantity input{padding:6px}.market-pages .trade-total{margin-top:6px;padding:7px 0}.market-pages .trade-projection{padding:5px 0}.market-pages .trade-screen>.hint{margin:5px 0}.market-pages .stock-detail{padding:10px}.market-pages .stock-chart svg{max-height:90px}.market-pages .trade-summary>div{margin:6px 0}.market-pages .stock-trading h3{margin-bottom:8px}.market-pages .trade-summary{grid-template-columns:1fr 1fr;gap:9px 12px;margin:8px 0;padding:10px;font-size:11px;display:grid}.market-pages .trade-summary>div{gap:5px;margin:0}.market-pages .trade-summary>div:last-child{grid-column:1/-1;padding-top:6px}.market-pages .trade-summary dt,.market-pages .trade-summary dd{white-space:nowrap}}
