#festivalHome[hidden]{display:none!important}#festivalHome{margin:0 0 22px;padding:20px;border:1px solid var(--vi-line,#5c466e);border-radius:16px;background:var(--vi-panel,#171020);color:var(--vi-text,#f7f1ff);box-sizing:border-box}#festivalHome>a{display:inline-flex;align-items:center;min-height:44px;color:var(--vi-accent,#c797ff);font-size:13px;text-underline-offset:4px}#festivalHome .fv-home-note{font-size:12px;line-height:1.6;max-width:90ch;color:var(--vi-muted,#c6b6d7);margin:12px 0 0}.fv-banner{display:flex;align-items:center;gap:22px;position:relative;isolation:isolate;overflow:hidden;padding:24px;border:1px solid var(--vi-line,#5c466e);border-radius:14px;background:var(--vi-panel,#171020);color:var(--vi-text,#f7f1ff);min-width:0;box-sizing:border-box}.fv-banner::after{content:"";position:absolute;z-index:-1;width:190px;height:190px;right:-60px;top:-70px;border:1px solid var(--vi-line,#5c466e);transform:rotate(30deg);pointer-events:none}.fv-banner[data-festival=vf-winter]::after{border-radius:50%;box-shadow:0 0 0 24px #9e9eff09}.fv-banner[data-festival=vf-retro]::after{background:repeating-linear-gradient(90deg,transparent 0 14px,#9e9eff0a 14px 15px);transform:rotate(0)}.fv-banner[data-festival=vf-mecha]::after{border-width:3px;transform:rotate(-20deg)}.fv-art{display:grid;place-items:center;flex:none;width:58px;height:58px;border:1px solid var(--vi-accent,#c797ff);color:var(--vi-accent,#c797ff);border-radius:9px;font:700 32px/1 system-ui;animation:fv-drift 8s ease-in-out infinite;pointer-events:none}.fv-banner-copy{min-width:0}.fv-banner-copy strong{display:block;font:800 24px/1.3 system-ui;color:var(--vi-text,#f7f1ff);overflow-wrap:anywhere}.fv-banner-copy p{font:13px/1.6 system-ui;margin:8px 0 0;color:var(--vi-muted,#c6b6d7)}.fv-banner-copy .fv-eyebrow{font:700 10px/1.6 system-ui;letter-spacing:1px;margin:0 0 7px;color:var(--vi-accent,#c797ff)}.fv-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}.fv-card{padding:25px;border:1px solid var(--vi-line);background:var(--vi-panel);border-radius:16px;min-width:0}.fv-card h2{font-size:25px}.fv-card>p{font-size:13px}.fv-card .fv-state{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--vi-accent);margin:0 0 12px}.fv-card .fv-banner{margin:18px 0}.fv-card .fv-banner-copy strong{font-size:20px}.fv-card .fv-art{width:46px;height:46px;font-size:27px}.fv-method{padding:25px}.fv-method p{font-size:13px;max-width:95ch}.fv-dialog{max-height:90vh;overflow:auto}.fv-dialog .fv-banner{margin:20px 0}.fv-dialog p{font-size:14px;line-height:1.7}.fv-dialog-status{color:var(--vi-text);min-height:1.7em}html[data-av-effects=off] .fv-art{display:none}html[data-av-effects=off] .fv-banner::after{display:none}html[data-av-motion=off] .fv-art{animation:none}html[data-av-interface=manga] :is(.fv-card,.fv-banner,#festivalHome){border-radius:3px}@keyframes fv-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.fv-art{animation:none}}@media(max-width:900px){.fv-cards{grid-template-columns:1fr}}@media(max-width:500px){.fv-card{padding:20px}.fv-banner{padding:18px;gap:13px}.fv-art{width:42px;height:42px;font-size:25px}.fv-banner-copy strong{font-size:20px}.fv-banner-copy p{font-size:12px}.fv-dialog{padding:20px}.fv-dialog .vi-actions{flex-wrap:wrap}.fv-dialog .vi-actions button{max-width:100%}}@media(forced-colors:active){.fv-banner::after{display:none}.fv-art{animation:none;border-color:CanvasText;color:CanvasText}}

#festivalHome[data-fv-suspended=true] .fv-art,#festivalHome[data-fv-suspended=true] .fv-banner::after{display:none;animation:none}

.fv-banner-copy .fv-eyebrow{display:block}.fv-banner::after{opacity:.35}@media(max-width:500px){.fv-banner::after{display:none}}
