:root{--ink:#2a1f4a;--ink-soft:#5b4f7d;--paper:#fffaf3;--paper-2:#f3ecff;--line:#e2d6f7;--purple:#7a4fd6;--purple-dark:#4b2a8c;--pink:#ff7ad9;--gold:#ffcf4d;--good:#2fae6a;--warn:#e0663a;--rare:#c04fe0;--shadow:0 8px 24px #2a1f4a38;--radius:18px;--font:"Fredoka", ui-rounded, "Segoe UI", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;font-family:var(--font);color:var(--ink);-webkit-tap-highlight-color:transparent;background:#2a1f4a;margin:0;overflow:hidden}#app{position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit}.world-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.world-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.world-label{will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.world-name{color:#fff;white-space:nowrap;text-shadow:0 1px 2px #00000059;background:#2a1f4a8c;border-radius:999px;padding:1px 8px;font-size:13px;font-weight:600;position:absolute;bottom:0;left:0;transform:translate(-50%)}.world-label.is-npc .world-name{color:#4a3200;text-shadow:none;background:#ffcf4deb}.world-label.is-self .world-name{display:none}.world-label.is-self .world-bubble{bottom:2px}.world-bubble{transform-origin:50% 100%;width:max-content;max-width:220px;color:var(--ink);box-shadow:var(--shadow);opacity:0;text-align:center;background:#fff;border-radius:16px;padding:6px 12px;font-size:15px;font-weight:500;transition:transform .2s cubic-bezier(.3,1.6,.5,1),opacity .2s;position:absolute;bottom:26px;left:0;transform:translate(-50%)scale(0)}.world-bubble:after{content:"";border:7px solid #0000;border-top-color:#fff;border-bottom:0;margin-left:-7px;position:absolute;bottom:-7px;left:50%}.world-bubble.show{opacity:1;transform:translate(-50%)scale(1)}.hud{pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:absolute;inset:0}.hud>*{pointer-events:auto}.hud-chip{box-shadow:var(--shadow);background:#fffaf3eb;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:15px;display:flex;position:absolute;top:12px;left:12px}.hud-chip-level{color:var(--purple-dark);font-weight:600}.hud-dev{background:var(--warn);color:#fff;letter-spacing:.05em;border-radius:6px;padding:1px 6px;font-size:11px}.hud-cam{gap:6px;display:flex;position:absolute;top:12px;right:12px}.hud-round{width:44px;height:44px;box-shadow:var(--shadow);color:var(--purple-dark);background:#fffaf3eb;border:0;border-radius:50%;font-size:20px;font-weight:700}.hud-round:active{transform:scale(.92)}.hud-bar{gap:8px;display:flex;position:absolute;bottom:12px;right:12px}.hud-btn{width:64px;height:64px;box-shadow:var(--shadow), inset 0 -3px 0 #7a4fd62e;background:linear-gradient(#fff,#f1e8ff);border:0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:0;transition:transform .12s;display:flex}.hud-btn span{font-size:26px;line-height:1.1}.hud-btn small{color:var(--ink-soft);font-size:11px;font-weight:600}.hud-btn:active{transform:scale(.92)}.hud-btn.active{background:linear-gradient(180deg, #b998ff, var(--purple))}.hud-btn.active small{color:#fff}.hud-feed{pointer-events:none;flex-direction:column;gap:4px;max-width:min(440px,100vw - 24px);display:flex;position:absolute;bottom:12px;left:12px}.hud-line{color:#fff;background:#2a1f4ab8;border-radius:12px;width:fit-content;max-width:100%;padding:5px 12px;font-size:14px;transition:opacity 1.2s;animation:.25s ease-out pop-in}.hud-line.fade{opacity:0}.tone-good{background:#1f804ed9}.tone-warn{background:#c45228e0}.tone-rare{background:linear-gradient(90deg,#b44fe0,#ff7ad9);font-weight:600}.tone-chat{color:var(--ink);background:#fffaf3eb}.hud-xpdrops{pointer-events:none;flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:70px;right:24px}.hud-xpdrop{color:#fff;text-shadow:0 2px 4px #2a1f4a99;font-size:18px;font-weight:700;animation:1.6s ease-out forwards xp-float}@keyframes xp-float{0%{opacity:0;transform:translateY(20px)}15%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.hud-hover{color:#fff;white-space:nowrap;background:#2a1f4ad9;border-radius:10px;padding:4px 10px;font-size:14px;position:fixed;top:0;left:0;pointer-events:none!important}.hud-panel{background:var(--paper);border-radius:var(--radius);width:min(360px,100vw - 24px);max-height:calc(100vh - 170px);box-shadow:var(--shadow);border:3px solid var(--line);flex-direction:column;animation:.18s ease-out pop-in;display:flex;position:absolute;bottom:88px;right:12px}.hud-panel-head{justify-content:space-between;align-items:center;padding:10px 14px 6px;display:flex}.hud-panel-head h2{margin:0;font-size:20px}.hud-x{background:var(--paper-2);border:0;border-radius:50%;width:40px;height:40px;font-size:18px}.hud-panel-body{padding:4px 14px 14px;overflow-y:auto}.hud-sub{color:var(--ink-soft);margin:0 0 8px;font-size:14px}.slot-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.slot{aspect-ratio:1;border:2px solid var(--line);background:#fff;border-radius:14px;place-items:center;padding:2px;transition:transform .1s;display:grid;position:relative}.slot img{object-fit:contain;pointer-events:none;width:100%;height:100%}.slot.empty{background:var(--paper-2);cursor:default;border-style:dashed}.slot:not(.empty):active{transform:scale(.92)}.slot.rare{border-color:#e3a8ff;box-shadow:0 0 12px #c04fe073}.slot .qty{color:var(--purple-dark);font-size:13px;font-weight:700;position:absolute;top:2px;left:6px}.hud-popover{z-index:5;width:250px;box-shadow:var(--shadow);border:3px solid var(--line);background:#fff;border-radius:16px;padding:12px;animation:.15s ease-out pop-in;position:fixed}.hud-pop-title{align-items:center;gap:8px;font-size:17px;font-weight:600;display:flex}.hud-pop-title img{width:40px;height:40px}.hud-popover p{color:var(--ink-soft);margin:6px 0 10px;font-size:14px}.hud-pop-actions{flex-wrap:wrap;gap:6px;display:flex}.btn-primary,.btn-soft{border:0;border-radius:14px;min-height:44px;padding:10px 16px;font-size:16px;font-weight:600}.btn-primary{background:linear-gradient(180deg, #a77bff, var(--purple));color:#fff;box-shadow:inset 0 -3px #0000002e}.btn-primary:disabled{opacity:.6}.btn-primary.big{width:100%;padding:14px;font-size:20px}.btn-soft{background:var(--paper-2);color:var(--ink)}.skill-row{border:2px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:12px;margin-bottom:8px;padding:10px;display:flex}.skill-icon{background:color-mix(in srgb, var(--skill) 22%, white);border-radius:14px;place-items:center;width:48px;height:48px;font-size:30px;display:grid}.skill-main{flex:1}.skill-name{justify-content:space-between;font-weight:600;display:flex}.skill-lvl{color:var(--purple-dark)}.skill-bar{background:var(--paper-2);border-radius:999px;height:10px;margin:4px 0;overflow:hidden}.skill-bar i{background:var(--skill);border-radius:999px;height:100%;transition:width .4s;display:block}.skill-xp{color:var(--ink-soft);font-size:12px}.phrase-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.phrase{border:2px solid var(--line);background:#fff;border-radius:14px;min-height:48px;padding:10px 8px;font-size:15px}.phrase:active{background:var(--paper-2);transform:scale(.95)}.chat-log{background:var(--paper-2);border-radius:12px;flex-direction:column;gap:2px;margin-top:10px;padding:8px 10px;font-size:14px;display:flex}.menu-item{text-align:left;border:2px solid var(--line);width:100%;color:inherit;background:#fff;border-radius:14px;margin-bottom:8px;padding:12px 14px;font-size:16px;text-decoration:none;display:block}.menu-item.danger{color:#b8342a}.menu-help{background:var(--paper-2);border-radius:14px;margin-bottom:8px;padding:4px 14px;font-size:14px}.dialog{background:var(--paper);border:3px solid var(--gold);width:min(560px,100vw - 24px);box-shadow:var(--shadow);cursor:pointer;border-radius:22px;padding:14px 18px;animation:.2s ease-out pop-in;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.dialog-name{background:var(--gold);color:#4a3200;border-radius:999px;padding:3px 14px;font-weight:700;position:absolute;top:-16px;left:18px}.dialog-text{margin:10px 0;font-size:18px;line-height:1.4}.dialog-next{float:right}.bank-backdrop{background:#2a1f4a59;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.bank{background:var(--paper);border:3px solid var(--gold);width:min(760px,100%);max-height:calc(100vh - 24px);box-shadow:var(--shadow);border-radius:22px;animation:.2s ease-out pop-in;overflow-y:auto}.bank-cols{grid-template-columns:1fr 1fr;gap:14px;padding:0 14px 14px;display:grid}.bank-cols h3{margin:4px 0 8px;font-size:16px}.bank-cols .btn-primary{width:100%;margin-bottom:8px}.bank-qty{align-items:center;gap:6px;margin-bottom:8px;font-size:14px;display:flex}.chip{border:2px solid var(--line);background:#fff;border-radius:999px;min-height:36px;padding:4px 12px}.chip.active{background:var(--purple);color:#fff;border-color:var(--purple)}@media (width<=640px){.bank-cols{grid-template-columns:1fr}}.hud-levelup{text-align:center;border:4px solid var(--gold);pointer-events:none;background:linear-gradient(#fff8dc,#ffe9a8);border-radius:28px;padding:16px 32px;font-size:20px;animation:.5s cubic-bezier(.3,1.6,.5,1) levelup-in;position:absolute;top:22%;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #ffb40073}.hud-levelup.out{animation:.4s ease-in forwards levelup-out}.hud-levelup-icon{font-size:54px;line-height:1}.hud-levelup-title{color:#b8760a;letter-spacing:.02em;font-size:34px;font-weight:700}@keyframes levelup-in{0%{opacity:0;transform:translate(-50%)scale(.3)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes levelup-out{to{opacity:0;transform:translate(-50%)scale(.8)}}.hud-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none!important}.hud-confetti i{border-radius:3px;width:10px;height:16px;animation:2.6s linear forwards confetti;position:absolute;top:-20px}@keyframes confetti{to{transform:translateY(110vh)rotate(720deg)}}.hud-status{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2a1f4a8c;place-items:center;display:grid;position:absolute;inset:0}.hud-status-card{background:var(--paper);text-align:center;box-shadow:var(--shadow);border-radius:22px;max-width:320px;padding:20px 28px}.hud-status-big{font-size:48px}.hud-spinner{font-size:40px;animation:1.4s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=640px){.hud-btn{border-radius:16px;width:54px;height:54px}.hud-btn span{font-size:22px}.hud-btn small{display:none}.hud-bar{bottom:10px;left:50%;right:auto;transform:translate(-50%)}.hud-panel{width:auto;max-height:58vh;bottom:74px;left:8px;right:8px}.hud-feed{bottom:74px}.hud-cam .hud-round:nth-child(n+3){display:none}.dialog{bottom:78px}}.title-screen{z-index:20;background:radial-gradient(at 50% 120%,#ff9ad5 0%,#7a4fd6 35%,#2a1f4a 75%);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:16px;transition:opacity .5s;display:flex;position:fixed;inset:0;overflow-y:auto}.title-screen.leaving{opacity:0}.title-stars{pointer-events:none;position:absolute;inset:0}.title-stars i{width:calc(4px * var(--s));height:calc(4px * var(--s));background:#fff;border-radius:50%;animation:3s ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 8px #fff}@keyframes twinkle{50%{opacity:.2;transform:scale(.6)}}.title-logo{text-align:center;color:#fff;text-shadow:0 4px #4b2a8c,0 8px 24px #00000059;margin:0;font-weight:700;line-height:.95;position:relative}.title-logo span{font-size:clamp(36px,9vw,72px);display:block}.title-logo span:nth-child(2){color:var(--gold)}.title-logo span:nth-child(3){color:#ffc6ec}.title-card{background:var(--paper);border-radius:26px;width:min(400px,100%);padding:14px 18px 18px;position:relative;box-shadow:0 16px 48px #00000059}.title-tabs{background:var(--paper-2);border-radius:14px;gap:6px;margin-bottom:12px;padding:4px;display:flex}.title-tabs button{color:var(--ink-soft);background:0 0;border:0;border-radius:10px;flex:1;min-height:44px;padding:10px 6px;font-weight:600}.title-tabs button.active{color:var(--purple-dark);background:#fff;box-shadow:0 2px 6px #2a1f4a1f}.title-form{flex-direction:column;gap:10px;display:flex}.title-form label{flex-direction:column;gap:4px;font-size:15px;font-weight:600;display:flex}.title-form input{border:2px solid var(--line);color:var(--ink);background:#fff;border-radius:14px;min-height:48px;padding:12px 14px;font-size:18px}.title-form input:focus{border-color:var(--purple);outline:none}.form-error{color:#b8342a;min-height:1.2em;margin:0;font-size:15px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cc-root{--cc-night-0:#110b30;--cc-night-1:#1d1546;--cc-violet:#7b5cff;--cc-violet-soft:#f0eaff;--cc-pink:#ff5fa8;--cc-pink-soft:#ffe6f2;--cc-gold:#ffc94a;--cc-panel:#fffcff;--cc-ink:#3a2766;--cc-muted:#8b7db3;--cc-line:#ece5fb;--cc-spring:cubic-bezier(.3, 1.6, .5, 1);z-index:2000;height:100dvh;color:var(--cc-ink);background:radial-gradient(120% 80% at 50% 0%, #4a2f9a 0%, var(--cc-night-1) 55%, var(--cc-night-0) 100%);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;outline:none;flex-direction:column;font-family:Fredoka,ui-rounded,Segoe UI,system-ui,sans-serif;animation:.35s ease-out both cc-fade-in;display:flex;position:fixed;inset:0;overflow:hidden}.cc-root *,.cc-root :before,.cc-root :after{box-sizing:border-box}.cc-root button{color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;margin:0;font-family:inherit}.cc-root button:focus-visible,.cc-canvas:focus-visible{outline:3px solid var(--cc-gold);outline-offset:3px}.cc-root [hidden]{display:none!important}.cc-root.cc-closing{animation:.32s ease-in forwards cc-fade-out}.cc-root.cc-busy .cc-sheet,.cc-root.cc-busy .cc-actions,.cc-root.cc-busy .cc-tools,.cc-root.cc-busy .cc-canvas{pointer-events:none}.cc-stage{flex:0 0 46%;min-height:0;position:relative;overflow:hidden}.cc-sky{pointer-events:none;background:radial-gradient(45% 38% at 50% 64%,#ff78c852,#0000 70%),radial-gradient(90% 60% at 50% 105%,#7b5cff8c,#0000 70%),linear-gradient(#1f1652 0%,#33267c 50%,#5b3aa8 100%);position:absolute;inset:0}.cc-star{width:var(--s);height:var(--s);opacity:.8;animation:cc-twinkle var(--t) ease-in-out var(--d) infinite;background:#fff;border-radius:50%;position:absolute;box-shadow:0 0 6px 1px #ffffffbf}.cc-moon{filter:drop-shadow(0 0 14px #ffe8a0bf);border-radius:50%;width:44px;height:44px;animation:6s ease-in-out infinite cc-float;position:absolute;top:16%;right:8%;transform:rotate(-18deg);box-shadow:inset -11px 5px #fff2c2}.cc-glow{aspect-ratio:2.4;background:radial-gradient(closest-side,#ffaae659,#0000);border-radius:50%;width:min(80%,460px);animation:4s ease-in-out infinite cc-breathe;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.cc-canvas{z-index:1;touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.cc-canvas:active{cursor:grabbing}.cc-canvas:focus-visible{outline-offset:-6px;border-radius:18px}.cc-nogl{color:#fff;text-align:center;place-items:center;padding:24px;font-size:20px;font-weight:600;display:grid;position:absolute;inset:0}.cc-title{z-index:3;top:max(12px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));pointer-events:none;color:#fff;max-width:calc(100% - 140px);position:absolute}.cc-title h1{letter-spacing:.3px;filter:drop-shadow(0 3px #1e0a508c)drop-shadow(0 0 14px #ff8cdc73);margin:0;font-size:clamp(25px,6.4vw,38px);font-weight:700;line-height:1.05}.cc-shine{background:linear-gradient(90deg,#fff 0% 30%,#ffe08a 45%,#ff9ad5 55%,#fff 70% 100%) 0 0/250%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite cc-shine}.cc-title p{color:#ffd9f0;white-space:nowrap;text-overflow:ellipsis;margin:3px 0 0;font-size:clamp(14px,3.8vw,17px);font-weight:500;overflow:hidden}.cc-tools{z-index:3;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));gap:8px;display:flex;position:absolute}.cc-round{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:50px;height:50px;transition:transform .18s var(--cc-spring), background .2s, box-shadow .2s;background:#ffffff26;border:2px solid #ffffff59;border-radius:50%;place-items:center;padding:0;font-size:23px;line-height:1;display:grid;box-shadow:0 4px 12px #0a00284d}.cc-round:hover{background:#ffffff47;transform:scale(1.07)}.cc-round:active{transform:scale(.9)}.cc-round[aria-pressed=true]{background:var(--cc-gold);border-color:#fff;box-shadow:0 0 0 4px #ffc94a59,0 4px 12px #0a00284d}.cc-actions{z-index:3;left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;bottom:32px}.cc-actions>*{pointer-events:auto}.cc-pill{white-space:nowrap;min-height:50px;transition:transform .15s var(--cc-spring), box-shadow .15s, opacity .2s;border:none;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:17px;font-weight:600;display:inline-flex}.cc-pill-icon{font-size:18px}.cc-undo{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border:2px solid #ffffff59}.cc-undo:hover:not(:disabled){background:#ffffff47}.cc-undo:disabled{opacity:.38;cursor:default}.cc-surprise{color:#fff;text-shadow:0 2px #78145a59;background:linear-gradient(135deg,#ff9ad5 0%,#ff5fa8 45%,#b65cff 100%);font-size:18px;font-weight:700;box-shadow:0 5px #9c3684,0 10px 26px #ff5aaa80}.cc-surprise:hover{transform:translateY(-2px)scale(1.03)}.cc-surprise:active{transform:translateY(3px);box-shadow:0 2px #9c3684,0 6px 16px #ff5aaa73}.cc-dice{font-size:22px;line-height:1;display:inline-block}.cc-rolling,.cc-rolling .cc-dice{animation:cc-roll .75s var(--cc-spring)}.cc-hint{color:#fff;white-space:nowrap;background:#14083c80;border-radius:999px;margin-top:8px;padding:5px 12px;font-size:14px;font-weight:500;transition:opacity .5s;animation:2.4s ease-in-out .8s infinite cc-nudge;position:absolute;top:100%;left:0}.cc-hint.cc-gone{opacity:0}.cc-anchor{z-index:4;pointer-events:none;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.cc-plaque-anchor{z-index:2}.cc-bubble{transform-origin:50% 100%;color:var(--cc-ink);white-space:nowrap;opacity:0;background:#fff;border-radius:20px;padding:9px 16px;font-size:17px;font-weight:600;transition:transform .25s ease-in,opacity .25s ease-in;position:absolute;bottom:0;left:0;transform:translate(-50%)scale(0);box-shadow:0 6px 18px #14003c59}.cc-bubble:after{content:"";background:#fff;border-radius:3px;width:16px;height:16px;margin-left:-8px;position:absolute;bottom:-7px;left:50%;transform:rotate(45deg)}.cc-bubble.cc-show{opacity:1;animation:cc-bubble-in .4s var(--cc-spring);transition:none;transform:translate(-50%)scale(1)}.cc-plaque{color:#6b3d00;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#ffe590,#f6b93b);border-radius:9px;max-width:150px;padding:1px 12px 2px;font-size:13px;font-weight:700;position:absolute;top:0;left:0;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 2px #b9791a,0 3px 10px #14003c59}.cc-sheet{z-index:5;background:var(--cc-panel);min-width:0;min-height:0;padding-bottom:env(safe-area-inset-bottom);animation:cc-sheet-in .5s var(--cc-spring) both;border-radius:28px 28px 0 0;flex-direction:column;flex:auto;margin-top:-20px;display:flex;position:relative;box-shadow:0 -10px 30px #0a002859}.cc-grabber{background:var(--cc-line);border-radius:3px;flex:none;width:44px;height:5px;margin:8px auto 0}.cc-tabs{scrollbar-width:none;border-bottom:2px solid var(--cc-line);flex:none;gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.cc-tabs::-webkit-scrollbar{display:none}.cc-tab{background:0 0;border:none;border-radius:18px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;min-width:62px;min-height:58px;padding:4px 6px;font-size:14px;font-weight:600;transition:background .2s,color .2s,transform .15s;display:flex;color:var(--cc-muted)!important}.cc-tab:hover{background:#f7f3ff}.cc-tab-icon{transition:transform .3s var(--cc-spring);font-size:25px;line-height:1}.cc-tab[aria-selected=true]{background:linear-gradient(#f4eeff,#e8deff);box-shadow:inset 0 0 0 2px #d6c8ff;color:var(--cc-ink)!important}.cc-tab[aria-selected=true] .cc-tab-icon{transform:scale(1.2)rotate(-7deg)}.cc-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#d9cdfa transparent;flex:auto;min-height:0;padding:6px 16px 20px;overflow:hidden auto}.cc-panel-in{animation:.32s ease-out cc-panel-in}.cc-empty{text-align:center;color:var(--cc-muted);margin:32px 8px;font-size:18px}.cc-panel-head{justify-content:space-between;align-items:center;gap:10px;margin:6px 0 4px;display:flex}.cc-panel-head h2{margin:0;font-size:23px;font-weight:700}.cc-mini{min-height:48px;transition:transform .15s var(--cc-spring), background .2s;background:#fff;border:2px solid #e2d8ff;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 16px;font-size:16px;font-weight:600;display:inline-flex;box-shadow:0 3px #e2d8ff;color:var(--cc-violet)!important}.cc-mini:hover{background:#f7f3ff}.cc-mini:active{transform:translateY(2px);box-shadow:0 1px #e2d8ff}.cc-mini .cc-dice{font-size:19px}.cc-part{margin:12px 0 20px}.cc-part-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.cc-part-head h3{margin:0;font-size:18px;font-weight:600}.cc-part-value{color:#d93d88;background:var(--cc-pink-soft);border-radius:999px;padding:2px 11px;font-size:14px;font-weight:600}.cc-options{padding:4px 2px}.cc-swatches{flex-wrap:wrap;gap:14px 12px;display:flex}.cc-cards{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:12px;display:grid}.cc-opt{transition:transform .2s var(--cc-spring), box-shadow .2s, border-color .2s, background .2s;border:none;padding:0;position:relative}.cc-swatch{background:var(--sw);border-radius:50%;width:54px;height:54px;box-shadow:inset 0 -6px #00000021,inset 0 5px #ffffff4d,0 0 0 2px #3a276624,0 3px 6px #3a27662e}.cc-swatch:before{content:"";background:#ffffff8c;border-radius:50%;width:12px;height:8px;position:absolute;top:10px;left:13px;transform:rotate(-30deg)}.cc-swatch:hover{transform:scale(1.1)}.cc-swatch[aria-pressed=true]{box-shadow:inset 0 -6px 0 #00000021, inset 0 5px 0 #ffffff4d, 0 0 0 4px #fff, 0 0 0 7px var(--cc-pink), 0 6px 16px #ff5fa880;transform:scale(1.08)}.cc-card{border:3px solid var(--cc-line);min-height:96px;box-shadow:0 4px 0 var(--cc-line);background:#fff;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;padding:10px 4px 8px;font-size:15px;font-weight:600;display:flex;color:var(--cc-ink)!important}.cc-card:hover{border-color:#dccfff;transform:translateY(-2px)}.cc-card-icon{transition:transform .3s var(--cc-spring);font-size:36px;line-height:1.05}.cc-card-dot{background:var(--sw);border-radius:50%;width:34px;height:34px;box-shadow:inset 0 -4px #0000001f,0 0 0 2px #3a276624}.cc-card-letter{color:var(--cc-violet);font-size:28px;font-weight:700}.cc-card-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 4px;overflow:hidden}.cc-card[aria-pressed=true]{border-color:var(--cc-pink);background:linear-gradient(#fff 0%,#ffeef7 100%);transform:translateY(-2px);box-shadow:0 4px #ffb3d6,0 0 0 5px #ff5fa829}.cc-card[aria-pressed=true] .cc-card-icon{transform:scale(1.14)rotate(-6deg)}.cc-check{background:var(--cc-pink);color:#fff;opacity:0;width:26px;height:26px;transition:opacity .15s, transform .3s var(--cc-spring);pointer-events:none;border:2px solid #fff;border-radius:50%;place-items:center;font-size:15px;font-weight:700;line-height:1;display:grid;position:absolute;top:-7px;right:-7px;transform:scale(.2);box-shadow:0 2px 6px #a01e6466}.cc-swatch .cc-check{top:-9px;right:-9px}[aria-pressed=true]>.cc-check{opacity:1;transform:scale(1)}.cc-locked{opacity:.72}.cc-swatch.cc-locked:after{content:"";background:repeating-linear-gradient(45deg,#fff6 0 4px,#0000 4px 9px);border-radius:50%;position:absolute;inset:0}.cc-card.cc-locked{background:#faf8ff;border-style:dashed}.cc-card.cc-locked .cc-card-icon{filter:grayscale(.7)}.cc-lock{z-index:1;background:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;display:grid;position:absolute;bottom:-6px;right:-6px;box-shadow:0 2px 6px #28145a47}.cc-pop{animation:cc-pop .45s var(--cc-spring)}.cc-wiggle{animation:.45s ease-in-out cc-wiggle}.cc-footer{border-top:2px solid var(--cc-line);background:var(--cc-panel);flex:none;gap:10px;padding:10px 16px 12px;display:flex}.cc-btn{min-height:56px;transition:transform .15s var(--cc-spring), box-shadow .15s;border:none;border-radius:18px;flex:auto;padding:0 18px;font-size:20px;font-weight:700}.cc-btn-ghost{background:var(--cc-violet-soft);flex:0 36%;box-shadow:0 4px #ddd0ff;color:var(--cc-violet)!important}.cc-btn-ghost:active{transform:translateY(3px);box-shadow:0 1px #ddd0ff}.cc-btn-gold{background:linear-gradient(#ffe58a 0%,#ffbf3d 100%);position:relative;overflow:hidden;box-shadow:0 5px #d98e12,0 10px 22px #ffb42859;color:#6b3a00!important}.cc-btn-gold:after{content:"";background:linear-gradient(100deg,#0000,#ffffffa6,#0000);width:40%;animation:3.2s ease-in-out 1s infinite cc-sweep;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-20deg)}.cc-btn-gold:hover{transform:translateY(-2px)}.cc-btn-gold:active{transform:translateY(4px);box-shadow:0 1px #d98e12,0 4px 12px #ffb42859}.cc-btn-ready{font-size:22px;animation:2.6s ease-in-out 1.5s infinite cc-ready}.cc-toast{z-index:30;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));background:var(--cc-ink);color:#fff;text-align:center;pointer-events:none;opacity:0;border-radius:18px;width:max-content;max-width:calc(100% - 32px);padding:13px 20px;font-size:17px;font-weight:600;transition:opacity .25s,transform .25s;position:absolute;transform:translate(-50%,24px)scale(.9);box-shadow:0 10px 30px #0a002866}.cc-toast.cc-show{opacity:1;transition:opacity .2s, transform .35s var(--cc-spring);transform:translate(-50%)scale(1)}.cc-welcome,.cc-modal{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#110b308c;place-items:center;padding:20px;animation:.3s ease-out both cc-fade-in;display:grid;position:absolute;inset:0}.cc-welcome.cc-hide{pointer-events:none;animation:.38s ease-in forwards cc-fade-out}.cc-welcome-card,.cc-dialog{background:var(--cc-panel);text-align:center;width:min(430px,100%);animation:cc-pop-in .6s var(--cc-spring) both;border-radius:32px;padding:26px 24px 24px;box-shadow:0 24px 60px #00000073,0 0 0 6px #ffffff24}.cc-welcome.cc-hide .cc-welcome-card{animation:.35s ease-in forwards cc-pop-out}.cc-welcome-emoji{font-size:60px;line-height:1.1;animation:2.4s ease-in-out infinite cc-float}.cc-welcome-card h2,.cc-dialog h2{overflow-wrap:anywhere;margin:6px 0 4px;font-size:clamp(26px,7vw,34px);font-weight:700;line-height:1.1}.cc-name{color:var(--cc-pink)}.cc-welcome-card p,.cc-dialog p{color:var(--cc-muted);margin:0 0 22px;font-size:20px}.cc-welcome-card .cc-btn{width:100%;font-size:22px}.cc-dialog h2{font-size:26px}.cc-dialog-row{gap:10px;display:flex}.cc-dialog-row .cc-btn{padding:0 12px;font-size:18px}.cc-confetti{z-index:50;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cc-confetti i{top:-24px;left:var(--x);width:var(--w);height:var(--h);border-radius:var(--br);background:var(--c);animation:cc-fall var(--dur) cubic-bezier(.25, .6, .45, 1) var(--del) both;position:absolute}.cc-confetti i.cc-confetti-star{background:0 0;width:auto;height:auto;font-size:20px;font-style:normal}@media (orientation:landscape) and (width>=640px){.cc-root{flex-direction:row}.cc-stage{flex:auto}.cc-sheet{margin:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) 0;border-radius:30px;flex:0 0 clamp(340px,40vw,520px);padding-bottom:0;animation-name:cc-sheet-in-side;box-shadow:0 16px 50px #05001e80,0 0 0 6px #ffffff14}.cc-grabber{display:none}.cc-tabs{padding-top:12px}.cc-footer{border-radius:0 0 30px 30px}.cc-actions{bottom:max(18px, env(safe-area-inset-bottom))}.cc-toast{left:auto;right:calc(clamp(340px,40vw,520px)/2 + 14px);transform:translate(50%,24px)scale(.9)}.cc-toast.cc-show{transform:translate(50%)scale(1)}}@media (orientation:landscape) and (height<=520px){.cc-title h1{font-size:24px}.cc-title p{font-size:14px}.cc-tabs{gap:4px;padding:6px 8px}.cc-tab{gap:1px;min-width:52px;min-height:50px;font-size:12px}.cc-tab-icon{font-size:20px}.cc-welcome-emoji{font-size:40px}.cc-welcome-card,.cc-dialog{padding:16px 20px}.cc-welcome-card p,.cc-dialog p{margin-bottom:12px}.cc-footer{padding:8px 12px}.cc-btn{min-height:50px;font-size:18px}.cc-hint{display:none}}@media (orientation:portrait) and (width<=520px){.cc-title p,.cc-plaque{display:none}}@media (width<=380px){.cc-tab-label{font-size:12px}.cc-tab{min-width:54px}.cc-pill{padding:0 14px;font-size:16px}.cc-swatches{gap:12px 10px}.cc-cards{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}@keyframes cc-fade-in{0%{opacity:0}}@keyframes cc-fade-out{to{opacity:0}}@keyframes cc-sheet-in{0%{opacity:0;transform:translateY(40%)}}@keyframes cc-sheet-in-side{0%{opacity:0;transform:translate(30%)}}@keyframes cc-panel-in{0%{opacity:0;transform:translateY(10px)}}@keyframes cc-twinkle{0%,to{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}@keyframes cc-float{0%,to{translate:0}50%{translate:0 -6px}}@keyframes cc-breathe{0%,to{opacity:.7;scale:1}50%{opacity:1;scale:1.08}}@keyframes cc-shine{to{background-position:-250%}}@keyframes cc-pop{0%{scale:1}35%{scale:1.25}65%{scale:.93}to{scale:1}}@keyframes cc-wiggle{0%,to{rotate:0deg}20%{rotate:-12deg}40%{rotate:10deg}60%{rotate:-7deg}80%{rotate:4deg}}@keyframes cc-roll{0%{rotate:0deg;scale:1}50%{scale:1.35}to{rotate:720deg;scale:1}}@keyframes cc-nudge{0%,to{translate:0}50%{translate:0 -5px}}@keyframes cc-bubble-in{0%{opacity:0;transform:translate(-50%)scale(.2)}}@keyframes cc-pop-in{0%{opacity:0;transform:scale(.6)translateY(30px)}}@keyframes cc-pop-out{to{opacity:0;transform:scale(.85)translateY(20px)}}@keyframes cc-sweep{0%{left:-60%}45%,to{left:130%}}@keyframes cc-ready{0%,86%,to{scale:1}90%{scale:1.05}95%{scale:.98}}@keyframes cc-fall{0%{opacity:1;transform:translate(0,0)rotate(0)}85%{opacity:1}to{transform:translate3d(var(--dx), 105vh, 0) rotate(var(--rot));opacity:0}}@media (prefers-reduced-motion:reduce){.cc-root,.cc-root *,.cc-root :before,.cc-root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.cc-star{opacity:.7}}.cc-part-hint{color:#8a6fc0;font-size:12px;font-weight:600}.cc-part.cc-covered .cc-options{opacity:.45;filter:saturate(.6)}
