:root{--ink: #2a1f3d;--parchment: #f4ead4;--gold: #eab308;--gold-glow: rgba(234, 179, 8, .45);--deep: #12102a;--navy: #1e1b4b;--navy-mid: #2a245f;--panel: rgba(30, 27, 75, .88);--panel-grad: linear-gradient(180deg, rgba(42, 36, 95, .94) 0%, rgba(26, 22, 64, .92) 100%);--lavender: #8b5cf6;--lavender-deep: #7c3aed;--lavender-text: #a5b4fc;--cta-grad: linear-gradient(180deg, #a78bfa 0%, #7c3aed 100%);--hud-text: #f8fafc;--xp-track: #3730a3;--xp-fill: linear-gradient(90deg, #6366f1 0%, #818cf8 100%)}*{box-sizing:border-box}html,body{margin:0;height:100%;height:100dvh;overflow:hidden;background:radial-gradient(circle at 20% 10%,#3b2d6b 0%,transparent 40%),radial-gradient(circle at 80% 80%,#16364a 0%,transparent 42%),#120c22;color:var(--parchment);font-family:Trebuchet MS,Segoe UI,sans-serif}.hidden{display:none!important}#start-screen{background:#120c22 url(/loading/name.jpg) center / contain no-repeat}#start-screen:has(#look-step:not(.hidden)){align-items:center;justify-content:safe center}#start-screen,#mirror-overlay{height:100dvh;max-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:clamp(10px,2.4vh,24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}#mirror-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#0c0818b8;align-items:center;justify-content:safe center}.start-card{width:min(520px,100%);background:linear-gradient(180deg,#f7efdc,#ead9b5);color:var(--ink);border:3px solid #7a5a28;border-radius:18px;padding:clamp(16px,3vh,28px) clamp(16px,3vw,32px);box-shadow:0 18px 50px #00000059;flex-shrink:0;margin-block:0}#name-step{width:min(380px,90%);padding:clamp(10px,1.6vh,14px) clamp(12px,2.2vw,18px);border-radius:14px;margin-top:clamp(110px,26vh,220px);background:linear-gradient(180deg,#f7efdcc7,#ead9b5b8);box-shadow:0 12px 32px #0000004d}#look-step,.mirror-card{width:min(1120px,calc(100vw - 28px));max-height:min(100dvh - 24px,920px);display:flex;flex-direction:column;min-height:0;overflow:auto}#look-step{margin-block:auto}#look-step #start-designer,.mirror-card #mirror-designer{flex:1 1 auto;min-height:0}.eyebrow{margin:0;letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:#7a5a28}h1{margin:6px 0 8px;font-size:clamp(26px,5vw,34px);letter-spacing:.03em}.lead{margin:0 0 18px;color:#4c3c58}.field-label{display:block;margin:12px 0 6px;font-weight:700}.designer .field-label{margin:8px 0 4px;font-size:13px}#player-name{width:100%;padding:10px 12px;border:2px solid #7a5a28;border-radius:10px;background:#fffaf0;font:inherit;font-size:16px}.designer{display:grid;grid-template-columns:minmax(240px,1.15fr) minmax(240px,.9fr);gap:16px;align-items:stretch;min-height:0;height:min(58vh,560px);max-height:min(58vh,560px)}.designer-stage-wrap{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column}.designer-options{min-width:0;overflow:auto;max-height:100%;padding-right:4px}.hair-carousel{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 8px}.designer-preview-3d{position:relative;width:100%;flex:1 1 auto;min-height:160px;height:auto;max-width:100%;margin-inline:auto;background:radial-gradient(circle at 50% 38%,#f8f1e2,#e4d0ae 72%);border:3px solid #cbb48a;border-radius:22px;overflow:hidden}.designer-preview-3d canvas{display:block;width:100%;height:100%}.designer-stage{width:100%;flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column}.designer-stage .designer-note{flex:0 0 auto}.designer-view-labels{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:4px;text-align:center;font-size:12px;font-weight:700;color:#6b4423;pointer-events:none}.designer-note{margin:6px 0 8px;text-align:center;font-size:13px;color:#6b5344}.hair-arrow{width:42px;height:42px;border:2px solid #7a5a28;border-radius:999px;background:#fffaf0;font-size:28px;line-height:1;cursor:pointer;color:var(--ink);flex-shrink:0}.style-row{display:flex;flex-wrap:wrap;gap:8px}.cycle-row{display:flex;align-items:center;gap:8px}.cycle-label{flex:1;margin:0;text-align:center;font-weight:700}.cycle-arrow{width:36px;height:36px;border:2px solid #cbb48a;background:#fff8e8;color:var(--ink);border-radius:10px;font:inherit;font-size:22px;line-height:1;cursor:pointer}.style-chip{border:2px solid #cbb48a;background:#fff8e8;color:var(--ink);border-radius:10px;padding:8px 10px;font:inherit;cursor:pointer}.style-chip.selected{border-color:var(--gold);background:#fff1c9}.color-swatch.light{border-color:#cbb48a}.color-row{display:flex;flex-wrap:wrap;gap:8px}.color-swatch{width:34px;height:34px;border-radius:999px;border:3px solid #fff;box-shadow:0 0 0 2px #7a5a28;cursor:pointer;padding:0}.color-swatch.selected{box-shadow:0 0 0 3px var(--gold)}.shop-color-row{margin:4px 0 8px}.color-swatch.owned{outline:2px dashed #7a5a28;outline-offset:1px}#enter-button,#name-next,#mirror-done,.secondary-button{margin-top:18px;width:100%;padding:12px 16px;border:0;border-radius:12px;background:#3b2d6b;color:#f7efdc;font:inherit;font-size:18px;font-weight:700;cursor:pointer}#name-next:disabled,#enter-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{background:#fffaf0;color:var(--ink);border:2px solid #7a5a28}.start-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:8px}.start-actions button{margin-top:12px}#enter-button:disabled,#name-next:disabled{opacity:.45;cursor:not-allowed}#enter-button:not(:disabled):hover,#name-next:not(:disabled):hover,#mirror-done:hover{background:#52408c}.secondary-button:hover{background:#fff1c9}.error{margin:12px 0 0;color:#9b1c1c}#game-wrap{position:relative;width:100vw;height:100vh;background:#120c22}#game-world{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}#game-world canvas{display:block;width:100%;height:100%}.world3d-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.world3d-name,.world3d-place,.world3d-marker{font-family:Trebuchet MS,Segoe UI,sans-serif;white-space:nowrap;pointer-events:none}.world3d-name{color:#f7efdc;font-size:16px;font-weight:700}.world3d-name.local,.world3d-name.bot{color:#60a5fa}.world3d-name.npc{color:#fff;font-size:12px;font-weight:400}.world3d-place{color:#f7efdc;font-size:12px;font-weight:700;text-align:center;line-height:1.2}.world3d-room{color:#fffaf0;font-size:28px;font-weight:700;text-align:center;line-height:1.15;letter-spacing:.01em;text-shadow:0 2px 0 #1a1230,0 0 10px rgba(26,18,48,.55)}.world3d-plaque{color:#2a2118;font-size:15px;font-weight:700;text-align:center;line-height:1.15;max-width:148px}.world3d-marker{color:#1a1230;background:#fbbf24;border:2px solid #1a1230;border-radius:999px;min-width:28px;height:28px;padding:0 6px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;line-height:1;box-shadow:0 2px #1a1230;animation:world3d-bob .7s ease-in-out infinite alternate}.world3d-marker.marker-red{background:#ef4444;color:#fffaf0}@keyframes world3d-bob{0%{margin-top:0}to{margin-top:-8px}}#game-root{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none;z-index:0}#area-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:#121020;opacity:0;pointer-events:none;transition:opacity .35s ease,background-color .45s ease;z-index:30;display:grid;place-items:center;color:#f6e7c1;font-family:Trebuchet MS,sans-serif;font-size:28px;letter-spacing:.08em}#area-fade.show{opacity:1;pointer-events:auto}#area-fade.hold{transition:none;opacity:1}#area-fade.hold.to-white{transition:background-color .45s ease}#area-fade.to-white{background:#fff}#area-fade img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;opacity:1;transition:opacity .45s ease}#area-fade.to-white img{opacity:0}#hud{position:absolute;inset:14px 18px auto;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.55);z-index:5;font-size:16px;color:var(--hud-text)}#hud-side{display:flex;flex-direction:column;align-items:stretch;gap:8px;pointer-events:none}#hud-left,#hud-right{background:var(--panel-grad);border:1.5px solid var(--gold);border-radius:16px;padding:14px 16px;min-width:210px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 0 1px #eab3081f,0 10px 28px #00000059}.hud-level-row,.hud-online-row{display:flex;align-items:center;gap:10px}.hud-shield{width:28px;height:30px;flex:0 0 28px;background:radial-gradient(circle at 50% 42%,#fde68a,#eab308 42%,#a16207 78%),#eab308;clip-path:polygon(50% 0%,92% 14%,92% 58%,50% 100%,8% 58%,8% 14%);box-shadow:0 0 10px var(--gold-glow);position:relative}.hud-shield:after{content:"";position:absolute;left:50%;top:42%;width:10px;height:10px;transform:translate(-50%,-50%) rotate(45deg);background:#fff8dc;box-shadow:0 0 6px #fff8dccc;clip-path:polygon(50% 0%,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0% 50%,38% 38%)}.hud-online-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #22c55e40}#hud-help-toggle{pointer-events:auto;margin-left:auto;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--gold);background:#8b5cf640;color:var(--gold);font:inherit;font-size:14px;font-weight:800;line-height:1;cursor:pointer;padding:0}#hud-help-toggle.active{background:var(--cta-grad);color:#fff;border-color:#c4b5fd}#hud-level,#hud-online{font-weight:800;font-size:20px;letter-spacing:.02em;color:var(--hud-text)}#hud-xp,#hud-coins,#hud-help{font-size:14px;opacity:.94;margin-top:4px;color:var(--lavender-text)}#hud-help{margin-top:10px;line-height:1.4;padding:8px 10px;border-radius:10px;background:#0f0c288c;border:1px solid rgba(234,179,8,.28);pointer-events:none}.hud-buttons{display:flex;gap:10px;margin-top:12px}#friends-toggle,#chat-toggle{pointer-events:auto;display:block;margin-top:0;flex:1;position:relative;border:1px solid rgba(165,180,252,.35);background:linear-gradient(180deg,#4c1d95,#3b2d6b);color:var(--hud-text);border-radius:12px;padding:10px 12px;font:inherit;font-size:15px;font-weight:700;cursor:pointer}#friends-toggle.active,#chat-toggle.active{background:var(--cta-grad);color:#fff;border-color:#c4b5fd}.hud-alert,.tab-alert{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;line-height:16px;font-weight:800}.hud-alert.hidden{display:none}#chat-panel{position:absolute;right:16px;bottom:24px;width:min(360px,calc(100vw - 32px));height:min(420px,58dvh);display:flex;flex-direction:column;background:var(--panel-grad);color:var(--hud-text);border:2px solid var(--gold);border-radius:16px;box-shadow:0 16px 40px #00000073;z-index:19;overflow:hidden;pointer-events:auto}#chat-panel.hidden{display:none}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(234,179,8,.35)}.chat-header h2{margin:0;font-size:16px;color:#fff}#chat-close,#friends-close{border:0;background:transparent;font-size:22px;cursor:pointer;color:var(--lavender-text)}#chat-log{flex:1;overflow:auto;padding:10px 12px;background:#0f0c2873}#chat-log p{margin:0 0 8px;line-height:1.35;word-break:break-word}#chat-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid rgba(234,179,8,.35)}#chat-input{flex:1;border:1.5px solid rgba(165,180,252,.4);border-radius:10px;padding:8px 10px;font:inherit;background:#0f0c288c;color:var(--hud-text)}#chat-form button{border:0;border-radius:999px;background:var(--cta-grad);color:#fff;font:inherit;font-weight:700;padding:8px 14px;cursor:pointer}#chat-form.hidden,#chat-log.hidden,#chat-friends-list.hidden{display:none}#chat-tabs{display:flex;gap:6px;padding:8px 10px 0;overflow-x:auto}.chat-tab{display:flex;align-items:center;border:1px solid rgba(165,180,252,.35);background:#4c1d9573;color:var(--hud-text);border-radius:999px;overflow:hidden;flex:0 0 auto}.chat-tab.active{background:var(--cta-grad);border-color:#c4b5fd}.chat-tab-label,.chat-tab-close{border:0;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.chat-tab-label{position:relative;padding:4px 10px}.chat-tab.active .chat-tab-label,.chat-tab.active .chat-tab-close{color:#f7efdc}.chat-tab-close{padding:4px 8px 4px 0;opacity:.8}.chat-tab .tab-alert{position:relative;top:0;right:0;display:inline-block;margin-left:6px;vertical-align:middle}#friend-request{position:absolute;left:50%;top:18%;transform:translate(-50%);width:min(320px,calc(100vw - 32px));background:var(--panel-grad);color:var(--hud-text);border:2px solid var(--gold);border-radius:16px;box-shadow:0 16px 40px #00000073;padding:16px;z-index:18;pointer-events:auto}#friend-request.hidden{display:none}#friend-request-text{margin:0 0 12px;font-weight:700}.friend-request-actions{display:flex;gap:8px}.friend-request-actions button{flex:1;border:0;border-radius:999px;background:var(--cta-grad);color:#fff;font-weight:700}#chat-friends-list,#friends-online-list{flex:1;overflow:auto;padding:10px 12px;background:#fff8e8;display:flex;flex-direction:column;gap:8px}#chat-friends-list button,#friends-online-list button{border:1px solid #7a5a28;background:#efe3c4;color:var(--ink);border-radius:10px;padding:8px 10px;font:inherit;text-align:left;cursor:pointer}#chat-friends-list button:disabled{opacity:.55;cursor:default}#friends-panel{position:relative;width:100%;max-height:min(360px,50dvh);text-shadow:none;display:flex;flex-direction:column;background:var(--panel-grad);color:var(--hud-text);border:2px solid var(--gold);border-radius:16px;box-shadow:0 16px 40px #00000073;z-index:12;overflow:hidden;pointer-events:auto}#friends-panel.hidden{display:none}#player-menu{position:fixed;z-index:22;min-width:250px;display:flex;flex-direction:column;background:var(--panel-grad);color:var(--hud-text);border:2px solid var(--gold);border-radius:12px;box-shadow:0 12px 28px #00000059;overflow:hidden;pointer-events:auto}#player-menu.hidden{display:none}.player-menu-name{margin:0;padding:10px 12px 6px;font-weight:800;color:#fff}#player-menu button{border:0;border-bottom:1px solid rgba(234,179,8,.28);background:transparent;color:var(--hud-text);padding:10px 12px;font:inherit;text-align:left;cursor:pointer}#player-menu button:last-child{border-bottom:0}#player-menu button:hover:not(:disabled){background:#8b5cf647}#player-menu button:disabled{opacity:.55;cursor:default}#outfit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:start center;align-content:start;overflow:auto;padding:24px 12px;background:#0a08148c;z-index:14}#outfit-overlay.hidden{display:none}#outfit-overlay .outfit-card{text-align:center;width:min(420px,100%);max-height:none;margin:0 auto}#outfit-preview{position:relative;margin:8px auto 12px;width:min(320px,100%)}#outfit-overlay .outfit-stage{position:relative;width:100%}#outfit-overlay .outfit-character{width:100%}#outfit-overlay .outfit-character .designer-preview-3d{height:min(48vh,420px)}#outfit-overlay .outfit-pet{position:absolute;left:12%;bottom:6%;width:96px;display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;z-index:2}#outfit-overlay .outfit-pet-preview{width:72px;height:72px;border-radius:14px;overflow:hidden;background:#ffffff59;border:2px solid rgba(122,90,40,.45)}#outfit-overlay .outfit-pet-name,#outfit-overlay .outfit-pet-kind{margin:0;max-width:110px;font-size:12px;line-height:1.2;color:#3b2d1a;text-shadow:0 1px 0 rgba(255,248,230,.8)}#outfit-overlay .outfit-pet-name{font-weight:700}#outfit-overlay .outfit-pet-kind{opacity:.85}#outfit-details{list-style:none;padding:0;margin:0 0 16px;text-align:left}#outfit-details li{margin:0 0 6px}#outfit-close{border:0;border-radius:10px;background:#3b2d6b;color:#f7efdc;font:inherit;font-weight:700;padding:8px 12px;cursor:pointer}#hud-xp-bar{margin-top:6px;height:10px;background:var(--xp-track);border:1px solid rgba(165,180,252,.35);border-radius:999px;overflow:hidden}#hud-xp-fill{width:0%;height:100%;background:var(--xp-fill)}#hud-coins{display:flex;align-items:center;gap:8px;font-weight:700}.hud-coin{width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff6c2,#f5d76e 28%,#d4a017 62%,#8a6a10);box-shadow:inset 0 0 0 2px #78540c73,0 1px 2px #00000059}.hud-coin:after{content:"";display:block;width:8px;height:8px;margin:5px auto;border-radius:50%;border:1.5px solid rgba(120,84,12,.55)}#quest-book-toggle,#backpack-toggle{position:absolute;bottom:18px;z-index:12;width:56px;height:56px;display:grid;place-items:center;border-radius:16px;border:2px solid var(--gold);background:var(--panel-grad);color:var(--hud-text);cursor:pointer;pointer-events:auto;box-shadow:0 8px 20px #00000059}#quest-book-toggle{left:18px}#backpack-toggle{right:18px}#quest-book-toggle svg,#backpack-toggle svg{width:30px;height:30px}#quest-book-toggle.active,#backpack-toggle.active{background:var(--cta-grad);color:#fff;border-color:#c4b5fd}#backpack-panel{position:absolute;right:18px;bottom:84px;z-index:12;width:188px;pointer-events:auto;font-family:Trebuchet MS,Segoe UI,sans-serif}#backpack-panel.hidden{display:none}#backpack-slots{display:grid;grid-template-columns:repeat(3,52px);gap:6px;justify-content:center;background:var(--panel-grad);border:1.5px solid var(--gold);border-radius:14px;padding:8px;box-shadow:0 8px 20px #00000059}#backpack-dresser{display:none}.backpack-slot{position:relative;width:52px;height:52px;border:0;border-radius:8px;background:#ffffff1a;padding:0;cursor:pointer}#backpack-dresser .backpack-slot{background:#0000002e}.backpack-slot:disabled,div.backpack-slot{cursor:default}.backpack-slot .hud-coin,.backpack-slot .item-potion{position:absolute;left:8px;top:8px}.backpack-slot .item-icon,.reward-icon-slot .item-icon{width:28px;height:28px}.backpack-slot .item-icon-svg,.reward-icon-slot .item-icon-svg{width:34px;height:34px}.backpack-slot .hud-coin,.reward-icon-slot .hud-coin{width:24px;height:24px;flex:0 0 24px}.backpack-slot .hud-coin:after,.reward-icon-slot .hud-coin:after{width:10px;height:10px;margin:6px auto}.backpack-slot .item-potion,.reward-icon-slot .item-potion{width:20px;height:26px}.backpack-slot .item-icon-xp:after,.reward-icon-slot .item-icon-xp:after{font-size:10px}.item-potion{width:16px;height:20px;border-radius:8px 8px 6px 6px;background:linear-gradient(180deg,#9ae6b4,#2f855a);border:2px solid rgba(20,60,30,.45)}.item-letter{width:20px;height:14px;background:#f7f1e4;border:2px solid #6b4423;border-radius:2px;box-shadow:inset 0 -7px 0 -5px #6b4423}.backpack-slot .item-letter{position:absolute;left:12px;top:14px}.backpack-slot.shine{animation:backpack-shine .9s ease}.backpack-slot.fade-out{animation:backpack-fade .55s ease forwards;pointer-events:none}@keyframes backpack-shine{0%{box-shadow:0 0 #ffe27800}35%{box-shadow:0 0 16px 4px #ffdc6ef2;background:#ffecaa8c}to{box-shadow:0 0 #ffe27800}}@keyframes backpack-fade{to{opacity:0;transform:scale(.86)}}.item-tip{position:fixed;z-index:40;transform:translate(-50%,-100%);background:#1a1230;color:#f7efdc;border:1px solid #d4a017;border-radius:8px;padding:4px 8px;font-size:13px;font-weight:700;pointer-events:none;white-space:nowrap}.backpack-count{position:absolute;right:4px;bottom:2px;font-size:12px;font-weight:800;color:#f7efdc;text-shadow:0 1px 1px rgba(0,0,0,.65)}#prompt,#info-banner,#ui-tip,#connection-banner{position:absolute;left:50%;bottom:28px;transform:translate(-50%);background:var(--panel-grad);border:1.5px solid var(--gold);border-radius:14px;padding:12px 18px;font-weight:700;letter-spacing:.02em;color:var(--hud-text);z-index:8;pointer-events:none;box-shadow:0 10px 28px #00000059}#connection-banner{bottom:auto;top:18px;z-index:40;max-width:min(480px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;line-height:1.35;pointer-events:auto;font-weight:600;border-color:#c45c3a}#connection-banner.hidden{display:none}#connection-banner.reconnecting{border-color:var(--gold)}#connection-banner p{margin:0}#info-banner{bottom:78px;max-width:min(640px,calc(100vw - 32px));text-align:center;line-height:1.35}#info-banner.welcome{display:none}#ui-tip{bottom:90px;z-index:15;max-width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;line-height:1.4;pointer-events:auto;font-weight:600}#ui-tip.hidden{display:none}#ui-tip-text{margin:0;color:var(--hud-text)}#ui-tip.ui-tip-backpack{right:18px;left:auto;transform:none;bottom:84px;max-width:min(280px,calc(100vw - 100px))}#ui-tip.ui-tip-courtyard{left:18px;right:auto;transform:none;bottom:84px;max-width:min(280px,calc(100vw - 100px))}#welcome-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:22;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a081c73;pointer-events:auto}#welcome-modal.hidden{display:none}.welcome-modal-card{position:relative;width:min(440px,calc(100vw - 32px));background:var(--panel-grad);border:2px solid var(--gold);border-radius:20px;padding:28px 28px 24px;text-align:center;color:var(--hud-text);box-shadow:0 0 0 1px #eab3082e,0 20px 50px #00000073}#welcome-close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:var(--lavender-text);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px}.welcome-ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px}.welcome-ornament:before,.welcome-ornament:after{content:"";height:1px;width:64px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.welcome-star{width:18px;height:18px;background:var(--gold);clip-path:polygon(50% 0%,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0% 50%,38% 38%);box-shadow:0 0 12px var(--gold-glow)}#welcome-title{margin:0 0 12px;font-size:clamp(22px,4vw,28px);font-weight:800;color:#fff;text-shadow:0 0 18px rgba(234,179,8,.25)}#welcome-body{margin:0 0 10px;font-size:16px;line-height:1.45;color:var(--hud-text)}#welcome-hint{margin:0 0 18px;font-size:14px;color:var(--lavender-text);white-space:pre-line}.cta-button,#welcome-go{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 28px;background:var(--cta-grad);color:#fff;font:inherit;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px #7c3aed59}.cta-button:hover,#welcome-go:hover{filter:brightness(1.06)}#dialog.dialog-journal{width:min(640px,calc(100vw - 24px));height:min(88dvh,720px);max-height:min(88dvh,720px);display:flex;flex-direction:column;overflow:hidden}#dialog.dialog-missions{width:min(720px,calc(100vw - 24px));height:min(72dvh,560px);max-height:min(72dvh,560px);overflow:hidden;display:flex;flex-direction:column}#dialog.dialog-missions #dialog-text{flex:0 0 auto}#dialog.dialog-missions #dialog-choices{flex:1 1 auto;min-height:0;max-height:none;overflow:auto}#dialog.dialog-dresser{width:min(720px,calc(100vw - 24px));max-height:min(88dvh,820px);overflow:hidden;display:flex;flex-direction:column;background:#c8c4bc;color:#2c2926;border-color:#8d887f}#dialog.dialog-dresser h2,#dialog.dialog-dresser p{color:inherit}#dialog.dialog-dresser .dialog-actions button{border:2px solid #8d887f;background:#fffaf0;color:#2c2926;border-radius:10px}#dialog.dialog-dresser #dialog-choices{flex:1 1 auto;min-height:180px;max-height:none;overflow:auto}.dresser-grid{display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;min-height:180px}#dialog.dialog-dresser .backpack-slot{width:72px;height:72px;background:#00000024}#dialog.dialog-dresser .backpack-slot .item-icon{width:28px;height:28px}#dialog.dialog-dresser .backpack-slot .item-icon-svg{width:34px;height:34px}#dialog.dialog-dresser .backpack-slot .item-icon,#dialog.dialog-dresser .backpack-slot .hud-coin,#dialog.dialog-dresser .backpack-slot .item-potion{position:absolute;left:50%;top:50%;transform:translate(-50%,-58%)}#dialog.dialog-raised{top:7vh;transform:translate(-50%);max-height:42vh}#dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 32px));max-height:min(82dvh,640px);overflow:auto;background:var(--panel-grad);color:var(--hud-text);border:2px solid var(--gold);border-radius:18px;padding:20px 22px;box-shadow:0 0 0 1px #eab30826,0 16px 40px #00000073;z-index:16;pointer-events:auto}#dialog h2{margin:0 0 8px;font-size:22px;color:#fff}#dialog p{margin:0 0 14px;line-height:1.45;color:var(--lavender-text)}#dialog-choices{display:grid;gap:8px;margin-bottom:12px}#dialog-choices button,.dialog-actions button{border:0;background:var(--cta-grad);color:#fff;border-radius:999px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}#dialog-choices button:hover,.dialog-actions button:hover{filter:brightness(1.06)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.quest-pick{border:1.5px solid rgba(234,179,8,.45);border-radius:12px;background:#0f0c2873;padding:12px;text-align:left;color:var(--hud-text)}.quest-pick h3{margin:0 0 4px;font-size:16px;color:#fff}.quest-pick p{margin:0 0 8px;font-size:14px;color:var(--lavender-text)}.quest-pick-rewards{color:var(--gold);font-weight:700}.quest-readiness{margin:0 0 6px;font-weight:700}.quest-pick.readiness-ready{border-color:#5a8f4d}.quest-pick.readiness-challenging{border-color:#c9a227}.quest-pick.readiness-locked{border-color:#b45309;opacity:.92}.journal-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.journal-tabs button{border:1px solid rgba(165,180,252,.35);background:#4c1d9566;color:var(--hud-text);border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;cursor:pointer}.journal-tabs button.active{background:var(--cta-grad);border-color:#c4b5fd;color:#fff}#dialog .field-label{color:var(--gold)}.journal-panel{display:grid;gap:8px}.potential-chart{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center;justify-content:center;padding:4px 0 8px}.potential-donut-wrap{position:relative;width:196px;height:196px;flex:0 0 auto}.potential-donut-wrap svg{width:100%;height:100%;filter:drop-shadow(0 6px 12px rgba(80,48,12,.14))}.potential-donut-center{position:absolute;top:28%;right:28%;bottom:28%;left:28%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.potential-donut-center strong{font-size:18px;line-height:1.1;color:#5a3d14}.potential-donut-center span{margin-top:4px;font-size:11px;line-height:1.25;color:#7a5a28}.potential-legend{list-style:none;margin:0;padding:0;display:grid;gap:6px;flex:1 1 220px;min-width:188px}.potential-legend li{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;font-size:13px}.potential-legend li.muted{opacity:.5}.potential-swatch{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 1px #50300c33}.potential-legend strong{font-variant-numeric:tabular-nums;color:#5a3d14}#dialog-choices{max-height:min(58vh,520px);overflow:auto}#quest-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;align-items:center;justify-content:center;padding:16px;background:#0c08189e}.quest-panel{width:min(760px,100%);max-height:min(90dvh,820px);display:flex;flex-direction:column;background:var(--panel-grad);color:var(--hud-text);border:2px solid var(--gold);border-radius:18px;box-shadow:0 18px 50px #00000073;overflow:hidden}.quest-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:16px 18px 10px;border-bottom:1px solid rgba(234,179,8,.35)}.quest-header h2{margin:0;font-size:clamp(20px,3vw,26px);color:#fff}#quest-kicker{margin:4px 0 0;color:var(--lavender-text);font-weight:700}#quest-close{width:36px;height:36px;border:1.5px solid var(--gold);border-radius:10px;background:#8b5cf633;color:var(--lavender-text);font-size:22px;line-height:1;cursor:pointer;flex-shrink:0}.quest-body{padding:16px 18px;overflow:auto;min-height:180px;max-height:min(58dvh,520px)}.quest-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px 16px;border-top:1px solid rgba(234,179,8,.35)}#quest-step-label{font-weight:700;color:var(--lavender-text);flex:1;text-align:center}#quest-next,#quest-return,#quest-back{border:0;border-radius:999px;background:var(--cta-grad);color:#fff;font:inherit;font-weight:700;padding:10px 16px;cursor:pointer}#quest-back{background:transparent;color:var(--lavender-text);border:1.5px solid rgba(165,180,252,.45)}#quest-next:disabled,#quest-back:disabled{opacity:.45;cursor:not-allowed}#quest-complete{padding:20px 18px 18px}#quest-complete-body h3{margin:4px 0 16px}.quest-complete-kicker{margin:0;font-weight:700;color:#7a5a28}.quest-rewards{margin:0 0 18px;padding-left:18px;font-weight:700}.quest-markdown :first-child{margin-top:0}.quest-markdown img,.quest-image,.quest-card-image{max-width:100%;border-radius:12px;border:2px solid #cbb48a}.quest-stack,.quest-task,.quest-quiz{display:grid;gap:10px;margin-bottom:14px}.quest-question,.quest-quiz-title{margin:0;font-weight:700}.quest-choices,.quest-inline,.quest-word-bank,.quest-presentation-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.quest-button,.quest-choice,.quest-word-chip,.quest-drop-slot{border:2px solid #cbb48a;background:#fff8e8;color:var(--ink);border-radius:10px;padding:8px 10px;font:inherit;cursor:pointer}.quest-button.secondary{background:#fffaf0}.quest-choice.picked,.quest-word-chip.picked,.quest-drop-slot.filled{border-color:var(--gold);background:#fff1c9}.quest-input,.quest-blank{border:2px solid #7a5a28;border-radius:8px;padding:8px 10px;font:inherit;background:#fffaf0;min-width:92px}.quest-blank.miss{border-color:#9b1c1c;background:#fdecec}.quest-blank-bank{margin:8px 0 0;color:#f0e6d2;font-size:15px;line-height:1.45;font-weight:600}.quest-drop-slot.miss{border-color:#9b1c1c;background:#fdecec}.quest-feedback{min-height:1.2em;margin:0}.quest-feedback.ok,#dialog .quest-feedback.ok{color:#4ade80;font-weight:700}.quest-feedback.bad,#dialog .quest-feedback.bad{color:#fca5a5;font-weight:700}.quest-presentation-stage,.quest-card{width:100%;min-height:140px;border:2px solid #cbb48a;border-radius:12px;background:#fff8e8;color:var(--ink);padding:12px;text-align:left}#dialog .quest-presentation-stage,#dialog .quest-presentation-stage p,#dialog .quest-presentation-stage .quest-markdown,#dialog .quest-card,#dialog .quest-card p{color:var(--ink)}.quest-card{cursor:pointer}.quest-card-text{margin:0;font-size:18px;font-weight:700}.quest-card-hint{margin:8px 0 0;font-size:13px;color:#f0e6d2;font-weight:600}#dialog .quest-card-hint,#dialog .quest-blank-bank{color:#f0e6d2}.quest-drag-sentence{line-height:2.1;margin:0}.quest-media audio,.quest-media video,.quest-card audio{width:100%}@media(max-width:860px){.designer{grid-template-columns:1fr}.designer-options{max-height:none}}@media(max-height:720px){.color-swatch{width:28px;height:28px}.style-chip{padding:6px 8px;font-size:14px}.hair-arrow{width:36px;height:36px;font-size:24px}}@media(max-width:560px){.start-actions{grid-template-columns:1fr}.start-card{border-width:2px}}@media(max-height:560px){#name-step h1{font-size:24px}#name-step .lead,#look-step .lead{margin-bottom:10px}.designer{grid-template-columns:1fr;height:auto;max-height:none}.designer-stage-wrap{height:auto;min-height:min(36vh,240px)}.designer-preview-3d{min-height:min(36vh,240px);height:min(36vh,240px)}.designer-options{max-height:min(40vh,320px)}}@media(max-width:720px){.designer{grid-template-columns:1fr;height:auto;max-height:none}.designer-stage-wrap{height:auto;min-height:min(40vh,320px)}.designer-preview-3d{min-height:min(40vh,320px);height:min(40vh,320px)}.designer-options{max-height:min(38vh,360px)}}.name-prompt-row{display:flex;gap:8px;margin-top:8px}.name-prompt-row input{flex:1;min-width:0;padding:8px 10px;border-radius:10px;border:2px solid #7a5a28;font:inherit}.survey-progress,.mission-progress,.mission-reward,.mission-done,.mission-claimed{margin:6px 0;font-size:14px}.survey-options{display:grid;gap:8px}.mission-card,.quest-pick{text-align:left}.mission-card{border:2px solid #b7b2aa;border-radius:12px;background:#c8c4bc;color:#3f3a36;padding:12px}.mission-card.status-active{background:#c8c4bc;border-color:#b7b2aa;color:#3f3a36}.mission-card.status-pending,#dialog .mission-card.status-pending{background:#9e9990;border-color:#7a756e;color:#1f1c19;opacity:1}#dialog .mission-card p,#dialog .mission-card h3{color:inherit}#dialog .mission-card.status-pending p{color:#2c2926}#dialog.dialog-missions .journal-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}#dialog.dialog-missions .journal-tabs button{width:100%;min-width:0;text-align:center;box-sizing:border-box}.mission-reward-row{display:flex;align-items:center;gap:12px}.mission-reward-row .mission-reward{margin:0}.mission-reward-row button{flex:0 0 auto;margin-left:auto;width:auto}.mission-card.status-completed,.mission-card.status-claimed{background:#3b2d6b;border-color:#3b2d6b;color:#f7efdc}.mission-card h3,.mission-card p,.quest-pick h3{margin:0 0 4px;color:inherit}.journal-interests{margin-top:16px}.journal-interests ul{margin:6px 0 0;padding-left:18px}#dialog.dialog-journal #dialog-choices{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}#dialog.dialog-journal .wardrobe-body{flex:1 1 auto;min-height:0;overflow:auto}#dialog.dialog-journal .journal-tabs{flex:0 0 auto}#dialog.dialog-journal .journal-panel{flex:1 1 auto;min-height:0;overflow:auto}#loot-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#0c08189e}#loot-overlay.hidden{display:none}.loot-panel{width:min(640px,calc(100vw - 32px));max-height:min(86dvh,720px);overflow:auto;background:var(--panel-grad);color:var(--hud-text);border:2px solid var(--gold);border-radius:16px;padding:22px;box-shadow:0 18px 44px #00000073}.loot-panel h2{margin:0 0 6px;color:#fff}#loot-kicker{margin:0 0 16px;color:var(--lavender-text)}#loot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}#loot-grid.loot-single{grid-template-columns:1fr}.loot-card{border:1.5px solid rgba(234,179,8,.45);border-radius:14px;background:#0f0c2873;color:var(--hud-text);padding:12px;text-align:center}.loot-card-large{padding:18px 16px 14px}.loot-icon{width:72px;height:72px;margin:0 auto 8px}.loot-icon svg{width:72px;height:72px}.loot-card h3{margin:0 0 4px;font-size:16px}.loot-rarity{margin:0;font-weight:700;letter-spacing:.04em}.loot-domain,.loot-description{margin:4px 0 0;font-size:13px}.rarity-common{border-color:#9a8b6e}.rarity-uncommon{border-color:#4f8f62}.rarity-rare{border-color:#3d6ea8}.rarity-epic{border-color:#7b4ea3;box-shadow:0 0 0 1px #7b4ea340}.rarity-legendary{border-color:#c9a227;box-shadow:0 0 16px #c9a22759;animation:loot-glow 1.6s ease-in-out 1}@keyframes loot-glow{0%{box-shadow:0 0 #c9a22700}40%{box-shadow:0 0 22px #c9a2278c}to{box-shadow:0 0 12px #c9a22747}}.rarity-common .loot-rarity,.wardrobe-card.rarity-common .wardrobe-rarity{color:#6b5b3e}.rarity-uncommon .loot-rarity,.wardrobe-card.rarity-uncommon .wardrobe-rarity{color:#2f6b40}.rarity-rare .loot-rarity,.wardrobe-card.rarity-rare .wardrobe-rarity{color:#24548c}.rarity-epic .loot-rarity,.wardrobe-card.rarity-epic .wardrobe-rarity{color:#5b2f86}.rarity-legendary .loot-rarity,.wardrobe-card.rarity-legendary .wardrobe-rarity{color:#8a6a10}#loot-continue{display:block;margin:0 auto;border:0;background:var(--cta-grad);color:#fff;border-radius:999px;padding:10px 22px;font:inherit;font-weight:700;cursor:pointer}.rarity-common .loot-rarity,.wardrobe-card.rarity-common .wardrobe-rarity{color:#d6d3d1}.rarity-uncommon .loot-rarity,.wardrobe-card.rarity-uncommon .wardrobe-rarity{color:#86efac}.rarity-rare .loot-rarity,.wardrobe-card.rarity-rare .wardrobe-rarity{color:#93c5fd}.rarity-epic .loot-rarity,.wardrobe-card.rarity-epic .wardrobe-rarity{color:#d8b4fe}.rarity-legendary .loot-rarity,.wardrobe-card.rarity-legendary .wardrobe-rarity{color:#fde68a}.wardrobe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.wardrobe-card{border:2px solid #cbb48a;border-radius:12px;background:#fff8e8;padding:10px;display:grid;gap:4px;text-align:center}.wardrobe-icon{width:56px;height:56px;margin:0 auto}.wardrobe-icon svg{width:56px;height:56px}.pet-skin-domain{width:100%;margin-bottom:8px}.pet-skin-card{display:grid;justify-items:center;gap:4px}.pet-skin-card img,.pet-skin-preview img{image-rendering:pixelated}.pet-skin-cost{display:flex;align-items:center;justify-content:center;gap:6px;margin:0}.pet-skin-icon{width:28px;height:28px}.pet-skin-icon svg{width:28px;height:28px}.wardrobe-rarity,.wardrobe-domain{font-size:12px}
