:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14111d;--panel:#231e31;--panel-active:#f0c75e;--text:#f3eefc;--muted:#a79fbb}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(circle at 50% 35%, #3a2f55 0%, var(--bg) 70%);color:var(--text);overscroll-behavior:none;font-family:system-ui,sans-serif}.app{flex-direction:column;height:100dvh;display:flex}.stage{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex:1;min-height:0}.stage:active{cursor:grabbing}.controls{padding:12px 16px calc(14px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;width:100%;max-width:560px;margin:0 auto;display:flex}.row{align-items:center;gap:8px;display:flex}.chips{scrollbar-width:none;overflow-x:auto}button,.file,input[type=text]{background:var(--panel);min-height:42px;color:var(--text);font:inherit;border:0;border-radius:10px;padding:0 12px;font-size:14px}button,.file{cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.row>.grow{flex:1;min-width:0}button.active{background:var(--panel-active);color:#241a05;font-weight:600}.file input{display:none}.status{min-height:18px;color:var(--muted);text-align:center;margin:0;font-size:13px}.editor{z-index:10;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.editor-photo{flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex}.editor-photo canvas{cursor:crosshair;border-radius:10px;max-width:100%;max-height:100%;display:block}button:disabled{opacity:.45;cursor:default}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;height:100%;padding:16px;display:flex}.muted{color:var(--muted);font-weight:400}.error{color:#ff9a9e;margin:0;font-size:14px}h1{margin:0;font-size:24px}h2{margin:8px 0 0;font-size:18px}.screen{flex:1;min-height:0;position:relative;overflow-y:auto}.page{flex-direction:column;gap:12px;max-width:720px;margin:0 auto;padding:16px;display:flex}.tabs{padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--bg);gap:8px;display:flex}.tabs button{flex:1}.wide{width:100%}.login{max-width:360px;margin:0 auto}.login label{width:100%;color:var(--muted);text-align:left;flex-direction:column;gap:6px;font-size:14px;display:flex}.login input{background:var(--panel);min-height:44px;color:var(--text);font:inherit;border:0;border-radius:10px;padding:0 12px}.login button{width:100%}.grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.tile{border:2px solid var(--edge);white-space:normal;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2px;min-height:0;padding:4px 4px 8px;display:flex;position:relative;overflow:hidden}.tile img,.tile-blank{aspect-ratio:911/1147;object-fit:cover;background:var(--bg);border-radius:6px;width:100%;display:block}.tile-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.tile-note{color:var(--muted);font-size:11px}.tile-epic,.tile-legendary,.tile-mythic{box-shadow:0 0 10px var(--edge)}.overlay{z-index:10;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.form .preview{flex:1;min-height:220px;display:flex;position:relative}.drag-layer{touch-action:none;cursor:move;position:absolute;inset:0}.controls.scroll{max-height:52dvh;overflow-y:auto}.slider{color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.slider input{accent-color:var(--panel-active);flex:1}.active-file{background:var(--panel-active);color:#241a05;min-height:48px;font-weight:600}.pack{background:linear-gradient(135deg,#e7b73f,#fff0b0 45%,#b47a12 75%,#ffe591);border-radius:10px;justify-content:center;align-items:center;width:170px;height:240px;font-size:56px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 40px #f0c75e59}.pack-idle .pack{animation:2.6s ease-in-out infinite bob}.pack-top{background:linear-gradient(135deg,#fff0b0,#b47a12);border-bottom:2px dashed #3c280080;height:22%;transition:transform .45s ease-in,opacity .45s ease-in;position:absolute;inset:0 0 auto}.reveal{flex-direction:column;height:100%;display:flex;position:relative}.reveal.glow:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 40%, var(--edge), transparent 62%);opacity:.35;animation:1.8s ease-in-out infinite pulse;position:absolute;inset:0}.glow-common:before,.glow-uncommon:before{opacity:.15!important;animation:none!important}.glow-legendary:before,.glow-mythic:before{opacity:.7!important}.reveal .stage,.reveal .controls{position:relative}@keyframes bob{50%{transform:translateY(-8px)rotate(-1.5deg)}}@keyframes shake{0%,80%,to{transform:none}84%{transform:rotate(-3deg)}88%{transform:rotate(3deg)}92%{transform:rotate(-2deg)}96%{transform:rotate(2deg)}}@keyframes burst{to{opacity:0;filter:brightness(3);transform:scale(1.8)}}@keyframes pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.pack,.reveal.glow:before{animation:none!important}}.wallet{align-items:center;gap:14px;padding:8px 16px;font-size:15px;font-weight:600;display:flex}.wallet .link{min-height:32px;color:var(--muted);background:0 0;margin-left:auto;padding:0 4px;font-weight:400}.panel{background:#ffffff0d;border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.panel h2{margin:0}.panel-done{outline:2px solid var(--panel-active)}.panel.row{flex-direction:row}.spread{justify-content:space-between}.hint{margin:0;font-size:13px}.bar{background:var(--panel);border-radius:5px;height:10px;overflow:hidden}.bar i{background:var(--panel-active);height:100%;transition:width .3s;display:block}.achievements,.proposals{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.achievements li{background:#ffffff0d;border-radius:10px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.achievements li>div:first-child,.proposals li>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.achievements .muted,.proposals .muted{font-size:13px}.achievements .earned{outline:1px solid var(--panel-active)}.achievement-side{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:3px;max-width:40%;font-size:13px;display:flex}.proposals li{background:#ffffff0d;border-radius:10px;align-items:center;gap:12px;padding:8px;display:flex}.proposals img,.proposals .tile-blank{object-fit:cover;aspect-ratio:auto;border-radius:8px;flex:none;width:72px;height:72px}.status-approved{color:#7fd8ae}.status-rejected{color:#ff9a9e}.is-busy{opacity:.6}.pack-home .pack-idle{height:auto;padding:8px 0}.panel input[type=text],.page>input[type=text]{width:100%}.overlay .page{width:100%;overflow-y:auto}.designer .controls{flex:none}.designer-view{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;min-height:180px;padding:10px;display:flex;overflow:hidden;container-type:size}.designer-view:active{cursor:grabbing}.designer-view .stage{width:100%;height:100%}.designer-card{aspect-ratio:1024/1434;height:min(100cqh,140.039cqw);position:relative;container-type:inline-size}.layer{transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.layer canvas{display:block}.layer.fill{width:100%;height:100%;inset:0}.layer.fill canvas{width:100%;height:100%}.cat-clip{pointer-events:none;clip-path:inset(0 0 16%);z-index:2;position:absolute;inset:0;overflow:hidden}.top-frame{z-index:3}.under{z-index:1}.label{flex:none;font-size:13px}.tile-count{background:var(--panel-active);color:#241a05;border-radius:999px;padding:2px 8px;font-size:13px;font-weight:700;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00000080}.stack-label{text-align:center;color:var(--muted);font-size:14px}.burst{pointer-events:none;z-index:30;width:100%;height:100%;position:fixed;inset:0}.pack{transform-style:preserve-3d}.pack-shine{background:linear-gradient(105deg,#0000 35%,#ffffffbf 50%,#0000 65%) 0 0/260% 100%;animation:2.8s ease-in-out infinite shine;position:absolute;inset:0}.pack-stage{position:relative;overflow:hidden}.pack-button{background:0 0;border-radius:10px;min-height:0;padding:0;overflow:visible}.pack-button:disabled{opacity:1}.pack-stage .pack{box-shadow:0 0 calc(30px + var(--aura,0px)) var(--edge);animation:1.6s ease-in-out infinite shake}.aura-rare{--aura:12px}.aura-epic{--aura:45px}.aura-legendary,.aura-mythic{--aura:90px}.aura-epic .pack,.aura-legendary .pack,.aura-mythic .pack{animation:1s ease-in-out infinite shake,1s ease-in-out infinite breathe}.torn .pack{animation:.62s linear forwards rumble,.38s ease-in .62s forwards burst}.torn .pack-top{opacity:0;transition:transform .4s cubic-bezier(.2,.8,.3,1) .55s,opacity .4s .6s;transform:translate(90px,-150px)rotate(38deg)}.flash{pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 42%, #fff, var(--edge,#fff) 45%, transparent 75%);z-index:20;position:absolute;inset:0}.torn .flash{animation:.55s ease-out .58s both flash}.flash-on{animation:.6s ease-out both flash}.reveal{overflow:hidden}.card-enter{z-index:2;flex:1;min-height:0;animation:.55s cubic-bezier(.16,1.2,.3,1) both enter;display:flex;position:relative}.reveal.hit .card-enter{animation:.45s ease-out hit}.reveal:not(.glow)[class*=aura-epic] .card-enter,.reveal:not(.glow)[class*=aura-legendary] .card-enter,.reveal:not(.glow)[class*=aura-mythic] .card-enter{filter:drop-shadow(0 0 22px var(--edge))}.reveal.aura-legendary .card-enter,.reveal.aura-mythic .card-enter{filter:drop-shadow(0 0 38px var(--edge))}.rays{pointer-events:none;opacity:.5;background:repeating-conic-gradient(var(--edge) 0 9deg, transparent 9deg 24deg);width:180vmax;height:180vmax;margin:-90vmax 0 0 -90vmax;animation:14s linear infinite spin,.5s ease-out fade;position:absolute;top:42%;left:50%;-webkit-mask-image:radial-gradient(circle,#000,#0000 55%);mask-image:radial-gradient(circle,#000,#0000 55%)}.shockwave{border:6px solid var(--edge);pointer-events:none;z-index:1;border-radius:50%;width:40px;height:40px;margin:-20px 0 0 -20px;animation:.75s ease-out forwards wave;position:absolute;top:42%;left:50%}.banner{z-index:5;text-align:center;color:#fff;text-shadow:0 0 22px var(--edge), 0 0 6px var(--edge), 0 3px 6px #000000b3;pointer-events:none;font:800 clamp(30px,9vw,56px) Georgia,serif;animation:.5s cubic-bezier(.2,1.6,.4,1) both slam,.5s ease-in 1.9s forwards out;position:absolute;top:5%;left:0;right:0}.all-cards{min-height:100%}.flip-grid{perspective:900px;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;display:grid}.flip{aspect-ratio:5/7;animation:deal .45s calc(var(--i) * 70ms) cubic-bezier(.2, 1, .3, 1) both}.flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.3,1.4,.5,1);position:relative}.flip.flipped .flip-inner{transform:rotateY(180deg)}.flip-back,.flip-front{backface-visibility:hidden;border:2px solid var(--edge);border-radius:10px;position:absolute;inset:0;overflow:hidden}.flip-back{background:linear-gradient(135deg, var(--panel), #3a2f55);justify-content:center;align-items:center;font-size:32px;display:flex}.flip-front{background:var(--panel);text-align:center;flex-direction:column;gap:2px;padding:4px 4px 6px;display:flex;transform:rotateY(180deg)}.flip-front img,.flip-front .tile-blank{object-fit:cover;border-radius:6px;flex:1;width:100%;min-height:0}.flip-front strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.flip-front small{color:var(--muted);font-size:11px}.flip-epic.flipped .flip-front,.flip-legendary.flipped .flip-front,.flip-mythic.flipped .flip-front{box-shadow:0 0 22px var(--edge)}.fade-in{animation:.4s ease-out both fade}@keyframes shine{0%{background-position:130% 0}60%,to{background-position:-130% 0}}@keyframes breathe{50%{filter:brightness(1.25)}}@keyframes rumble{0%{transform:none}20%{transform:translate(-3px,2px)rotate(-1deg)}40%{transform:translate(4px,-2px)rotate(1.5deg)}60%{transform:translate(-6px,3px)rotate(-2.5deg)scale(1.03)}80%{transform:translate(7px,-4px)rotate(3deg)scale(1.06)}to{filter:brightness(1.4);transform:scale(1.1)}}@keyframes flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes enter{0%{opacity:0;transform:translateY(70%)scale(.55)rotate(-6deg)}to{opacity:1;transform:none}}@keyframes hit{0%{transform:scale(1)}30%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes wave{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(26)}}@keyframes slam{0%{opacity:0;transform:scale(3)}to{opacity:1;transform:scale(1)}}@keyframes out{to{opacity:0;transform:translateY(-14px)}}@keyframes deal{0%{opacity:0;transform:translateY(60px)rotate(8deg)scale(.7)}}@media (prefers-reduced-motion:reduce){.pack,.pack-shine,.card-enter,.rays,.shockwave,.banner,.flip,.flash,.torn .flash{animation:none!important}.rays,.shockwave,.flash{display:none}.flip-inner{transition:none}}.card-clip{z-index:1;isolation:isolate;background:#000;border-radius:4.5cqw;position:absolute;inset:0;overflow:hidden}.ghost-photo{opacity:.28;z-index:0}.ghost-cat{opacity:.4;z-index:2;outline:none}.cat-faded{opacity:.35}.version{color:var(--muted);margin-left:auto;font-size:11px;font-weight:400}.wallet .version+.link{margin-left:0}.danger-panel{outline:1px solid #ff5a5f}button.danger{color:#fff;background:#d9363e;font-weight:600}button.danger-link{color:#ff9a9e;background:0 0}.tabs{gap:4px;padding-left:8px;padding-right:8px}.tabs button{min-width:0;padding:0 2px;font-size:13px}.room{flex-direction:column;height:100%;display:flex;position:relative}.room-stage{touch-action:none;flex:1;min-height:0}.room-save{color:var(--muted);pointer-events:none;margin:0;font-size:12px;position:absolute;top:8px;right:12px}.room-panel{background:var(--bg);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.room-shelf{scrollbar-width:none;grid-auto-columns:78px;grid-auto-flow:column;gap:8px;padding-bottom:4px;display:grid;overflow-x:auto}.room-tile{white-space:normal;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;height:88px;padding:4px;line-height:1.1;display:flex;position:relative}.room-tile span{font-size:23px}.room-tile small{max-height:2.3em;font-size:11px;overflow:hidden}.room-tile.picked{outline:2px solid var(--panel-active)}.card-tile{outline:2px solid var(--edge);outline-offset:-2px}.card-tile img{object-fit:cover;border-radius:5px;width:44px;height:44px}.swatch{border-radius:8px;width:42px;height:42px;display:block}.room-greeting{pointer-events:none;background:#14111dcc;border-radius:10px;margin:0 56px 0 0;padding:6px 10px;font-size:13px;position:absolute;top:8px;left:12px;right:12px}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.field input,.field textarea{background:var(--panel);width:100%;color:var(--text);font:inherit;resize:vertical;border:0;border-radius:10px;min-height:42px;padding:10px 12px;font-size:14px}.habit-list{flex-direction:column;gap:6px;display:flex}.habit,.cat-row{white-space:normal;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 12px;display:flex}.habit small,.cat-row small{opacity:.8;font-size:12px;font-weight:400}.cat-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.room-price{color:var(--panel-active);font-size:11px;font-style:normal;font-weight:700}.room-offer{text-align:center;font-size:16px}.room-view{background:#231e31e6;min-height:34px;padding:0 10px;font-size:12px;position:absolute;top:8px;left:10px}.room-greeting{margin-right:0;top:48px}.room-tile{overflow:hidden}.home{flex-direction:column;height:100%;display:flex}.home-switch{padding:0 12px 6px}.home-switch button{min-height:34px}.home-place{flex:1;min-height:0}.garden-petals{pointer-events:none;text-shadow:0 1px 3px #000000b3;justify-content:space-between;align-items:center;gap:8px;font-weight:700;display:flex;position:absolute;top:8px;left:10px;right:10px}.garden-petals button{pointer-events:auto;min-height:34px;font-size:12px}.seed-tile{justify-content:space-between;padding:6px 4px}.seed-tile small{font-size:10.5px}.plant-stage{font-size:13px}.notice{left:12px;right:12px;top:calc(10px + env(safe-area-inset-top));z-index:40;border:1px solid var(--panel-active);white-space:normal;text-align:left;background:#2d2640;border-radius:14px;align-items:center;gap:12px;min-height:64px;padding:12px 14px;animation:.4s cubic-bezier(.2,1.4,.4,1) both drop;display:flex;position:fixed;box-shadow:0 10px 34px #0000008c}.notice-icon{flex:none;font-size:30px}.notice-body{flex-direction:column;gap:2px;min-width:0;display:flex}.notice-body small{font-size:12px}.notice-poke{animation:.3s ease-out both drop,.5s ease-in-out .3s jolt}.notice-hug .notice-icon{animation:1s ease-in-out infinite beat}.room-visit-title{pointer-events:none;background:#14111dcc;border-radius:10px;margin:0;padding:5px 10px;font-size:13px;font-weight:600;position:absolute;top:8px;left:12px}.page .field{margin-top:2px}@keyframes drop{0%{opacity:0;transform:translateY(-120%)}}@keyframes jolt{20%,60%{transform:translate(-9px)}40%,80%{transform:translate(9px)}}@keyframes beat{50%{transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.notice,.notice-icon{animation:none!important}}
