:root{--color-primary: #c2410c;--color-primary-hover: #9a3412;--color-primary-soft: rgba(194, 65, 12, .1);--color-primary-glow: rgba(194, 65, 12, .16);--color-accent-peach: #c2410c;--color-accent-peach-soft: rgba(194, 65, 12, .1);--color-accent-mint: #3f7d5a;--color-accent-mint-soft: rgba(63, 125, 90, .12);--color-accent-sky: #5a6b7d;--color-accent-sky-soft: rgba(90, 107, 125, .1);--color-accent-pink: #c2410c;--color-accent-pink-soft: rgba(194, 65, 12, .1);--color-page-bg: #f7f6f2;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-muted: #efece4;--color-surface-warm: #efece4;--color-surface-ink: #16161a;--color-border: #e4e0d6;--color-border-strong: #d4cfc2;--color-text: #2a2a26;--color-text-strong: #16161a;--color-text-muted: #8a877d;--color-text-soft: #6b6960;--color-text-inverse: #ffffff;--color-danger: #b91c1c;--color-danger-soft: rgba(185, 28, 28, .1);--color-success: #3f7d5a;--color-success-soft: rgba(63, 125, 90, .12);--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px;--radius-xl: 6px;--radius-2xl: 8px;--radius-pill: 9999px;--shadow-sm: 0 1px 2px rgba(22, 22, 26, .05);--shadow-md: 0 1px 3px rgba(22, 22, 26, .08), 0 1px 2px rgba(22, 22, 26, .04);--shadow-lg: 0 6px 16px rgba(22, 22, 26, .1);--shadow-glow: none;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, "Cascadia Mono", "Liberation Mono", Consolas, monospace;--transition-bounce: cubic-bezier(.4, 0, .2, 1);--transition-smooth: cubic-bezier(.4, 0, .2, 1)}html{height:100%}body{min-height:100%;margin:0;font-family:var(--font-sans);font-size:16px;background-color:var(--color-page-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}my-app,.app-container{min-height:100vh;display:flex;flex-direction:column;background:transparent}.app-content{flex:1;display:flex;flex-direction:column;position:relative}.viewport-container{flex:1;overflow-y:auto;background:transparent;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.viewport-container::-webkit-scrollbar{width:10px}.viewport-container::-webkit-scrollbar-track{background:transparent}.viewport-container::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-sm)}.viewport-container::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 1.5rem}a{color:var(--color-primary);text-decoration:none;transition:color .15s var(--transition-smooth)}a:hover,a:focus-visible{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:2px}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.btn,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:var(--radius-md);border:1px solid transparent;font-family:var(--font-mono);font-weight:600;font-size:.875rem;line-height:1.2;cursor:pointer;transition:background-color .15s var(--transition-smooth),border-color .15s var(--transition-smooth),color .15s var(--transition-smooth);text-decoration:none;color:inherit}.btn:disabled,.button:disabled{opacity:.45;cursor:not-allowed}.btn-primary,.button-primary{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled),.btn-primary:focus-visible:not(:disabled),.button-primary:hover:not(:disabled),.button-primary:focus-visible:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);text-decoration:none}.btn-secondary,.button-secondary{background-color:var(--color-surface);color:var(--color-text-strong);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled),.btn-secondary:focus-visible:not(:disabled),.button-secondary:hover:not(:disabled),.button-secondary:focus-visible:not(:disabled){border-color:var(--color-text-strong);color:var(--color-text-strong);text-decoration:none}.btn-danger,.button-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled),.btn-danger:focus-visible:not(:disabled),.button-danger:hover:not(:disabled),.button-danger:focus-visible:not(:disabled){background:#991b1b;border-color:#991b1b}.surface-card{background-color:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.icon-peach,.icon-mint,.icon-sky,.icon-pink,.icon-primary{background:var(--color-primary-soft);color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.text-soft{color:var(--color-text-soft)}.heading-xl{font-family:var(--font-mono);font-size:clamp(2.25rem,4.5vw,3.25rem);font-weight:700;letter-spacing:-.01em;color:var(--color-text-strong);line-height:1.1}.heading-lg{font-family:var(--font-mono);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;letter-spacing:-.01em;color:var(--color-text-strong);line-height:1.15}.heading-md{font-family:var(--font-mono);font-size:1.4rem;font-weight:700;color:var(--color-text-strong)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:600;font-size:.72rem;letter-spacing:.02em;text-transform:uppercase}.badge-primary,.badge-peach{background:var(--color-primary-soft);color:var(--color-primary)}.badge-mint{background:var(--color-success-soft);color:var(--color-success)}@media(max-width:768px){.container{padding:0 1.125rem}.btn,.button{width:100%}}.site-header{position:sticky;top:0;z-index:100;background:var(--color-page-bg);border-bottom:1px solid var(--color-border)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0}.brand-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border-radius:var(--radius-md);color:#fff}.brand-icon svg{width:19px;height:19px}.brand-text{font-family:var(--font-mono);font-size:1.2rem;font-weight:700;color:var(--color-text-strong);letter-spacing:-.01em}.brand:hover .brand-text{color:var(--color-primary)}.nav-desktop{display:flex;align-items:center;gap:2rem;margin-left:auto;margin-right:2rem}.nav-link{font-family:var(--font-mono);font-size:.9rem;font-weight:500;color:var(--color-text-soft);text-decoration:none;transition:color .15s var(--transition-smooth)}.nav-link:hover{text-decoration:none}.nav-link.active{color:var(--color-text-strong)}.nav-link:hover,.nav-link:focus-visible{color:var(--color-text-strong)}.nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:2px}.header-actions{display:flex;align-items:center;gap:.75rem}.btn-login{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;background:var(--color-primary);color:#fff;font-family:var(--font-mono);font-size:.85rem;font-weight:600;border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s var(--transition-smooth),border-color .15s var(--transition-smooth)}.btn-login svg{width:1.05rem;height:1.05rem}.btn-login:hover,.btn-login:focus-visible{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-logout{display:flex;align-items:center;gap:.4rem;padding:.55rem .95rem;background:var(--color-surface);color:var(--color-text-soft);font-family:var(--font-mono);font-size:.85rem;font-weight:500;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;transition:all .15s var(--transition-smooth)}.btn-logout svg{width:1rem;height:1rem}.btn-logout:hover,.btn-logout:focus-visible{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-soft)}.mobile-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;transition:all .2s var(--transition-smooth)}.mobile-toggle svg{width:22px;height:22px}.mobile-toggle:hover,.mobile-toggle:focus-visible{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.mobile-nav-overlay{display:none;position:fixed;inset:0;background:#16161a66;z-index:90;opacity:0;transition:opacity .3s ease;pointer-events:none}.mobile-nav-overlay.open{opacity:1;pointer-events:auto}.nav-mobile{display:none;position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:95;transform:translate(100%);transition:transform .35s var(--transition-bounce)}.nav-mobile.open{transform:translate(0)}.mobile-nav-content{display:flex;flex-direction:column;gap:.5rem;padding:6rem 1.5rem 2rem;height:100%;overflow-y:auto}.mobile-nav-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:1rem;font-weight:600;color:var(--color-text);text-decoration:none;border-radius:var(--radius-xl);transition:all .2s var(--transition-smooth)}.mobile-nav-link svg{width:1.25rem;height:1.25rem;color:var(--color-text-soft);transition:color .2s}.mobile-nav-link:hover,.mobile-nav-link:focus-visible{background:var(--color-primary-soft);color:var(--color-primary)}.mobile-nav-link:hover svg,.mobile-nav-link:focus-visible svg{color:var(--color-primary)}.mobile-nav-link-highlight{background:var(--color-primary-soft);color:var(--color-primary)}.mobile-nav-link-highlight svg{color:var(--color-primary)}.mobile-nav-divider{height:1px;background:var(--color-border);margin:1rem 0}.mobile-auth-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.9rem 1.5rem;background:var(--color-primary);color:#fff;font-family:var(--font-mono);font-size:.95rem;font-weight:600;border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s var(--transition-smooth)}.mobile-auth-btn svg{width:1.25rem;height:1.25rem}.mobile-auth-btn:hover,.mobile-auth-btn:focus-visible{background:var(--color-primary-hover)}.mobile-auth-btn-secondary{background:var(--color-surface);color:var(--color-text-soft);border:1px solid var(--color-border-strong);box-shadow:none}.mobile-auth-btn-secondary:hover,.mobile-auth-btn-secondary:focus-visible{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-soft);box-shadow:none}@media(max-width:768px){.nav-desktop,.header-actions{display:none}.mobile-toggle{display:flex}.mobile-nav-overlay,.nav-mobile{display:block}}@media(max-width:480px){.header-inner{padding:0 1rem}.brand-text{font-size:1.15rem}.brand-icon{width:34px;height:34px}.brand-icon svg{width:18px;height:18px}}.site-footer{background:var(--color-page-bg);border-top:1px solid var(--color-border);padding:2.5rem 2rem}.footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}.footer-brand{display:flex;flex-direction:column;gap:.25rem}.footer-logo{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;color:var(--color-text-strong)}.footer-tagline{margin:0;font-size:.85rem;color:var(--color-text-soft)}.footer-links{display:flex;align-items:center;gap:1rem}.footer-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;font-family:var(--font-mono);font-size:.85rem;font-weight:500;color:var(--color-text-soft);text-decoration:none;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);transition:color .15s var(--transition-smooth),border-color .15s var(--transition-smooth)}.footer-link svg{width:1rem;height:1rem}.footer-link:hover,.footer-link:focus-visible{color:var(--color-primary);border-color:var(--color-primary);text-decoration:none}.footer-copyright{margin:0;font-size:.875rem;color:var(--color-text-soft)}.footer-copyright a{font-weight:600;color:var(--color-text);text-decoration:none;transition:color .2s var(--transition-smooth)}.footer-copyright a:hover{color:var(--color-primary)}.heart{display:inline-block;color:var(--color-danger)}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@media(max-width:768px){.site-footer{padding:2rem 1.5rem}.footer-inner{flex-direction:column;align-items:center;text-align:center;gap:1.25rem}.footer-brand{align-items:center}.footer-links{flex-wrap:wrap;justify-content:center}}
