@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&display=swap";
:root{--charcoal:#1f2933;--offwhite:#f9fafb;--gray:#6b7280;--surface-dark:#0f172a75;--surface-dark-soft:#1e293b94;--surface-light:#f9fafb14;--border-soft:#94a3b838;--border-strong:#94a3b861;--shadow-soft:0 10px 24px #0f172a24;--shadow-medium:0 16px 34px #0f172a33;--radius-panel:20px;--radius-control:14px;--bg:var(--offwhite);--text:var(--charcoal);--muted:var(--gray);--panel:#fff;--border:#d1d5db;--accent:var(--charcoal);--accent-dark:#111827;--danger:#b91c1c;--success:#047857}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100%;min-height:100%;overflow-x:clip}html{scroll-behavior:smooth}body{background:var(--charcoal);color:var(--text);scrollbar-color:#6b7280 #1f2933;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Sora,ui-sans-serif,sans-serif;line-height:1.5;overflow-y:auto}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#1f2933}::-webkit-scrollbar-thumb{background:#6b7280;border:2px solid #1f2933;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.app-body{will-change:opacity,transform,filter;min-height:100dvh;transition:opacity .36s cubic-bezier(.2,.8,.2,1),transform .36s cubic-bezier(.2,.8,.2,1),filter .36s cubic-bezier(.2,.8,.2,1);position:relative;overflow-x:clip}.site-shell{flex-direction:column;min-height:100dvh;display:flex}.site-content{flex-direction:column;flex:1;padding-bottom:clamp(18px,2vw,28px);animation:.52s cubic-bezier(.2,.8,.2,1) both site-content-enter;display:flex;overflow-x:clip}.site-footer{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle at 16% 0,#94a3b81a,#0000 42%),linear-gradient(145deg,#0f172a,#1f2933 58%,#182430);justify-content:center;align-items:center;min-height:74px;margin-top:auto;padding:26px 16px 18px;display:flex;position:relative}.site-footer:before{content:"";background:linear-gradient(90deg,#94a3b800,#94a3b83d,#94a3b800);height:1px;position:absolute;top:0;left:clamp(18px,2.2vw,34px);right:clamp(18px,2.2vw,34px)}.site-footer-nav{color:#f9fafbeb;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;font-size:clamp(.84rem,.95vw,.94rem);font-weight:600;display:flex}.site-footer-nav a{transition:color .22s,transform .22s}.site-footer-nav a:not(:last-child):after{color:#f9fafb80;content:"|";margin-left:9px}.site-footer-nav a:hover{color:#f9fafb;transform:translateY(-1px)}.app-body:before{content:"";opacity:0;pointer-events:none;z-index:9999;background:radial-gradient(circle at 18% 8%,#94a3b838,#0000 38%),linear-gradient(145deg,#0f172a 0%,#1e293b 52%,#334155 100%);transition:opacity .36s cubic-bezier(.2,.8,.2,1),transform .36s cubic-bezier(.2,.8,.2,1);position:fixed;inset:0;transform:translateY(14px)scale(1.02)}html.route-transition-leave .app-body{opacity:0;filter:blur(2px);transform:translateY(-10px)scale(.992)}html.route-transition-leave .app-body:before{opacity:1;transform:translate(0,0)scale(1)}html.route-transition-enter .app-body{animation:.42s cubic-bezier(.2,.8,.2,1) both route-fade-in}html.route-transition-enter .app-body:before{animation:.42s cubic-bezier(.2,.8,.2,1) both route-overlay-out}@keyframes route-fade-in{0%{opacity:0;filter:blur(2px);transform:translateY(16px)scale(.99)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes route-overlay-out{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translateY(-12px)scale(1.02)}}@keyframes site-content-enter{0%{opacity:0}to{opacity:1}}a{color:inherit;text-decoration:none}.shell{max-width:980px;margin:0 auto;padding:40px 20px 64px}.narrow{max-width:560px}.hero{margin-top:44px}.title{font-size:clamp(1.6rem,4vw,2.25rem);line-height:1.2}.subtitle{color:var(--muted);margin-top:12px}.stack{gap:16px;display:grid}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 12px 35px #0f172a14}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.muted{color:var(--muted)}.button{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;border-radius:10px;padding:10px 14px;font-weight:600;display:inline-block}.button:hover{background:var(--accent-dark)}.button.secondary{color:var(--text);background:0 0}.button.small{padding:8px 12px;font-size:.9rem}.button:disabled{cursor:not-allowed;opacity:.55}.form{gap:14px;display:grid}.input,.select,.textarea{color:var(--text);font:inherit;background:#fff;border:1px solid #b4c5de;border-radius:10px;width:100%;padding:10px 12px}.textarea{resize:vertical;min-height:96px}.row{align-items:center;gap:10px;display:flex}.note-grid{gap:12px;display:grid}.note-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px}.badge{letter-spacing:.01em;border-radius:999px;margin-bottom:8px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge.free{color:#065f46;background:#def7ec}.badge.paid{color:var(--danger);background:#fde8e8}.warning,.error,.success{border-radius:10px;padding:10px 12px;font-size:.92rem}.warning,.error{color:var(--danger);background:#fee2e2}.success{color:var(--success);background:#d1fae5}.spacer{height:6px}.loadingViewport{background:radial-gradient(circle at 14% 10%,#94a3b833,#0000 36%),radial-gradient(circle at 86% 76%,#47556942,#0000 38%),linear-gradient(145deg,#0f172a,#1f2933 56%,#182430);min-height:calc(100dvh - 64px);padding:clamp(14px,2vw,22px)}.loadingShell{gap:14px;max-width:1260px;margin:0 auto;display:grid}.loadingBar,.loadingBlock,.loadingCard{background:#f9fafb1f;border:1px solid #94a3b842;border-radius:14px;position:relative;overflow:hidden}.loadingBar:before,.loadingBlock:before,.loadingCard:before{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffff38 50%,#fff0 100%);animation:1.15s linear infinite loading-shimmer;position:absolute;inset:0;transform:translate(-100%)}.loadingBar{height:68px}.loadingBlock{height:140px}.loadingGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.loadingCard{height:220px}@keyframes loading-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.app-body{transition:none}.site-content{animation:none}.site-footer-nav a{transition:none}.loadingBar:before,.loadingBlock:before,.loadingCard:before{animation:none}.app-body:before{transition:none;animation:none}html.route-transition-leave .app-body,html.route-transition-enter .app-body{filter:none;opacity:1;animation:none;transform:none}html.route-transition-leave .app-body:before,html.route-transition-enter .app-body:before{opacity:0;transform:none}}@media (max-width:900px){.loadingGrid{grid-template-columns:1fr}}
