:root{--ink-strong: #0f1f35;--ink-muted: #36506f;--surface: rgba(245, 252, 255, .84);--surface-strong: rgba(255, 255, 255, .93);--line: rgba(42, 87, 135, .22);--accent-a: #00b6ff;--accent-b: #ffb464;--accent-c: #5261ff;--danger: #d44d4d}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;font-family:Space Grotesk,Segoe UI,sans-serif;color:var(--ink-strong);background:radial-gradient(circle at 12% 14%,rgba(0,182,255,.34),transparent 44%),radial-gradient(circle at 88% 10%,rgba(255,180,100,.28),transparent 36%),radial-gradient(circle at 50% 88%,rgba(82,97,255,.18),transparent 46%),linear-gradient(155deg,#f8fdff,#dff0ff 45%,#ecf4ff)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.3),transparent 40%);z-index:0}body.legal-mode{background:radial-gradient(circle at 18% 8%,rgba(0,182,255,.2),transparent 36%),linear-gradient(180deg,#f3f8ff,#eaf3ff)}a{color:#0f78d5}.app{position:relative;width:100%;height:100vh;overflow:hidden}#webgl-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.ui-overlay{position:relative;z-index:6;width:min(1240px,100%);height:100%;margin:0 auto;display:grid;grid-template-rows:auto 1fr auto;gap:1rem;padding:1.1rem clamp(.9rem,2.5vw,2rem) 1rem}.topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.82rem 1rem;border:1px solid rgba(70,119,171,.25);border-radius:1rem;background:linear-gradient(145deg,#ffffffe6,#e9f7ffd1);box-shadow:0 15px 40px #204d802b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{font-family:Sora,sans-serif;font-size:1.02rem;letter-spacing:.14em;font-weight:800;color:#112a45}.brand-subline{margin:0;font-size:.8rem;color:#386086;letter-spacing:.08em;text-transform:uppercase}.topbar ul{margin:0;padding:0;display:flex;align-items:center;justify-content:flex-end;gap:.42rem;list-style:none}.topbar button{border:0;color:#1f4870;background:transparent;border-radius:999px;padding:.45rem .78rem;cursor:pointer;font-weight:600;transition:color .25s ease,background .25s ease,transform .25s ease}.topbar button:hover,.topbar button:focus-visible{background:linear-gradient(125deg,#00b6ff33,#5261ff1f);color:#0f2d4b;transform:translateY(-1px);outline:none}.content{position:relative;display:grid;align-items:center}.panel{width:min(670px,100%);margin-top:auto;margin-bottom:auto;padding:clamp(1rem,2.6vw,1.8rem);border:1px solid var(--line);border-radius:1.15rem;background:linear-gradient(165deg,#ffffffe0,#eff9ffc2);box-shadow:0 24px 56px #1f4a7933;opacity:0;pointer-events:none;transform:translateY(16px) scale(.99);transition:opacity .5s ease,transform .5s ease;grid-area:1 / 1}.panel-active{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:#3c668f;margin-bottom:.46rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Sora,sans-serif;color:#0f2a46}h1{font-size:clamp(2.2rem,5.6vw,4.2rem);margin-bottom:.68rem;letter-spacing:-.02em}h2{font-size:clamp(1.52rem,3.7vw,2.55rem);letter-spacing:-.015em}.panel p{color:#224667;line-height:1.63}.panel-actions{margin-top:1.1rem;display:flex;flex-wrap:wrap;gap:.6rem}.btn-primary,.btn-secondary,.project-grid button,.project-link{border-radius:999px;border:1px solid transparent;padding:.62rem 1.05rem;font-weight:700;font-size:.92rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}.btn-primary,.project-grid button{background:linear-gradient(130deg,var(--accent-a),#58d5ff 45%,var(--accent-b));color:#08233a;box-shadow:0 12px 28px #00abf038}.btn-secondary{background:#ffffffe0;border-color:#39629047;color:#1a3f63}.btn-primary:hover,.btn-secondary:hover,.project-grid button:hover,.project-link:hover{transform:translateY(-1px);opacity:.94}.project-grid{margin-top:.95rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}.project-grid article{border:1px solid rgba(65,112,162,.2);border-radius:.92rem;padding:.88rem;background:linear-gradient(145deg,#fffc,#e3f4ff9e)}.project-grid h3{margin-bottom:.42rem;font-size:1rem}.skill-list{margin:0;padding-left:1.08rem;display:grid;gap:.46rem;color:#1f4568}.contact-form{margin-top:.72rem;display:grid;gap:.78rem}.contact-form label{font-size:.86rem;display:grid;gap:.34rem;color:#1d4264;font-weight:600}.contact-form input,.contact-form textarea{border-radius:.72rem;border:1px solid rgba(67,113,160,.32);background:#ffffffb8;color:#14314f;padding:.6rem .74rem;font:inherit}.contact-form textarea{resize:vertical}.turnstile-wrap{min-height:66px}.status{min-height:1.15rem;margin:0;font-size:.84rem;color:#1d4f79}.status:empty{display:none}.project-detail{position:absolute;right:clamp(1rem,3vw,2.2rem);bottom:clamp(3.8rem,6vw,5.6rem);width:min(430px,calc(100% - 2rem));border:1px solid rgba(68,114,162,.26);border-radius:1rem;background:var(--surface-strong);box-shadow:0 20px 44px #25507e33;padding:1.1rem 1.1rem 1.2rem;z-index:8;transform:translateY(14px);opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease}.project-detail.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.project-detail .close{position:absolute;top:.3rem;right:.45rem;border:0;width:2rem;height:2rem;border-radius:50%;color:#4e759a;background:transparent;font-size:1.4rem;cursor:pointer}.project-link{margin-top:.7rem;background:#00b6ff2b;border-color:#00b6ff57;color:#0e5f97}.bottombar{padding:.6rem 1rem;border-radius:.9rem;border:1px solid rgba(73,121,173,.24);background:linear-gradient(145deg,#ffffffd6,#eaf6ffb8);display:flex;justify-content:space-between;align-items:center;gap:.9rem;font-size:.83rem;color:#2e5479}.loader,.error-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;display:grid;place-items:center;transition:opacity .45s ease,visibility .45s ease}.loader{background:linear-gradient(155deg,#e9f7fff2,#d3ebfff2)}.loader-inner{width:min(390px,calc(100% - 2rem));border:1px solid rgba(85,133,183,.25);border-radius:1rem;padding:1rem;background:#ffffffdb;box-shadow:0 18px 38px #315b8829}.progress-track{margin-top:.4rem;height:.46rem;border-radius:999px;background:#174d821f;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(130deg,var(--accent-a),var(--accent-b));transition:width .2s ease}.loader-hidden{opacity:0;visibility:hidden;pointer-events:none}.error-overlay{z-index:16;inset:auto 1rem 1rem auto;width:min(470px,calc(100% - 2rem));padding:1rem;border:1px solid rgba(214,77,77,.25);border-radius:1rem;background:#fff5f5f0;box-shadow:0 14px 30px #962f2f2e;color:#7e2f2f;display:block}.error-overlay p{margin:0 0 .85rem}.error-overlay[hidden]{display:none!important}.quality-badge{position:fixed;left:1rem;bottom:1rem;z-index:17;padding:.46rem .74rem;border-radius:999px;border:1px solid rgba(69,108,153,.28);background:#ffffffdb;color:#2f557d;font-size:.72rem;font-weight:800;letter-spacing:.05em}.quality-badge[data-mode=KRASS]{border-color:#00b6ff75;color:#107bb8}.quality-badge[data-mode=LIGHT]{border-color:#ffb4647a;color:#b16a21}.quality-badge[data-mode=REDUCED]{border-color:#5261ff6b;color:#4552c8}.quality-badge[data-mode=SAFE]{border-color:#d44d4d85;color:#b13737}@media(max-width:1120px){.topbar{grid-template-columns:auto 1fr;row-gap:.5rem}.topbar nav{grid-column:1 / -1}.topbar ul{justify-content:flex-start;flex-wrap:wrap}.project-grid{grid-template-columns:1fr}}@media(max-width:760px){.ui-overlay{padding:.8rem;gap:.76rem}.topbar{grid-template-columns:1fr;border-radius:.9rem}.brand-subline{margin-top:-.2rem}.panel{border-radius:.95rem;padding:1rem}.panel-actions{display:grid}.project-detail{position:fixed;left:.85rem;right:.85rem;width:auto;bottom:.85rem}.quality-badge{left:.85rem;bottom:.85rem;font-size:.68rem}.bottombar{border-radius:.85rem;flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
