*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{min-height:100dvh;line-height:1.5;font-family:var(--font-body, sans-serif);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg)}img,picture,svg{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{text-wrap:balance;line-height:1.15;font-family:var(--font-display);font-weight:500}button{cursor:pointer;background:none;border:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root,[data-theme=light]{--font-display: "Zodiak", Georgia, serif;--font-body: "Satoshi", "Source Sans 3", sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .35vw, 1rem);--text-base: clamp(1rem, .95rem + .25vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .75vw, 1.5rem);--text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--color-bg: #f7f3ec;--color-surface: #fffdf8;--color-surface-2: #f3ece2;--color-surface-offset: #ebe3d6;--color-divider: #ddd4c6;--color-border: #d0c6b6;--color-text: #1e1a17;--color-text-muted: #5c534a;--color-text-faint: #8a7f74;--color-text-inverse: #f9f5ee;--color-primary: #8b1a1a;--color-primary-hover: #6b1010;--color-primary-highlight: #f6e4dc;--color-gold: #b8892b;--color-success: #3f6b32;--color-warning: #8a5720;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px oklch(.2 .02 60 / .06);--shadow-md: 0 8px 24px oklch(.25 .03 60 / .08);--transition-interactive: .18s cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--color-bg: #161311;--color-surface: #211c18;--color-surface-2: #2a241f;--color-surface-offset: #322b25;--color-divider: #3d342c;--color-border: #4a4036;--color-text: #efe6d8;--color-text-muted: #b5a896;--color-text-faint: #867868;--color-text-inverse: #1a1613;--color-primary: #d46a5c;--color-primary-hover: #e28476;--color-primary-highlight: #3a2420;--color-gold: #d4a24a;--color-success: #7dae66;--color-warning: #d4a06a}.app{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-divider);background:var(--color-surface)}.brand-lockup{display:flex;align-items:center;gap:var(--space-4)}.brand-lockup img,.brand-lockup svg{height:28px;width:auto}.brand-word{font-family:var(--font-display);letter-spacing:.14em;font-size:var(--text-sm);color:var(--color-text)}.brand-sep{width:1px;height:22px;background:var(--color-border)}.top-meta{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs)}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--color-text-muted)}.icon-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:var(--space-8) 0 var(--space-16)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-8);align-items:start}@media (max-width: 900px){.layout{grid-template-columns:1fr}.sidebar{position:sticky;bottom:0;z-index:5}}.progress{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-4);margin-bottom:var(--space-6)}.pd{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;color:var(--color-text-faint);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.pd b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--color-border);font-weight:600}.pd.active{color:var(--color-primary)}.pd.active b{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pd.done b{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.sh{font-size:var(--text-xl);margin-bottom:var(--space-2)}.ss{color:var(--color-text-muted);margin-bottom:var(--space-6);max-width:60ch}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);text-align:left;min-height:96px;box-shadow:var(--shadow-sm)}.card:hover{border-color:var(--color-primary)}.card.sel{border-color:var(--color-primary);background:var(--color-primary-highlight);box-shadow:inset 0 0 0 1px var(--color-primary)}.card h3{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-1)}.card p,.muted{color:var(--color-text-muted);font-size:var(--text-sm)}.price{font-family:var(--font-display);color:var(--color-primary);font-size:var(--text-lg);margin-top:var(--space-2)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.chip{min-height:44px;padding:0 var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);letter-spacing:.06em;text-transform:uppercase;font-size:var(--text-sm);font-weight:600}.chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.chip.sel{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.nav{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-divider)}.btn{min-height:48px;padding:0 var(--space-6);border-radius:var(--radius-sm);letter-spacing:.1em;text-transform:uppercase;font-size:var(--text-sm);font-weight:600}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{background:var(--color-surface-offset);color:var(--color-text-faint);cursor:not-allowed}.btn-ghost{border:1.5px solid var(--color-border);color:var(--color-text-muted)}.btn-ghost:hover{border-color:var(--color-text);color:var(--color-text)}.sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md);position:sticky;top:var(--space-4)}.sidebar h2{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-3)}.side-row{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);margin-bottom:var(--space-2)}.side-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-divider)}.side-total strong{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary)}.landing{min-height:calc(100dvh - 80px);display:grid;place-items:center;padding:var(--space-8)}.landing-card{width:min(680px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-8);text-align:center;box-shadow:var(--shadow-md)}.logo-row{display:flex;justify-content:center;align-items:center;gap:var(--space-8);margin-bottom:var(--space-8)}.logo-row img{height:42px;width:auto}.md-mark{font-family:var(--font-display);letter-spacing:.22em;font-size:var(--text-lg)}.landing h1{font-size:var(--text-xl);margin-bottom:var(--space-3)}.field{margin-bottom:var(--space-5)}.fl{display:block;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--color-text-muted);margin-bottom:var(--space-2)}.search{width:100%;min-height:48px;padding:0 var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.fab-list{max-height:280px;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.fab-row{width:100%;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-divider)}.fab-row:hover,.fab-row.sel{background:var(--color-primary-highlight)}.dot{width:16px;height:16px;border-radius:50%;box-shadow:0 0 0 1px #0000001f}.badge{font-size:var(--text-xs);padding:2px 8px;border-radius:999px;background:var(--color-surface-2);color:var(--color-text-muted)}.note{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-5)}.note.warn{border-color:color-mix(in oklab,var(--color-warning) 40%,var(--color-border))}.note.err{border-color:var(--color-primary);background:var(--color-primary-highlight)}.quote-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);line-height:1.7;margin-bottom:var(--space-4)}.actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.qty{display:inline-flex;align-items:center;gap:var(--space-2)}.pillow-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-5)}.pillow-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.pillow-toolbar .btn{margin-left:auto}.pillow-price{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600}.pillow-price.up{color:var(--color-primary)}.qty button{width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.footer{padding:var(--space-4) var(--space-6);color:var(--color-text-faint);font-size:var(--text-xs);border-top:1px solid var(--color-divider);display:flex;justify-content:space-between;gap:var(--space-3)}.print-only{display:none}@media print{.topbar,.nav,.sidebar,.progress,.actions,.footer,[data-theme-toggle]{display:none!important}.layout{grid-template-columns:1fr}.print-only{display:block}.quote-box{border:none;padding:0}}
