@font-face{font-family:Sora;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/sora-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/sora-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;background:#dfeee3;margin:0;font-family:Sora,system-ui,sans-serif}button{cursor:pointer;font-family:inherit}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.pc{--bg:#f1faf2;--panel:#e2f3e6;--surface:#f7fbf8;--ink:#0e2a32;--sub:#64837b;--line:#0e2a3214;--accent:#4fc3f7;--accentSoft:#e3f4fc;--accentInk:#0b5a7a;--good:#2fbf71;--bad:#e04940;--warn:#e8a020;--shadow:0 1px 3px #0e2a320f;--slot:#c4e8f5}.pc.dark{--bg:#0c1613;--panel:#122019;--surface:#1a2b24;--ink:#eaf6f0;--sub:#8ba79c;--line:#eaf6f014;--accentSoft:#0f2c3a;--accentInk:#8fdcff;--shadow:0 1px 4px #0003;--slot:#155a78}.pc-root{background:#dfeee3;justify-content:center;align-items:stretch;min-height:100%;display:flex}.pc.dark~.pc-root,.pc-root.dark{background:#08110e}.pc-app{background:var(--bg);width:100%;max-width:460px;height:100dvh;color:var(--ink);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width>=480px){.pc-root{align-items:center;padding:24px 16px}.pc-app{border-radius:24px;height:900px;min-height:0;max-height:calc(100vh - 48px);box-shadow:0 16px 48px #0e2a322e}}.pc-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}a{color:var(--accentInk);text-decoration:none}.btn{border:none;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:600;transition:transform .1s,opacity .1s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#06323f}.btn-ghost{color:var(--sub);background:0 0}.card-img{object-fit:cover;width:100%;height:100%;display:block}
