:root{--color-cream: #faf6f1;--color-warm-white: #fefcf9;--color-parchment: #f3ece3;--color-sand: #e8ddd0;--color-clay: #d4c4b0;--color-stone: #b8a898;--color-driftwood: #8c7a6b;--color-bark: #5a4636;--color-espresso: #3d2c1e;--color-terracotta: #c75d3a;--color-terracotta-light: #f5e0d6;--color-sage: #7a9e7e;--color-sage-light: #dceede;--color-ocean: #5b8fa8;--color-ocean-light: #d6eaf0;--color-sky: #7ebbd4;--color-sky-light: #dff0f7;--color-honey: #d4a843;--color-honey-light: #faf0d4;--color-plum: #8b5e83;--color-plum-light: #f0e0ed;--color-charcoal: #3a3a3a;--color-charcoal-light: #eee;--color-error: #c44d4d;--color-error-bg: #fce8e8;--color-success: #4a8c5c;--color-success-bg: #e3f2e8;--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(90, 70, 54, .08);--shadow-md: 0 4px 12px rgba(90, 70, 54, .1);--shadow-lg: 0 8px 32px rgba(90, 70, 54, .12);--shadow-glow: 0 0 0 3px rgba(199, 93, 58, .15);--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}*,*:before,*:after{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--color-espresso);background:var(--color-cream);line-height:1.5;min-height:100dvh}body:before{content:"";position:fixed;inset:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}:focus-visible{outline:2px solid var(--color-terracotta);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-clay);border-radius:var(--radius-full)}::selection{background:var(--color-terracotta-light);color:var(--color-espresso)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(.85);opacity:.5}50%{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-in{animation:fadeIn .4s var(--ease-out) both}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.spinner-sm{width:14px;height:14px}.error-banner{display:flex;align-items:center;gap:.5rem;background:var(--color-error-bg);color:var(--color-error);padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;margin-bottom:1.25rem;border:1px solid rgba(196,77,77,.15)}.error-banner-shake{animation:shake .4s ease-out}.error-icon{flex-shrink:0;font-size:1rem}.success-msg{display:flex;align-items:center;gap:.5rem;color:var(--color-success);background:var(--color-success-bg);padding:.625rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;border:1px solid rgba(74,140,92,.15)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--color-terracotta);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.btn-primary:hover:not(:disabled){background:#b04f2e;transform:translateY(-1px);box-shadow:0 4px 16px #c75d3a4d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{padding:.625rem 1.25rem;background:var(--color-warm-white);border:1.5px solid var(--color-sand);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;font-family:var(--font-body);color:var(--color-driftwood);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.btn-secondary:hover{border-color:var(--color-clay);background:var(--color-parchment)}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field label{font-size:.8125rem;font-weight:600;color:var(--color-bark);letter-spacing:.02em;text-transform:uppercase}.form-field input,.form-field textarea{padding:.75rem 1rem;background:var(--color-cream);border:1.5px solid var(--color-sand);border-radius:var(--radius-md);font-size:.9375rem;font-family:var(--font-body);color:var(--color-espresso);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--color-stone)}.form-field input:hover,.form-field textarea:hover{border-color:var(--color-clay)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-terracotta);box-shadow:var(--shadow-glow);background:var(--color-warm-white)}.form-field textarea{resize:vertical;min-height:80px}.loading-wrap{display:flex;justify-content:center;padding:4rem 0}.loading-pulse{width:40px;height:40px;border-radius:50%;background:var(--color-sand);animation:pulse 1.2s ease-in-out infinite}.skeleton-line{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-parchment) 25%,var(--color-sand) 50%,var(--color-parchment) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.back-nav{margin-bottom:1.25rem;animation:fadeIn .3s var(--ease-out) both}.back-link{display:inline-flex;align-items:center;gap:.375rem;color:var(--color-driftwood);text-decoration:none;font-size:.875rem;font-weight:500;padding:.375rem .5rem .375rem .25rem;margin-left:-.25rem;border-radius:var(--radius-sm);transition:background var(--duration-fast),color var(--duration-fast)}.back-link:hover{background:var(--color-parchment);color:var(--color-espresso)}
