:root{--bg: #f6f7fb;--card: #ffffff;--muted: rgba(17, 17, 17, .65);--text: #111111;--border: #e6e6ee;--soft: #fbfbfd;--shadow: 0 12px 40px rgba(0, 0, 0, .08);--accent: #111111;--fs-xs: clamp(11px, 2.8vw, 12.5px);--fs-sm: clamp(12px, 3.2vw, 14px);--fs-md: clamp(14px, 3.8vw, 16px);--fs-lg: clamp(16px, 4.8vw, 18px);--fs-xl: clamp(18px, 5.8vw, 22px);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.4}:root[data-theme=dark]{--bg: #0b0d12;--card: #121624;--muted: rgba(255, 255, 255, .65);--text: #f3f5ff;--border: #242a3b;--soft: #161b2a;--shadow: 0 18px 60px rgba(0, 0, 0, .55);--accent: #f3f5ff}:root{--ok-bg: rgba(46, 204, 113, .15);--ok-border: #2ecc71;--ok-text: #1e874b;--err-bg: rgba(231, 76, 60, .15);--err-border: #e74c3c;--err-text: #b93a2f}:root[data-theme=dark]{--ok-bg: rgba(46, 204, 113, .22);--ok-text: #7dffb3;--err-bg: rgba(231, 76, 60, .22);--err-text: #ff9a9a}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);overflow:hidden;font-size:var(--fs-sm)}#root{width:100%;overflow:hidden}input,button{font:inherit}:root{--t-fast: .12s;--t-med: .18s;--ease: cubic-bezier(.2,.8,.2,1)}button,a,input,select,textarea{transition:background-color var(--t-med) var(--ease),color var(--t-med) var(--ease),border-color var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-med) var(--ease)}button:disabled{opacity:.65;cursor:not-allowed;transform:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ui-appear{animation:fadeUp .16s var(--ease)}*{-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .11s ease,opacity .16s ease,filter .16s ease}button:active{transform:translateY(1px)}:root{--footer-min-h: clamp(44px, 10vw, 56px);--footer-pad-y: clamp(8px, 2.2vw, 10px);--footer-pad-x: clamp(10px, 3vw, 16px);--footer-gap: clamp(6px, 2vw, 10px)}.app-shell{height:100dvh;display:flex;flex-direction:column}.app-main{flex:1;min-height:0;overflow:hidden;display:flow-root;scrollbar-width:none}.app-main::-webkit-scrollbar{width:0;height:0}.app-footer{flex:0 0 auto;min-height:var(--footer-min-h);height:auto;display:flex;justify-content:center;align-items:center;gap:var(--footer-gap);padding:var(--footer-pad-y) var(--footer-pad-x);flex-wrap:wrap;text-align:center;font-size:var(--fs-xs);color:var(--muted);border-top:1px solid var(--border);background:color-mix(in srgb,var(--soft) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 -10px 30px #0000000f}.footer-copy{font-size:var(--fs-xs);color:var(--muted);letter-spacing:.2px}.footer-name{color:var(--text);font-weight:600}.footer-sep{opacity:.35}.footer-link{font-size:var(--fs-xs);font-weight:600;color:var(--text);text-decoration:none;padding:clamp(4px,1.5vw,6px) clamp(10px,3vw,12px);border-radius:999px;background:color-mix(in srgb,var(--card) 70%,transparent);border:1px solid var(--border);transition:background .2s ease,border-color .2s ease,transform .15s ease}.footer-link:hover{background:color-mix(in srgb,var(--card) 90%,transparent);border-color:var(--accent);transform:translateY(-1px)}.footer-link:active{transform:translateY(0)}
