.fv-root{--ink:#150f2c;--ink-soft:#2b1f52;--cream:#f8f0e0;--violet:#6b4fd6;--cyan:#35e2ff;--blue:#1a7ff0;--pink:#ff2e88;--yellow:#ffd23f;--deep:#170e33;background:var(--deep);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Patrick Hand,Noto Sans SC,system-ui,sans-serif;position:fixed;inset:0;overflow:hidden}.fv-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.fv-canvas{cursor:grab}.fv-canvas.is-dragging{cursor:grabbing}.fv-canvas.is-pointing{cursor:pointer}.fv-boot{background:var(--deep);color:var(--cream);letter-spacing:.08em;z-index:50;place-items:center;font-family:Bangers,cursive;font-size:22px;transition:opacity .5s;display:grid;position:absolute;inset:0}.fv-boot.is-done{opacity:0;pointer-events:none}.fv-panel{opacity:0;pointer-events:none;background:var(--cream);border:7px solid var(--ink);z-index:20;border-radius:3px;flex-direction:column;width:min(420px,88vw);max-height:78vh;transition:opacity .32s,transform .42s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:50%;right:4vw;transform:translateY(-50%)translate(40px);box-shadow:14px 16px #150f2c8c}.fv-panel.is-open{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.fv-panel__head{border-bottom:5px solid var(--ink);background:var(--pink);color:var(--cream);padding:16px 20px 12px;position:relative;overflow:hidden}.fv-panel__head:before{content:"";--dot:#150f2c73;--dot-size:7px;background-image:radial-gradient(var(--dot) 32%, transparent 34%);background-size:var(--dot-size) var(--dot-size);position:absolute;inset:0;mask-image:linear-gradient(200deg,#0000 40%,#000)}.fv-panel__place{letter-spacing:.04em;text-shadow:3px 3px 0 var(--ink);font-family:Bangers,Patrick Hand,cursive;font-size:40px;line-height:1;position:relative}.fv-panel__sub{opacity:.95;letter-spacing:.04em;margin-top:6px;font-size:15px;position:relative}.fv-panel__meta{border-bottom:4px solid var(--ink);background:var(--yellow);align-items:center;gap:10px;padding:10px 20px;font-size:15px;display:flex}.fv-stars{letter-spacing:.12em;font-family:Bangers,cursive;font-size:18px}.fv-stars__num{letter-spacing:0;opacity:.8;font-family:Patrick Hand,system-ui,sans-serif;font-size:15px}.fv-panel__body{color:var(--ink-soft);padding:18px 20px 22px;font-size:17px;line-height:1.75;overflow-y:auto}.fv-panel__body p{margin:0 0 14px}.fv-panel__body blockquote{border-left:5px solid var(--pink);opacity:.85;background:#ff2e8814;margin:16px 0 0;padding:8px 12px;font-size:15px}.fv-panel__close{background:var(--cyan);border:6px solid var(--ink);width:42px;height:42px;color:var(--ink);cursor:pointer;z-index:3;font-family:Bangers,cursive;font-size:22px;line-height:1;position:absolute;top:-7px;right:-7px}.fv-panel__close:hover{background:var(--yellow)}.fv-hud{z-index:30;align-items:center;gap:10px;display:flex;position:absolute}.fv-hud--tl{top:20px;left:22px}.fv-hud--tr{top:20px;right:22px}.fv-hud--bl{bottom:20px;left:22px}.fv-btn{letter-spacing:.07em;background:var(--cream);color:var(--ink);border:5px solid var(--ink);cursor:pointer;border-radius:3px;padding:7px 15px 8px;font-family:Bangers,Patrick Hand,cursive;font-size:17px;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:inline-block;box-shadow:4px 5px #150f2c99}.fv-btn:hover{background:var(--yellow);transform:translate(2px,2px);box-shadow:2px 3px #150f2c99}.fv-title{letter-spacing:.06em;color:var(--cream);text-shadow:3px 3px 0 var(--ink), 6px 6px 0 var(--pink);font-family:Bangers,Patrick Hand,cursive;font-size:30px;line-height:1}.fv-hint{color:var(--cream);opacity:.75;text-shadow:2px 2px #150f2ce6;font-size:14px}.fv-tag{z-index:25;background:var(--yellow);color:var(--ink);border:4px solid var(--ink);letter-spacing:.06em;white-space:nowrap;pointer-events:none;border-radius:4px;padding:1px 10px 3px;font-family:Bangers,Patrick Hand,cursive;font-size:17px;position:absolute;transform:translate(-50%,-140%);box-shadow:3px 4px #150f2c8c}.fv-list{z-index:40;background:var(--deep);padding:88px 24px 60px;position:absolute;inset:0;overflow-y:auto}.fv-list__inner{flex-direction:column;gap:18px;max-width:720px;margin:0 auto;display:flex}.fv-card{background:var(--cream);border:6px solid var(--ink);padding:16px 18px;box-shadow:8px 9px #00000080}.fv-card h3{letter-spacing:.04em;color:var(--ink);margin:0 0 4px;font-family:Bangers,Patrick Hand,cursive;font-size:27px}.fv-card__meta{color:var(--ink-soft);opacity:.8;margin-bottom:8px;font-size:14px}.fv-card__body{color:var(--ink-soft);font-size:16px;line-height:1.7}.fv-card__body p{margin:0 0 10px}@media (width<=820px){.fv-panel{border-width:6px 0 0;border-radius:0;width:100%;max-height:58vh;inset:auto 0 0;transform:translateY(30px)}.fv-panel.is-open{transform:translateY(0)}.fv-panel__close{top:-22px;right:8px}.fv-title{font-size:20px}.fv-hud--tl{flex-direction:column;align-items:flex-start;gap:6px}.fv-btn{border-width:4px;padding:5px 11px 6px;font-size:15px}.fv-hint,.fv-tag{display:none}}@media (prefers-reduced-motion:reduce){.fv-panel{transition-duration:1ms!important}}.fv-views{gap:0;display:flex}.fv-btn--view{padding-inline:.62rem}.fv-views .fv-btn--view+.fv-btn--view{margin-left:-1px}.fv-btn--view.is-on{background:var(--fv-ink,#170e33);color:#fff8ee}.fv-guide{z-index:60;background:#0b061abd;place-items:center;padding:24px;animation:.2s both fv-guide-in;display:grid;position:absolute;inset:0}@keyframes fv-guide-in{0%{opacity:0}to{opacity:1}}.fv-guide__panel{background:var(--cream);border:6px solid var(--ink);flex-direction:column;width:min(560px,100%);max-height:min(78vh,720px);display:flex;position:relative;box-shadow:10px 11px #0000008c}.fv-guide__head{background:var(--violet);border-bottom:5px solid var(--ink);color:var(--cream);padding:16px 20px 13px}.fv-guide__title{letter-spacing:.06em;text-shadow:3px 3px 0 var(--ink);font-family:Bangers,Patrick Hand,cursive;font-size:32px;line-height:1}.fv-guide__sub{opacity:.88;margin-top:9px;font-size:14px}.fv-guide__body{color:var(--ink-soft);padding:4px 20px;overflow-y:auto}.fv-guide__body section{margin:15px 0}.fv-guide__body h4{letter-spacing:.05em;color:var(--ink);margin:0 0 7px;font-family:Bangers,Patrick Hand,cursive;font-size:20px}.fv-guide__body h4:before{content:"";background:var(--pink);border:2px solid var(--ink);vertical-align:2px;width:9px;height:9px;margin-right:8px;display:inline-block}.fv-guide__body ul{margin:0;padding-left:19px}.fv-guide__body li{margin-bottom:2px;font-size:15.5px;line-height:1.7}.fv-guide__body b{font-weight:inherit;background:var(--yellow);box-shadow:0 0 0 2px var(--yellow);border-radius:2px}.fv-guide__foot{border-top:4px solid var(--ink);background:#150f2c0f;flex-wrap:wrap;align-items:center;gap:12px;padding:13px 20px 16px;display:flex}.fv-guide__note{color:var(--ink-soft);opacity:.7;font-size:13px}.fv-btn--mini{border-width:4px;padding:4px 10px 5px;font-size:14px;box-shadow:3px 4px #150f2c99}@media (width<=820px){.fv-guide{padding:14px}.fv-guide__panel{border-width:5px;max-height:84vh}.fv-guide__close{border-width:5px;width:38px;height:38px;font-size:20px}.fv-guide__title{font-size:26px}.fv-guide__sub{font-size:13px}.fv-guide__body h4{font-size:18px}.fv-guide__body li{font-size:15px;line-height:1.62}.fv-guide__note{display:none}}.fv-guide__close{top:-8px;right:-8px}.fv-diploma{opacity:0;pointer-events:none;background:var(--cream);border:7px solid var(--ink);z-index:21;border-radius:3px;flex-direction:column;width:min(340px,84vw);max-height:74vh;transition:opacity .32s,transform .42s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:50%;left:4vw;transform:translateY(-50%)translate(-40px);box-shadow:14px 16px #150f2c8c}.fv-diploma.is-open{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.fv-diploma__close{top:-14px;right:-14px}.fv-diploma>.fv-panel__head .fv-panel__place{font-size:32px}.fv-diploma>.fv-panel__head .fv-panel__sub{font-size:13px}.fv-diploma>.fv-panel__head,.fv-diploma__foot{flex:none}.fv-diploma__body{flex:auto;min-height:0;font-size:16px}.fv-diploma__body p:last-child{margin-bottom:0}.fv-diploma__foot{border-top:5px solid var(--ink);background:#150f2c0f;gap:10px;padding:10px 16px 12px;display:flex}@media (width<=820px){.fv-diploma{z-index:31;border-width:6px 0 0;border-radius:0;width:100%;max-height:46vh;inset:auto 0 0;transform:translateY(30px)}.fv-diploma.is-open{transform:translateY(0)}.fv-diploma__close{top:-22px;right:8px}.fv-diploma>.fv-panel__head{padding:10px 16px 8px}.fv-diploma>.fv-panel__head .fv-panel__place{font-size:26px}.fv-diploma__body{padding:12px 16px 14px;font-size:15px;line-height:1.6}.fv-diploma__foot{display:none}}@media (prefers-reduced-motion:reduce){.fv-diploma{transition-duration:1ms!important}}.fv-sheet{opacity:0;pointer-events:none;background:var(--cream);border:7px solid var(--ink);z-index:21;border-radius:3px;flex-direction:column;width:min(560px,88vw);max-height:80vh;transition:opacity .32s,transform .42s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:50%;left:4vw;transform:translateY(-50%)translate(-40px);box-shadow:14px 16px #150f2c8c}.fv-sheet.is-open{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.fv-sheet__close{top:-14px;right:-14px}.fv-sheet>.fv-panel__head,.fv-sheet__foot{flex:none}.fv-sheet__scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding-bottom:6px;overflow-y:auto}.fv-sheet:not(.has-score){width:min(360px,84vw)}.fv-sheet:not(.has-score) .fv-sheet__score{display:none}.fv-sheet__note{color:var(--ink-soft);opacity:.7;margin:0;padding:0 20px 14px;font-size:15px}.fv-sheet__paper{padding:0 14px 10px}.fv-sheet__paper svg{max-width:100%;height:auto}.fv-sheet__paper [data-index]{cursor:pointer}.fv-sheet__paper [data-index]:hover,.fv-sheet__paper [data-index]:hover path,.fv-sheet__paper [data-index]:hover ellipse,.fv-sheet__paper [data-index]:hover line{fill:#ff2e888c;stroke:#ff2e888c}.fv-sheet__paper .fv-note-on,.fv-sheet__paper .fv-note-on path,.fv-sheet__paper .fv-note-on ellipse,.fv-sheet__paper .fv-note-on line{fill:var(--pink);stroke:var(--pink)}.fv-sheet__paper .fv-note-on--lh,.fv-sheet__paper .fv-note-on--lh path,.fv-sheet__paper .fv-note-on--lh ellipse,.fv-sheet__paper .fv-note-on--lh line{fill:var(--blue);stroke:var(--blue)}.fv-sheet__note--tip{opacity:.5;padding-bottom:6px;font-size:13px}.fv-sheet__note--tip .fv-hand{opacity:1;font-weight:700}.fv-hand--rh{color:var(--pink)}.fv-hand--lh{color:var(--blue)}.fv-sheet__foot{border-top:5px solid var(--ink);background:#150f2c0f;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px 12px;display:flex}.fv-sheet__btns{gap:8px;display:flex}.fv-sheet__foot .fv-btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.fv-sheet__prog{border:3px solid var(--ink);background:var(--cream);cursor:pointer;flex:90px;min-width:80px;height:10px;position:relative}.fv-sheet__prog:after{content:"";position:absolute;inset:-11px 0}.fv-sheet__prog:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.fv-sheet__prog span{background:var(--pink);width:0%;height:100%;display:block}.fv-sheet__clock{color:var(--ink-soft);font-variant-numeric:tabular-nums;opacity:.8;font-size:14px}.fv-playing{background:var(--cream);color:var(--ink);border:5px solid var(--ink);white-space:nowrap;z-index:22;align-items:center;gap:10px;padding:7px 12px 8px;font-size:15px;display:flex;position:absolute;bottom:62px;left:50%;transform:translate(-50%);box-shadow:8px 9px #150f2c80}.fv-playing__dot{background:var(--pink);border-radius:50%;width:9px;height:9px;animation:1.6s ease-in-out infinite fv-beat}.fv-playing__dot.is-held{box-shadow:inset 0 0 0 3px var(--ink);background:0 0;animation:none}@keyframes fv-beat{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@media (width<=820px){.fv-sheet{border-width:6px 0 0;border-radius:0;width:100%;max-height:72vh;inset:auto 0 0;transform:translateY(30px)}.fv-sheet.is-open{transform:translateY(0)}.fv-sheet__close{top:-22px;right:8px}.fv-playing{font-size:14px;top:64px;bottom:auto}}@media (prefers-reduced-motion:reduce){.fv-sheet{transition-duration:1ms!important}.fv-playing__dot{animation:none}}.fv-sheet__tools{flex-wrap:wrap;flex:1 0 100%;align-items:center;gap:6px;padding-top:2px;display:flex}.fv-sheet__label{color:var(--ink-soft);opacity:.75;margin-right:2px;font-size:14px}.fv-chip{background:var(--cream);color:var(--ink-soft);border:2px solid var(--ink);cursor:pointer;border-radius:2px;padding:5px 9px 6px;font-family:inherit;font-size:14px;line-height:1;transition:background .12s,color .12s}.fv-chip:hover:not(:disabled){background:var(--yellow)}.fv-chip:disabled{opacity:.42;cursor:not-allowed}.fv-chip.is-on{background:var(--ink);color:var(--cream)}.fv-chip--wide{margin-left:auto}.fv-chip:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.fv-upload{max-width:min(640px,92vw)}.fv-upload__text{resize:vertical;box-sizing:border-box;width:100%;min-height:220px;color:var(--ink);background:var(--cream);border:3px solid var(--ink);white-space:pre;overflow-wrap:normal;border-radius:2px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;overflow-x:auto}.fv-upload__text:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.fv-upload__row{align-items:center;gap:10px;margin-top:10px;display:flex}.fv-upload__row input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.fv-upload__row .fv-chip--wide{margin-left:0}.fv-upload__err{color:var(--pink);font-size:14px}.fv-screen-layer{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.fv-seat{z-index:45;pointer-events:none;position:absolute;inset:0}.fv-seat__out{pointer-events:auto;border:2px solid var(--ink);background:var(--cream);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:9px 18px;font-family:Patrick Hand,system-ui,sans-serif;font-size:15px;display:inline-flex;position:absolute;bottom:clamp(14px,4vh,34px);left:50%;transform:translate(-50%);box-shadow:3px 3px #150f2cd9}.fv-seat__out:hover{background:#fff}.fv-seat__out:active{transform:translate(-50%)translate(2px,2px);box-shadow:1px 1px #150f2cd9}.fv-seat__out kbd{font:inherit;border:1.5px solid var(--ink);opacity:.72;border-radius:5px;padding:1px 6px;font-size:12px}.fv-seat__note{color:var(--cream);white-space:nowrap;background:#150f2ce6;border-radius:999px;padding:7px 15px;font-family:Patrick Hand,system-ui,sans-serif;font-size:14px;position:absolute;bottom:calc(clamp(14px,4vh,34px) + 52px);left:50%;transform:translate(-50%)}.fv-seat__out--off{background:#f8f0e0b8;padding:8px 14px;font-size:14px;left:auto;right:calc(50% + 62px);transform:none}.fv-seat__out--off:active{transform:translate(2px,2px);box-shadow:1px 1px #150f2cd9}.fv-seat__note{pointer-events:auto}.fv-seat__note a{color:var(--cyan);text-underline-offset:2px;white-space:nowrap;text-decoration:underline}.fv-seat__note a:hover{color:#fff}.fv-dpad{left:max(12px, env(safe-area-inset-left));bottom:calc(84px + env(safe-area-inset-bottom));pointer-events:none;width:168px;height:168px;position:absolute}.fv-dpad__b{pointer-events:auto;border:2px solid var(--ink);width:56px;height:56px;color:var(--ink);cursor:pointer;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;background:#f8f0e0e0;border-radius:12px;place-items:center;font-size:22px;line-height:1;display:grid;position:absolute;box-shadow:2px 2px #150f2ccc}.fv-dpad__b:active{box-shadow:none;transform:translate(2px,2px)}.fv-dpad__b--u{top:0;left:56px}.fv-dpad__b--l{top:56px;left:0}.fv-dpad__b--r{top:56px;left:112px}.fv-dpad__b--d{top:112px;left:56px}@media (width<=560px){.fv-seat__out{bottom:calc(66px + env(safe-area-inset-bottom))}.fv-seat__note{bottom:calc(118px + env(safe-area-inset-bottom))}.fv-dpad{bottom:calc(136px + env(safe-area-inset-bottom))}}.fv-seat__out--open{background:#f8f0e0d1;padding:8px 16px;font-size:14px;bottom:calc(clamp(14px,4vh,34px) + 46px)}@media (width<=560px){.fv-seat__out--open{bottom:calc(66px + 46px + env(safe-area-inset-bottom))}.fv-seat__note{bottom:calc(160px + env(safe-area-inset-bottom))}}
