.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5}.confetti__piece{position:absolute;left:50%;top:44%;width:var(--size);height:calc(var(--size) * .42);border-radius:1px;opacity:0;will-change:transform,opacity;animation:confetti-fly var(--dur) cubic-bezier(.15,.6,.4,1) var(--delay) 1 both}@keyframes confetti-fly{0%{transform:translate(-50%,-50%) rotate(0);opacity:0}12%{opacity:var(--peak, 1)}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot));opacity:0}}@media (prefers-reduced-motion: reduce){.confetti{display:none}}.factory{height:100%;width:100%;display:flex;flex-direction:column;padding:2.2vh 2.5vw;gap:1.8vh;user-select:none}.factory--loading{align-items:center;justify-content:center}.factory__loading-text{font-size:3vw;color:var(--text-dim)}.factory__header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2vw;flex:0 0 auto}.factory__brand{--logo-h: clamp(1.7rem, 3vw, 3.6rem);justify-self:end;display:flex;align-items:center;padding:calc(var(--logo-h) * .32)}.factory__logo{height:var(--logo-h);width:auto;display:block;max-width:34vw;object-fit:contain}.factory__title{justify-self:start;margin:0;font-size:clamp(1.8rem,3.6vw,4rem);font-weight:700;letter-spacing:.02em;text-transform:uppercase}.factory__clock{justify-self:center;display:flex;align-items:baseline;gap:1.5vw;font-size:clamp(1rem,1.9vw,2rem);color:var(--text-dim)}.factory__date{font-weight:500;letter-spacing:.02em;white-space:nowrap;text-align:center}.factory__stale{color:var(--bad);font-size:clamp(.8rem,1.4vw,1.4rem)}.factory__grid{flex:1 1 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1.6vw;align-content:stretch;min-height:0}.prod-card,.value-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;padding:2.4vh 2vw;display:flex;flex-direction:column;min-height:0}.prod-card{justify-content:space-between;gap:2vh;position:relative;overflow:hidden}.prod-card--met{border-color:var(--good-dim);background:linear-gradient(180deg,rgba(194,161,75,.14),var(--bg-elev));box-shadow:inset 0 0 0 1px var(--good-dim)}.prod-card--demo{cursor:pointer}.prod-card__demo-hint{position:absolute;bottom:2.4vh;right:2vw;z-index:6;font-size:clamp(.7rem,1.1vw,1.1rem);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);opacity:.6}.prod-card__badge{position:absolute;top:2.4vh;right:2vw;z-index:6;font-size:clamp(.75rem,1.3vw,1.35rem);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--good);border:1px solid var(--good-dim);border-radius:999px;padding:.4em .95em;background:#c2a14b24;animation:badge-in .4s ease both}@keyframes badge-in{0%{opacity:0;transform:translateY(-.4em)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.prod-card__badge{animation:none}}.prod-card__label{font-size:clamp(1.1rem,2vw,2.2rem);font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.prod-card__numbers{display:flex;align-items:baseline;gap:.6vw;font-variant-numeric:tabular-nums;line-height:1}.prod-card__made{font-size:clamp(4rem,12vw,14rem);font-weight:800;color:var(--text)}.prod-card--met .prod-card__made{color:var(--good)}.prod-card__sep{font-size:clamp(2.4rem,5vw,5.5rem);color:var(--text-dim)}.prod-card__target{font-size:clamp(2.6rem,6vw,7rem);font-weight:600;color:var(--text-dim)}.prod-card__bar{height:clamp(14px,2vh,28px);background:var(--bg-elev-2);border-radius:999px;overflow:hidden}.prod-card__bar-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .6s ease}.value-card--placeholder{align-items:center;justify-content:center;gap:1.2vh;border-style:dashed;background:transparent}.value-card__label{font-size:clamp(1.1rem,2vw,2.2rem);font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.value-card__soon{font-size:clamp(.9rem,1.6vw,1.6rem);color:var(--text-dim);opacity:.55;letter-spacing:.04em}.factory__sales{flex:0 0 auto;display:flex;align-items:center;gap:3vw;background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;padding:1.8vh 2vw}.sales__label{font-size:clamp(1rem,1.8vw,2rem);font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.sales__figures{display:flex;gap:4vw}.sales__stat{display:flex;align-items:baseline;gap:.6vw}.sales__value{font-size:clamp(2.2rem,4.6vw,5.2rem);font-weight:800;font-variant-numeric:tabular-nums}.sales__unit{font-size:clamp(.9rem,1.6vw,1.6rem);color:var(--text-dim)}.factory__ticker{flex:0 0 auto;text-align:center;color:var(--text-dim);font-family:var(--mono);font-size:clamp(.85rem,1.5vw,1.5rem);letter-spacing:.02em}.placeholder{height:100%;width:100%;display:flex;align-items:center;justify-content:center;padding:4vh 4vw}.placeholder__inner{text-align:center;max-width:900px}.placeholder__inner--list{text-align:left;width:100%}.placeholder__title{margin:0 0 .4em;font-size:clamp(1.8rem,4vw,3.6rem);font-weight:700}.placeholder__msg{font-size:clamp(1.1rem,2vw,2rem);color:var(--text-dim);margin:0 0 1.2em}.placeholder__msg--warn{color:var(--warn)}.screen-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}.screen-list__link{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.2rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px}.screen-list__link:hover{border-color:var(--accent)}.screen-list__name{font-family:var(--mono);font-size:clamp(1rem,1.8vw,1.5rem);color:var(--text)}.screen-list__meta{font-size:.95rem;color:var(--text-dim)}.placeholder__foot{margin-top:2rem}.placeholder__adminlink{font-size:1.1rem}:root{--indigo: #003d52;--warm-grey: #e0ded9;--cool-grey: #ededed;--red: #b12f34;--sunburst: #c2a14b;--bg: #003d52;--bg-elev: #0a4a60;--bg-elev-2: #0f5674;--border: rgba(224, 222, 217, .18);--text: #f7f6f3;--text-dim: rgba(224, 222, 217, .7);--accent: #c2a14b;--good: #c2a14b;--good-dim: rgba(194, 161, 75, .5);--warn: #c2a14b;--bad: #b12f34;--font: Gotham, Montserrat, Arial, sans-serif;--mono: ui-monospace, "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}#root{display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}
