/* RebuildPro / Refraction — shared, local, dependency-free design system. */
:root{color-scheme:dark;--void:#070b15;--deep:#0b1120;--text:#f0f5ff;--muted:#a4b3c9;--muted-2:#8797ae;--cyan:#79eadc;--blue:#729fff;--violet:#b8a0ff;--green:#7fe0b7;--amber:#f0cc90;--red:#ff9aac;--edge:rgba(164,193,234,.17);--edge-hi:rgba(174,201,248,.34);--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--radius:20px}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-height:100vh;isolation:isolate;background:var(--void);color:var(--text);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:var(--cyan);text-underline-offset:4px}button,a,input,textarea,select{outline-offset:5px}:focus-visible{outline:2px solid var(--cyan)}::selection{background:#718af5;color:#080e1e}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-weight:600}h2,h3{font-weight:550}em{font-style:normal;color:var(--cyan)}.hidden{display:none!important}.overline{font:11px/1.5 var(--mono);letter-spacing:.14em;color:var(--cyan);margin-bottom:14px;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;left:18px;top:-100px;z-index:200;background:var(--cyan);color:var(--void);padding:12px 18px;border-radius:8px}.skip-link:focus{top:15px}
.living-scene{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict;background:radial-gradient(ellipse at 80% 16%,#141f3b77,transparent 60%),linear-gradient(125deg,#070b15,#0c1124 60%,#060c16)}.scene-glow{position:absolute;width:850px;height:850px;border-radius:50%;background:radial-gradient(ellipse,rgba(58,98,202,.14),transparent 68%);top:-260px;right:-200px;animation:glow-drift 24s ease-in-out infinite alternate}.glow-violet{background:radial-gradient(ellipse,rgba(123,81,204,.09),transparent 68%);top:auto;right:auto;bottom:-450px;left:-300px;animation-delay:-12s}.scene-lines{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(100% - 1px),#7ca4ed08 0);background-size:160px 100%;mask-image:linear-gradient(transparent,#000 30%,#000 75%,transparent)}.scene-orbit{position:absolute;top:-330px;right:-470px;width:1350px;height:880px;border:1px solid #78a5ff16;border-radius:50%;transform:rotate(-30deg);box-shadow:0 0 80px #507cf508,inset 0 0 80px #507cf508;animation:orbit-breathe 22s ease-in-out infinite alternate}.scene-orbit::before,.scene-orbit::after{content:"";position:absolute;inset:55px;border:1px solid #79eadc14;border-radius:50%}.scene-orbit::after{inset:115px;border-color:#b8a0ff13}.cursor-light{position:absolute;left:0;top:0;width:560px;height:560px;opacity:0;border-radius:50%;background:radial-gradient(circle,#70aeff12,transparent 65%);will-change:transform;transition:opacity .7s}.cursor-echo{width:210px;height:210px;background:radial-gradient(circle,#79eadc13,transparent 70%)}.scene-paused *{animation-play-state:paused!important}.scene-paused .cursor-light{opacity:0!important}.motion-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 0;background:none;border:0;font:11px var(--mono);color:var(--muted);white-space:nowrap}.motion-toggle::before{content:"";width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 9px #79eadc50}.motion-toggle[aria-pressed="false"]::before{background:var(--muted);box-shadow:none}
@keyframes glow-drift{to{transform:translate3d(-70px,85px,0) scale(1.08)}}@keyframes orbit-breathe{to{transform:translate3d(-18px,30px,0) rotate(-24deg)}}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.brand strong{font-size:21px;font-weight:650;letter-spacing:-1px}.brand strong span{color:var(--blue)}.brand small{display:block;font:9px var(--mono);letter-spacing:.22em;color:var(--muted)}.brand-object,.brand-cube{position:relative;display:block;flex:0 0 auto;width:35px;height:40px}.brand-object::before,.brand-object::after,.brand-cube::before,.brand-cube::after{content:"";position:absolute;width:23px;height:23px;border:1.5px solid var(--blue);border-radius:5px;transform:rotate(-30deg) skew(8deg);left:3px;top:3px;box-shadow:0 0 14px #729fff20}.brand-object::after,.brand-cube::after{border-color:var(--cyan);top:13px;left:8px}.surface-3d{position:relative;border:1px solid var(--edge);border-radius:var(--radius);background:linear-gradient(130deg,rgba(22,33,53,.9),rgba(11,18,32,.95));box-shadow:inset 0 1px #d5eaff08,0 24px 70px #0000001a}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:13px 23px;border:1px solid transparent;border-radius:11px;font-size:13px;font-weight:650;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s}.button-primary{color:#070e1b;background:linear-gradient(105deg,#8cb9ff,#86e5e1);box-shadow:0 0 22px #729fff12}.button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 30px #79eadc26}.button-secondary{color:var(--text);background:#14213980;border-color:var(--edge)}.button-secondary:hover{background:#20324f}.button-danger{color:var(--red);background:#ff718314;border-color:#ff718335}.button-wide{width:100%}.button-small{font-size:11px;min-height:34px;padding:6px 11px;gap:8px}.button-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px}.field{display:flex;min-width:0;flex-direction:column;gap:8px}.field>span{font-size:12px;font-weight:550;color:#c4d2e6}.field small{font-size:11px;color:var(--muted)}input,textarea,select{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--edge);border-radius:10px;background:#080f1dc9;transition:border-color .2s}input::placeholder,textarea::placeholder{color:#72849f}input:focus,textarea:focus,select:focus{border-color:var(--cyan);outline:2px solid #79eadc20;outline-offset:1px}textarea{resize:vertical;min-height:120px}.field-error{min-height:16px}.field.invalid input{border-color:var(--red)}.field.invalid .field-error{color:var(--red)}.message{min-height:0;font-size:13px;color:var(--muted);margin:14px 0 0;overflow-wrap:anywhere}.message:empty{margin:0}.message.err{color:var(--red)}.message.ok{color:var(--green)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #7fe0b755}.copy-helper{position:fixed;left:-9999px;top:0}.divider{height:1px;background:var(--edge);margin:24px 0}
@media(pointer:coarse),(max-width:700px){.living-scene *{animation:none!important}.cursor-light{display:none}.scene-orbit{width:850px;height:700px;right:-620px}.scene-glow{width:650px;height:650px}.motion-toggle{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cursor-light{display:none}.motion-toggle{display:none}}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation-play-state:paused!important;scroll-behavior:auto!important}

/* Refraction 2.2 — living depth, optical lettering and a lightweight cursor trail. */
.reflect-lettering{display:inline-block;color:#edf6ff;background:linear-gradient(105deg,#ffffff 0%,#a9d9ff 18%,#719fff 38%,#79eadc 55%,#c3a7ff 72%,#ffffff 100%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 22px rgba(114,159,255,.2);animation:letter-refraction 9s linear infinite}
.brand strong,.sidebar-brand strong,.brand-copy h1{filter:drop-shadow(0 0 12px rgba(114,159,255,.14))}
.living-scene{background:radial-gradient(ellipse at 78% 10%,rgba(35,65,125,.4),transparent 52%),radial-gradient(ellipse at 12% 62%,rgba(67,42,132,.17),transparent 48%),linear-gradient(125deg,#050914,#0a1021 58%,#050a15)}
.scene-aurora{position:absolute;top:-28%;left:-20%;width:86%;height:72%;border-radius:50%;background:conic-gradient(from 110deg,transparent,rgba(77,124,255,.13),rgba(121,234,220,.06),transparent 55%);filter:blur(24px);opacity:.82;transform:rotate(-18deg);animation:aurora-breathe 18s ease-in-out infinite alternate;will-change:transform,opacity}
.aurora-violet{top:auto;left:auto;right:-26%;bottom:-35%;background:conic-gradient(from 250deg,transparent,rgba(184,160,255,.11),rgba(88,137,255,.07),transparent 60%);animation-delay:-8s;animation-duration:23s}
.scene-lines{background:linear-gradient(90deg,transparent calc(100% - 1px),rgba(124,164,237,.035) 0),linear-gradient(transparent calc(100% - 1px),rgba(124,164,237,.025) 0);background-size:150px 100%,100% 110px;mask-image:linear-gradient(transparent,#000 22%,#000 82%,transparent);animation:line-breathe 16s ease-in-out infinite alternate}
.scene-horizon{position:absolute;left:-12%;right:-12%;bottom:-8%;height:48%;transform:perspective(720px) rotateX(62deg) translateY(52%);transform-origin:center bottom;background-image:linear-gradient(rgba(70,125,235,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(70,125,235,.12) 1px,transparent 1px),radial-gradient(ellipse at center,rgba(75,117,255,.14),transparent 64%);background-size:56px 42px,56px 42px,100% 100%;mask-image:linear-gradient(transparent 6%,#000 52%,transparent 96%);animation:horizon-flow 13s linear infinite;opacity:.55}
.scene-particles{position:absolute;inset:0;overflow:hidden;opacity:.8}
.scene-particle{--drift:20px;position:absolute;top:108%;width:2px;height:2px;border-radius:50%;background:#8eb9ff;box-shadow:0 0 8px rgba(114,159,255,.9);animation:particle-rise 18s linear infinite;will-change:transform}
.scene-particle:nth-child(3n){width:1px;height:1px;background:#79eadc;box-shadow:0 0 7px rgba(121,234,220,.75)}
.scene-particle:nth-child(4n){background:#c0a8ff;box-shadow:0 0 8px rgba(184,160,255,.75)}
.particle-1{left:5%;animation-delay:-4s;animation-duration:21s;--drift:32px}.particle-2{left:12%;animation-delay:-15s;animation-duration:26s;--drift:-24px}.particle-3{left:20%;animation-delay:-8s;animation-duration:19s;--drift:18px}.particle-4{left:28%;animation-delay:-19s;animation-duration:29s;--drift:-37px}.particle-5{left:35%;animation-delay:-3s;animation-duration:22s;--drift:27px}.particle-6{left:43%;animation-delay:-13s;animation-duration:25s;--drift:-18px}.particle-7{left:49%;animation-delay:-9s;animation-duration:18s;--drift:42px}.particle-8{left:56%;animation-delay:-22s;animation-duration:31s;--drift:-31px}.particle-9{left:62%;animation-delay:-6s;animation-duration:23s;--drift:25px}.particle-10{left:68%;animation-delay:-17s;animation-duration:27s;--drift:-20px}.particle-11{left:74%;animation-delay:-12s;animation-duration:20s;--drift:35px}.particle-12{left:80%;animation-delay:-25s;animation-duration:33s;--drift:-28px}.particle-13{left:86%;animation-delay:-7s;animation-duration:24s;--drift:17px}.particle-14{left:92%;animation-delay:-18s;animation-duration:28s;--drift:-38px}.particle-15{left:16%;animation-delay:-21s;animation-duration:34s;--drift:46px}.particle-16{left:39%;animation-delay:-11s;animation-duration:30s;--drift:-42px}.particle-17{left:58%;animation-delay:-27s;animation-duration:36s;--drift:29px}.particle-18{left:96%;animation-delay:-10s;animation-duration:25s;--drift:-26px}
.cursor-light{width:600px;height:600px;background:radial-gradient(circle,rgba(87,153,255,.11),rgba(99,109,247,.045) 33%,transparent 69%);mix-blend-mode:screen}
.cursor-echo{width:230px;height:230px;background:radial-gradient(circle,rgba(121,234,220,.16),rgba(121,234,220,.045) 37%,transparent 72%)}
.cursor-veil{position:fixed;inset:0;z-index:160;overflow:hidden;pointer-events:none;contain:strict;opacity:0;transition:opacity .26s ease}
.cursor-tip,.cursor-trail-node{position:absolute;left:0;top:0;display:block;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,rgba(245,255,255,.98) 0 9%,rgba(121,234,220,.72) 23%,rgba(96,145,255,.34) 48%,transparent 76%);mix-blend-mode:screen;will-change:transform}
.cursor-tip{box-shadow:0 0 12px rgba(121,234,220,.72),0 0 28px rgba(114,159,255,.38)}
.cursor-trail{position:absolute;inset:0}
.cursor-trail-node{width:10px;height:10px;opacity:.62;filter:saturate(1.2)}
.cursor-trail-node:nth-child(2){opacity:.54}.cursor-trail-node:nth-child(3){opacity:.46}.cursor-trail-node:nth-child(4){opacity:.38}.cursor-trail-node:nth-child(5){opacity:.3}.cursor-trail-node:nth-child(6){opacity:.23}.cursor-trail-node:nth-child(7){opacity:.16}.cursor-trail-node:nth-child(8){opacity:.1}
.cursor-veil.scene-paused{display:none}
@supports(-webkit-box-reflect:below){.reflect-lettering{-webkit-box-reflect:below -.43em linear-gradient(transparent 38%,rgba(219,238,255,.15))}}
@keyframes letter-refraction{0%{background-position:105% 50%}100%{background-position:-125% 50%}}
@keyframes aurora-breathe{to{transform:translate3d(8%,10%,0) rotate(-8deg) scale(1.12);opacity:.55}}
@keyframes line-breathe{to{opacity:.58;transform:translate3d(0,8px,0)}}
@keyframes horizon-flow{to{background-position:0 42px,56px 0,0 0}}
@keyframes particle-rise{from{transform:translate3d(0,0,0);opacity:0}12%{opacity:.75}85%{opacity:.32}to{transform:translate3d(var(--drift),-125vh,0);opacity:0}}
@media(pointer:coarse),(max-width:700px){.cursor-veil{display:none}.scene-horizon{height:40%;opacity:.36}.scene-particles{opacity:.45}.scene-aurora{filter:blur(36px)}}
@media(prefers-reduced-motion:reduce){.cursor-veil{display:none}.reflect-lettering{background-position:50% 50%}.scene-particles{display:none}}
