*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:light;--color-primary:#0f6cbd;--color-primary-dark:#0b4f8a;--color-primary-light:#d8ecff;--color-secondary:#047857;--color-accent:#f97316;--color-bg:#ffffff;--color-bg-secondary:#f6f8fb;--color-surface:#ffffff;--color-surface-muted:#eef3f8;--color-text:#111827;--color-text-secondary:#526070;--color-border:#d9e2ec;--color-shadow:rgba(0,0,0,0.1);--color-success:#10b981;--color-hover:#0b4f8a;--container-width:1180px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-soft:0 18px 54px rgba(15,23,42,0.1);--shadow-strong:0 28px 90px rgba(15,23,42,0.18)}[data-theme=dark]{color-scheme:dark;--color-primary:#7dd3fc;--color-primary-dark:#38bdf8;--color-primary-light:rgba(125,211,252,0.14);--color-secondary:#34d399;--color-accent:#f59e0b;--color-bg:#080a0f;--color-bg-secondary:#0e131d;--color-surface:#121824;--color-surface-muted:#182131;--color-text:#f3f7fb;--color-text-secondary:#a8b3c2;--color-border:rgba(226,232,240,0.13);--color-shadow:rgba(0,0,0,0.42);--color-success:#4ade80;--color-hover:#bae6fd;--shadow-soft:0 18px 54px rgba(0,0,0,0.24);--shadow-strong:0 32px 100px rgba(0,0,0,0.42)}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(180deg,rgba(125,211,252,.055) 0,transparent 340px),var(--color-bg);color:var(--color-text);transition:background-color .3s ease,color .3s ease}body{line-height:1.6}.app,body{min-height:100dvh}.app{position:relative;isolation:isolate}.app footer,.app main{position:relative;z-index:1}section{scroll-margin-top:82px}canvas,img,svg,video{max-width:100%;height:auto}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-hover)}button{font-family:inherit;cursor:pointer;border:none;transition:all .3s ease}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 68%,transparent);outline-offset:3px}input,textarea{font-family:inherit;background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;transition:all .2s ease}input:focus,textarea:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg);box-shadow:0 0 0 3px var(--color-primary-light)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .6s ease-out}.slide-in-left{animation:slideInLeft .6s ease-out}.slide-in-right{animation:slideInRight .6s ease-out}.scale-in{animation:scaleIn .4s ease-out}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-hover)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}