:root{--bg-canvas: #F8F5EE;--bg-surface: #FFFFFF;--bg-surface-warm: #F3EFE6;--bg-surface-elevated: #FFFFFF;--bg-sidebar: #F2EDE2;--bg-dark-atelier: #171513;--text-ink-primary: #1A1715;--text-ink-secondary: #5C554E;--text-ink-muted: #8E857C;--text-ink-inverse: #F8F5EE;--thread-vermilion: #C83E2B;--thread-vermilion-hover: #A82C1B;--thread-vermilion-light: #FBF1EE;--thread-vermilion-border: #ECC9C1;--dye-saffron: #D97706;--dye-saffron-bg: #FEF3C7;--dye-indigo: #1E3A8A;--dye-indigo-bg: #EEF2FF;--dye-emerald: #065F46;--dye-emerald-bg: #ECFDF5;--border-atelier: #E5DFC8;--border-subtle: #EBE5DA;--border-stitch: #D6CCA9;--border-focus: #C83E2B;--shadow-sm: 0 1px 2px rgba(26, 23, 21, .04);--shadow-md: 0 4px 12px rgba(26, 23, 21, .06);--shadow-lg: 0 12px 28px rgba(26, 23, 21, .09);--shadow-atelier: 0 20px 40px -15px rgba(26, 23, 21, .12);--font-display: "Cormorant Garamond", Georgia, serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-normal: .25s cubic-bezier(.16, 1, .3, 1);--transition-smooth: .4s cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--bg-canvas: #121110;--bg-surface: #1B1917;--bg-surface-warm: #22201D;--bg-surface-elevated: #282522;--bg-sidebar: #171514;--text-ink-primary: #F5F2EB;--text-ink-secondary: #A8A196;--text-ink-muted: #736C63;--border-atelier: #332F2B;--border-subtle: #292522;--border-stitch: #403B35;--thread-vermilion-light: #2D1815;--thread-vermilion-border: #59251F}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background-color:var(--bg-canvas);color:var(--text-ink-primary);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;border:none;background:transparent}.font-display{font-family:var(--font-display);letter-spacing:-.01em}.font-sans{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.atelier-container{max-width:1200px;margin:0 auto;padding:0 24px}.atelier-container-wide{max-width:1360px;margin:0 auto;padding:0 24px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--thread-vermilion);color:#fff;font-weight:600;font-size:14px;padding:10px 20px;border-radius:var(--radius-sm);transition:all var(--transition-fast);box-shadow:0 2px 8px #c83e2b40}.btn-primary:hover{background-color:var(--thread-vermilion-hover);transform:translateY(-1px);box-shadow:0 4px 12px #c83e2b59}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--bg-surface);color:var(--text-ink-primary);border:1px solid var(--border-atelier);font-weight:600;font-size:14px;padding:10px 20px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-secondary:hover{background-color:var(--bg-surface-warm);border-color:var(--text-ink-muted)}.btn-dark{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--text-ink-primary);color:var(--text-ink-inverse);font-weight:600;font-size:14px;padding:10px 20px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-dark:hover{background-color:#000;transform:translateY(-1px)}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:var(--radius-xs);color:var(--text-ink-secondary);font-weight:500;font-size:14px;transition:all var(--transition-fast)}.btn-ghost:hover{background-color:var(--bg-surface-warm);color:var(--text-ink-primary)}.tag-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-family:var(--font-mono);font-weight:500;border-radius:var(--radius-xs);background-color:var(--bg-surface-warm);color:var(--text-ink-secondary);border:1px dashed var(--border-stitch);text-transform:uppercase;letter-spacing:.04em}.tag-vermilion{background-color:var(--thread-vermilion-light);color:var(--thread-vermilion);border-color:var(--thread-vermilion-border)}.tag-saffron{background-color:var(--dye-saffron-bg);color:var(--dye-saffron);border-color:#fde68a}.tag-indigo{background-color:var(--dye-indigo-bg);color:var(--dye-indigo);border-color:#c7d2fe}.stitch-border{border-bottom:1px dashed var(--border-stitch)}.stitch-border-full{border:1px dashed var(--border-stitch)}.stitch-indicator{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;color:var(--thread-vermilion);background:var(--thread-vermilion-light);padding:6px 12px;border-radius:var(--radius-full);border:1px dashed var(--thread-vermilion-border)}.stitch-needle{display:inline-block;animation:stitchThread 1.4s ease-in-out infinite alternate}@keyframes stitchThread{0%{transform:translateY(-2px) rotate(-10deg)}50%{transform:translateY(2px) rotate(10deg)}to{transform:translateY(-2px) rotate(-10deg)}}.stitch-dot{width:4px;height:4px;background-color:var(--thread-vermilion);border-radius:50%;animation:stitchPulse 1.2s infinite ease-in-out}.stitch-dot:nth-child(2){animation-delay:.2s}.stitch-dot:nth-child(3){animation-delay:.4s}@keyframes stitchPulse{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}.measuring-tape{background:repeating-linear-gradient(90deg,#f3efe6,#f3efe6 10px,#d6cca9 10px,#d6cca9 11px);height:8px;border-radius:4px;border:1px solid var(--border-atelier);position:relative}.measuring-marker{position:absolute;top:-4px;width:2px;height:16px;background-color:var(--thread-vermilion);box-shadow:0 0 4px #c83e2b99}.atelier-card{background-color:var(--bg-surface);border:1px solid var(--border-atelier);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.atelier-card:hover{box-shadow:var(--shadow-md);border-color:var(--text-ink-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-stitch);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-ink-muted)}:focus-visible{outline:2px solid var(--thread-vermilion);outline-offset:2px}
