@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Google Sans','Product Sans','Noto Sans KR',sans-serif;background:#f8f9fa;color:#202124;overflow:hidden;height:100vh;user-select:none;}

/* ===== LAYOUT ===== */
.game-container{display:flex;height:100vh;width:100vw;}
.sidebar-left{width:280px;background:#ffffff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;flex-shrink:0;z-index:10;box-shadow:2px 0 8px rgba(0,0,0,0.06);}
.main-area{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden;}
.sidebar-right{width:300px;background:#ffffff;border-left:1px solid #e0e0e0;display:flex;flex-direction:column;flex-shrink:0;z-index:10;box-shadow:-2px 0 8px rgba(0,0,0,0.06);}

/* ===== HEADER ===== */
.game-header{height:60px;background:#4285F4;display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,0.1);}
.game-title{font-size:22px;font-weight:900;color:#fff;}
.game-time{font-size:16px;background:rgba(255,255,255,0.2);color:#fff;padding:6px 16px;border-radius:20px;}

/* ===== PLAYER INFO ===== */
.player-section{padding:16px;}
.player-section h3{font-size:13px;color:#4285F4;letter-spacing:1px;margin-bottom:12px;border-bottom:1px solid #e0e0e0;padding-bottom:8px;font-weight:700;}
.player-card{background:#ffffff;border-radius:12px;padding:14px;margin-bottom:10px;border:1px solid #e0e0e0;box-shadow:0 1px 3px rgba(0,0,0,0.06);}
.player-card.me{border-color:#4285F4;background:rgba(66,133,244,0.04);border-width:2px;}
.player-name{font-weight:700;font-size:15px;margin-bottom:6px;display:flex;align-items:center;gap:6px;color:#202124;}
.player-name .badge{font-size:10px;background:#4285F4;color:#fff;padding:2px 6px;border-radius:4px;}
.player-money{font-size:20px;font-weight:900;color:#202124;}
.player-money small{font-size:12px;color:#5f6368;font-weight:400;}
.player-jobs{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;}
.player-jobs span{font-size:10px;background:#e8f0fe;padding:2px 8px;border-radius:10px;color:#4285F4;}
.player-assets{font-size:11px;color:#5f6368;margin-top:4px;}

/* ===== RANKING ===== */
.ranking-section{padding:16px;flex:1;}
.ranking-section h3{font-size:13px;color:#4285F4;letter-spacing:1px;margin-bottom:12px;border-bottom:1px solid #e0e0e0;padding-bottom:8px;font-weight:700;}
.rank-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;margin-bottom:6px;background:#f8f9fa;transition:all 0.3s;border:1px solid transparent;}
.rank-item.gold{background:rgba(251,188,5,0.08);border:1px solid rgba(251,188,5,0.25);}
.rank-item.silver{background:rgba(158,158,158,0.08);border:1px solid rgba(158,158,158,0.2);}
.rank-item.bronze{background:rgba(205,127,50,0.08);border:1px solid rgba(205,127,50,0.2);}
.rank-num{font-size:24px;font-weight:900;width:36px;text-align:center;color:#5f6368;}
.rank-item.gold .rank-num{color:#FBBC05;}
.rank-item.silver .rank-num{color:#9e9e9e;}
.rank-item.bronze .rank-num{color:#cd7f32;}
.rank-info{flex:1;}
.rank-name{font-weight:700;font-size:14px;color:#202124;}
.rank-money{font-size:13px;color:#34A853;}
.rank-income{font-size:11px;color:#5f6368;}

/* ===== TOWN MAP (Anime Style) ===== */
.town-map{flex:1;position:relative;background:linear-gradient(180deg,#87CEEB 0%,#b4e4ff 30%,#7ec850 30%,#5cb83a 100%);overflow:auto;}
.town-inner{position:relative;width:1400px;min-height:100%;}

/* Sky elements - Anime style */
.cloud{position:absolute;background:#fff;border-radius:50%;opacity:0.9;animation:cloudMove 60s linear infinite;border:2px solid rgba(180,210,240,0.6);}
.cloud::before,.cloud::after{content:'';position:absolute;background:#fff;border-radius:50%;border:2px solid rgba(180,210,240,0.6);}
.sun{position:absolute;top:30px;right:80px;width:70px;height:70px;background:radial-gradient(circle at 35% 35%,#fff 10%,#ffe066 40%,#ffb347 100%);border-radius:50%;border:3px solid #ff9500;box-shadow:0 0 50px rgba(255,200,50,0.6),0 0 100px rgba(255,180,0,0.25);z-index:1;}
.sun::after{content:'';position:absolute;top:8px;left:10px;width:18px;height:12px;background:rgba(255,255,255,0.5);border-radius:50%;transform:rotate(-20deg);}

/* Ground and roads - Anime style */
.ground{position:absolute;bottom:0;left:0;right:0;height:55%;background:#5cb83a;border-top:3px solid #4a9e2f;}
.road-h{position:absolute;height:40px;left:0;right:0;background:#555;z-index:2;border-top:3px solid #777;border-bottom:3px solid #333;}
.road-h::before{content:'';position:absolute;top:17px;left:0;right:0;height:6px;background:repeating-linear-gradient(90deg,#FFE066 0,#FFE066 22px,transparent 22px,transparent 44px);}
.road-v{position:absolute;width:40px;top:0;bottom:0;background:#555;z-index:2;border-left:3px solid #777;border-right:3px solid #333;}
.road-v::before{content:'';position:absolute;left:15px;top:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,#FFE066 0,#FFE066 22px,transparent 22px,transparent 44px);}

/* ===== BUILDINGS (Anime Style) ===== */
.building{position:absolute;cursor:pointer;z-index:5;transition:transform 0.3s cubic-bezier(.4,0,.2,1),filter 0.3s;filter:drop-shadow(3px 5px 0px rgba(0,0,0,0.4)) drop-shadow(0 2px 0 rgba(0,0,0,0.3));}
.building:hover{transform:scale(1.15) translateY(-8px);filter:drop-shadow(4px 7px 0px rgba(0,0,0,0.45)) drop-shadow(0 0 15px rgba(255,255,200,0.4));}
.building.locked{opacity:0.35;cursor:not-allowed;filter:drop-shadow(2px 4px 0 rgba(0,0,0,0.3)) grayscale(0.7) brightness(0.6);}
.building.locked::after{content:'🔒';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;z-index:10;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.7));}
.building.owned{filter:drop-shadow(0 0 20px rgba(255,215,0,0.8)) drop-shadow(3px 5px 0 rgba(0,0,0,0.3));animation:animeGlow 2s ease-in-out infinite;}
.building.owned::after{content:'⭐';position:absolute;top:-16px;right:-16px;font-size:26px;z-index:10;animation:animeStar 1.5s ease infinite;filter:drop-shadow(0 0 10px rgba(255,215,0,0.8));}
@keyframes animeGlow{0%,100%{filter:drop-shadow(0 0 16px rgba(255,215,0,0.6)) drop-shadow(3px 5px 0 rgba(0,0,0,0.3));}50%{filter:drop-shadow(0 0 28px rgba(255,215,0,0.9)) drop-shadow(3px 5px 0 rgba(0,0,0,0.3));}}
@keyframes animeStar{0%,100%{transform:scale(1) rotate(0deg);}25%{transform:scale(1.2) rotate(10deg);}50%{transform:scale(1) rotate(0deg);}75%{transform:scale(1.2) rotate(-10deg);}}

/* Section dividers - Anime Style */
.section-divider{position:absolute;left:40px;right:40px;height:3px;background:linear-gradient(90deg,transparent,#ff6b9d,#c44dff,#4dc9f6,transparent);z-index:6;border-radius:2px;}
.section-label{position:absolute;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#fff,#fef3ff);padding:8px 28px;border-radius:25px;border:3px solid #c44dff;font-size:14px;font-weight:900;color:#7b2dba;z-index:7;white-space:nowrap;letter-spacing:2px;box-shadow:0 3px 0 #9933cc,0 5px 15px rgba(196,77,255,0.2);}

/* Small house variant - Anime Style (참고: 주택.svg - 모던 하우스, 흰벽+회색지붕+벽돌) */
.bld-house-sm{width:80px;height:78px;}
.bld-house-sm .wall{position:absolute;bottom:0;width:80px;height:48px;border-radius:3px 3px 0 0;border:2.5px solid #333;border-bottom:none;background:#f0f0f2;}
.bld-house-sm .wall::before{content:'';position:absolute;bottom:0;left:0;width:18px;height:28px;background:#a06050;border-radius:0 2px 0 0;border-right:1.5px solid #8a5040;}
.bld-house-sm .wall::after{content:'';position:absolute;bottom:0;right:0;width:18px;height:28px;background:#a06050;border-radius:2px 0 0 0;border-left:1.5px solid #8a5040;}
.bld-house-sm .roof{position:absolute;top:0;left:-5px;width:90px;height:34px;clip-path:polygon(0% 100%,50% 0%,100% 100%);border:none;outline:2.5px solid #333;background:#4a4a55;}
.bld-house-sm .roof::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#333;}
.bld-house-sm .roof::after{content:'';position:absolute;top:6px;left:18px;width:18px;height:10px;background:rgba(255,255,255,0.12);clip-path:polygon(0% 100%,50% 0%,100% 100%);border-radius:1px;}
.bld-house-sm .door{position:absolute;bottom:0;left:30px;width:20px;height:26px;background:#3a3a45;border-radius:3px 3px 0 0;border:2px solid #333;}
.bld-house-sm .door::before{content:'';position:absolute;top:3px;left:3px;width:13px;height:12px;background:#5a7a9a;border-radius:1px;opacity:0.6;}
.bld-house-sm .door::after{content:'';position:absolute;top:16px;right:3px;width:4px;height:4px;background:#c8b080;border-radius:50%;border:1px solid #aa9060;}
.bld-house-sm .window{position:absolute;width:16px;height:14px;bottom:22px;background:#5a8aaa;border:2px solid #333;border-radius:1px;}
.bld-house-sm .window::before{content:'';position:absolute;top:1px;left:1px;width:5px;height:4px;background:rgba(255,255,255,0.3);border-radius:1px;}
.bld-house-sm .window::after{content:'';position:absolute;top:0;left:50%;width:1.5px;height:100%;background:#333;}
.bld-house-sm .window.l{left:5px;}
.bld-house-sm .window.r{right:5px;}
.bld-house-sm .chimney{position:absolute;top:-8px;right:14px;width:11px;height:18px;background:#7a5040;border-radius:2px 2px 0 0;border:2px solid #333;}
.bld-house-sm .chimney::before{content:'';position:absolute;top:-8px;left:1px;width:6px;height:8px;background:rgba(200,200,200,0.5);border-radius:50%;filter:blur(2px);animation:chimneySmoke 3s ease infinite;}
.bld-house-sm .chimney::after{content:'';position:absolute;top:-2px;left:-2px;width:13px;height:4px;background:#6b4535;border-radius:1px;border:1px solid #333;}
@keyframes chimneySmoke{0%{opacity:0.4;transform:translateY(0) scale(1);}50%{opacity:0.2;transform:translateY(-8px) scale(1.4);}100%{opacity:0;transform:translateY(-16px) scale(1.8);}}

/* Anime house color variants - 흰벽 계열 + 회색 지붕 (주택.svg 참고) */
.house-orange .wall{background:#f5f0e8;}.house-orange .wall::before,.house-orange .wall::after{background:#b07050;}
.house-orange .roof{background:#4a4a55;}
.house-teal .wall{background:#e8f5f5;}.house-teal .wall::before,.house-teal .wall::after{background:#8a7060;}
.house-teal .roof{background:#505565;}
.house-lavender .wall{background:#f0eef8;}.house-lavender .wall::before,.house-lavender .wall::after{background:#907060;}
.house-lavender .roof{background:#4a4a55;}
.house-red .wall{background:#f8f0f0;}.house-red .wall::before,.house-red .wall::after{background:#a06050;}
.house-red .roof{background:#555560;}
.house-mint .wall{background:#eef8f2;}.house-mint .wall::before,.house-mint .wall::after{background:#8a7058;}
.house-mint .roof{background:#4a4a55;}
.house-peach .wall{background:#f8f2e8;}.house-peach .wall::before,.house-peach .wall::after{background:#a07050;}
.house-peach .roof{background:#505058;}
.house-sky .wall{background:#eef2f8;}.house-sky .wall::before,.house-sky .wall::after{background:#907060;}
.house-sky .roof{background:#4a4a55;}
.house-cream .wall{background:#f8f5f0;}.house-cream .wall::before,.house-cream .wall::after{background:#a06850;}
.house-cream .roof{background:#555560;}
.house-violet .wall{background:#f2f0f8;}.house-violet .wall::before,.house-violet .wall::after{background:#8a6858;}
.house-violet .roof{background:#4a4a55;}
.house-lime .wall{background:#f2f8ee;}.house-lime .wall::before,.house-lime .wall::after{background:#907050;}
.house-lime .roof{background:#505058;}
.house-coral .wall{background:#f8f0f5;}.house-coral .wall::before,.house-coral .wall::after{background:#a06060;}
.house-coral .roof{background:#4a5058;}
.house-sand .wall{background:#f8f2e8;}.house-sand .wall::before,.house-sand .wall::after{background:#a07050;}
.house-sand .roof{background:#4a4a55;}
.house-aqua .wall{background:#eef8f5;}.house-aqua .wall::before,.house-aqua .wall::after{background:#8a7058;}
.house-aqua .roof{background:#505058;}
.house-rose .wall{background:#f8eef0;}.house-rose .wall::before,.house-rose .wall::after{background:#a06858;}
.house-rose .roof{background:#4a4a55;}

/* Anime-style labels */
.building-label{position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;font-weight:900;color:#202124;background:#ffffff;padding:4px 14px;border-radius:14px;pointer-events:none;border:2px solid #4285F4;letter-spacing:0.5px;box-shadow:0 2px 6px rgba(66,133,244,0.18);}
.building-price{position:absolute;bottom:-50px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:#4285F4;background:#E8F0FE;padding:3px 12px;border-radius:10px;pointer-events:none;font-weight:700;border:1px solid #D2E3FC;box-shadow:0 1px 4px rgba(66,133,244,0.10);}

/* Convenience Store - Anime Style (참고: 편의점.svg - 야간 네온 편의점) */
.bld-conv{width:120px;height:95px;}
.bld-conv .wall{position:absolute;bottom:0;width:120px;height:72px;background:#2a2a35;border-radius:3px 3px 0 0;border:2.5px solid #111;border-bottom:none;}
.bld-conv .wall::before{content:'';position:absolute;top:0;left:0;right:0;height:16px;background:#1a1a2a;border-radius:3px 3px 0 0;}
.bld-conv .wall::after{content:'';position:absolute;bottom:0;left:10px;right:10px;height:46px;background:linear-gradient(180deg,#3d3520,#3d3520);opacity:0.7;border-radius:1px;}
.bld-conv .roof{position:absolute;top:0;left:-4px;width:128px;height:28px;background:#222230;border-radius:3px 3px 0 0;border:2.5px solid #111;border-bottom:none;}
.bld-conv .roof::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:3px;background:#555568;}
.bld-conv .door{position:absolute;bottom:0;left:42px;width:36px;height:46px;background:#3d3520;border-radius:0;border:2.5px solid #1a1a2a;border-bottom:none;}
.bld-conv .door::before{content:'';position:absolute;top:2px;left:2px;width:6px;height:5px;background:rgba(255,255,255,0.15);border-radius:1px;}
.bld-conv .door::after{content:'';position:absolute;top:0;left:50%;width:2.5px;height:100%;background:#1a1a2a;}
.bld-conv .window{position:absolute;bottom:26px;width:28px;height:32px;background:#3d3520;border:2px solid #1a1a2a;border-radius:1px;}
.bld-conv .window::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,0.15) 0%,rgba(255,255,255,0.05) 50%,rgba(255,255,255,0.1) 100%);}
.bld-conv .window::after{content:'';position:absolute;bottom:-3px;left:-2px;right:-2px;height:4px;background:#ffe8a0;opacity:0.15;}
.bld-conv .window.l{left:5px;}
.bld-conv .window.r{right:5px;}
.bld-conv .sign{position:absolute;top:5px;left:50%;transform:translateX(-50%);width:80px;height:16px;background:#0077dd;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#fff;border:1.5px solid #0066cc;box-shadow:0 0 8px rgba(0,119,221,0.5);z-index:1;}
.bld-conv .awning{position:absolute;top:22px;left:-4px;width:128px;height:10px;background:repeating-linear-gradient(90deg,#FF4444 0,#FF4444 12px,#fff 12px,#fff 24px);border-radius:0 0 4px 4px;border:1.5px solid #111;border-top:none;}

/* Office Building - Anime Style */
.bld-office{width:110px;height:150px;}
.bld-office .wall{position:absolute;bottom:0;width:110px;height:138px;background:#6088BB;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.bld-office .wall::before{content:'';position:absolute;top:5px;left:5px;width:20%;height:15%;background:rgba(255,255,255,0.15);border-radius:2px;}
.bld-office .top{position:absolute;top:0;left:10px;width:90px;height:22px;background:#4A78A8;border-radius:5px 5px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.bld-office .win-row{position:absolute;left:8px;right:8px;display:flex;justify-content:space-between;}
.bld-office .win{width:20px;height:15px;background:#FFE577;border:2px solid #3a3a5c;border-radius:1px;}
.bld-office .win::before{content:'';display:block;width:5px;height:4px;background:rgba(255,255,255,0.4);margin:2px;border-radius:1px;}
.bld-office .door{position:absolute;bottom:0;left:32px;width:46px;height:38px;background:#88CCFF;border-radius:5px 5px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.bld-office .door::before{content:'';position:absolute;top:4px;left:4px;width:10px;height:8px;background:rgba(255,255,255,0.35);border-radius:2px;}
.bld-office .door::after{content:'';position:absolute;top:0;left:50%;width:2.5px;height:100%;background:#3a3a5c;}
.bld-office .pillar{position:absolute;bottom:0;width:7px;height:44px;background:#5580AA;border-radius:2px 2px 0 0;border:2px solid #3a3a5c;border-bottom:none;}
.bld-office .pillar.l{left:20px;}
.bld-office .pillar.r{right:20px;}

/* Self-Employment Building - Anime Style */
.bld-selfbiz{width:110px;height:110px;}
.bld-selfbiz .wall{position:absolute;bottom:0;width:110px;height:85px;background:#E8A838;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.bld-selfbiz .wall::before{content:'';position:absolute;top:4px;left:4px;width:20%;height:20%;background:rgba(255,255,255,0.2);border-radius:2px;}
.bld-selfbiz .roof{position:absolute;top:0;left:-6px;width:122px;height:30px;background:#7a5030;clip-path:polygon(5% 100%,50% 0%,95% 100%);outline:2.5px solid #3a3a5c;}
.bld-selfbiz .roof::after{content:'';position:absolute;top:4px;left:25px;width:25px;height:12px;background:rgba(255,255,255,0.15);clip-path:polygon(0% 100%,50% 0%,100% 100%);}
.bld-selfbiz .sign{position:absolute;top:30px;left:15px;width:80px;height:20px;background:#fff;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#8B4513;border:2px solid #3a3a5c;}
.bld-selfbiz .awning{position:absolute;top:22px;left:-4px;width:118px;height:14px;background:repeating-linear-gradient(90deg,#FFB833 0,#FFB833 12px,#fff 12px,#fff 24px);border-radius:0 0 6px 6px;border:2px solid #3a3a5c;border-top:none;}
.bld-selfbiz .door{position:absolute;bottom:0;left:35px;width:40px;height:38px;background:#8B6250;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.bld-selfbiz .door::before{content:'';position:absolute;top:14px;right:6px;width:5px;height:5px;background:#FFD700;border-radius:50%;border:1px solid #3a3a5c;}
.bld-selfbiz .window{position:absolute;bottom:35px;width:22px;height:22px;background:#A8E6FF;border:2.5px solid #3a3a5c;border-radius:2px;}
.bld-selfbiz .window::before{content:'';display:block;width:6px;height:5px;background:rgba(255,255,255,0.4);margin:2px;border-radius:1px;}
.bld-selfbiz .window.l{left:6px;}
.bld-selfbiz .window.r{right:6px;}

/* Houses - Anime Style (참고: 주택.svg - 흰벽+회색지붕+벽돌+정원) */
.bld-house{width:100px;height:95px;}
.bld-house .wall{position:absolute;bottom:0;width:100px;height:58px;background:#f0f0f2;border-radius:3px 3px 0 0;border:2.5px solid #333;border-bottom:none;}
.bld-house .wall::before{content:'';position:absolute;bottom:0;left:0;width:22px;height:32px;background:#a06050;border-radius:0 2px 0 0;border-right:1.5px solid #8a5040;}
.bld-house .wall::after{content:'';position:absolute;bottom:0;right:0;width:22px;height:32px;background:#a06050;border-radius:2px 0 0 0;border-left:1.5px solid #8a5040;}
.bld-house .roof{position:absolute;top:0;left:-6px;width:112px;height:42px;clip-path:polygon(0% 100%,50% 0%,100% 100%);background:#4a4a55;}
.bld-house .roof::after{content:'';position:absolute;top:6px;left:22px;width:22px;height:14px;background:rgba(255,255,255,0.1);clip-path:polygon(0% 100%,50% 0%,100% 100%);}
.bld-house .door{position:absolute;bottom:0;left:38px;width:24px;height:32px;background:#3a3a45;border-radius:2px 2px 0 0;border:2.5px solid #333;border-bottom:none;}
.bld-house .door::before{content:'';position:absolute;top:3px;left:3px;width:16px;height:14px;background:#5a7a9a;border-radius:1px;opacity:0.6;}
.bld-house .door::after{content:'';position:absolute;top:20px;right:4px;width:5px;height:5px;background:#c8b080;border-radius:50%;border:1px solid #aa9060;}
.bld-house .window{position:absolute;width:20px;height:18px;bottom:24px;background:#5a8aaa;border:2.5px solid #333;border-radius:1px;}
.bld-house .window::before{content:'';position:absolute;top:1px;left:1px;width:5px;height:5px;background:rgba(255,255,255,0.2);border-radius:1px;}
.bld-house .window::after{content:'';position:absolute;top:0;left:50%;width:1.5px;height:100%;background:#333;}
.bld-house .window.l{left:8px;}
.bld-house .window.r{right:8px;}
.bld-house .chimney{position:absolute;top:-8px;right:18px;width:14px;height:22px;background:#7a5040;border-radius:2px 2px 0 0;border:2px solid #333;}
.bld-house .chimney::after{content:'';position:absolute;top:-2px;left:-2px;width:16px;height:4px;background:#6b4535;border-radius:1px;border:1px solid #333;}
.house-blue .wall{background:#eef2f8;}.house-blue .wall::before,.house-blue .wall::after{background:#907060;}
.house-blue .roof{background:#4a4a55;}
.house-green .wall{background:#eef8f0;}.house-green .wall::before,.house-green .wall::after{background:#8a7050;}
.house-green .roof{background:#505058;}
.house-yellow .wall{background:#f8f5ee;}.house-yellow .wall::before,.house-yellow .wall::after{background:#a07050;}
.house-yellow .roof{background:#4a4a55;}
.house-pink .wall{background:#f8eef2;}.house-pink .wall::before,.house-pink .wall::after{background:#a06060;}
.house-pink .roof{background:#4a4a55;}

/* Tall Building / Skyscraper - Anime Style (참고: 상가.svg - 한국 상가빌딩, 네온간판) */
.bld-tower{width:420px;background:transparent !important;border:none;box-shadow:none;overflow:visible;}
.bld-tower img{width:100%;height:auto;display:block;background:transparent;}

/* Luxury Building - Anime Style (참고: 럭셔리.svg - 모던 고급 유리건물) */
.bld-luxury{width:600px;height:auto;}
.bld-luxury .base{position:absolute;bottom:0;width:130px;height:198px;background:linear-gradient(180deg,#c8c8d0 0%,#a8a8b8 100%);border-radius:2px 2px 0 0;overflow:hidden;border:2.5px solid #888898;border-bottom:none;}
.bld-luxury .glass-panel{position:absolute;width:120px;left:5px;top:6px;height:calc(100% - 50px);background:repeating-linear-gradient(180deg,#4a6a8a 0px,#5a7a9a 20px,transparent 22px,transparent 24px);}
.bld-luxury .glass-panel::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(90deg,transparent 0px,transparent 22px,#9a9aa8 22px,#9a9aa8 23px);}
.bld-luxury .glass-panel::after{content:'';position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0.15),transparent);pointer-events:none;}
.bld-luxury .top-part{position:absolute;top:0;left:0;width:130px;height:10px;background:#8a8a9a;border-radius:2px 2px 0 0;border:2px solid #888898;border-bottom:none;}
.bld-luxury .crown{position:absolute;top:-10px;left:30px;width:70px;height:12px;background:#7a8898;border-radius:3px 3px 0 0;border:2px solid #556070;border-bottom:none;}
.bld-luxury .win{position:absolute;width:22px;height:18px;background:linear-gradient(180deg,#4a6a8a,#5a7a9a);border:1.5px solid #888898;border-radius:2px;}
.bld-luxury .win::before{content:'';display:block;width:8px;height:5px;background:rgba(255,221,136,0.2);margin:2px;border-radius:1px;}
.bld-luxury .door{position:absolute;bottom:0;left:15px;width:100px;height:44px;background:#3a3a4a;border-radius:2px 2px 0 0;border:2.5px solid #888898;border-bottom:none;}
.bld-luxury .door::before{content:'';position:absolute;top:4px;left:10px;right:10px;height:32px;background:#4a5a6a;border-radius:2px;}
.bld-luxury .door::after{content:'';position:absolute;top:4px;left:50%;width:2px;height:32px;background:#888;}
.bld-luxury .door-handle{position:absolute;bottom:38px;left:12px;right:12px;height:5px;background:#5a8a5a;border-radius:3px;opacity:0.5;}
.bld-luxury .lux-brand{position:absolute;left:50%;transform:translateX(-50%);padding:2px 8px;background:rgba(0,0,0,0.7);border-radius:2px;font-size:7px;font-weight:900;color:#ffcc88;letter-spacing:2px;font-family:Georgia,serif;white-space:nowrap;}

/* Global Companies - Anime Style (참고: 글로벌기업.svg - 초고층 유리 타워) */
.bld-company{width:165px;height:290px;cursor:pointer;transition:transform 0.2s;}
.bld-company:hover{transform:scale(1.08) translateY(-5px);}
.company-top{position:absolute;top:0;left:35px;width:95px;height:20px;border-radius:3px 3px 0 0;border:2px solid #4a7ab0;border-bottom:none;background:linear-gradient(180deg,#7ec8e3,#5ba3c9);}
.company-top::before{content:'';position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:3px;height:14px;background:#8aa0b8;}
.company-top::after{content:'';position:absolute;top:-15px;left:50%;transform:translateX(-50%);width:5px;height:5px;background:#ff4444;border-radius:50%;opacity:0.8;}
.company-base{position:absolute;bottom:0;width:165px;height:266px;border-radius:2px 2px 0 0;border:2.5px solid #4a7ab0 !important;border-bottom:none;overflow:hidden;}
.company-base::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(180deg,transparent 0px,transparent 18px,rgba(58,122,176,0.3) 18px,rgba(58,122,176,0.3) 19px);pointer-events:none;}
.company-base::after{content:'';position:absolute;top:0;left:0;width:35%;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0.2),transparent);border-radius:2px;pointer-events:none;}
.company-logo-wrap{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:80px;height:80px;background:rgba(255,255,255,0.95);border-radius:16px;display:flex;align-items:center;justify-content:center;border:2.5px solid #4a7ab0;box-shadow:0 2px 8px rgba(0,0,0,0.15);}
.company-logo{width:60px;height:60px;object-fit:contain;}
.company-logo-fallback{font-size:36px;}
.company-name-plate{position:absolute;top:110px;left:50%;transform:translateX(-50%);padding:4px 14px;border:2px solid;border-radius:4px;font-size:12px;font-weight:900;letter-spacing:1px;background:rgba(0,0,0,0.6);white-space:nowrap;}
.company-windows{position:absolute;top:145px;left:12px;right:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;}
.cwin{height:16px;opacity:0.5;border-radius:1px;border:1px solid rgba(74,122,176,0.3);background:linear-gradient(180deg,rgba(126,200,227,0.4),rgba(90,163,201,0.3));}
.company-door{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:55px;height:30px;border-radius:2px 2px 0 0;border:2px solid #4a7ab0;border-bottom:none;background:#8a8a7a;}

/* Park - Anime Style */
.park{position:absolute;z-index:3;}
.tree{position:absolute;z-index:4;}
.tree .trunk{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:10px;height:20px;background:#7A4520;border-radius:2px;border:2px solid #3a3a5c;}
.tree .leaves{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);width:36px;height:36px;background:#33CC66;border-radius:50%;border:2.5px solid #3a3a5c;}
.tree .leaves::after{content:'';position:absolute;top:5px;left:6px;width:10px;height:7px;background:rgba(255,255,255,0.2);border-radius:50%;transform:rotate(-15deg);}
.tree.small .trunk{width:6px;height:12px;}
.tree.small .leaves{bottom:8px;width:22px;height:22px;}

/* Bench - Anime Style */
.bench{position:absolute;width:32px;height:16px;z-index:4;}
.bench .seat{position:absolute;bottom:6px;width:32px;height:5px;background:#8B5520;border-radius:2px;border:1.5px solid #3a3a5c;}
.bench .leg{position:absolute;bottom:0;width:4px;height:8px;background:#6D3A1A;border-radius:1px;border:1px solid #3a3a5c;}
.bench .leg.l{left:3px;}
.bench .leg.r{right:3px;}
.bench .back{position:absolute;bottom:10px;width:32px;height:4px;background:#A06020;border-radius:2px;border:1.5px solid #3a3a5c;}

/* Fountain - Anime Style */
.fountain{position:absolute;z-index:4;}
.fountain .basin{width:50px;height:20px;background:#66BBEE;border:3px solid #3a3a5c;border-radius:50%;position:absolute;bottom:0;}
.fountain .pillar{position:absolute;bottom:14px;left:21px;width:8px;height:20px;background:#D0D0D8;border-radius:2px;border:2px solid #3a3a5c;}
.fountain .water-top{position:absolute;bottom:32px;left:15px;width:20px;height:10px;background:#88DDFF;border-radius:50%;animation:fountain 1.5s infinite;border:1.5px solid rgba(58,58,92,0.4);}

/* ===== MODAL ===== */
.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:100;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.modal-overlay.active{display:flex;}
.modal{background:#ffffff;border:none;border-radius:28px;padding:30px;width:420px;max-width:90vw;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 8px 32px rgba(0,0,0,0.18),0 2px 8px rgba(0,0,0,0.08);}
.modal h2{font-size:22px;margin-bottom:6px;color:#202124;}
.modal .modal-subtitle{font-size:13px;color:#5f6368;margin-bottom:20px;}
.modal-close{position:absolute;top:12px;right:16px;font-size:24px;cursor:pointer;color:#5f6368;background:none;border:none;transition:color 0.2s;}
.modal-close:hover{color:#202124;}
.modal-info{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.modal-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8f9fa;border-radius:8px;}
.modal-info-row .label{color:#5f6368;font-size:13px;}
.modal-info-row .value{font-weight:700;color:#202124;font-size:15px;}
.modal-btn{width:100%;padding:14px;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all 0.2s;font-family:inherit;margin-top:8px;}
.modal-btn.primary{background:#4285F4;color:#fff;}
.modal-btn.primary:hover{background:#3367D6;transform:translateY(-1px);}
.modal-btn.primary:disabled{background:#dadce0;color:#80868b;cursor:not-allowed;transform:none;}
.modal-btn.secondary{background:#f8f9fa;color:#5f6368;border:1px solid #dadce0;}
.modal-btn.secondary:hover{background:#e8eaed;}
.modal-btn.quit{background:#f8f9fa;color:#EA4335;border:1px solid #dadce0;margin-top:4px;}
.modal-btn.quit:hover{background:rgba(234,67,53,0.06);}

/* ===== NOTIFICATIONS ===== */
.notif-container{position:fixed;top:70px;right:310px;z-index:90;display:flex;flex-direction:column;gap:8px;pointer-events:none;}
.notif{background:#ffffff;border-left:4px solid #FBBC05;padding:12px 18px;border-radius:8px;min-width:250px;animation:notifIn 0.3s ease,notifOut 0.3s ease 2.7s forwards;pointer-events:auto;box-shadow:0 2px 8px rgba(0,0,0,0.12);color:#202124;}
.notif.income{border-left-color:#34A853;}
.notif.expense{border-left-color:#EA4335;}
.notif.info{border-left-color:#4285F4;}
.notif.levelup{border-left-color:#FBBC05;background:rgba(251,188,5,0.06);}
.notif-title{font-size:13px;font-weight:700;margin-bottom:2px;color:#202124;}
.notif-text{font-size:12px;color:#5f6368;}

/* ===== BOTTOM BAR ===== */
.bottom-bar{height:50px;background:#ffffff;display:flex;align-items:center;justify-content:center;gap:20px;padding:0 20px;flex-shrink:0;border-top:1px solid #e0e0e0;box-shadow:0 -1px 4px rgba(0,0,0,0.04);}
.bottom-btn{padding:8px 20px;background:#ffffff;border:1px solid #dadce0;border-radius:8px;color:#4285F4;font-size:13px;cursor:pointer;transition:all 0.2s;font-family:inherit;font-weight:500;}
.bottom-btn:hover{background:#e8f0fe;border-color:#4285F4;}
.speed-indicator{color:#4285F4;font-size:13px;font-weight:700;}

/* ===== ANIMATIONS ===== */
@keyframes cloudMove{from{transform:translateX(-200px);}to{transform:translateX(calc(100vw + 200px));}}
@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.3);}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.3;}}
@keyframes fountain{0%,100%{transform:scaleY(1);}50%{transform:scaleY(1.4);}}
@keyframes notifIn{from{opacity:0;transform:translateX(50px);}to{opacity:1;transform:translateX(0);}}
@keyframes notifOut{from{opacity:1;}to{opacity:0;transform:translateX(50px);}}
@keyframes moneyFloat{from{opacity:1;transform:translateY(0);}to{opacity:0;transform:translateY(-40px);}}
.money-float{position:absolute;font-size:14px;font-weight:900;color:#34A853;pointer-events:none;z-index:50;animation:moneyFloat 1s ease forwards;text-shadow:0 0 6px rgba(52,168,83,0.5);}

/* ===== INTRO SCREEN - Anime Style ===== */
.intro-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#87CEEB 0%,#b4e4ff 50%,#FFE0F0 100%);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;}
.intro-screen.hidden{display:none;}
.intro-title{font-size:56px;font-weight:900;color:#FF6699;text-shadow:3px 3px 0 #CC3366,-1px -1px 0 #fff;letter-spacing:3px;}
.intro-subtitle{font-size:18px;color:#7755AA;margin-top:-20px;font-weight:700;text-shadow:1px 1px 0 rgba(255,255,255,0.5);}
.intro-input-group{display:flex;flex-direction:column;align-items:center;gap:12px;}
.intro-input-group label{font-size:14px;color:#7755AA;font-weight:700;}
.intro-input{width:240px;padding:12px 20px;border:3px solid #CC66AA;background:#fff;border-radius:14px;color:#3a3a5c;font-size:16px;text-align:center;font-family:inherit;outline:none;transition:border-color 0.2s;}
.intro-input:focus{border-color:#FF6699;box-shadow:0 0 12px rgba(255,102,153,0.3);}
.intro-start{padding:16px 60px;background:linear-gradient(135deg,#FF6699,#FF88BB);border:3px solid #CC3366;border-radius:16px;color:#fff;font-size:20px;font-weight:900;cursor:pointer;transition:all 0.2s;font-family:inherit;text-shadow:1px 1px 0 rgba(0,0,0,0.2);box-shadow:0 4px 0 #CC3366;}
.intro-start:hover{transform:translateY(-3px);box-shadow:0 7px 0 #CC3366,0 8px 20px rgba(255,102,153,0.3);}

/* ===== STOCK BUILDING - Anime Style ===== */
.bld-stock{width:120px;height:140px;}
.bld-stock .wall{position:absolute;bottom:0;width:120px;height:118px;background:#1A5878;border-radius:4px 4px 0 0;overflow:hidden;border:2.5px solid #3a3a5c;border-bottom:none;}
.bld-stock .wall::before{content:'';position:absolute;top:5px;left:5px;width:15%;height:10%;background:rgba(100,200,255,0.1);border-radius:2px;}
.bld-stock .roof{position:absolute;top:0;left:-6px;width:132px;height:30px;background:#FFB040;border-radius:5px 5px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;box-shadow:0 0 8px rgba(255,180,64,0.3);}
.bld-stock .ticker{position:absolute;top:30px;left:4px;right:4px;height:18px;background:#0a0a14;border-radius:2px;overflow:hidden;border:1.5px solid #3a3a5c;}
.bld-stock .ticker-text{position:absolute;white-space:nowrap;font-size:10px;color:#44EE88;font-weight:900;animation:tickerScroll 8s linear infinite;text-shadow:0 0 8px rgba(68,238,136,0.6);}
@keyframes tickerScroll{from{transform:translateX(110px);}to{transform:translateX(-200px);}}
.bld-stock .chart{position:absolute;top:50px;left:8px;right:8px;bottom:30px;border-left:2px solid rgba(255,255,255,0.3);border-bottom:2px solid rgba(255,255,255,0.3);background:rgba(0,0,0,0.15);}
.bld-stock .chart-line{position:absolute;bottom:0;left:0;right:0;height:100%;background:linear-gradient(90deg,rgba(68,238,136,0.4),rgba(255,200,50,0.3),rgba(255,80,80,0.4));clip-path:polygon(0% 60%,15% 40%,30% 70%,45% 20%,60% 50%,75% 10%,90% 45%,100% 30%,100% 100%,0% 100%);}
.bld-stock .door{position:absolute;bottom:0;left:35px;width:40px;height:28px;background:#FFB840;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.bld-stock .sign{position:absolute;top:2px;left:10px;width:102px;height:22px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#fff;text-shadow:0 0 8px rgba(255,220,50,0.9);}

/* ===== STOCK INVESTMENT ===== */
.stock-result-item{padding:10px 14px;border-radius:8px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;}
.stock-result-item.profit{background:rgba(52,168,83,0.08);border:1px solid rgba(52,168,83,0.25);}
.stock-result-item.loss{background:rgba(234,67,53,0.08);border:1px solid rgba(234,67,53,0.25);}
.stock-result-item .stock-label{font-size:13px;color:#5f6368;}
.stock-result-item .stock-value{font-size:15px;font-weight:700;}
.stock-result-item .stock-value.positive{color:#34A853;}
.stock-result-item .stock-value.negative{color:#EA4335;}
.stock-input-wrap{display:flex;align-items:center;gap:8px;margin:12px 0;}
.stock-input-wrap input{flex:1;padding:10px 14px;border:2px solid #dadce0;background:#ffffff;border-radius:10px;color:#202124;font-size:16px;font-family:inherit;outline:none;text-align:right;}
.stock-input-wrap input:focus{border-color:#4285F4;}
.stock-quick-btns{display:flex;gap:6px;margin-bottom:12px;}
.stock-quick-btns button{flex:1;padding:8px;background:#f8f9fa;border:1px solid #dadce0;border-radius:8px;color:#5f6368;font-size:12px;cursor:pointer;font-family:inherit;transition:all 0.2s;}
.stock-quick-btns button:hover{background:#e8f0fe;border-color:#4285F4;color:#4285F4;}
.stock-pending{background:rgba(251,188,5,0.06);border:1px solid rgba(251,188,5,0.25);border-radius:10px;padding:12px;margin-top:10px;text-align:center;}
.stock-pending .amount{color:#FBBC05;font-size:18px;font-weight:700;}
.stock-odds-table{width:100%;border-collapse:collapse;margin:10px 0;}
.stock-odds-table td{padding:6px 10px;font-size:12px;border-bottom:1px solid #e0e0e0;color:#202124;}
.stock-odds-table td:first-child{color:#5f6368;}
.stock-odds-table td:last-child{text-align:right;font-weight:700;}
.stock-jackpot{animation:stockJackpot 0.5s ease infinite alternate;}
@keyframes stockJackpot{from{text-shadow:0 0 10px #FBBC05;}to{text-shadow:0 0 30px #FBBC05,0 0 60px rgba(251,188,5,0.5);}}

/* ===== BANK BUILDING - Anime Style ===== */
.bld-bank{width:120px;height:150px;}
.bld-bank .wall{position:absolute;bottom:0;width:120px;height:108px;background:#2C4560;border-radius:4px 4px 0 0;overflow:hidden;border:2.5px solid #3a3a5c;border-bottom:none;}
.bld-bank .wall::before{content:'';position:absolute;top:5px;left:5px;width:15%;height:8%;background:rgba(100,200,150,0.1);border-radius:2px;}
.bld-bank .roof{position:absolute;top:0;left:-10px;width:140px;height:44px;background:#33DD77;border-radius:6px 6px 0 0;display:flex;align-items:center;justify-content:center;border:2.5px solid #3a3a5c;border-bottom:none;box-shadow:0 0 10px rgba(51,221,119,0.3);}
.bld-bank .pillar{position:absolute;bottom:0;width:11px;height:86px;background:#E8E8F0;border-radius:2px 2px 0 0;border:2px solid #3a3a5c;border-bottom:none;}
.bld-bank .pillar.l{left:14px;}
.bld-bank .pillar.r{right:14px;}
.bld-bank .door{position:absolute;bottom:0;left:38px;width:44px;height:35px;background:#FFD700;border-radius:5px 5px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;box-shadow:0 0 8px rgba(255,215,0,0.3);}
.bld-bank .sign{position:absolute;top:6px;left:0;width:140px;height:30px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#fff;text-shadow:0 0 10px rgba(255,255,255,0.8);}
.bld-bank .dollar{position:absolute;top:48px;left:50%;transform:translateX(-50%);font-size:30px;animation:dollarPulse 2s ease infinite;filter:drop-shadow(0 0 10px rgba(255,215,0,0.5));}
@keyframes dollarPulse{0%,100%{opacity:0.7;transform:translateX(-50%) scale(1);}50%{opacity:1;transform:translateX(-50%) scale(1.2);}}

.loan-info-box{background:rgba(52,168,83,0.06);border:1px solid rgba(52,168,83,0.25);border-radius:10px;padding:12px;margin:10px 0;}
.loan-info-box .label{font-size:12px;color:#5f6368;margin-bottom:4px;}
.loan-info-box .value{font-size:18px;font-weight:700;color:#EA4335;}
.loan-input-wrap{display:flex;align-items:center;gap:8px;margin:12px 0;}
.loan-input-wrap input{flex:1;padding:10px 14px;border:2px solid #34A853;background:#ffffff;border-radius:10px;color:#202124;font-size:16px;font-family:inherit;outline:none;text-align:right;}
.loan-input-wrap input:focus{border-color:#2ecc71;}
.loan-quick-btns{display:flex;gap:6px;margin-bottom:12px;}
.loan-quick-btns button{flex:1;padding:8px;background:#f8f9fa;border:1px solid #dadce0;border-radius:8px;color:#5f6368;font-size:12px;cursor:pointer;font-family:inherit;transition:all 0.2s;}
.loan-quick-btns button:hover{background:rgba(52,168,83,0.08);border-color:#34A853;color:#34A853;}

/* ===== DECORATIVE BUILDINGS - Anime Style ===== */
.deco-building{position:absolute;z-index:4;pointer-events:none;filter:drop-shadow(3px 4px 0px rgba(0,0,0,0.35));}
.deco-label{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:900;color:#fff;background:#3a3a5c;padding:3px 12px;border-radius:12px;border:2px solid #5a5a8c;}

/* Fire Station - Anime Style */
.deco-fire{width:110px;height:85px;}
.deco-fire .wall{position:absolute;bottom:0;width:110px;height:64px;background:#DD4444;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-fire .roof{position:absolute;top:0;left:-4px;width:118px;height:26px;background:#882222;border-radius:5px 5px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-fire .garage{position:absolute;bottom:0;left:22px;width:66px;height:40px;background:#EAEAF0;border-radius:6px 6px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-fire .garage::after{content:'';position:absolute;top:4px;left:4px;right:4px;bottom:4px;background:repeating-linear-gradient(180deg,rgba(0,0,0,0.06) 0px,rgba(0,0,0,0.06) 3px,transparent 3px,transparent 6px);}
.deco-fire .stripe{position:absolute;top:28px;left:0;width:110px;height:7px;background:repeating-linear-gradient(90deg,#FF4444 0,#FF4444 10px,#FFD700 10px,#FFD700 20px);border-top:1.5px solid #3a3a5c;border-bottom:1.5px solid #3a3a5c;}
.deco-fire .light{position:absolute;top:4px;left:50px;width:10px;height:10px;background:#FF6666;border-radius:50%;border:2px solid #3a3a5c;box-shadow:0 0 12px #ff4444;animation:blink 0.8s infinite;}

/* Police Station - Anime Style */
.deco-police{width:100px;height:85px;}
.deco-police .wall{position:absolute;bottom:0;width:100px;height:65px;background:#2C4560;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-police .roof{position:absolute;top:0;left:-4px;width:108px;height:24px;background:#1A6090;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-police .door{position:absolute;bottom:0;left:35px;width:30px;height:36px;background:#66BBEE;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-police .badge{position:absolute;top:28px;left:50%;transform:translateX(-50%);font-size:18px;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.4));}
.deco-police .light{position:absolute;top:2px;left:46px;width:8px;height:8px;background:#55BBEE;border-radius:50%;border:2px solid #3a3a5c;box-shadow:0 0 10px #3498db;animation:blink 1.2s infinite;}
.deco-police .window{position:absolute;width:16px;height:14px;bottom:30px;background:#88CCFF;border:2px solid #3a3a5c;border-radius:2px;}
.deco-police .window.l{left:8px;}
.deco-police .window.r{right:8px;}

/* Hospital - Anime Style */
.deco-hospital{width:120px;height:105px;}
.deco-hospital .wall{position:absolute;bottom:0;width:120px;height:84px;background:#F0F0F8;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-hospital .roof{position:absolute;top:0;left:-4px;width:128px;height:26px;background:#EE4444;border-radius:5px 5px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-hospital .cross{position:absolute;top:30px;left:50%;transform:translateX(-50%);width:20px;height:20px;}
.deco-hospital .cross::before{content:'';position:absolute;top:6px;left:0;width:20px;height:8px;background:#FF5555;border-radius:2px;border:1.5px solid #3a3a5c;}
.deco-hospital .cross::after{content:'';position:absolute;top:0;left:6px;width:8px;height:20px;background:#FF5555;border-radius:2px;border:1.5px solid #3a3a5c;}
.deco-hospital .door{position:absolute;bottom:0;left:38px;width:34px;height:36px;background:#88CCFF;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-hospital .window{position:absolute;width:16px;height:14px;bottom:42px;background:#A8E6FF;border:2px solid #3a3a5c;border-radius:2px;}
.deco-hospital .window.l{left:8px;}
.deco-hospital .window.r{right:8px;}

/* School - Anime Style */
.deco-school{width:120px;height:90px;}
.deco-school .wall{position:absolute;bottom:0;width:120px;height:70px;background:#FFB040;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-school .roof{position:absolute;top:0;left:-4px;width:128px;height:24px;background:#CC5500;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-school .clock{position:absolute;top:4px;left:50%;transform:translateX(-50%);width:14px;height:14px;background:#fff;border-radius:50%;border:2px solid #3a3a5c;}
.deco-school .clock::before{content:'';position:absolute;top:4px;left:5px;width:1.5px;height:4px;background:#3a3a5c;}
.deco-school .clock::after{content:'';position:absolute;top:5px;left:5px;width:3px;height:1.5px;background:#3a3a5c;}
.deco-school .door{position:absolute;bottom:0;left:44px;width:32px;height:36px;background:#8B6250;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-school .window{position:absolute;width:18px;height:14px;bottom:34px;background:#A8E6FF;border:2px solid #3a3a5c;border-radius:2px;}
.deco-school .window.l1{left:6px;}
.deco-school .window.l2{left:28px;}
.deco-school .window.r1{right:6px;}
.deco-school .window.r2{right:28px;}
.deco-school .flag{position:absolute;top:-16px;right:10px;width:3px;height:20px;background:#555;border:0.5px solid #3a3a5c;}
.deco-school .flag::after{content:'';position:absolute;top:0;left:3px;width:14px;height:9px;background:#FF4444;clip-path:polygon(0 0,100% 25%,80% 50%,100% 75%,0 100%);border:1px solid #3a3a5c;}

/* Cafe - Anime Style */
.deco-cafe{width:80px;height:70px;}
.deco-cafe .wall{position:absolute;bottom:0;width:80px;height:50px;background:#7D5C50;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-cafe .roof{position:absolute;top:0;left:-6px;width:92px;height:24px;background:#402820;clip-path:polygon(4% 100%,50% 10%,96% 100%);outline:2px solid #3a3a5c;}
.deco-cafe .roof::after{content:'';position:absolute;top:5px;left:20px;width:15px;height:8px;background:rgba(255,255,255,0.12);clip-path:polygon(0% 100%,50% 0%,100% 100%);}
.deco-cafe .door{position:absolute;bottom:0;left:28px;width:24px;height:30px;background:#D4A070;border-radius:3px 3px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-cafe .awning{position:absolute;top:18px;left:-2px;width:84px;height:10px;background:repeating-linear-gradient(90deg,#4e342e 0,#4e342e 8px,#F0E8E0 8px,#F0E8E0 16px);border-radius:0 0 4px 4px;border:2px solid #3a3a5c;border-top:none;}
.deco-cafe .cup{position:absolute;top:26px;left:8px;font-size:12px;}

/* Pharmacy - Anime Style */
.deco-pharmacy{width:80px;height:70px;}
.deco-pharmacy .wall{position:absolute;bottom:0;width:80px;height:50px;background:#33CC66;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-pharmacy .roof{position:absolute;top:0;left:-4px;width:88px;height:22px;background:#1A7740;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-pharmacy .cross-sign{position:absolute;top:24px;left:50%;transform:translateX(-50%);width:16px;height:16px;}
.deco-pharmacy .cross-sign::before{content:'';position:absolute;top:5px;left:0;width:16px;height:6px;background:#44EE88;border-radius:2px;border:1.5px solid #3a3a5c;box-shadow:0 0 6px rgba(68,238,136,0.4);}
.deco-pharmacy .cross-sign::after{content:'';position:absolute;top:0;left:5px;width:6px;height:16px;background:#44EE88;border-radius:2px;border:1.5px solid #3a3a5c;box-shadow:0 0 6px rgba(68,238,136,0.4);}
.deco-pharmacy .door{position:absolute;bottom:0;left:26px;width:28px;height:28px;background:#88CCFF;border-radius:3px 3px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}

/* Post Office - Anime Style */
.deco-post{width:90px;height:75px;}
.deco-post .wall{position:absolute;bottom:0;width:90px;height:55px;background:#EE8822;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-post .roof{position:absolute;top:0;left:-4px;width:98px;height:24px;background:#BB5500;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-post .door{position:absolute;bottom:0;left:30px;width:30px;height:32px;background:#FFE577;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-post .mailbox{position:absolute;bottom:4px;right:8px;width:12px;height:18px;background:#DD3333;border-radius:2px 2px 0 0;border:2px solid #3a3a5c;border-bottom:none;}
.deco-post .mailbox::after{content:'';position:absolute;top:-3px;left:-2px;width:14px;height:5px;background:#FF4444;border-radius:3px 3px 0 0;border:1.5px solid #3a3a5c;}
.deco-post .sign{position:absolute;top:26px;left:12px;width:66px;height:14px;background:#fff;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:900;color:#BB5500;border:2px solid #3a3a5c;}

/* Library - Anime Style */
.deco-library{width:110px;height:85px;}
.deco-library .wall{position:absolute;bottom:0;width:110px;height:65px;background:#907060;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-library .roof{position:absolute;top:0;left:-4px;width:118px;height:24px;background:#503830;clip-path:polygon(5% 100%,50% 0%,95% 100%);outline:2px solid #3a3a5c;}
.deco-library .roof::after{content:'';position:absolute;top:4px;left:24px;width:20px;height:10px;background:rgba(255,255,255,0.1);clip-path:polygon(0% 100%,50% 0%,100% 100%);}
.deco-library .door{position:absolute;bottom:0;left:40px;width:30px;height:34px;background:#D8CCC0;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-library .pillar{position:absolute;bottom:0;width:6px;height:50px;background:#D8CCC0;border-radius:2px 2px 0 0;border:2px solid #3a3a5c;border-bottom:none;}
.deco-library .pillar.l{left:12px;}
.deco-library .pillar.r{right:12px;}
.deco-library .window{position:absolute;width:18px;height:22px;bottom:20px;background:#FFE577;border:2px solid #3a3a5c;border-radius:2px 2px 6px 6px;}
.deco-library .window.l{left:16px;}
.deco-library .window.r{right:16px;}

/* Church - Anime Style */
.deco-church{width:80px;height:95px;}
.deco-church .wall{position:absolute;bottom:0;width:80px;height:55px;background:#E8E8F0;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-church .roof{position:absolute;top:20px;left:-6px;width:92px;height:30px;clip-path:polygon(0% 100%,50% 0%,100% 100%);background:#707880;outline:2px solid #3a3a5c;}
.deco-church .roof::after{content:'';position:absolute;top:4px;left:18px;width:18px;height:12px;background:rgba(255,255,255,0.1);clip-path:polygon(0% 100%,50% 0%,100% 100%);}
.deco-church .steeple{position:absolute;top:0;left:34px;width:12px;height:24px;background:#606870;clip-path:polygon(0% 100%,50% 0%,100% 100%);outline:1.5px solid #3a3a5c;}
.deco-church .cross-top{position:absolute;top:-6px;left:37px;width:6px;height:10px;}
.deco-church .cross-top::before{content:'';position:absolute;top:3px;left:-2px;width:10px;height:3px;background:#99A0A8;border-radius:1px;border:1px solid #3a3a5c;}
.deco-church .cross-top::after{content:'';position:absolute;top:0;left:1px;width:4px;height:10px;background:#99A0A8;border-radius:1px;border:1px solid #3a3a5c;}
.deco-church .door{position:absolute;bottom:0;left:26px;width:28px;height:32px;background:#8B6250;border-radius:12px 12px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-church .window-round{position:absolute;top:30px;left:50%;transform:translateX(-50%);width:16px;height:16px;background:conic-gradient(#FFB833 0deg,#FF5555 120deg,#4499DD 240deg,#FFB833 360deg);border-radius:50%;border:2.5px solid #3a3a5c;}

/* Gas Station - Anime Style */
.deco-gas{width:90px;height:65px;}
.deco-gas .wall{position:absolute;bottom:0;width:90px;height:45px;background:#2C4560;border-radius:4px 4px 0 0;border:2.5px solid #3a3a5c;border-bottom:none;}
.deco-gas .canopy{position:absolute;top:0;left:-8px;width:106px;height:20px;background:#EE4444;border-radius:4px;border:2.5px solid #3a3a5c;}
.deco-gas .canopy::after{content:'';position:absolute;bottom:-3px;left:4px;right:4px;height:4px;background:repeating-linear-gradient(90deg,#fff 0,#fff 6px,#FF4444 6px,#FF4444 12px);border-bottom:1.5px solid #3a3a5c;}
.deco-gas .pump{position:absolute;bottom:4px;left:20px;width:14px;height:28px;background:#FFB040;border-radius:3px;border:2px solid #3a3a5c;}
.deco-gas .pump2{position:absolute;bottom:4px;right:20px;width:14px;height:28px;background:#44AAEE;border-radius:3px;border:2px solid #3a3a5c;}
.deco-gas .sign-text{position:absolute;top:3px;left:50%;transform:translateX(-50%);font-size:8px;font-weight:900;color:#fff;text-shadow:0 0 4px rgba(255,255,255,0.5);}

/* scrollbar */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#4285F4;border-radius:3px;}
