:root{--font-sans: "Be Vietnam Pro", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "Consolas", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 56px;--space-11: 64px;--space-12: 88px;--space-13: 120px;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--z-base: 1;--z-header: 100;--z-drawer: 400;--z-dropdown: 1200;--z-modal: 2000;--z-grain: 60;--background-primary: #f3f5f4;--background-card: rgba(255, 255, 255, .78);--background-elevated: rgba(255, 255, 255, .92);--background-soft: rgba(4, 120, 87, .07);--text-primary: #16201c;--text-secondary: #586863;--text-faint: #8a958f;--accent-color: #047857;--accent-strong: #065f46;--accent-soft: rgba(4, 120, 87, .12);--accent-contrast: #ffffff;--color-bg: var(--background-primary);--color-text: var(--text-primary);--color-card: #ffffff;--color-surface: var(--background-card);--color-muted: var(--text-secondary);--color-primary: var(--accent-color);--color-primary-contrast: var(--accent-contrast);--color-badge-bg: var(--accent-soft);--color-ghost-border: rgba(22, 32, 28, .16);--shadow-card: 0 1px 2px rgba(22, 32, 28, .05), 0 14px 38px -18px rgba(22, 32, 28, .22);--shadow-card-hover: 0 2px 6px rgba(22, 32, 28, .06), 0 26px 50px -20px rgba(4, 120, 87, .26);--shadow-button: 0 10px 22px -8px rgba(4, 120, 87, .5);--aurora-1: rgba(4, 120, 87, .22);--aurora-2: rgba(16, 185, 129, .16);--aurora-3: rgba(120, 200, 170, .18);--scrollbar-track: transparent;--scrollbar-thumb: rgba(22, 32, 28, .22);--scrollbar-thumb-hover: rgba(4, 120, 87, .5);--surface-1: var(--background-card);--surface-2: var(--background-elevated);--surface-3: var(--background-soft);--accent: var(--accent-color);--border-subtle: rgba(22, 32, 28, .1);--border-strong: rgba(22, 32, 28, .16);--focus-ring: 0 0 0 3px rgba(4, 120, 87, .32)}[data-theme=dark]{--background-primary: #0c1210;--background-card: rgba(20, 28, 25, .72);--background-elevated: rgba(26, 35, 31, .92);--background-soft: rgba(52, 211, 153, .1);--text-primary: #e9efeb;--text-secondary: #9aa8a1;--text-faint: #67746d;--accent-color: #34d399;--accent-strong: #6ee7b7;--accent-soft: rgba(52, 211, 153, .14);--accent-contrast: #06140e;--color-card: #141c19;--color-badge-bg: var(--accent-soft);--color-ghost-border: rgba(233, 239, 235, .16);--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 18px 44px -20px rgba(0, 0, 0, .7);--shadow-card-hover: 0 2px 8px rgba(0, 0, 0, .4), 0 30px 56px -22px rgba(52, 211, 153, .28);--shadow-button: 0 12px 26px -10px rgba(52, 211, 153, .45);--aurora-1: rgba(16, 185, 129, .2);--aurora-2: rgba(5, 150, 105, .16);--aurora-3: rgba(45, 212, 191, .12);--scrollbar-track: transparent;--scrollbar-thumb: rgba(233, 239, 235, .18);--scrollbar-thumb-hover: rgba(52, 211, 153, .5);--border-subtle: rgba(233, 239, 235, .08);--border-strong: rgba(233, 239, 235, .16);--focus-ring: 0 0 0 3px rgba(52, 211, 153, .4)}[data-theme]{--color-bg: var(--background-primary);--color-text: var(--text-primary);--color-surface: var(--background-card);--color-muted: var(--text-secondary);--color-primary: var(--accent-color);--color-primary-contrast: var(--accent-contrast);--color-badge-bg: var(--accent-soft);--surface-1: var(--background-card);--surface-2: var(--background-elevated);--surface-3: var(--background-soft);--accent: var(--accent-color)}html{font-family:var(--font-sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-size:16px;line-height:1.6;color:var(--text-primary)}h1,h2,h3,h4{margin:0;line-height:1.08;letter-spacing:-.025em;font-weight:700;text-wrap:balance}h1{font-size:clamp(2.4rem,6vw,4rem)}h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}h3{font-size:clamp(1.2rem,2vw,1.5rem)}p{margin:0}.text-display{font-weight:700;letter-spacing:-.03em;line-height:1.02}.text-body{color:var(--text-secondary);line-height:1.7;max-width:65ch}.text-eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--accent-color)}.text-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.text-muted{color:var(--text-secondary)}.text-faint{color:var(--text-faint)}::selection{background:var(--accent-color);color:var(--accent-contrast)}:root{--motion-fast: .14s;--motion-base: .22s;--motion-slow: .36s;--motion-slower: .62s;--ease-standard: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}a,button,select,input,textarea,.surface,[class*=card],[class*=chip],[class*=tag],[class*=badge]{transition-property:color,background-color,border-color,box-shadow,opacity,transform;transition-duration:var(--motion-base);transition-timing-function:var(--ease-standard)}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-180% 0}to{background-position:180% 0}}@keyframes aurora-drift{0%{transform:translate3d(-4%,-2%,0) scale(1.05) rotate(0)}50%{transform:translate3d(4%,3%,0) scale(1.12) rotate(6deg)}to{transform:translate3d(-4%,-2%,0) scale(1.05) rotate(0)}}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.reveal{opacity:0;transform:translateY(22px);transition:opacity var(--motion-slower) var(--ease-out),transform var(--motion-slower) var(--ease-out);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}.hover-lift{transition:transform var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}.hover-lift:hover{transform:translateY(-4px)}.press:active{transform:scale(.98) translateY(1px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%}html{scroll-behavior:smooth}html,body,*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:10px;height:10px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,*::-webkit-scrollbar-track{background:var(--scrollbar-track)}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid transparent;background-clip:content-box}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}body{margin:0;min-height:100vh;color:var(--text-primary);background:var(--background-primary);overflow-x:hidden;transition:background var(--motion-slow) var(--ease-standard),color var(--motion-slow) var(--ease-standard)}a{color:inherit;text-decoration:none}img,video,canvas{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.container{width:min(1180px,calc(100% - var(--space-6)));margin-inline:auto}@media(min-width:768px){.container{width:min(1180px,calc(100% - var(--space-9)))}}.surface{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}@media(prefers-reduced-transparency:reduce){.surface{background:var(--background-elevated);backdrop-filter:none;-webkit-backdrop-filter:none}}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.page-enter{animation:fade-slide-up var(--motion-slow) var(--ease-out)}.ui-button{border:1px solid transparent;border-radius:var(--radius-pill);padding:10px 18px;font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:transform var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),background-color var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard)}.ui-button:disabled{opacity:.5;pointer-events:none}.ui-button:active{transform:scale(.97)}.ui-button--sm{padding:8px 14px;font-size:.875rem}.ui-button--md{padding:10px 18px}.ui-button--lg{padding:13px 26px;font-size:1rem}.ui-button--primary{background:var(--accent-color);color:var(--accent-contrast);box-shadow:var(--shadow-button)}.ui-button--primary:hover{background:var(--accent-strong);transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.ui-button--ghost{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.ui-button--ghost:hover{border-color:var(--accent-color);color:var(--accent-color);background:var(--accent-soft)}.ui-button--soft{background:var(--surface-3);color:var(--text-primary)}.ui-button--soft:hover{background:var(--accent-soft);color:var(--accent-color);transform:translateY(-2px)}.ui-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-6);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.ui-card--interactive{transition:transform var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard)}.ui-card--interactive:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);border-color:var(--accent-soft)}.ui-badge{background:var(--accent-soft);color:var(--accent-color);padding:5px 11px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:.04em}.ui-section-header{display:grid;gap:var(--space-3)}.ui-section-header__title{font-size:clamp(1.6rem,2.6vw,2.3rem);letter-spacing:-.025em}.ui-section-header__subtitle{color:var(--text-secondary);max-width:60ch;line-height:1.7}.ui-input,.ui-select{width:100%;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);padding:11px 14px}.ui-input::placeholder{color:var(--text-faint)}.ui-input:focus-visible,.ui-select:focus-visible{border-color:var(--accent-color);box-shadow:var(--focus-ring)}.ui-empty,.ui-error{text-align:center;display:grid;gap:var(--space-2);padding:var(--space-8) var(--space-6);border-radius:var(--radius-md);background:var(--surface-3);color:var(--text-secondary)}.ui-error{border:1px dashed var(--border-strong)}.ui-skeleton{width:100%;border-radius:var(--radius-sm);background:linear-gradient(100deg,var(--surface-3) 30%,var(--accent-soft) 50%,var(--surface-3) 70%);background-size:220% 100%;animation:shimmer 1.4s ease-in-out infinite}.ui-skeleton--line{height:18px}.ui-skeleton--block{height:140px}.ui-modal{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-6)}.ui-modal__backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--background-primary) 55%,rgba(6,14,10,.6));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ui-modal__panel{position:relative;z-index:1;width:min(960px,94vw);max-height:90vh;overflow:auto;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card-hover);padding:var(--space-7);animation:fade-slide-up var(--motion-slow) var(--ease-out)}@media(max-width:768px){.ui-card{padding:var(--space-5)}.ui-modal{padding:var(--space-4)}.ui-modal__panel{padding:var(--space-5)}}.app-shell{position:relative;min-height:100dvh;display:flex;flex-direction:column;padding-block:var(--space-3) var(--space-7)}.app-shell__background{position:fixed;inset:0;z-index:-3;overflow:hidden;background:var(--background-primary);pointer-events:none}.app-shell__aurora{position:absolute;border-radius:50%;filter:blur(80px);opacity:.9;will-change:transform}.app-shell__aurora--a{width:52vw;height:52vw;top:-16vw;left:-8vw;background:radial-gradient(circle at 50% 50%,var(--aurora-1),transparent 68%);animation:aurora-drift 26s ease-in-out infinite}.app-shell__aurora--b{width:46vw;height:46vw;top:30vh;right:-12vw;background:radial-gradient(circle at 50% 50%,var(--aurora-2),transparent 68%);animation:aurora-drift 32s ease-in-out infinite reverse}.app-shell__aurora--c{width:40vw;height:40vw;bottom:-14vw;left:28vw;background:radial-gradient(circle at 50% 50%,var(--aurora-3),transparent 70%);animation:aurora-drift 38s ease-in-out infinite}.app-shell__grid{position:absolute;inset:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 0%,transparent 75%);opacity:.5}@media(prefers-reduced-motion:reduce){.app-shell__aurora{animation:none!important}}.app-shell__content{display:flex;flex-direction:column;gap:var(--space-6);flex:1;position:relative;z-index:var(--z-base);width:100%;padding-inline:var(--space-3)}.app-header{position:sticky;top:var(--space-3);z-index:var(--z-header)}.app-header__inner{display:flex;align-items:center;gap:var(--space-4);width:min(1180px,100%);margin-inline:auto;padding:10px 10px 10px var(--space-5);border-radius:var(--radius-pill);height:64px}.app-header__brand{display:inline-flex;align-items:center;gap:var(--space-2);font-size:1.05rem;color:var(--text-primary);white-space:nowrap}.app-header__brand strong{letter-spacing:-.02em}.app-header__mark{width:12px;height:12px;border-radius:4px;background:linear-gradient(135deg,var(--accent-color),var(--accent-strong));box-shadow:0 0 0 4px var(--accent-soft)}.app-nav{display:flex;align-items:center;gap:2px;margin-inline:auto}.app-nav__link{padding:8px 14px;border-radius:var(--radius-pill);font-weight:500;font-size:.95rem;color:var(--text-secondary);position:relative}.app-nav__link:hover,.app-nav__link:focus-visible{color:var(--text-primary);background:var(--surface-3)}.app-nav__link.router-link-active{color:var(--accent);background:var(--accent-soft)}.app-header__actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.app-header__locale{display:inline-flex;background:var(--surface-3);border-radius:var(--radius-pill);padding:3px}.app-header__locale-option{border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-pill);padding:6px 11px;font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.04em}.app-header__locale-option:hover{color:var(--text-primary)}.app-header__locale-option.is-active{background:var(--color-card);color:var(--accent);box-shadow:var(--shadow-card)}.app-header__theme{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border-subtle);background:var(--surface-3);color:var(--text-primary);border-radius:var(--radius-pill);font-size:.95rem}.app-header__theme:hover{color:var(--accent);border-color:var(--accent-soft)}.app-header__nav-toggle{display:none;border:1px solid var(--border-subtle);background:var(--surface-3);color:var(--text-primary);border-radius:var(--radius-pill);width:40px;height:40px;place-items:center}.app-shell__main-grid{display:grid;gap:var(--space-6);grid-template-columns:1fr;align-items:start;min-height:0}.app-shell__main{min-width:0}.app-sidebar{display:grid;gap:var(--space-4)}.app-sidebar__section{display:grid;gap:var(--space-3)}.app-sidebar__quote{display:grid;gap:var(--space-2);color:var(--text-secondary);font-style:italic}.app-sidebar__quote-author{font-style:normal;font-family:var(--font-mono);font-size:.8rem;color:var(--accent-color)}.app-sidebar__quote-author:before{content:"- "}.app-sidebar__pet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.app-sidebar__pet-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-sm)}.app-footer{padding:var(--space-4) var(--space-5);text-align:center;margin-top:auto;color:var(--text-secondary);font-size:.9rem}.app-back-to-top{position:fixed;right:var(--space-5);bottom:clamp(76px,8vh,112px);width:46px;height:46px;border:1px solid var(--border-subtle);border-radius:999px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent);box-shadow:var(--shadow-card);z-index:calc(var(--z-header) + 4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app-back-to-top:hover,.app-back-to-top:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .24s var(--ease-standard),transform .24s var(--ease-standard)}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0;transform:translateY(10px)}@media(min-width:768px){.app-shell__content{padding-inline:var(--space-5)}}@media(min-width:1024px){.app-shell__main-grid--with-sidebar{grid-template-columns:1fr 320px}.app-sidebar{position:sticky;top:calc(64px + var(--space-7));max-height:calc(100dvh - 140px);overflow:auto;padding-right:var(--space-1)}}@media(max-width:920px){.app-header__inner{flex-wrap:wrap;height:auto;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}.app-header__nav-toggle{display:grid}.app-nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.app-nav--open{display:flex}.app-nav__link{padding:12px 14px}.app-header__actions{margin-left:auto}}@media(max-width:480px){.app-shell__content{padding-inline:var(--space-3)}.app-header__inner{gap:var(--space-2);padding:var(--space-2) var(--space-3)}.app-header__brand{font-size:.95rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.app-header__actions{gap:6px}.app-header__locale-option{padding:6px 9px}.app-header__theme,.app-header__nav-toggle{width:38px;height:38px}}@media(min-width:1600px){.app-shell__content{padding-inline:clamp(56px,5vw,96px)}}
