:root{--navy-900: #041d2e;--navy-800: #05273d;--navy-700: #0a3b5c;--navy-600: #0f5f8f;--navy-500: #174f83;--gold-400: #f4d65e;--gold-500: #f2b53c;--gold-600: #d98b2b;--bg: #eef4fa;--bg-2: #f6f9fd;--card: #ffffff;--ink: #16283a;--muted: #5f738e;--line: #d8e4f0;--success: #1f8a4c;--radius: 22px;--shadow-sm: 0 2px 10px rgba(7, 62, 97, .06);--shadow-md: 0 14px 40px rgba(7, 62, 97, .12);--shadow-lg: 0 30px 80px rgba(4, 29, 46, .22);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}button{font-family:inherit;cursor:pointer}kbd{display:inline-flex;align-items:center;gap:2px;padding:2px 7px;border-radius:7px;border:1px solid var(--line);background:#fff;color:var(--muted);font:600 11px/1.4 var(--font-sans);box-shadow:0 1.5px 0 var(--line)}::selection{background:#f2b53c59}::view-transition-old(root){animation:vt-out .22s var(--ease-out) both}::view-transition-new(root){animation:vt-in .34s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:scale(.985)}}@keyframes vt-in{0%{opacity:0;transform:scale(1.012)}}.splash{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:radial-gradient(900px 500px at 80% -10%,rgba(15,95,143,.55),transparent 60%),radial-gradient(700px 500px at 10% 110%,rgba(217,139,43,.28),transparent 55%),linear-gradient(160deg,var(--navy-800),var(--navy-900));transition:opacity .55s var(--ease-out),visibility .55s}.splash--leave{opacity:0;visibility:hidden}.splash__inner{text-align:center;color:#fff}.splash__mark{display:inline-block;animation:splash-pop .9s var(--ease-spring) both;filter:drop-shadow(0 22px 44px rgba(0,0,0,.45))}.splash__title{margin-top:18px;font:700 34px/1 var(--font-display);letter-spacing:.5px;animation:splash-up .7s .2s var(--ease-out) both}.splash__sub{margin-top:8px;color:#ffffffa6;font-size:13.5px;letter-spacing:2.5px;text-transform:uppercase;animation:splash-up .7s .32s var(--ease-out) both}.splash__bar{width:172px;height:3px;margin:26px auto 0;border-radius:99px;background:#ffffff29;overflow:hidden;animation:splash-up .7s .4s var(--ease-out) both}.splash__bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold-500),var(--gold-400));animation:splash-fill 1.15s .35s var(--ease-out) both}@keyframes splash-pop{0%{opacity:0;transform:scale(.55) rotate(-8deg)}}@keyframes splash-up{0%{opacity:0;transform:translateY(16px)}}@keyframes splash-fill{0%{transform:translate(-100%)}}.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.aurora__blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;will-change:transform}.aurora__blob--1{width:640px;height:640px;left:-180px;top:-220px;background:radial-gradient(circle at 35% 35%,#bcd9ef,#9cc4e4 60%,transparent 72%);animation:drift-a 26s ease-in-out infinite alternate}.aurora__blob--2{width:560px;height:560px;right:-160px;top:60px;background:radial-gradient(circle at 40% 40%,#fbe6bd,#f4d0a0 55%,transparent 72%);animation:drift-b 32s ease-in-out infinite alternate}.aurora__blob--3{width:700px;height:700px;left:30%;bottom:-380px;background:radial-gradient(circle at 50% 40%,#cfe4f4,#b9d6ec 55%,transparent 74%);animation:drift-c 38s ease-in-out infinite alternate}.aurora__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(10,59,92,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(10,59,92,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(1000px 520px at 50% 0%,#000 20%,transparent 78%);-webkit-mask-image:radial-gradient(1000px 520px at 50% 0%,#000 20%,transparent 78%)}@keyframes drift-a{to{transform:translate(90px,60px) scale(1.12)}}@keyframes drift-b{to{transform:translate(-70px,90px) scale(.94)}}@keyframes drift-c{to{transform:translate(-60px,-70px) scale(1.08)}}.glass{background:#ffffffb8;-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid rgba(216,228,240,.85)}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px clamp(18px,4vw,44px);padding-top:calc(12px + env(safe-area-inset-top))}.topbar__brand{display:flex;align-items:center;gap:12px}.topbar__brand strong{display:block;font:700 17px/1.1 var(--font-display);letter-spacing:.3px;color:var(--navy-800)}.topbar__brand span{display:block;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.topbar__actions{display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:14px;padding:10px 16px;font-size:13.5px;font-weight:650;transition:transform .18s var(--ease-spring),box-shadow .25s,background .2s}.btn:active{transform:scale(.96)}.btn--ghost{background:#ffffffd9;border:1px solid var(--line);color:var(--navy-700);box-shadow:var(--shadow-sm)}.btn--ghost:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--gold{background:linear-gradient(135deg,var(--gold-500),var(--gold-600));color:#3a2405;box-shadow:0 10px 26px #d98b2b66}.btn--gold:hover{transform:translateY(-1px);box-shadow:0 14px 32px #d98b2b80}.hero-wrap{max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,44px) 40px}.hero{text-align:center;padding:clamp(48px,8vh,96px) 0 clamp(28px,5vh,56px);max-width:880px;margin:0 auto}.hero__eyebrow{display:inline-flex;align-items:center;gap:7px;padding:7px 16px;border-radius:99px;background:linear-gradient(135deg,#f4d65e47,#d98b2b2e);border:1px solid rgba(217,139,43,.35);color:#8a5a12;font-size:12.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.hero__title{margin:22px 0 0;font:700 clamp(38px,5.6vw,68px)/1.06 var(--font-display);letter-spacing:-.5px;color:var(--navy-800);text-wrap:balance}.hero__title em{font-style:italic;background:linear-gradient(110deg,var(--navy-600) 15%,var(--gold-600) 60%,var(--gold-500));-webkit-background-clip:text;background-clip:text;color:transparent}.hero__lead{margin:20px auto 0;max-width:640px;font-size:clamp(15.5px,1.6vw,18px);line-height:1.65;color:var(--muted);text-wrap:pretty}.hero__stats{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(14px,3vw,34px);margin-top:36px}.stat{min-width:120px;padding:14px 20px;border-radius:18px;background:#ffffffb3;border:1px solid rgba(216,228,240,.9);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat strong{display:block;font:700 24px/1.1 var(--font-display);color:var(--navy-700)}.stat span{font-size:11.5px;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}.section{margin-top:clamp(34px,6vh,60px)}.section__head{display:flex;align-items:center;gap:18px;margin-bottom:20px}.section__head h2{margin:0;font:700 clamp(21px,2.4vw,27px)/1.2 var(--font-display);color:var(--navy-800);white-space:nowrap}.section__rule{flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:clamp(16px,2.2vw,26px);perspective:1400px}.card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;padding:26px 26px 22px;border:1px solid rgba(216,228,240,.95);border-radius:var(--radius);background:linear-gradient(180deg,#fff,var(--bg-2));box-shadow:var(--shadow-sm);overflow:hidden;transform:rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transform-style:preserve-3d;transition:box-shadow .35s,border-color .35s,transform .12s linear;will-change:transform}.card:hover{box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--hue) 30%,transparent);border-color:color-mix(in srgb,var(--hue) 35%,var(--line))}.card:focus-visible{outline:3px solid var(--gold-500);outline-offset:3px}.card__glow{position:absolute;inset:-1px;border-radius:inherit;opacity:0;transition:opacity .4s;background:radial-gradient(420px 240px at var(--mx, 50%) var(--my, 0%),color-mix(in srgb,var(--hue) 14%,transparent),transparent 70%);pointer-events:none}.card:hover .card__glow{opacity:1}.card__shine{position:absolute;top:0;bottom:0;width:90px;left:-140px;transform:skew(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);pointer-events:none}.card:hover .card__shine{animation:shine .9s var(--ease-out)}@keyframes shine{to{left:calc(100% + 60px)}}.card__top{width:100%;display:flex;align-items:center;justify-content:space-between}.card__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:17px;color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--hue) 88%,#fff),color-mix(in srgb,var(--hue) 80%,#000));box-shadow:0 12px 26px color-mix(in srgb,var(--hue) 38%,transparent);transform:translateZ(26px);transition:transform .3s var(--ease-spring)}.card:hover .card__icon{transform:translateZ(34px) scale(1.06) rotate(-3deg)}.card__key{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;font-weight:700}.card__title{margin:8px 0 0;font:700 21px/1.25 var(--font-display);color:var(--navy-800);transform:translateZ(18px)}.card__subtitle{margin:0;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:color-mix(in srgb,var(--hue) 80%,#333)}.card__desc{margin:4px 0 0;font-size:14px;line-height:1.62;color:var(--muted)}.card__badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.badge{padding:5px 11px;border-radius:99px;font-size:11.5px;font-weight:650;color:color-mix(in srgb,var(--hue) 85%,#222);background:var(--hue-soft);border:1px solid color-mix(in srgb,var(--hue) 22%,transparent)}.card__cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--hue);transition:gap .25s var(--ease-spring)}.card:hover .card__cta{gap:13px}.reveal{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .7s var(--ease-out) var(--d, 0ms),transform .7s var(--ease-out) var(--d, 0ms)}.reveal.is-in{opacity:1;transform:none}.howto{margin-top:clamp(44px,8vh,80px);padding:clamp(26px,4vw,44px);border-radius:28px;color:#eaf3fb;background:radial-gradient(700px 320px at 85% -20%,rgba(242,181,60,.22),transparent 60%),radial-gradient(600px 300px at -10% 120%,rgba(15,95,143,.55),transparent 60%),linear-gradient(150deg,var(--navy-700),var(--navy-900));box-shadow:var(--shadow-lg)}.howto h2{margin:0 0 26px;font:700 clamp(22px,2.6vw,30px)/1.2 var(--font-display);color:#fff}.howto ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:22px}.howto li{display:flex;gap:14px;align-items:flex-start}.howto__num{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;font:700 17px/1 var(--font-display);color:#3a2405;background:linear-gradient(135deg,var(--gold-400),var(--gold-600));box-shadow:0 10px 22px #d98b2b73}.howto strong{display:block;font-size:15.5px;margin-bottom:4px}.howto p{margin:0;font-size:13.5px;line-height:1.6;color:#eaf3fbb8}.footer{margin-top:clamp(40px,7vh,70px);padding:34px clamp(18px,4vw,44px) calc(30px + env(safe-area-inset-bottom));border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:13px}.footer__brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--navy-700);margin-bottom:8px}.footer a{color:var(--navy-600);font-weight:650}.footer p{margin:4px 0}.footer__hint{opacity:.85}.toolview{height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.toolbar{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px clamp(12px,2.5vw,24px);padding-top:calc(9px + env(safe-area-inset-top))}.toolbar__left{display:flex;align-items:center;gap:10px;min-width:0}.toolbar__brand{border:0;background:none;padding:0;display:grid;place-items:center}.toolbar__title{display:flex;align-items:center;gap:10px;min-width:0}.toolbar__icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--hue) 88%,#fff),color-mix(in srgb,var(--hue) 78%,#000));box-shadow:0 6px 16px color-mix(in srgb,var(--hue) 35%,transparent)}.toolbar__title strong{display:block;font:700 15px/1.15 var(--font-display);color:var(--navy-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar__title span{display:block;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar__pills{display:flex;gap:6px;padding:5px;border-radius:16px;background:#0a3b5c12;overflow-x:auto;scrollbar-width:none}.toolbar__pills::-webkit-scrollbar{display:none}.pill{display:inline-flex;align-items:center;gap:7px;flex:none;border:0;border-radius:12px;padding:8px 13px;font-size:12.5px;font-weight:650;color:var(--navy-700);background:transparent;transition:background .2s,color .2s,transform .18s var(--ease-spring),box-shadow .25s}.pill:hover{background:#ffffffd9;transform:translateY(-1px)}.pill--active{color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--hue) 90%,#fff),color-mix(in srgb,var(--hue) 78%,#000));box-shadow:0 8px 18px color-mix(in srgb,var(--hue) 40%,transparent)}.toolbar__actions{display:flex;align-items:center;gap:6px}.iconbtn{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#ffffffe6;color:var(--navy-700);box-shadow:var(--shadow-sm);transition:transform .18s var(--ease-spring),box-shadow .25s,color .2s}.iconbtn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--navy-600)}.iconbtn:active{transform:scale(.94)}.toolview__stage{position:relative;flex:1;min-height:0;background:#fff}.toolview__frame{width:100%;height:100%;border:0;display:block;opacity:1;transition:opacity .35s var(--ease-out)}.toolview__frame--loading{opacity:0}.loader{position:absolute;inset:0;z-index:5;display:grid;place-content:center;justify-items:center;gap:14px;background:linear-gradient(180deg,var(--bg-2),#fff)}.loader__mark{display:grid;place-items:center;width:76px;height:76px;border-radius:22px;color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--hue) 88%,#fff),color-mix(in srgb,var(--hue) 78%,#000));box-shadow:0 18px 44px color-mix(in srgb,var(--hue) 38%,transparent);animation:loader-pulse 1.3s ease-in-out infinite}.loader__bar{width:190px;height:4px;border-radius:99px;background:var(--line);overflow:hidden}.loader__bar span{display:block;width:45%;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--hue),var(--gold-500));animation:loader-slide 1.1s ease-in-out infinite}.loader p{margin:0;font-size:13px;font-weight:650;color:var(--muted)}@keyframes loader-pulse{50%{transform:scale(1.07)}}@keyframes loader-slide{0%{transform:translate(-110%)}to{transform:translate(320%)}}.palette__backdrop{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:clamp(60px,14vh,150px) 18px 18px;background:#041d2e73;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .2s var(--ease-out)}.palette{width:min(620px,100%);border-radius:22px;background:#fffffff5;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.6);overflow:hidden;animation:palette-pop .28s var(--ease-spring)}@keyframes fade-in{0%{opacity:0}}@keyframes palette-pop{0%{opacity:0;transform:translateY(-14px) scale(.97)}}.palette__search{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);color:var(--muted)}.palette__search input{flex:1;border:0;outline:0;background:none;font:500 16px/1.4 var(--font-sans);color:var(--ink)}.palette__esc{border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px 8px;font-size:11px;font-weight:700;color:var(--muted)}.palette__list{max-height:min(430px,52vh);overflow-y:auto;padding:8px}.palette__item{width:100%;display:flex;align-items:center;gap:13px;padding:11px 12px;border:0;border-radius:14px;background:transparent;text-align:left;transition:background .15s}.palette__item--active{background:var(--hue-soft, var(--bg))}.palette__item--home:hover{background:var(--bg)}.palette__icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--hue, #0a3b5c) 88%,#fff),color-mix(in srgb,var(--hue, #0a3b5c) 78%,#000))}.palette__text{flex:1;min-width:0}.palette__text strong{display:block;font-size:14.5px;color:var(--navy-800)}.palette__text small{display:block;font-size:12px;color:var(--muted);margin-top:1px}.palette__go{color:var(--muted);opacity:0;transition:opacity .15s}.palette__item--active .palette__go{opacity:1}.palette__empty{padding:26px;text-align:center;color:var(--muted);font-size:14px}.palette__foot{display:flex;gap:18px;justify-content:center;padding:10px;border-top:1px solid var(--line);color:var(--muted);font-size:11.5px}.offline-banner{position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:150;padding:9px 18px;border-radius:99px;background:var(--navy-800);color:var(--gold-400);font-size:12.5px;font-weight:650;box-shadow:var(--shadow-lg);animation:palette-pop .3s var(--ease-spring)}.toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:150;padding:11px 22px;border-radius:99px;background:var(--navy-800);color:#fff;font-size:13.5px;font-weight:650;box-shadow:var(--shadow-lg);animation:toast-in .35s var(--ease-spring)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)}}@media (max-width: 1100px){.toolbar__pills span{display:none}.toolbar__pills .pill{padding:9px 11px}}@media (max-width: 860px){.hide-md{display:none!important}.toolbar__title span{display:none}}@media (max-width: 620px){.hide-sm{display:none!important}.toolbar{flex-wrap:wrap}.toolbar__pills{order:3;width:100%}.toolbar__title strong{max-width:38vw}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
