:root{--bg: #0c1014;--ink: #e8e2d6;--ink-dim: rgba(232, 226, 214, .55);--mineral: #7a92a4;--copper: #c48458;--copper-hot: #d09468;--slate: #151c24;--slate-2: #1c2630;--line: rgba(232, 226, 214, .14);--ok: #9bb8a8;--bad: #c47a6a;--display: "Fraunces", "Iowan Old Style", Georgia, serif;--sans: "Sora", "Segoe UI", sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--dur: .45s}.boot-shell{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:.7rem;background:radial-gradient(ellipse 70% 55% at 18% 20%,rgba(122,146,164,.16),transparent 58%),radial-gradient(ellipse 55% 45% at 82% 72%,rgba(196,132,88,.12),transparent 55%),linear-gradient(165deg,#0c1014,#10161c 48%,#0a0e12);color:var(--ink);font-family:var(--display)}.boot-brand{font-size:clamp(2.4rem,8vw,3.6rem);font-weight:600;letter-spacing:-.03em;animation:brand-in .85s var(--ease-out) both}.boot-rule{display:block;width:3.2rem;height:2px;background:linear-gradient(90deg,var(--copper),var(--mineral));transform-origin:left center;animation:rule-grow .9s var(--ease-out) .15s both,loading-mark 1.1s var(--ease-out) 1s infinite}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.45;-webkit-font-smoothing:antialiased}button,select,input{font:inherit}.shell{position:relative;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;padding:1.25rem clamp(1rem,4vw,2.5rem) 1rem;overflow:hidden}.atmosphere{position:fixed;inset:0;pointer-events:none;z-index:0;background:linear-gradient(165deg,#0c1014,#10161c 48%,#0a0e12);transition:filter .7s var(--ease-out)}.shell.phase-converting .atmosphere{filter:saturate(1.08)}.shell.phase-done .atmosphere{filter:saturate(1.12) brightness(1.04)}.orb{position:absolute;border-radius:50%;filter:blur(40px);will-change:transform;transition:opacity .8s var(--ease-out)}.orb-a{width:min(52vw,28rem);height:min(52vw,28rem);left:-8%;top:-6%;background:radial-gradient(circle,rgba(122,146,164,.28),transparent 68%);animation:orb-a 16s var(--ease-out) infinite alternate}.orb-b{width:min(48vw,26rem);height:min(48vw,26rem);right:-10%;bottom:-8%;background:radial-gradient(circle,rgba(196,132,88,.22),transparent 68%);animation:orb-b 19s var(--ease-out) infinite alternate}.shell.phase-converting .orb-a{background:radial-gradient(circle,rgba(122,146,164,.18),transparent 68%)}.shell.phase-converting .orb-b{background:radial-gradient(circle,rgba(196,132,88,.34),transparent 68%)}.shell.phase-done .orb-a{background:radial-gradient(circle,rgba(155,184,168,.28),transparent 68%)}.shell.phase-done .orb-b{background:radial-gradient(circle,rgba(122,146,164,.2),transparent 68%)}.shell.phase-error .orb-a{background:radial-gradient(circle,rgba(196,122,106,.22),transparent 68%)}.shell.phase-error .orb-b{background:radial-gradient(circle,rgba(196,132,88,.14),transparent 68%)}.grain{position:absolute;inset:0;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes orb-a{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(8%,6%,0) scale(1.08)}}@keyframes orb-b{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-7%,-5%,0) scale(1.1)}}.top,.stage,.foot{position:relative;z-index:1}.top{display:flex;justify-content:space-between;align-items:baseline;animation:fade-up .55s var(--ease-out) both}.family{font-family:var(--sans);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);text-decoration:none;transition:color .25s ease,letter-spacing .35s var(--ease-out),transform .3s var(--ease-spring)}.family:hover{color:var(--mineral);letter-spacing:.28em;transform:translateY(-1px)}.signout{border:0;background:transparent;color:var(--ink-dim);font-size:.75rem;letter-spacing:.06em;cursor:pointer;transition:color .25s ease,transform .25s var(--ease-spring)}.signout:hover{color:var(--ink);transform:translateY(-1px)}.signout:active{transform:translateY(1px)}.stage{display:flex;flex-direction:column;justify-content:center;align-items:stretch;max-width:34rem;width:100%;margin:0 auto;padding:2rem 0 3rem}.hero{animation:fade-up .7s var(--ease-out) .05s both}.brand{display:grid;gap:.55rem}.brand-word{font-family:var(--display);font-size:clamp(3.4rem,12vw,5.5rem);font-weight:600;letter-spacing:-.03em;line-height:.95;color:var(--ink);display:inline-block;animation:brand-in .85s var(--ease-out) both}.brand-rule{display:block;width:3.2rem;height:2px;background:linear-gradient(90deg,var(--copper),var(--mineral));transform-origin:left center;animation:rule-grow .9s var(--ease-out) .2s both}.lede{margin-top:.85rem;max-width:22rem;color:var(--ink-dim);font-size:1.05rem;animation:fade-up .7s var(--ease-out) .14s both}.path-wrap{position:relative;margin-top:1.75rem;padding-top:.15rem;animation:fade-up .7s var(--ease-out) .2s both}.path-track,.path-fill{position:absolute;top:.38rem;left:16.666%;width:66.668%;height:1px;border-radius:1px;pointer-events:none}.path-track{background:var(--line)}.path-fill{background:linear-gradient(90deg,var(--copper),var(--mineral));transform-origin:left center;transition:transform .55s var(--ease-out),background .45s var(--ease-out)}.shell.phase-done .path-fill{background:linear-gradient(90deg,var(--mineral),var(--ok))}.shell.phase-error .path-fill{background:linear-gradient(90deg,var(--copper),var(--bad))}.path{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;position:relative}.path li{display:flex;align-items:center;justify-content:center;gap:.45rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#e8e2d647;transition:color .4s var(--ease-out)}.path li.is-on{color:var(--ink)}.path li.is-bad{color:var(--bad)}.path-dot{width:.45rem;height:.45rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 transparent;transition:background .4s var(--ease-out),box-shadow .4s var(--ease-out),transform .4s var(--ease-spring)}.path li.is-on .path-dot{background:var(--copper);box-shadow:0 0 0 4px #c4845829;transform:scale(1.15)}.path li.is-bad .path-dot{background:var(--bad);box-shadow:0 0 0 4px #c47a6a2e;animation:bad-pulse .7s var(--ease-spring) both}.shell.phase-done .path li.is-on .path-dot{background:var(--ok);box-shadow:0 0 0 4px #9bb8a833}.flow{margin-top:1.5rem;display:grid;gap:.9rem;animation:fade-up .7s var(--ease-out) .26s both}.drop{position:relative;border:1px solid var(--line);border-radius:2px;background:color-mix(in srgb,var(--slate) 88%,transparent);transition:border-color .35s var(--ease-out),background .35s var(--ease-out),transform .35s var(--ease-spring),box-shadow .35s var(--ease-out)}.drop-ring{position:absolute;inset:-1px;border:1px solid color-mix(in srgb,var(--copper) 70%,transparent);border-radius:inherit;pointer-events:none;animation:ring-out .65s var(--ease-out) forwards}.drop-pick{display:grid;gap:.35rem;justify-items:start;padding:1.6rem 1.4rem;cursor:pointer;transition:transform .35s var(--ease-spring)}.drop:hover:not(.is-busy) .drop-pick{transform:translateY(-1px)}.drop:hover:not(.is-busy),.drop.is-drag{border-color:color-mix(in srgb,var(--copper) 55%,var(--line));background:color-mix(in srgb,var(--slate-2) 92%,transparent);box-shadow:0 12px 40px #00000038}.drop.is-drag{transform:scale(1.015)}.drop.has-file{border-color:color-mix(in srgb,var(--mineral) 45%,var(--line))}.drop.is-busy .drop-pick{cursor:wait}.drop-mark{width:2.4rem;height:2px;margin-bottom:.55rem;background:linear-gradient(90deg,var(--copper),var(--mineral));transform-origin:left center;transition:transform .45s var(--ease-spring),width .45s var(--ease-out)}.drop.has-file .drop-mark,.drop.is-drag .drop-mark{transform:scaleX(1.55)}.drop-copy{display:grid;gap:.35rem;animation:copy-in .4s var(--ease-out) both}.drop-label{font-size:1rem;font-weight:500;word-break:break-all}.drop-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;color:var(--ink-dim);text-transform:capitalize}.family-tag{display:inline-flex;align-items:center;padding:.15rem .45rem;border:1px solid color-mix(in srgb,var(--mineral) 45%,var(--line));border-radius:2px;color:var(--mineral);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;animation:chip-pop .45s var(--ease-spring) both}.drop-clear{position:absolute;top:.85rem;right:.9rem;border:0;background:transparent;color:var(--ink-dim);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;opacity:0;transform:translateY(4px);pointer-events:none;transition:color .25s ease,opacity .3s var(--ease-out),transform .3s var(--ease-spring)}.drop-clear.is-on{opacity:1;transform:none;pointer-events:auto}.drop-clear:hover{color:var(--ink);transform:translateY(-1px)}.controls{max-height:0;opacity:0;overflow:hidden;transform:translateY(10px);transition:max-height .55s var(--ease-out),opacity .4s var(--ease-out),transform .55s var(--ease-out);pointer-events:none}.controls.is-open{max-height:14rem;opacity:1;transform:none;pointer-events:auto}.controls.is-open.is-tall{max-height:28rem}.controls-inner{display:grid;grid-template-columns:1fr auto;gap:.85rem;align-items:end;padding:.15rem 0 .2rem}.field{display:grid;gap:.45rem;min-width:0}.field-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.field-hint{letter-spacing:.06em;text-transform:none;color:#e8e2d661;animation:copy-in .35s var(--ease-out) both}.chips{position:relative;display:flex;flex-wrap:wrap;gap:.4rem}.chips.is-grouped{gap:.35rem .4rem}.chip-group-label{flex:1 0 100%;margin-top:.35rem;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#e8e2d652;animation:copy-in .35s var(--ease-out) both}.chip-group-label:first-of-type{margin-top:0}.chip-thumb{position:absolute;top:0;left:0;height:var(--thumb-h, 0);width:var(--thumb-w, 0);border-radius:2px;background:var(--copper);box-shadow:0 8px 22px #c4845838;transform:translate3d(var(--thumb-x, 0),var(--thumb-y, 0),0);opacity:0;pointer-events:none;z-index:0;transition:transform .4s var(--ease-spring),width .4s var(--ease-spring),height .4s var(--ease-spring),opacity .25s var(--ease-out),background .35s var(--ease-out),box-shadow .35s var(--ease-out)}.chips.has-thumb .chip-thumb{opacity:1}.chips:not(.has-thumb) .chip.is-active{color:#1a120c;background:var(--copper);border-color:var(--copper);box-shadow:0 8px 22px #c4845838}.chip{position:relative;z-index:1;border:1px solid var(--line);border-radius:2px;background:var(--slate);color:var(--ink-dim);font-size:.9rem;padding:.7rem .85rem;cursor:pointer;animation:chip-in .45s var(--ease-spring) both;animation-delay:calc(var(--i, 0) * 45ms);transition:color .25s ease,background .25s ease,border-color .25s ease,transform .3s var(--ease-spring),box-shadow .3s var(--ease-out)}.chip:hover:not(:disabled):not(.is-active){color:var(--ink);border-color:color-mix(in srgb,var(--mineral) 40%,var(--line));transform:translateY(-2px)}.chip.is-active{color:#1a120c;background:transparent;border-color:transparent;transform:translateY(-1px)}.chip:disabled{opacity:.45;cursor:not-allowed;transform:none;animation:none}.cta{position:relative;isolation:isolate;overflow:hidden;border:0;border-radius:2px;background:var(--copper);color:#1a120c;font-weight:600;letter-spacing:.04em;min-width:8.5rem;padding:.9rem 1.45rem;cursor:pointer;transition:background .25s ease,transform .25s var(--ease-spring),opacity .25s ease,box-shadow .3s var(--ease-out),color .3s ease}.cta-fill{position:absolute;inset:0 auto 0 0;width:var(--p, 0%);background:linear-gradient(90deg,#a86c42,var(--copper-hot));opacity:0;transition:width .35s var(--ease-out),opacity .25s ease;z-index:0}.cta-sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);transform:translate(-120%);opacity:0;z-index:1;pointer-events:none}.cta:hover:not(:disabled) .cta-sheen{opacity:1;animation:sheen .7s var(--ease-out)}.cta-label{position:relative;z-index:2;display:inline-block;animation:label-swap .35s var(--ease-spring) both}.cta:hover:not(:disabled){background:var(--copper-hot);box-shadow:0 10px 28px #c4845847;transform:translateY(-2px)}.cta:active:not(:disabled){transform:translateY(1px)}.cta:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.cta.phase-converting{opacity:1;cursor:wait;color:var(--ink);background:var(--slate-2);box-shadow:inset 0 0 0 1px var(--line)}.cta.phase-converting .cta-fill{opacity:1}.cta.phase-converting:disabled{opacity:1}.cta.phase-converting .cta-sheen{opacity:0;animation:none}.cta.phase-done{opacity:1;color:#102018;background:var(--ok);animation:done-pop .55s var(--ease-spring) both}.cta.phase-done:disabled{opacity:1;cursor:default}.status{max-height:0;opacity:0;overflow:hidden;transform:translateY(8px);transition:max-height .5s var(--ease-out),opacity .35s var(--ease-out),transform .5s var(--ease-out)}.status.is-open{max-height:14rem;opacity:1;transform:none}.status-inner{display:grid;gap:.65rem;align-content:start;padding-top:.15rem}.progress-block{display:grid;gap:.7rem;animation:fade-up .4s var(--ease-out) both}.bar{height:3px;width:100%;background:color-mix(in srgb,var(--line) 80%,transparent);position:relative;overflow:hidden;border-radius:2px}.bar:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p, 0%);background:linear-gradient(90deg,var(--mineral),var(--copper),var(--copper-hot));transition:width .18s linear;border-radius:inherit}.bar-glow{position:absolute;top:0;bottom:0;left:calc(var(--p, 0%) - 1.2rem);width:1.2rem;background:linear-gradient(90deg,transparent,rgba(232,226,214,.55));opacity:0;pointer-events:none}.status-converting .bar-glow,.status-loading .bar-glow{opacity:1;animation:bar-sweep 1.4s var(--ease-out) infinite}.status-converting .bar:after,.status-loading .bar:after{animation:pulse-bar 1.2s ease-in-out infinite}.status-done .bar:after{background:var(--ok);animation:none;width:100%}.status-error .bar:after{width:100%;background:var(--bad);animation:none}.checkpoints{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem}.checkpoints li{display:grid;justify-items:center;gap:.35rem;color:#e8e2d647;transition:color .4s var(--ease-out)}.checkpoints li.is-live{color:var(--ink)}.checkpoints li.is-done{color:var(--ok)}.checkpoints li.is-bad{color:var(--bad)}.checkpoint-dot{width:.42rem;height:.42rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 transparent;transition:transform .4s var(--ease-spring),box-shadow .4s var(--ease-out),background .35s var(--ease-out)}.checkpoints li.is-live .checkpoint-dot{background:var(--copper);transform:scale(1.25);box-shadow:0 0 0 4px #c484582e;animation:checkpoint-pulse 1.2s var(--ease-out) infinite}.checkpoints li.is-done .checkpoint-dot{background:var(--ok);transform:scale(1.05)}.checkpoints li.is-bad .checkpoint-dot{background:var(--bad);animation:bad-pulse .7s var(--ease-spring) both}.checkpoint-label{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.status-text{font-size:.9rem;color:var(--ink-dim);animation:copy-in .35s var(--ease-out) both}.status-done .status-text{color:var(--ok)}.status-error .status-text{color:var(--bad)}.again{justify-self:start;border:0;background:transparent;color:var(--mineral);font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:.2em;animation:fade-up .4s var(--ease-out) .08s both;transition:color .25s ease,transform .25s var(--ease-spring)}.again:hover{color:var(--ink);transform:translate(3px)}.again:active{transform:translate(1px)}.foot{font-size:.7rem;letter-spacing:.08em;color:var(--ink-dim);animation:fade-up .55s var(--ease-out) .3s both}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes brand-in{0%{opacity:0;transform:translateY(18px) scale(.98);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes rule-grow{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes copy-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes chip-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes chip-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes label-swap{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes sheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes ring-out{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.03)}}@keyframes done-pop{0%{transform:scale(.96)}55%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes bad-pulse{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1.15)}}@keyframes pulse-bar{0%,to{filter:brightness(1)}50%{filter:brightness(1.25)}}@keyframes bar-sweep{0%{transform:translate(0);opacity:0}35%{opacity:.9}to{transform:translate(2.4rem);opacity:0}}@keyframes checkpoint-pulse{0%,to{box-shadow:0 0 0 4px #c4845829}50%{box-shadow:0 0 0 7px #c4845814}}.phase-boot .drop-mark,.phase-loading .drop-mark{animation:loading-mark 1.1s var(--ease-out) infinite}@keyframes loading-mark{0%,to{transform:scaleX(1);opacity:.55}50%{transform:scaleX(1.8);opacity:1}}@media(max-width:520px){.controls-inner{grid-template-columns:1fr}.cta{width:100%}.path{gap:.25rem}.path li{letter-spacing:.08em}.checkpoint-label{letter-spacing:.04em;font-size:.55rem}.controls.is-open.is-tall{max-height:32rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
