*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F7F5F0;--bg-warm: #F0EDE6;--card: #FFFFFF;--card-hover: #FDFCFA;--text: #1C1917;--text-secondary: #78716C;--text-muted: #A8A29E;--accent: #8B7355;--accent-light: #A8956F;--accent-bg: rgba(139, 115, 85, .08);--success: #5C7C5E;--success-bg: rgba(92, 124, 94, .08);--warning: #C49A3C;--warning-bg: rgba(196, 154, 60, .08);--danger: #B85C5C;--danger-bg: rgba(184, 92, 92, .08);--border: #E7E5E0;--border-light: #F0EDE8;--shadow-sm: 0 1px 2px rgba(28, 25, 23, .04);--shadow-md: 0 4px 16px rgba(28, 25, 23, .06);--radius: 16px;--radius-sm: 10px;--radius-xs: 6px;--ease-out: cubic-bezier(.32, .72, 0, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--tab-height: 60px;--header-height: 48px;--safe-bottom: env(safe-area-inset-bottom, 0px);--font-serif: "Instrument Serif", Georgia, serif;--font-sans: "DM Sans", system-ui, sans-serif;--font-mono: "DM Mono", "SF Mono", monospace}html{font-family:var(--font-sans);background:var(--bg);color:var(--text);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;background:var(--bg);overflow-x:hidden;position:relative}body:after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.015;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}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-serif);font-weight:400;letter-spacing:-.01em}.app-header{position:sticky;top:0;z-index:100;background:var(--bg);height:var(--header-height);display:flex;align-items:center;padding:0 24px}.header-eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted)}.app-content{padding-bottom:calc(var(--tab-height) + var(--safe-bottom) + 16px);min-height:calc(100dvh - var(--header-height))}.app-container{max-width:480px;margin:0 auto;padding:8px 24px 24px}.tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:200;height:calc(var(--tab-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--card);border-top:1px solid var(--border);display:flex;align-items:stretch;justify-content:space-around}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);transition:color .6s var(--ease-out);position:relative;-webkit-tap-highlight-color:transparent}.tab-item[data-active]{color:var(--accent)}.tab-dot{width:4px;height:4px;border-radius:50%;background:transparent;transition:background .6s var(--ease-out)}.tab-item[data-active] .tab-dot{background:var(--accent)}.tab-icon{width:22px;height:22px}.tab-label{font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:.02em}.section{margin-bottom:40px}.section-title{font-family:var(--font-serif);font-style:italic;font-size:20px;font-weight:400;color:var(--text);margin-bottom:16px;display:flex;align-items:baseline;justify-content:space-between}.section-title .see-all{font-family:var(--font-sans);font-style:normal;font-size:13px;font-weight:500;color:var(--accent);transition:color .5s var(--ease-out)}.section-title .see-all:hover{color:var(--accent-light)}.eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted)}.card{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}.card:active{transform:scale(.98)}.card-bordered{background:var(--card);border-radius:var(--radius);padding:20px;border:1px solid var(--border);transition:transform .6s var(--ease-out),border-color .6s var(--ease-out)}.card-bordered:active{transform:scale(.98)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:999px;font-family:var(--font-sans);font-size:14px;font-weight:500;cursor:pointer;transition:all .6s var(--ease-out);-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.96)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-light)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost{background:var(--accent-bg);color:var(--accent)}.btn-ghost:hover{background:#8b735524}.btn-sm{padding:8px 16px;font-size:13px}.btn-block{width:100%}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-family:var(--font-sans);font-size:12px;font-weight:500}.badge-accent{background:var(--accent-bg);color:var(--accent)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.flex{display:flex}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-container>*{animation:fadeIn .7s var(--ease-out) both}.app-container>*:nth-child(2){animation-delay:80ms}.app-container>*:nth-child(3){animation-delay:.16s}.app-container>*:nth-child(4){animation-delay:.24s}.app-container>*:nth-child(5){animation-delay:.32s}.app-container>*:nth-child(6){animation-delay:.4s}
