#root{min-height:100vh}:root{--ink:#15120c;--ink-2:#3f392e;--ink-3:#6b6253;--ink-4:#948a78;--paper:#ece3d0;--paper-warm:#e3d8bf;--paper-soft:#f5efe1;--paper-deep:#d6c9ac;--vermillion:#c5391a;--vermillion-deep:#9b2a10;--vermillion-soft:#c5391a1f;--hairline:#15120c2e;--hairline-strong:#15120c6b;--hairline-soft:#15120c14;--font-display:"Fraunces", "Times New Roman", Georgia, serif;--font-body:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-feature-settings:"ss01", "ss02", "cv11";font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{min-width:320px;min-height:100vh;margin:0}body{background-color:var(--paper);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.08  0 0 0 0 0.07  0 0 0 0 0.05  0 0 0 0.10 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/></svg>"),radial-gradient(90% 60% at 12% 0,#fff5de99,#0000 60%),radial-gradient(80% 70% at 100% 100%,#c5391a0f,#0000 55%)}button,input{font:inherit;color:inherit}code,.mono{font-family:var(--font-mono);font-variant-ligatures:none;letter-spacing:-.005em}code{color:var(--ink-2);background:0 0;border:0;padding:0;font-size:.86em}.login-shell{background:linear-gradient(90deg, #15120c14 1px, transparent 1px) 0 0 / 72px 72px, linear-gradient(180deg, #15120c14 1px, transparent 1px) 0 0 / 72px 72px, radial-gradient(ellipse 90% 62% at 18% 0%, #fff7e2d1, transparent 58%), var(--paper);place-items:center;min-height:100dvh;padding:28px;display:grid}.login-panel{border:1px solid var(--hairline-strong);background:#f5efe1e6;width:min(100%,620px);padding:34px;box-shadow:inset 0 1px #ffffff8c,0 32px 80px -40px #15120c6b}.login-brand{border-bottom:1px solid var(--hairline-strong);align-items:center;gap:18px;padding-bottom:24px;display:flex}.login-brand img{width:118px;height:auto;display:block}.login-brand span{font-family:var(--font-display);color:var(--ink-3);font-size:28px;font-style:italic}.login-brand strong{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);font-size:36px;font-weight:360}.login-copy{padding:30px 0 26px}.login-kicker{font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--vermillion);margin:0 0 12px;font-size:10.5px;font-weight:600}.login-copy h1{max-width:12ch;font-family:var(--font-display);letter-spacing:-.018em;margin:0;font-size:clamp(42px,8vw,68px);font-weight:360;line-height:.94}.login-copy p:not(.login-kicker){max-width:44ch;font-family:var(--font-display);color:var(--ink-2);margin:18px 0 0;font-size:16px;font-style:italic;line-height:1.45}.login-form{gap:10px;display:grid}.login-form label{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);font-size:10.5px;font-weight:600}.login-input{border:1px solid var(--ink);background:var(--paper-soft);grid-template-columns:minmax(0,1fr) auto;display:grid}.login-input input{min-width:0;font-family:var(--font-body);background:0 0;border:0;outline:none;padding:15px 16px;font-size:16px}.login-input:focus-within{box-shadow:0 0 0 2px var(--vermillion-soft)}.login-input.has-error{border-color:var(--vermillion)}.login-input button{cursor:pointer;border:0;border-left:1px solid var(--ink);background:var(--ink);color:var(--paper-soft);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;padding:0 18px;font-size:10.5px;font-weight:700}.login-input button:hover{background:var(--vermillion)}.login-message{min-height:18px;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:10px;line-height:1.5}.app-shell{flex-direction:column;gap:14px;min-height:100dvh;padding:18px 28px 24px;display:flex}.masthead{border-bottom:1px solid var(--hairline-strong);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-2);justify-content:space-between;align-items:center;gap:18px;padding-bottom:10px;font-size:10.5px;font-weight:500;display:flex}.masthead-left,.masthead-right{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.masthead-mark{color:var(--ink);letter-spacing:.22em;align-items:baseline;gap:8px;font-weight:700;display:inline-flex}.masthead-mark:before{content:"";background:var(--vermillion);border-radius:50%;width:6px;height:6px;margin-right:2px;display:inline-block;transform:translateY(-2px)}.masthead-dot{background:var(--ink-3);border-radius:50%;width:3px;height:3px}.masthead .live{color:var(--vermillion);align-items:center;gap:7px;font-weight:600;display:inline-flex}.masthead .live:before{content:"";background:var(--vermillion);border-radius:50%;width:7px;height:7px;animation:2.4s ease-out infinite pulse;box-shadow:0 0 #c5391a80}@keyframes pulse{0%{box-shadow:0 0 #c5391a8c}70%{box-shadow:0 0 0 9px #c5391a00}to{box-shadow:0 0 #c5391a00}}.hero{border-bottom:1px solid var(--hairline);opacity:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:8px 0 12px;animation:.9s cubic-bezier(.16,1,.3,1) .12s forwards rise;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:12px;margin-bottom:8px;font-size:11px;font-weight:500;display:flex}.hero-eyebrow .rule{background:var(--ink-3);flex:0 0 56px;height:1px}.hero h1.hero-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-variation-settings:"opsz" 144, "SOFT" 30;margin:0;font-size:clamp(40px,4.6vw,68px);font-weight:360;line-height:.94}.hero h1.hero-title em{color:var(--vermillion);font-variation-settings:"opsz" 144, "SOFT" 100;font-style:italic;font-weight:320}.hero-meta{text-align:right;flex-direction:column;gap:0;padding-bottom:2px;display:flex}.hero-meta .credit{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px}.workspace{grid-template-columns:minmax(0,1fr) 460px;align-items:stretch;gap:24px;height:clamp(500px,100dvh - 176px,780px);min-height:0;display:grid}.stage-shell{--stage-footer-reserve:126px;border:1px solid var(--hairline-strong);height:100%;min-height:0;box-shadow:0 1px 0 var(--paper-soft) inset, 0 28px 60px -30px #15120c52;opacity:0;background:linear-gradient(#f8f1de 0%,#ece1c4 100%);border-radius:0;animation:.9s cubic-bezier(.16,1,.3,1) .22s forwards rise;position:relative;overflow:hidden}.stage-shell:before,.stage-shell:after,.stage-shell .corner-tl,.stage-shell .corner-br{content:"";border-color:var(--ink);z-index:3;pointer-events:none;border-style:solid;border-width:0;width:18px;height:18px;position:absolute}.stage-shell:before{border-top-width:1px;border-left-width:1px;top:10px;left:10px}.stage-shell:after{border-top-width:1px;border-right-width:1px;top:10px;right:10px}.stage-shell canvas{display:block;width:100%!important;height:calc(100% - var(--stage-footer-reserve))!important}.stage-toolbar{z-index:2;max-width:none;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap;gap:0;font-size:10px;font-weight:500;display:flex;position:absolute;top:28px;left:28px;right:150px}.stage-toolbar span{padding:0 12px;line-height:1;position:relative}.stage-toolbar span:first-child{padding-left:0}.stage-toolbar span+span:before{content:"";background:var(--hairline-strong);width:1px;height:9px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.viewer-actions{z-index:2;border:1px solid var(--hairline-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f5efe1d6;gap:0;display:flex;position:absolute;top:28px;right:28px}.viewer-actions button{cursor:pointer;border:0;border-left:1px solid var(--hairline);width:38px;height:36px;color:var(--ink);background:0 0;place-items:center;transition:background .2s,color .2s;display:inline-grid}.viewer-actions button:first-child{border-left:0}.viewer-actions button:hover{background:var(--ink);color:var(--paper-soft)}.stage-footer{z-index:2;border-top:1px solid var(--hairline-strong);justify-content:space-between;align-items:flex-end;gap:16px;padding-top:14px;display:flex;position:absolute;bottom:24px;left:28px;right:28px}.stage-footer-meta{flex-direction:column;gap:6px;display:flex}.stage-footer-meta .plate-no{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--vermillion);font-size:10px;font-weight:600}.stage-footer-meta .plate-name{font-family:var(--font-display);color:var(--ink);letter-spacing:-.012em;font-size:28px;font-style:italic;font-weight:360;line-height:1}.stage-footer-meta .plate-caption{font-family:var(--font-body);color:var(--ink-2);letter-spacing:.01em;font-size:12px;font-weight:400}.stage-footer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.stage-action{cursor:pointer;border:1px solid var(--ink);color:var(--ink);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;background:0 0;align-items:center;gap:8px;padding:9px 14px;font-size:10.5px;font-weight:600;transition:background .18s,color .18s;display:inline-flex}.stage-action:hover{background:var(--ink);color:var(--paper-soft)}.wardrobe-panel{background:var(--paper-soft);border:1px solid var(--hairline-strong);opacity:0;scrollbar-width:thin;scrollbar-color:var(--ink-4) transparent;flex-direction:column;gap:24px;height:100%;min-height:0;padding:28px 30px 34px;animation:.9s cubic-bezier(.16,1,.3,1) .32s forwards rise;display:flex;position:relative;overflow:auto;box-shadow:inset 0 1px #fff9,0 28px 60px -30px #15120c38}.wardrobe-panel::-webkit-scrollbar{width:6px}.wardrobe-panel::-webkit-scrollbar-thumb{background:var(--ink-4);border-radius:0}.panel-heading{border-bottom:1px solid var(--hairline-strong);padding-bottom:18px;display:block}.panel-heading .panel-mark{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--vermillion);margin-bottom:8px;font-size:10.5px;font-weight:600}.panel-heading h1{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:42px;font-weight:360;line-height:.95}.panel-heading p{max-width:none;font-family:var(--font-body);color:var(--ink-2);margin:10px 0 0;font-size:13px;font-style:normal;font-weight:360;line-height:1.4}.control-section{flex-direction:column;gap:12px;display:flex}.control-title{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;font-size:10px;font-weight:600;display:grid}.control-title .rule{background:var(--hairline);height:1px;margin-top:2px}.control-title .tail{font-family:var(--font-mono);letter-spacing:.2em;color:var(--ink-3);font-size:9.5px;font-weight:500}.control-title.inline{grid-template-columns:minmax(120px,auto) minmax(0,1fr)}.segmented-control{border:1px solid var(--ink);background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;display:grid}.segmented-control button{border:0;border-left:1px solid var(--ink);min-height:46px;color:var(--ink);cursor:pointer;font-family:var(--font-display);letter-spacing:-.005em;background:0 0;font-size:16px;font-weight:400;transition:background .18s,color .18s;position:relative}.segmented-control button:first-child{border-left:0}.segmented-control button:hover{background:#15120c0a}.segmented-control button.selected{background:var(--ink);color:var(--paper-soft);font-style:italic}.set-section .set-grid{border-top:1px solid var(--hairline-strong);gap:0;display:grid}.set-card{cursor:pointer;border:0;border-bottom:1px solid var(--hairline);color:var(--ink);text-align:left;background:0 0;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 4px 14px 0;transition:background .2s,padding .2s;display:grid;position:relative}.set-card:hover{background:#c5391a0b;padding-left:6px}.set-card .set-accent{border:1px solid var(--ink);background:0 0;border-radius:50%;width:24px;height:24px;margin-left:0;position:relative}.set-card .set-accent:before{content:"";background:var(--card-accent,var(--vermillion));border-radius:50%;position:absolute;inset:4px}.set-card-body{gap:8px;min-width:0;display:grid}.set-card-body strong{font-family:var(--font-display);letter-spacing:-.012em;color:var(--ink);font-size:20px;font-style:italic;font-weight:360;line-height:1.05}.set-preview{gap:4px;padding-top:4px;display:flex}.set-preview-thumb{border:1px solid var(--hairline);background:var(--paper-warm);border-radius:0;place-items:center;width:28px;height:28px;display:inline-grid;overflow:hidden}.set-preview-thumb img{object-fit:contain;filter:contrast(1.04)saturate(.95);width:100%;height:100%}.set-card .set-arrow{font-family:var(--font-display);color:var(--ink-3);padding-right:4px;font-size:22px;font-style:italic;font-weight:300;transition:color .2s,transform .2s}.set-card:hover .set-arrow{color:var(--vermillion);transform:translate(4px)}.option-grid{border-top:1px solid var(--hairline);grid-template-columns:1fr;gap:0;display:grid}.option-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.option-card{cursor:pointer;border:0;border-bottom:1px solid var(--hairline);min-height:62px;color:var(--ink);text-align:left;background:0 0;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:14px;padding:10px 12px 10px 0;transition:background .18s,color .18s;display:grid;position:relative}.option-grid.compact .option-card:nth-child(odd){border-right:1px solid var(--hairline)}.option-card:hover{background:#c5391a0d}.option-card:disabled{cursor:not-allowed;opacity:.36}.option-card.selected{background:var(--ink);color:var(--paper-soft)}.option-thumb{background:var(--paper-warm);width:46px;height:46px;color:var(--ink-2);border:1px solid var(--hairline);border-radius:0;place-items:center;display:inline-grid;overflow:hidden}.option-thumb img{object-fit:contain;filter:contrast(1.04)saturate(.95);width:100%;height:100%;display:block}.option-thumb.empty{background:0 0;border-style:dashed}.option-card.selected .option-thumb{background:var(--vermillion);color:var(--paper-soft);border-color:var(--vermillion-deep)}.option-card.selected .option-thumb img{filter:contrast(1.04)saturate(.95)brightness(1.04)}.option-card strong{font-family:var(--font-display);letter-spacing:-.005em;text-wrap:pretty;font-size:17px;font-weight:400;line-height:1.16;display:block}.option-card.selected strong{font-style:italic}button:focus-visible,.option-card:focus-visible,.set-card:focus-visible{outline:1px solid var(--vermillion);outline-offset:2px}@media (width<=1180px){.workspace{grid-template-columns:minmax(0,1fr) 400px}}@media (width<=1040px){.hero{grid-template-columns:1fr;align-items:start}.hero-meta{text-align:left}.workspace{grid-template-columns:1fr;height:auto}.stage-shell{height:auto;min-height:540px}.wardrobe-panel{height:auto;max-height:none}}@media (width<=640px){.login-shell{padding:16px}.login-panel{padding:24px 20px}.login-brand{gap:12px}.login-brand img{width:96px}.login-brand span{font-size:24px}.login-brand strong{font-size:31px}.login-copy h1{max-width:none;font-size:clamp(38px,13vw,52px)}.login-input{grid-template-columns:1fr}.login-input button{border-left:0;border-top:1px solid var(--ink);min-height:48px}.app-shell{padding:16px 16px 24px}.masthead{letter-spacing:.14em;font-size:9.5px}.masthead-left,.masthead-right{gap:12px}.hero h1.hero-title{font-size:clamp(40px,14vw,64px)}.stage-shell{--stage-footer-reserve:142px;min-height:460px}.stage-toolbar{letter-spacing:.14em;row-gap:6px;font-size:9px;right:132px}.stage-toolbar span:nth-child(n+3){display:none}.stage-toolbar span{padding:0 8px}.wardrobe-panel{padding:22px 20px 28px}.option-grid,.option-grid.compact{grid-template-columns:1fr}.option-card{border-right:0!important}}
