*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{min-height:100dvh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:root{--color-bg: #f7f7f8;--color-bg-elevated: #ffffff;--color-surface: #ffffff;--color-surface-hover: #f0f0f2;--color-border: #d8d9de;--color-border-subtle: #e8e9ed;--color-accent: #c9872e;--color-accent-dim: #a87025;--color-accent-glow: rgba(201, 135, 46, .14);--color-accent-soft: rgba(201, 135, 46, .07);--color-success: #3a9e5c;--color-success-dim: rgba(58, 158, 92, .1);--color-warning: #c9872e;--color-danger: #d14d40;--color-danger-dim: rgba(209, 77, 64, .1);--color-info: #3b7fc4;--color-info-dim: rgba(59, 127, 196, .1);--color-text: #1a1d23;--color-text-secondary: #50545e;--color-text-muted: #8b8e96;--color-text-inverse: #ffffff;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--font-display: "Instrument Serif", Georgia, serif;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.2;--leading-normal: 1.5;--leading-loose: 1.7;--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;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 30px rgba(0,0,0,.1), 0 4px 10px rgba(0,0,0,.06);--shadow-glow: 0 0 20px rgba(201, 135, 46, .12);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .35s;--z-dropdown: 100;--z-modal: 200;--z-toast: 300;--max-width: 520px;--nav-height: 60px}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;z-index:9999}#app{max-width:var(--max-width);margin:0 auto;min-height:100dvh;position:relative;padding-bottom:calc(var(--nav-height) + var(--space-4))}.page-enter{animation:pageIn var(--duration-slow) var(--ease-out) forwards}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger-item{opacity:0;animation:staggerIn var(--duration-slow) var(--ease-out) forwards}@keyframes staggerIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--max-width);height:var(--nav-height);background:#ffffffd9;border-top:1px solid var(--color-border-subtle);box-shadow:0 -2px 10px #0000000a;display:flex;align-items:center;justify-content:space-around;z-index:var(--z-dropdown);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom,0)}.nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-out);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.02em;position:relative}.nav-btn svg{width:22px;height:22px;transition:transform var(--duration-normal) var(--ease-spring)}.nav-btn.active{color:var(--color-accent)}.nav-btn.active svg{transform:scale(1.1)}.nav-btn:active{transform:scale(.92)}.nav-badge{position:absolute;top:2px;right:8px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:var(--weight-bold);min-width:18px;height:18px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.page-header{padding:var(--space-6) var(--space-5) var(--space-4)}.page-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-normal);line-height:var(--leading-tight);color:var(--color-text)}.page-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.section-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-2) var(--space-5)}.toast{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%) translateY(-100px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);box-shadow:var(--shadow-lg);z-index:var(--z-toast);transition:transform var(--duration-slow) var(--ease-spring);max-width:calc(100% - var(--space-8));text-align:center}.toast.show{transform:translate(-50%) translateY(0)}.toast.toast-success{border-color:var(--color-success);background:linear-gradient(135deg,var(--color-surface),var(--color-success-dim))}.toast.toast-error{border-color:var(--color-danger);background:linear-gradient(135deg,var(--color-surface),var(--color-danger-dim))}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center}.empty-state svg{width:56px;height:56px;color:var(--color-text-muted);opacity:.4;margin-bottom:var(--space-4)}.empty-state p{color:var(--color-text-muted);font-size:var(--text-sm);max-width:240px;line-height:var(--leading-loose)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}
