.studio{--paper:#faf8f4;--paper-2:#f2eee6;--paper-3:#e9e3d8;--ink:#00274c;--ink-2:#33475c;--muted:#6f7a86;--line:#e2dccf;--accent:#0063d1;--accent-hover:#024d9f;--ok:#1d7a4a;--ok-bg:#e8f5ee;--warn:#b45309;--warn-bg:#fdf3e6;--bad:#b91c1c;--bad-bg:#fbeaea;color:var(--ink);background:var(--paper);min-height:100vh}.studio-serif{font-family:The Seasons,Playfair Display,Georgia,serif;letter-spacing:-.01em}.studio-canvas{background-color:var(--paper-2);background-image:radial-gradient(circle at 1px 1px,rgba(0,39,76,.06) 1px,transparent 0);background-size:18px 18px}.studio-card{background:#fff;border:1px solid var(--line);border-radius:14px}.studio-chip{border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:999px;padding:.375rem .75rem;font-size:.8125rem;line-height:1.25;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.studio-chip:hover:not(:disabled){border-color:var(--ink-2)}.studio-chip[data-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}.studio-chip:disabled{opacity:.5}.studio-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:10px;padding:.75rem 1.25rem;font-weight:500;font-size:.9375rem;line-height:1.25;transition:background-color .12s ease,border-color .12s ease,opacity .12s ease}.studio-btn:disabled{opacity:.45;cursor:not-allowed}.studio-btn-primary{background:var(--accent);color:#fff}.studio-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.studio-btn-ink{background:var(--ink);color:#fff}.studio-btn-ink:hover:not(:disabled){background:#063a6b}.studio-btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.studio-btn-ghost:hover:not(:disabled){background:#fff;border-color:var(--ink-2)}.studio-input{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.75rem .875rem;font-size:.9375rem;color:var(--ink);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.studio-input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(0,39,76,.08)}.studio-input::-moz-placeholder{color:#9aa3ad}.studio-input::placeholder{color:#9aa3ad}.studio-badge{display:inline-flex;align-items:center;gap:.375rem;border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;line-height:1.2}.studio-badge-ok{background:var(--ok-bg);color:var(--ok)}.studio-badge-warn{background:var(--warn-bg);color:var(--warn)}.studio-badge-bad{background:var(--bad-bg);color:var(--bad)}.studio-badge-muted{background:var(--paper-2);color:var(--muted)}.studio-range{accent-color:var(--ink);width:100%}.studio-step{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:10px;color:var(--muted);font-size:.875rem;text-align:left;width:100%;transition:background-color .12s ease,color .12s ease}.studio-step:hover:not(:disabled){background:var(--paper-2);color:var(--ink)}.studio-step[data-active=true]{background:#fff;color:var(--ink);border:1px solid var(--line)}.studio-step[data-done=true] .studio-step-num{background:var(--ink);color:#fff;border-color:var(--ink)}.studio-step:disabled{opacity:.5;cursor:default}.studio-step-num{width:1.5rem;height:1.5rem;border-radius:999px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0;background:#fff}.studio-candidate{position:relative;border-radius:12px;overflow:hidden;border:2px solid transparent;background:var(--paper-3);aspect-ratio:1/1;transition:border-color .12s ease,transform .12s ease}.studio-candidate:hover{transform:translateY(-1px)}.studio-candidate[data-selected=true]{border-color:var(--ink)}.studio-candidate img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}@keyframes studio-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.studio-shimmer{background:linear-gradient(90deg,var(--paper-3) 0,#f7f4ee 50%,var(--paper-3) 100%);background-size:800px 100%;animation:studio-shimmer 1.4s linear infinite}.studio-tiled{background-repeat:repeat;background-position:0 0}@media (max-width:1023px){.studio-rail{border-right:0}}