@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Public+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,400,0..1,0&display=block";:root{--app-bg: #04202B;--surface: #0C2F3B;--surface-2: #13404E;--border: #1C4856;--text: #E4EDEC;--muted: #90A8B3;--accent: #22B3BA;--accent-soft: #13404E;--accent-contrast: #04202B;--info: #4FB0BD;--info-soft: #123642;--pos: #43BD9F;--pos-soft: #103A3A;--success: #43BD9F;--success-soft: #103A3A;--warn: #D6A24D;--warn-soft: #3A331E;--warning: #D6A24D;--warning-soft: #3A331E;--danger: #E0726B;--danger-soft: #3A2422;--shadow: 0 8px 24px rgba(0,0,0,.35);--shadow-sm: 0 2px 10px rgba(0,0,0,.3);--radius: 14px;--radius-sm: 10px;--radius-lg: 18px;--sidebar-w: 232px;--header-h: 58px;--gap: 16px;--pad: 24px;--content-max: 1440px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}[data-theme=light]{--app-bg: #E4EDEC;--surface: #FFFFFF;--surface-2: #EEF4F3;--border: #D5E2E1;--text: #0D2A33;--muted: #5C7687;--accent: #067E85;--accent-soft: #DAECEC;--accent-contrast: #FFFFFF;--info: #056472;--info-soft: #D6E9EC;--pos: #2F8E7A;--pos-soft: #DCEFE9;--success: #2F8E7A;--success-soft: #DCEFE9;--warn: #A9772A;--warn-soft: #F2E7D2;--warning: #A9772A;--warning-soft: #F2E7D2;--danger: #C0584F;--danger-soft: #F3DDDA;--shadow: 0 6px 20px rgba(6,100,114,.1);--shadow-sm: 0 2px 8px rgba(6,100,114,.08)}.po-shell{display:flex;min-height:100vh;min-height:100dvh}.po-sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px;position:sticky;top:0;height:100vh;height:100dvh;z-index:40;transition:transform .26s cubic-bezier(.4,0,.2,1)}.po-main{flex:1;display:flex;flex-direction:column;min-width:0}.po-topbar{min-height:var(--header-h);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;padding:8px var(--pad);position:sticky;top:0;background:var(--surface);z-index:20;flex-wrap:wrap}.po-content{padding:var(--pad);flex:1;width:100%;max-width:var(--content-max);margin:0 auto}.po-hamburger{display:none;width:38px;height:38px;border-radius:var(--radius-sm);align-items:center;justify-content:center;color:var(--muted);background:var(--surface-2)}.po-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:35}.po-overlay.show{opacity:1;pointer-events:auto}@media (max-width: 960px){:root{--pad: 16px}.po-sidebar{position:fixed;top:0;left:0;height:100dvh;transform:translate(-100%);box-shadow:var(--shadow)}.po-sidebar.open{transform:translate(0)}.po-hamburger{display:inline-flex}}@media (max-width: 560px){:root{--pad: 12px;--sidebar-w: 82vw}.po-topbar .po-hide-sm{display:none!important}}.po-grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(var(--col, 220px),1fr))}.po-grid.cols-sm{--col: 150px}.po-grid.cols-lg{--col: 300px}.po-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.po-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:var(--radius-sm);font-weight:700;font-size:13px;line-height:1;background:var(--surface-2);color:var(--text);transition:background .15s ease,transform .05s ease;white-space:nowrap}.po-btn:active{transform:scale(.97)}.po-btn--primary{background:var(--accent);color:var(--accent-contrast)}.po-btn--ghost{background:transparent;color:var(--muted)}.po-btn--danger{background:var(--danger-soft);color:var(--danger)}.po-btn--sm{height:32px;padding:0 10px;font-size:12px}@media (max-width: 480px){.po-btn--icon-first .po-btn__label{display:none}.po-btn--icon-first{padding:0 10px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.msym{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.msym.fill{font-variation-settings:"FILL" 1}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--app-bg);color:var(--text);font-family:Public Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Space Grotesk,Public Sans,sans-serif;font-weight:700;margin:0;line-height:1.2}.mono{font-family:JetBrains Mono,monospace}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.msym{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-user-select:none;user-select:none}.msym.fill{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}::-webkit-scrollbar-track{background:transparent}@keyframes pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideup{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--header-h: 52px}.safe-top{padding-top:calc(var(--safe-top) + 14px)}.safe-bottom{padding-bottom:calc(var(--safe-bottom) + 10px)}.app-scroll{overscroll-behavior-y:contain}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fadein{animation:fadein .18s ease}
