*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}a{color:inherit;text-decoration:none}:root{--color-primary:#c96a3a;--color-primary-light:#e08a5c;--color-primary-dark:#a0512a;--color-accent:#7a9e7e;--color-accent-light:#9dbfa1;--color-accent-dark:#5a7d5e;--color-bg:#fdf8f4;--color-bg-elevated:#ffffff;--color-bg-muted:#f5ede4;--color-text:#2c1f1a;--color-text-secondary:#6b4f42;--color-text-muted:#9e7f72;--color-text-on-primary:#ffffff;--color-border:#e8d5c8;--color-border-focus:#c96a3a;--color-error:#c0392b;--color-success:#27ae60;--color-warning:#e67e22;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-base:1.5;--line-height-loose:1.75;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--max-width:480px;--bottom-nav-height:64px;--safe-area-bottom:env(safe-area-inset-bottom,0px);--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(44,31,26,0.08);--shadow-md:0 4px 12px rgba(44,31,26,0.12);--shadow-lg:0 8px 24px rgba(44,31,26,0.16);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text)}.app-shell,body{background-color:var(--color-bg)}.app-shell{display:flex;flex-direction:column;min-height:100dvh;max-width:var(--max-width);margin:0 auto;position:relative}.page-content{flex:1 1;overflow-y:auto;padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom))}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--max-width);height:calc(var(--bottom-nav-height) + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);background-color:var(--color-bg-elevated);border-top:1px solid var(--color-border);justify-content:space-around;z-index:100;box-shadow:0 -2px 12px rgba(44,31,26,.08)}.bottom-nav,.bottom-nav__item{display:flex;align-items:center}.bottom-nav__item{flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);cursor:pointer;border:none;background:none;-webkit-tap-highlight-color:transparent}.bottom-nav__item.active,.bottom-nav__item:hover{color:var(--color-primary)}.bottom-nav__icon{font-size:1.5rem;line-height:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border-width:0}.btn,.sr-only{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.btn-primary{background-color:var(--color-primary);color:var(--color-text-on-primary)}.btn-primary:active,.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-secondary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:active,.btn-secondary:hover{background-color:var(--color-bg-muted)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card,.input{background-color:var(--color-bg-elevated)}.input{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text);transition:border-color var(--transition-fast);outline:none}.input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px rgba(201,106,58,.15)}