.v-frame{background:var(--color-night-2);border-radius:22px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #f2c46d59,0 24px 60px #00000080}.v-zoom{transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .75s cubic-bezier(.2,.7,.2,1)}.v-zoom.is-zoomed{filter:blur(1.5px)brightness(.6);transform:scale(2.4)}.v-scene{width:100%;height:auto;display:block}.v-scene .twinkle{animation:3.2s ease-in-out infinite v-twinkle}@keyframes v-twinkle{0%,to{opacity:.9}50%{opacity:.25}}.v-scene .aurora path{transform-box:fill-box;transform-origin:50%}.v-scene .aurora .a1{animation:14s ease-in-out infinite alternate v-aurora}.v-scene .aurora .a2{animation:19s ease-in-out infinite alternate-reverse v-aurora}@keyframes v-aurora{0%{opacity:.35;transform:translate(-12px)skew(-4deg)}to{opacity:.6;transform:translate(14px)skew(5deg)}}.v-scene .smoke circle{opacity:0;animation:5s linear infinite v-smoke}@keyframes v-smoke{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:.35}to{opacity:0;transform:translate(10px,-46px)scale(1.8)}}.v-scene .lights{animation:2.4s steps(2,jump-none) infinite v-lights}@keyframes v-lights{0%{opacity:.35}to{opacity:.85}}.v-field{cursor:pointer;outline:none}.v-field .hit{fill:#0000}.v-field .base>*{fill:var(--color-paper);stroke:var(--color-line);stroke-width:1.8px;transition:fill .4s}.v-field .paint>*{stroke:none}.v-field .deco{fill:none;stroke:var(--color-line);stroke-width:1.6px;pointer-events:none}.v-field .sill{stroke:var(--color-snow);stroke-width:5px;stroke-linecap:round}.v-field .num{font-family:var(--font-label);text-anchor:middle;dominant-baseline:central;pointer-events:none;fill:var(--color-night);paint-order:stroke;stroke:var(--color-paper);stroke-width:3px;font-size:22px;font-weight:700}.v-field.is-small .num{font-size:19px}.v-field.is-locked .base>*{fill:url(#frost)}.v-field.is-locked .num{fill:#5a6a9c;stroke:#c3cfea}.v-field.is-opened .base>*{fill:url(#candle)}.v-field.is-done .num{fill:#fff;stroke:#0b1230bf}.v-field .halo{fill:url(#halo);opacity:0;pointer-events:none;transform-box:fill-box;transform-origin:50%}.v-field.is-today .halo{opacity:1;animation:2.2s ease-in-out infinite v-halo}.v-field.is-today .base>*{stroke:var(--color-gold);stroke-width:3px}@keyframes v-halo{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.12)}}.v-field:focus-visible .base>*{stroke:var(--color-gold);stroke-width:3.5px}.v-field.is-shaking{transform-box:fill-box;transform-origin:50%;animation:.5s v-shake}@keyframes v-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)rotate(-3deg)}40%{transform:translate(3px)rotate(3deg)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.v-legend{color:#eef3fbcc;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.v-legend li{align-items:center;gap:8px;display:flex}.v-sw{border:1.3px solid var(--color-line);border-radius:5px;flex:none;width:16px;height:16px}.v-sw.locked{background:radial-gradient(circle,#fff 0 .8px,#0000 1px) 0 0/4px 4px,#b9c7e6}.v-sw.open{background:var(--color-paper);border-color:var(--color-gold);box-shadow:0 0 8px #f2c46dcc}.v-sw.opened{background:linear-gradient(#ffe7a8,#f3b95c)}.v-sw.done{background:linear-gradient(135deg,#e2574c,#f2a541 50%,#4f86d9)}.v-snow,.v-fx{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.v-snow{z-index:3}.v-fx{z-index:60}.v-stage{z-index:50;padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));place-items:center;display:grid;position:fixed;inset:0}.v-veil{background:#060a1c80 radial-gradient(60% 50% at 50% 45%,#18214a8c,#060a1cf5);position:absolute;inset:0}.v-center{justify-items:center;gap:16px;width:100%;max-width:420px;display:grid;position:relative}.v-table{perspective:900px;place-items:center;width:100%;min-height:340px;display:grid}.v-table>*{grid-area:1/1}.v-portal{perspective:700px;width:170px;height:220px;position:relative}.v-portal-light{background:radial-gradient(circle at 50% 58%, #fff8e0 0%, var(--color-gold) 32%, var(--color-ember) 62%, #7a3d1a 100%);border-radius:85px 85px 10px 10px;position:absolute;inset:0;box-shadow:0 0 70px 24px #f2c46d73}.v-portal-frame{pointer-events:none;border:8px solid #c99a4a;border-radius:93px 93px 14px 14px;position:absolute;inset:-8px;box-shadow:inset 0 0 0 2px #7a5222,0 0 0 2px #7a5222}.v-door{backface-visibility:hidden;border:2px solid var(--color-line);background:radial-gradient(circle,#ffffff8c 0 .9px,#0000 1.2px) 0 0/7px 7px,linear-gradient(160deg,#3b4f93,#24316a 70%);width:50%;position:absolute;top:0;bottom:0}.v-door.left{transform-origin:0;border-radius:85px 0 0 8px;left:0}.v-door.right{transform-origin:100%;border-radius:0 85px 8px 0;right:0}.v-door:after{content:"";background:var(--color-gold);width:9px;height:9px;box-shadow:0 0 6px var(--color-gold);border-radius:50%;position:absolute;top:50%}.v-door.left:after{right:8px}.v-door.right:after{left:8px}.v-plaque{width:64px;height:64px;color:var(--color-ink);font-family:var(--font-display);background:radial-gradient(circle at 40% 35%,#fbe3a6,#c99a4a 70%);border-radius:50%;place-items:center;font-size:26px;font-weight:700;display:grid;position:absolute;top:34px;left:50%;transform:translate(-50%);box-shadow:0 0 0 3px #2c4a3c,0 0 0 7px #3f6b52,0 6px 14px #0006}.v-deck{width:100%;height:300px;position:relative}.v-card{border:2px solid var(--color-gold);width:118px;height:168px;color:var(--color-gold);background:radial-gradient(circle,#f2c46d47 0 26%,#0000 27%),repeating-linear-gradient(45deg,#dfe9f714 0 6px,#0000 6px 12px),linear-gradient(160deg,#2b3a7c,#17204a);border-radius:12px;place-items:center;margin:-84px 0 0 -59px;font-size:38px;display:grid;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 0 5px #1c2756,inset 0 0 0 6px #f2c46d99,0 10px 24px #00000073}.v-card.is-face{background:radial-gradient(circle at 50% 40%, #fff8e6, var(--color-parchment) 70%);color:var(--color-wax);box-shadow:inset 0 0 0 5px var(--color-parchment), inset 0 0 0 6px #c99a4a, 0 0 40px #f2c46d99}.v-scroll{filter:drop-shadow(0 18px 30px #0000008c);width:min(360px,100% - 44px);position:relative}.v-rod{z-index:2;background:linear-gradient(#f0cf8a,#b07a33 55%,#774a19);border-radius:9px;height:18px;margin:0 -10px;position:relative}.v-rod:before,.v-rod:after{content:"";background:radial-gradient(circle at 35% 35%,#ffe2a2,#9c6a28 70%);border-radius:50%;width:24px;height:24px;position:absolute;top:-3px}.v-rod:before{left:-12px}.v-rod:after{right:-12px}.v-scroll-body{color:var(--color-ink);background:radial-gradient(120% 80% at 50% 50%, transparent 55%, #96642847), linear-gradient(180deg, #f8edd3, var(--color-parchment) 40%, #efdcb2);max-height:52vh;padding:22px 24px 30px;position:relative;overflow:auto}.v-eyebrow{font-family:var(--font-label);letter-spacing:.08em;color:#8a5a22;margin:0;font-size:14px;font-weight:700}.v-title{font-family:var(--font-body);text-wrap:balance;margin:6px 0 10px;font-size:26px;font-weight:800;line-height:1.15}.v-text{margin:0;font-size:18px}.v-note{color:var(--color-ink-soft);border-top:1px dashed #3b26144d;margin:16px 0 0;padding-top:10px;font-size:15px;font-style:italic}.v-w{white-space:pre;display:inline-block}.v-seal{z-index:3;background:radial-gradient(circle at 35% 30%, #d9475a, var(--color-wax) 58%, #6b0f1a);color:#fbd9cf;width:86px;height:86px;font-family:var(--font-label);letter-spacing:.08em;border-radius:50%;align-content:center;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;bottom:-6px;right:6px;transform:rotate(-12deg);box-shadow:0 4px 10px #00000073,inset 0 -3px 6px #0000004d}.v-seal:before{content:"";border:1.5px dashed #ffdccd99;border-radius:50%;position:absolute;inset:7px}.v-seal-star{font-size:22px;line-height:1}.v-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.v-btn{cursor:pointer;border:1.5px solid #0000;border-radius:12px;min-height:46px;padding:10px 18px;font-size:17px;font-weight:700}.v-btn-primary{color:var(--color-ink);background:linear-gradient(#ffe09a,#e3a943);border-color:#b07a33;box-shadow:0 6px 18px #f2c46d59}.v-btn-joker{border-color:var(--color-gold);color:var(--color-gold);background:#17204ad9}.v-btn-joker:disabled{opacity:.45;cursor:not-allowed}.v-btn-ghost{color:#eef3fbd9;text-underline-offset:4px;background:0 0;text-decoration:underline}.v-hint{color:#eef3fb8c;margin:0;font-size:14px;font-style:italic}.v-error{text-align:center;background:var(--color-parchment);max-width:360px;color:var(--color-wax);border-radius:12px;margin:0;padding:12px 16px;font-weight:700}.v-toast{z-index:70;left:50%;top:calc(env(safe-area-inset-top,0px) + 14px);background:var(--color-parchment);width:max-content;max-width:calc(100% - 32px);color:var(--color-ink);text-align:center;border:1.5px solid #c99a4a;border-radius:12px;padding:10px 16px;font-size:16px;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000073}@media (prefers-reduced-motion:reduce){.v-zoom{transition:none}.v-scene .twinkle,.v-scene .aurora path,.v-scene .smoke circle,.v-scene .lights,.v-field.is-today .halo{animation:none}}
