*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}body,html{color:#3a322d;background:#87dcff;width:100%;height:100%;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,sans-serif;overflow:hidden}#game-canvas{width:100vw;height:100vh;display:block;position:fixed;inset:0}.hidden{display:none!important}.title-overlay{z-index:50;background:linear-gradient(#10243859 0%,#10202ead 100%),url(../textures/keyart.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.title-card{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffcf4ed;border:4px solid #fff;border-radius:32px;width:100%;max-width:780px;padding:30px 34px;box-shadow:0 22px 60px #12263a59}.title-badge{color:#15803d;letter-spacing:.06em;background:#dcfce7;border-radius:999px;margin-bottom:10px;padding:6px 16px;font-size:12px;font-weight:800;display:inline-block}.game-title{color:#ff6489;text-shadow:0 3px #fff,0 6px 16px #ff648947;margin-bottom:6px;font-size:44px;font-weight:900}.game-subtitle{color:#5b6b79;margin-bottom:18px;font-size:15px;font-weight:700}.hero-preview-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:20px;display:flex}.avatar-pill{color:#4a3f38;background:#fff;border:2px solid #f4e6d4;border-radius:999px;align-items:center;gap:8px;padding:5px 14px 5px 6px;font-size:13px;font-weight:800;display:flex;box-shadow:0 4px 10px #0000000d}.avatar-pill img{object-fit:cover;border-radius:50%;width:36px;height:36px}.loading-box{max-width:480px;margin:14px auto}.loading-bar-bg{background:#efe6d8;border:2px solid #fff;border-radius:999px;width:100%;height:16px;overflow:hidden}.loading-bar-fill{background:linear-gradient(90deg,#4ade80,#38bdf8,#ff7aa2);border-radius:999px;width:0%;height:100%;transition:width .2s}.loading-label{color:#6d5f56;margin-top:8px;font-size:13px;font-weight:700}.start-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin:18px 0;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:999px;padding:14px 28px;font-size:16px;font-weight:900;transition:transform .15s,box-shadow .15s}.btn-primary{color:#fff;background:linear-gradient(135deg,#ff6b93,#ff8e6e);box-shadow:0 8px 20px #ff6b9366}.btn-secondary{color:#fff;background:linear-gradient(135deg,#38bdf8,#34d399);box-shadow:0 8px 20px #38bdf859}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px)scale(1.02)}.controls-guide{color:#5c5048;background:#f8f2e7;border-radius:18px;flex-direction:column;gap:5px;padding:12px 16px;font-size:12.5px;display:flex}.game-hud{pointer-events:none;z-index:20;position:fixed;inset:0}.hud-top-left{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:absolute;top:16px;left:18px}.status-pill{background:#fffcf4f0;border:3px solid #fff;border-radius:999px;align-items:center;gap:8px;padding:7px 16px;display:flex;box-shadow:0 6px 18px #0000001f}.pill-tag{color:#7c6d63;font-size:12px;font-weight:800}.stars-text{color:#f59e0b;letter-spacing:1px;font-size:17px}.hud-icon-sm{object-fit:contain;width:28px;height:28px}.bells-amount{color:#d97706;font-size:18px;font-weight:900}.bells-unit{color:#78716c;font-size:12px;font-weight:800}.btn-hud-pill{color:#443a33;cursor:pointer;background:#fffcf4f0;border:3px solid #fff;border-radius:999px;padding:8px 15px;font-size:13px;font-weight:800;box-shadow:0 6px 16px #0000001f}.btn-hud-pill.accent{color:#fff;background:linear-gradient(135deg,#ff7597,#ff9671)}.hud-top-right{flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;top:16px;right:18px}.minimap-frame{background:#fffcf4f0;border:4px solid #fff;border-radius:22px;padding:5px;box-shadow:0 8px 22px #00000026}#island-minimap{border-radius:16px;display:block}.quest-card{background:#fffcf4eb;border:3px solid #fff;border-radius:20px;width:245px;padding:11px 15px;box-shadow:0 8px 20px #0000001f}.quest-header{color:#ea580c;margin-bottom:6px;font-size:13px;font-weight:900}.quest-list{color:#4b4039;font-size:12px;line-height:1.65;list-style:none}.interact-prompt{color:#fff;background:#ff6b93;border:3px solid #fff;border-radius:999px;padding:10px 24px;font-size:15px;font-weight:900;position:absolute;bottom:138px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #ff6b9373}.cozy-toast{color:#3f352e;background:#fffdf6f5;border:3px solid #fde68a;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:800;position:absolute;top:78px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000026}.catch-banner{text-align:center;background:linear-gradient(135deg,#fffbeb,#fff1f2);border:4px solid #fff;border-radius:28px;padding:18px 34px;position:absolute;top:22%;left:50%;transform:translate(-50%);box-shadow:0 18px 45px #00000038}.catch-title{color:#e11d48;margin-bottom:4px;font-size:24px;font-weight:900}.catch-desc{color:#57534e;font-size:14px;font-weight:700}.hud-bottom-bar{pointer-events:auto;align-items:center;gap:14px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.tools-dock{background:#fffcf4f0;border:3px solid #fff;border-radius:24px;gap:8px;padding:7px 10px;display:flex;box-shadow:0 10px 26px #00000029}.tool-slot{cursor:pointer;background:#fff;border:2px solid #f1e6d6;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;width:72px;height:74px;transition:all .14s;display:flex;position:relative}.tool-slot img{object-fit:contain;width:42px;height:42px}.tool-slot .slot-name{color:#574c44;margin-top:2px;font-size:11px;font-weight:800}.tool-slot .slot-key{color:#9ca3af;font-size:10px;font-weight:900;position:absolute;top:4px;left:6px}.tool-slot.active{background:#ffe4ec;border-color:#ff6b93;transform:translateY(-5px);box-shadow:0 8px 16px #ff6b934d}.pouch-dock{background:#fff5f8f2;border:3px solid #fff;border-radius:24px;gap:10px;padding:10px 16px;display:flex;box-shadow:0 10px 26px #00000026}.pouch-item{align-items:center;gap:6px;display:flex}.pouch-item img{object-fit:contain;width:34px;height:34px}.pouch-item small{color:#8c7a70;font-size:10.5px;font-weight:700;display:block}.pouch-item b{color:#be185d;font-size:15px;font-weight:900}.dialogue-modal{z-index:40;width:min(680px,92vw);position:fixed;bottom:116px;left:50%;transform:translate(-50%)}.dialogue-card{background:#fffdf7;border:4px solid #fff;border-radius:28px;outline:3px solid #ffd1dc;align-items:center;gap:18px;padding:18px 22px;display:flex;box-shadow:0 18px 45px #00000040}.dlg-portrait{object-fit:cover;border:3px solid #ffe4ec;border-radius:22px;flex-shrink:0;width:82px;height:82px}.dlg-body{flex:1}.dlg-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.dlg-name{color:#fff;background:#ff6b93;border-radius:999px;padding:3px 12px;font-size:14px;font-weight:900}.dlg-role{color:#8b7d74;font-size:12px;font-weight:700}.dlg-text{color:#3d332c;font-size:15.5px;font-weight:700;line-height:1.55}.btn-dlg-next{color:#fff;cursor:pointer;background:#34d399;border:none;border-radius:999px;padding:11px 18px;font-weight:900}.shop-modal,.showcase-modal{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f1c2a9e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.shop-card{background:#fffcf5;border:4px solid #fff;border-radius:30px;width:100%;max-width:780px;padding:24px 28px;box-shadow:0 24px 60px #00000059}.shop-header{align-items:center;gap:16px;margin-bottom:16px;display:flex}.shop-avatar{object-fit:cover;border-radius:20px;width:68px;height:68px}.shop-header h2{color:#15803d;font-size:21px}.shop-header p{color:#6b5e55;margin-top:3px;font-size:13px}.btn-close-x{cursor:pointer;background:#f1f5f9;border:none;border-radius:999px;margin-left:auto;padding:9px 16px;font-weight:800}.shop-sell-box{background:#fef3c7;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:14px 18px;font-size:14px;font-weight:800;display:flex}.btn-sell-all{color:#fff;cursor:pointer;white-space:nowrap;background:#f59e0b;border:none;border-radius:999px;padding:10px 20px;font-weight:900}.shop-sec-title{color:#4b4039;margin-bottom:10px;font-size:15px}.upgrade-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.upgrade-item{background:#fff;border:2px solid #f0e6d8;border-radius:20px;flex-direction:column;justify-content:space-between;gap:10px;padding:14px;display:flex}.upgrade-item h4{color:#be185d;font-size:14.5px}.upgrade-item p{color:#645850;font-size:12.5px;line-height:1.45}.btn-buy-upg{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:999px;padding:9px 14px;font-weight:900}.btn-buy-upg:disabled{cursor:default;background:#cbd5e1}.showcase-window{color:#f8fafc;background:#131a24;border:2px solid #ffffff29;border-radius:28px;width:100%;max-width:1060px;padding:22px 26px;box-shadow:0 26px 70px #0000008c}.showcase-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.showcase-top h2{color:#fda4af;font-size:20px}.showcase-top p{color:#94a3b8;margin-top:3px;font-size:13px}.showcase-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.sc-tab{color:#cbd5e1;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:999px;padding:8px 15px;font-size:13px;font-weight:800}.sc-tab.active{color:#fff;background:linear-gradient(135deg,#ff6b93,#fb923c);border-color:#0000}.showcase-stage{grid-template-columns:1.15fr 1fr;gap:16px;height:430px;display:grid}.sc-viewport-wrap{background:radial-gradient(circle at 50% 40%,#263549,#0f172a);border:1px solid #334155;border-radius:20px;position:relative;overflow:hidden}#showcase-canvas{width:100%;height:100%;display:block}.sc-caption{color:#fde68a;text-align:center;background:#0f172ac7;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:700;position:absolute;bottom:12px;left:14px;right:14px}.sc-sheet-wrap{background:#0b1017;border:1px solid #334155;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:12px;display:flex}.sc-sheet-label{color:#94a3b8;margin-bottom:8px;font-size:12px;font-weight:800}#sc-sheet-img{object-fit:contain;border-radius:12px;max-width:100%;max-height:375px}
