*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FAF7F2;--surface: #FFFFFF;--surface-2: #F4F0E8;--ink: #1C1A17;--muted: #6B6359;--hint: #9A9087;--border: #E8E4DC;--border-soft: #F0EDE6;--accent: #1A5F66;--accent-soft: #E2ECEC;--success: #2D6E4F;--success-soft: #E6F0E8;--warn: #B57A1D;--warn-soft: #F5EBD8;--danger: #A8341F;--danger-soft: #F5E2DD;--radius: 4px}html,body,#root{height:100%;background:var(--bg);color:var(--ink);font-family:Manrope,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.font-display{font-family:Fraunces,serif;font-optical-sizing:auto}.italic-display{font-family:Fraunces,serif;font-style:italic;font-weight:500}.tabular{font-variant-numeric:tabular-nums}.mono{font-family:Courier New,monospace}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.btn-primary{background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:2px;font-weight:500;font-size:14px;font-family:inherit;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none;transition:opacity .15s;white-space:nowrap}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink);padding:10px 16px;border-radius:2px;font-weight:500;font-size:14px;font-family:inherit;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid var(--border);transition:background .15s;white-space:nowrap}.btn-ghost:hover{background:var(--surface-2)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-link{background:transparent;color:var(--accent);padding:4px 0;font-weight:500;font-size:14px;font-family:inherit;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:6px}.btn-link:hover{text-decoration:underline}.input{background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:10px 12px;font-size:14px;color:var(--ink);width:100%;font-family:inherit;transition:border-color .15s}.input:focus{outline:none;border-color:var(--ink)}.input::placeholder{color:var(--hint)}textarea.input{resize:vertical}select.input{cursor:pointer}.label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600;margin-bottom:6px;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-selected{border-color:var(--accent)!important;background:var(--accent-soft)!important}.nav-item{padding:10px 14px;border-radius:2px;font-size:14px;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .15s;-webkit-user-select:none;user-select:none}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--ink);color:var(--bg)}.table-row{border-bottom:1px solid var(--border-soft);transition:background .1s}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--surface-2);cursor:pointer}.divider{height:1px;background:var(--border)}.seg-btn{padding:6px 14px;background:transparent;border:1px solid var(--border);cursor:pointer;font-size:13px;font-family:inherit;color:var(--muted)}.seg-btn:first-child{border-radius:2px 0 0 2px}.seg-btn:last-child{border-radius:0 2px 2px 0}.seg-btn:not(:last-child){border-right:none}.seg-btn.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.size-chip{padding:10px 8px;border:1px solid var(--border);border-radius:2px;cursor:pointer;text-align:center;transition:all .12s;background:var(--surface);-webkit-user-select:none;user-select:none}.size-chip:hover{border-color:var(--ink)}.size-chip.active{border-color:var(--accent);background:var(--accent-soft)}.toggle{width:36px;height:20px;border-radius:999px;background:var(--border);position:relative;transition:background .15s;cursor:pointer;flex-shrink:0;border:none}.toggle.on{background:var(--ink)}.toggle:after{content:"";width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:left .15s}.toggle.on:after{left:18px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fade-in{animation:fadeIn .2s ease-out}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:none;opacity:1}}.slide-in{animation:slideIn .2s ease-out}.grain{background-image:radial-gradient(rgba(28,26,23,.04) 1px,transparent 1px);background-size:3px 3px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1a1773;z-index:100;display:flex;justify-content:flex-end}.page-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.page-title{font-family:Fraunces,serif;font-size:40px;font-weight:500;letter-spacing:-.02em;line-height:1.1}
