@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}:root{--background:#ffffff}@media (prefers-color-scheme:dark){:root{--foreground:#ededed}}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-layout{grid-template-columns:var(--sidebar-w) 1fr}@media (max-width:768px){.app-layout{grid-template-columns:1fr;grid-auto-rows:auto 1fr;height:100dvh}.app-aside{order:1;max-height:48vh}.app-main{order:2;height:52vh}}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}@media (prefers-color-scheme:dark){html{color-scheme:dark}}:root{--sidebar-w:360px}.app-layout{display:grid;height:100vh;background:#f5f7fb}.app-layout,.app-layout.collapsed{grid-template-columns:1fr}.app-aside{border-right:1px solid #e5e7eb;padding:12px;overflow:auto;background:#ffffff}.app-main{background:#eef2f7;position:relative}@media (min-width:769px){.app-layout{grid-template-columns:1fr}.app-aside{position:fixed;top:0;bottom:0;left:0;width:var(--sidebar-w);z-index:100001;box-shadow:2px 0 10px rgba(0,0,0,.1);transform:translateX(-100%);transition:transform .2s ease}.app-layout:not(.collapsed) .app-aside{transform:translateX(0)}}.touch-btn{min-height:44px;padding:10px 14px;border-radius:10px;cursor:pointer}.floating-toggle{position:absolute;top:10px;left:10px;z-index:100001}.floating-toggle button{border:1px solid #d1d5db;background:#ffffff;color:#111827;border-radius:10px;min-height:40px;padding:6px 10px}@media (max-width:768px){.app-layout{grid-template-columns:1fr;height:100dvh}.app-aside{position:fixed;top:0;bottom:0;left:0;width:min(86vw,420px);max-width:100%;transform:translateX(-100%);transition:transform .2s ease;box-shadow:0 10px 30px rgba(0,0,0,.25);background:#ffffff;z-index:100001;will-change:transform;height:100svh;height:100dvh;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.app-layout.show-aside .app-aside{transform:translateX(0)}.app-main{height:100dvh}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:100000}}