:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--songi-bg:#f7f6f3;--songi-surface:#fff;--songi-surface-muted:#f1efeb;--songi-border:#e6e3de;--songi-border-strong:#d3cfc8;--songi-text:#1c1b19;--songi-text-muted:#6d6a64;--songi-primary:#1c1b19;--songi-primary-hover:#3b3935;--songi-on-primary:#fff;--songi-accent:#f0532e;--songi-accent-soft:#fff0eb;--songi-accent-text:#c2410c;--songi-danger:#c0362c;--songi-danger-soft:#fdecea;--songi-radius-sm:.625rem;--songi-radius:1rem;--songi-radius-lg:1.5rem;--songi-shadow-sm:0 1px 2px #1c1b190f;--songi-shadow:0 1px 2px #1c1b190a, 0 8px 24px #1c1b190f;--songi-shadow-lg:0 2px 4px #1c1b190a, 0 16px 40px #1c1b191a;--songi-focus:0 0 0 3px #f0532e59;--songi-content-width:44rem}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--songi-bg);color:var(--songi-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;word-break:keep-all;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.55}h1,h2,h3{letter-spacing:-.02em;line-height:1.25}::selection{background:var(--songi-accent-soft);color:var(--songi-text)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.app{flex-direction:column;min-height:100vh;display:flex}.app__topbar,.app__main,.app__footer{width:min(100%, var(--songi-content-width));margin:0 auto;padding-inline:1.25rem}.app__topbar{justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem 0;display:flex}.app__home{color:var(--songi-text-muted);border-radius:999px;align-items:center;gap:.375rem;padding:.375rem .75rem .375rem .5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}@media (hover:hover){.app__home:hover{background:var(--songi-surface-muted);color:var(--songi-text)}}.app__home:focus-visible{box-shadow:var(--songi-focus);color:var(--songi-text);outline:none}.app__main{flex-direction:column;flex:1;gap:1.5rem;padding-block:clamp(2rem,6vh,4rem) 2.5rem;display:flex}.app__header{text-align:center;flex-direction:column;align-items:center;gap:.625rem;display:flex}.app__eyebrow{background:var(--songi-accent-soft);color:var(--songi-accent-text);border-radius:999px;align-items:center;gap:.375rem;padding:.3rem .75rem;font-size:.8125rem;font-weight:700;display:inline-flex}.app__title{text-wrap:balance;margin:0;font-size:clamp(1.875rem,5.5vw,2.75rem);font-weight:800}.app__subtitle{text-wrap:balance;max-width:36rem;color:var(--songi-text-muted);margin:0}.app__card{border:1px solid var(--songi-border);border-radius:var(--songi-radius-lg);background:var(--songi-surface);box-shadow:var(--songi-shadow);padding:clamp(1.25rem,4vw,2rem)}.app__footer{color:var(--songi-text-muted);text-align:center;padding-block:0 1.75rem;font-size:.8125rem}.app__footer p{margin:0}.btn{appearance:none;border:1px solid var(--songi-border-strong);background:var(--songi-surface);min-height:2.75rem;color:var(--songi-text);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:700;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;display:inline-flex}@media (hover:hover){.btn:not(:disabled):hover{background:var(--songi-surface-muted)}}.btn:not(:disabled):active{transform:scale(.98)}.btn:focus-visible{box-shadow:var(--songi-focus);outline:none}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{border-color:var(--songi-primary);background:var(--songi-primary);color:var(--songi-on-primary)}@media (hover:hover){.btn--primary:not(:disabled):hover{border-color:var(--songi-primary-hover);background:var(--songi-primary-hover)}}.btn--ghost{color:var(--songi-text-muted);background:0 0;border-color:#0000}@media (hover:hover){.btn--ghost:not(:disabled):hover{background:var(--songi-surface-muted);color:var(--songi-text)}}.btn--danger{border-color:var(--songi-danger);background:var(--songi-danger);color:#fff}@media (hover:hover){.btn--danger:not(:disabled):hover{background:#a82d24}}.btn--danger-outline{background:var(--songi-surface);color:var(--songi-danger);border-color:#f1c4bf}@media (hover:hover){.btn--danger-outline:not(:disabled):hover{background:var(--songi-danger-soft)}}.btn--small{min-height:2.25rem;padding:.375rem .875rem;font-size:.875rem}.btn--large{min-width:12rem;min-height:3.5rem;padding:.875rem 2rem;font-size:1.0625rem}kbd{border:1px solid var(--songi-border-strong);background:var(--songi-surface);color:var(--songi-text);font:inherit;border-bottom-width:2px;border-radius:.375rem;padding:.0625rem .4375rem;font-size:.8125rem;font-weight:600;display:inline-block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app__main{width:100%;max-width:30rem}.start{text-align:center}.start__lead{color:var(--songi-text-muted);margin:.5rem 0 1rem;line-height:1.6}.start__how{text-align:left;border-radius:var(--songi-radius);background:var(--songi-surface-muted);margin:0 0 1.25rem;padding:1rem 1rem 1rem 2.4rem;line-height:1.7}.start__actions{flex-direction:column;gap:.625rem;display:flex}.start__record{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.5rem;margin:0 0 1rem;display:flex}.start__record strong{font-size:1.25rem}.start__ghost{width:100%;color:var(--songi-text-muted);font-size:.8125rem}.start__warn{color:var(--songi-danger);margin:.75rem 0 0;font-size:.8125rem}.start__daily{color:var(--songi-text-muted);margin:1rem 0 0;font-size:.8125rem}.play{flex-direction:column;gap:1rem;display:flex;position:relative}.play__hud{justify-content:space-between;align-items:center;gap:1rem;display:flex}.play__timer{flex:1;align-items:center;gap:.5rem;display:flex}.play__seconds{font-variant-numeric:tabular-nums;min-width:2.75rem;font-weight:800}.play__timebar{background:var(--songi-surface-muted);border-radius:999px;flex:1;height:.625rem;overflow:hidden}.play__timebar-fill{background:var(--songi-accent);border-radius:999px;height:100%;display:block}.play__scores{align-items:baseline;gap:.5rem;display:flex}.play__score{font-variant-numeric:tabular-nums;font-weight:800}.play__combo{color:var(--songi-accent-text);background:var(--songi-accent-soft);border-radius:999px;padding:.125rem .5rem;font-size:.8125rem;font-weight:700}.orders{gap:.5rem;min-height:4.875rem;margin:0;padding:.25rem;list-style:none;display:flex;overflow-x:auto}.orders__empty{color:var(--songi-text-muted);align-self:center;padding:0 .5rem;font-size:.875rem}.orders>li{flex:none}.order{border:1px solid var(--songi-border);border-radius:var(--songi-radius-sm);background:var(--songi-surface);flex:none;grid-template-columns:auto auto;align-items:center;gap:0 .375rem;padding:.5rem .625rem;display:grid}.order--urgent{border-color:var(--songi-danger)}.order__filling{grid-row:span 2;font-size:1.25rem}.order__label{font-size:.8125rem;font-weight:700}.order__count{color:var(--songi-text-muted);font-size:.8125rem;font-weight:700}.order__patience{background:var(--songi-surface-muted);border-radius:999px;grid-column:1/-1;height:.25rem;margin-top:.375rem;overflow:hidden}.order__patience-fill{background:var(--songi-accent);height:100%;display:block}.order--urgent .order__patience-fill{background:var(--songi-danger)}.pans{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.pan{border:2px solid var(--songi-border-strong);border-radius:var(--songi-radius);background:var(--songi-surface);cursor:pointer;min-width:0;min-height:8.5rem;color:inherit;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.625rem;display:flex;position:relative}.pan__status{color:var(--songi-text-muted);font-size:.8125rem;font-weight:800}.pan__status--perfect,.pan__status--good{color:var(--songi-accent-text)}.pan__status--burnt{color:var(--songi-danger)}.pan--empty{color:var(--songi-text-muted);border-style:dashed}.pan__hint{font-size:.875rem;font-weight:700}.pan__fish{width:auto;max-width:100%;height:3.25rem}.pan--perfect{border-color:var(--songi-accent);box-shadow:var(--songi-focus)}.pan--burnt{border-color:var(--songi-danger);background:var(--songi-danger-soft)}.pan--raw{cursor:default}.pan__filling{font-size:.75rem;font-weight:700}.pan__gauge{background:var(--songi-surface-muted);border-radius:999px;width:100%;height:.5rem;position:relative;overflow:hidden}.pan__green{background:#34a85366;position:absolute;top:0;bottom:0}.pan--perfect .pan__green{background:#34a853b3}.pan__marker{background:var(--songi-text);border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-2px;bottom:-2px}.picker{gap:.5rem;display:flex}.picker__btn{border:1px solid var(--songi-border);border-radius:var(--songi-radius-sm);background:var(--songi-surface);cursor:pointer;color:inherit;flex-direction:column;flex:1;align-items:center;gap:.125rem;padding:.625rem .5rem;font-size:.8125rem;font-weight:700;display:flex}.picker__btn--on{border-color:var(--songi-primary);background:var(--songi-primary);color:var(--songi-on-primary)}.picker__btn:disabled{opacity:.5;cursor:not-allowed}.picker__emoji{font-size:1.25rem}.picker__lock{font-size:.6875rem;font-weight:500}.flash{color:var(--songi-on-primary);background:var(--songi-text);pointer-events:none;border-radius:999px;margin:0;padding:.375rem .875rem;font-weight:800;animation:.7s ease-out forwards flash-pop;position:absolute;top:3.5rem;left:50%;transform:translate(-50%)}.flash--perfect{background:var(--songi-accent)}.flash--bad{background:var(--songi-danger)}.flash--info{background:var(--songi-text-muted)}.station{flex-direction:column;gap:.375rem;display:flex}.station__title{margin:0;font-size:.875rem;font-weight:800}.station__hint{color:var(--songi-text-muted);margin-left:.25rem;font-size:.75rem;font-weight:500}.play__step{border-radius:var(--songi-radius-sm);background:var(--songi-surface-muted);text-align:center;margin:0;padding:.5rem .75rem;font-size:.875rem;font-weight:700}.rack__slots{border-radius:var(--songi-radius);background:var(--songi-surface-muted);gap:.5rem;margin:0;padding:.5rem;list-style:none;display:grid}.rack__empty{border:1px dashed var(--songi-border);border-radius:var(--songi-radius-sm);min-height:4.25rem}.rack__item{border:2px solid var(--songi-border);border-radius:var(--songi-radius-sm);background:var(--songi-surface);width:100%;min-height:4.25rem;font:inherit;color:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:.125rem;padding:.375rem;display:flex;position:relative}.rack__x{color:var(--songi-text-muted);font-size:.625rem;position:absolute;top:.125rem;right:.3125rem}.rack__item--burnt{border-color:var(--songi-danger)}.rack__fish{width:70%;height:auto}.rack__label{font-size:.6875rem;font-weight:700}.rack__warmth{background:var(--songi-border);border-radius:999px;width:80%;height:.1875rem;overflow:hidden}.rack__warmth-fill{background:var(--songi-accent);height:100%;display:block}.ghost{color:var(--songi-text-muted);align-items:center;gap:.5rem;margin:-.5rem 0 0;font-size:.8125rem;display:flex}.ghost__score{font-variant-numeric:tabular-nums;font-weight:700}.ghost__lead{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:800}.ghost__lead--ahead{color:var(--songi-accent-text)}.ghost__lead--behind{color:var(--songi-danger)}@keyframes flash-pop{0%{opacity:0;transform:translate(-50%,.5rem)scale(.9)}20%{opacity:1;transform:translate(-50%)scale(1.05)}to{opacity:0;transform:translate(-50%,-1rem)scale(1)}}@media (prefers-reduced-motion:reduce){.flash{animation:none}}.result{text-align:center}.result__score{margin:.5rem 0 0;font-size:2.5rem;font-weight:800}.result__best{color:var(--songi-text-muted);margin:.25rem 0 0;font-weight:700}.result__best--new{color:var(--songi-accent-text)}.result__combo{color:var(--songi-accent-text);margin:0 0 1rem;font-weight:700}.result__grades{border-radius:var(--songi-radius);background:var(--songi-surface-muted);grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 0 1rem;padding:1rem;display:grid}.result__grades dt{color:var(--songi-text-muted);font-size:.75rem;font-weight:700}.result__grades dd{margin:.125rem 0 0;font-size:1.25rem;font-weight:800}.result__meta{color:var(--songi-text-muted);margin:0 0 1.25rem;font-size:.875rem}.result__actions{flex-direction:column;gap:.625rem;display:flex}.play__scores{flex-wrap:wrap;justify-content:flex-end}.play__revenue{text-align:right;width:100%;color:var(--songi-text-muted);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700}.pans--wide{grid-template-columns:repeat(3,minmax(0,1fr))}.pans--wide .pan{padding:.5rem}.receipt{border:1px dashed var(--songi-border-strong);border-radius:var(--songi-radius-sm);font-variant-numeric:tabular-nums;margin:0 0 1.25rem;padding:.875rem 1rem}.receipt>div{justify-content:space-between;gap:1rem;padding:.125rem 0;display:flex}.receipt dt{color:var(--songi-text-muted)}.receipt dd{margin:0;font-weight:700}.receipt__total{border-top:1px solid var(--songi-border);margin-top:.375rem;padding-top:.5rem!important}.receipt__points dd{color:var(--songi-accent-text)}.receipt__wallet{color:var(--songi-text-muted);font-weight:500}.shop__points{margin:.25rem 0 .5rem;font-size:1.125rem}.shop__note{color:var(--songi-text-muted);margin:0 0 1rem;font-size:.8125rem;line-height:1.6}.shop__list{flex-direction:column;gap:.625rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.shop__item{border:1px solid var(--songi-border);border-radius:var(--songi-radius);background:var(--songi-surface);align-items:center;gap:.75rem;padding:.75rem;display:flex}.shop__emoji{font-size:1.5rem}.shop__body{flex:1;min-width:0}.shop__name{margin:0 0 .125rem;font-weight:800}.shop__level{letter-spacing:.1em;color:var(--songi-accent-text);font-size:.75rem}.shop__effect{color:var(--songi-text-muted);margin:0;font-size:.75rem}.shop__buy{font-variant-numeric:tabular-nums;flex:none}.shop__done{color:var(--songi-text-muted);font-size:.8125rem;font-weight:700}.shop__back{width:100%}.share{flex-direction:column;align-items:center;gap:.25rem;margin:0 0 1rem;display:flex}.share__buttons{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.share__note{min-height:1.25rem;color:var(--songi-text-muted);margin:0;font-size:.8125rem}.play__lives{color:var(--songi-danger);letter-spacing:.0625rem;font-size:.9375rem}.play__life--lost{opacity:.2}.play__practice{font-size:.875rem;font-weight:800}.coach{border:2px solid var(--songi-primary);border-radius:var(--songi-radius-sm);background:var(--songi-surface);color:var(--songi-text-muted);flex-direction:column;gap:.25rem;margin:0;padding:.625rem .75rem;font-size:.8125rem;list-style:none;display:flex}.coach__step{align-items:center;gap:.5rem;display:flex}.coach__step--now{color:var(--songi-text);font-size:.9375rem;font-weight:800}.coach__step--done{text-decoration:line-through}.coach__mark{background:var(--songi-surface-muted);border-radius:999px;flex:0 0 1.375rem;place-items:center;height:1.375rem;font-size:.75rem;font-weight:800;display:grid}.coach__step--now .coach__mark{background:var(--songi-primary);color:var(--songi-surface)}.hotkey{border:1px solid var(--songi-border-strong);background:var(--songi-surface);min-width:1.125rem;color:var(--songi-text-muted);text-align:center;border-radius:.25rem;padding:0 .25rem;font:700 .625rem/1.125rem ui-monospace,monospace;position:absolute;top:.25rem;left:.25rem}.picker__btn{position:relative}.play__keys{color:var(--songi-text-muted);text-align:center;margin:0;font-size:.75rem}.play__keys kbd{border:1px solid var(--songi-border);border-radius:.25rem;padding:0 .25rem;font:700 .6875rem ui-monospace,monospace}@media (hover:none){.hotkey,.play__keys{display:none}}.layer{z-index:20;background:#1c1b1973;place-items:center;padding:1rem;animation:.2s ease-out both layer-in;display:grid;position:fixed;inset:0}.layer--late{animation-delay:.7s}.layer__card{width:min(100%,26rem);margin:0}.layer__title{margin:0 0 .25rem;font-size:1.5rem}.layer__lead{color:var(--songi-text-muted);margin:0 0 1.25rem;line-height:1.6}.layer__list{margin:-.75rem 0 1.25rem;padding-left:1.25rem;line-height:1.6}.layer__actions{gap:.5rem;display:grid}@keyframes layer-in{0%{opacity:0;transform:translateY(.5rem)}}.result__early{color:var(--songi-danger);margin:0 0 .5rem;font-weight:700}.play__practice{align-items:center;gap:.5rem;display:flex}.play__quit{min-height:2rem;padding:.25rem .75rem;font-size:.8125rem}.station__keys kbd{border:1px solid var(--songi-border-strong);color:var(--songi-text-muted);border-radius:.25rem;padding:0 .25rem;font:700 .625rem/1.125rem ui-monospace,monospace}@media (hover:none){.station__keys{display:none}}.pan{overflow:visible}.play{overflow-x:clip}.burst{pointer-events:none;position:absolute;inset:0}.burst__bit{background:#ffc94a;border-radius:999px;width:.5rem;height:.5rem;margin:-.25rem 0 0 -.25rem;animation:.5s ease-out forwards burst-fly;position:absolute;top:45%;left:50%;box-shadow:0 0 6px #ffd76e}.burst--good .burst__bit{opacity:.8;width:.375rem;height:.375rem;animation-duration:.4s}.burst--burnt .burst__bit{width:1.25rem;height:1.25rem;box-shadow:none;background:#5a504673;margin:-.625rem 0 0 -.625rem;animation:.9s ease-out forwards smoke-rise}.burst--burnt .burst__bit:nth-child(2){animation-delay:.12s;left:40%}.burst--burnt .burst__bit:nth-child(3){animation-delay:.24s;left:60%}.burst__label{color:var(--songi-accent-text);text-shadow:0 2px #fff;font-size:1.5rem;font-weight:900;animation:.6s cubic-bezier(.2,1.6,.4,1) forwards label-pop;position:absolute;top:40%;left:50%;transform:translate(-50%)}@keyframes burst-fly{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(-3.25rem) scale(.4)}}@keyframes smoke-rise{0%{opacity:.9;transform:translateY(0)scale(.6)}to{opacity:0;transform:translateY(-2.5rem)scale(1.6)}}@keyframes label-pop{0%{opacity:0;transform:translate(-50%,.25rem)scale(.5)}25%{opacity:1;transform:translate(-50%)scale(1.25)}70%{opacity:1;transform:translate(-50%,-.25rem)scale(1)}to{opacity:0;transform:translate(-50%,-.75rem)scale(1)}}.play__score{position:relative}.score-pop{white-space:nowrap;pointer-events:none;font-size:.9375rem;font-weight:900;animation:.8s cubic-bezier(.2,1.4,.4,1) forwards score-pop;position:absolute;top:-.25rem;right:0}.score-pop--plus{color:var(--songi-accent-text)}.score-pop--big{font-size:1.25rem}.score-pop--minus{color:var(--songi-danger)}@keyframes score-pop{0%{opacity:0;transform:translateY(.5rem)scale(.6)}20%{opacity:1;transform:translateY(-.75rem)scale(1.2)}60%{opacity:1;transform:translateY(-1.25rem)scale(1)}to{opacity:0;transform:translateY(-1.75rem)scale(1)}}.hitflash{opacity:0;pointer-events:none;z-index:10;background:#fff;animation:.12s ease-out hitflash;position:fixed;inset:0}@keyframes hitflash{0%{opacity:.5}to{opacity:0}}@media (prefers-reduced-motion:reduce){.burst__bit,.hitflash{display:none}.burst__label,.score-pop{animation:.8s step-end forwards fade-out}}@keyframes fade-out{to{opacity:0}}
