@charset "UTF-8";:root{--bg: #FAF8F3;--surface: #FFFFFF;--ink: #16241F;--ink-soft: #5C6B64;--line: #E7E1D6;--primary: #2F6F5B;--primary-soft: #66CDAA;--accent: #E8915B;--danger: #C0563B;--surface-1: var(--surface);--surface-2: #F4F0E8;--surface-3: #ECE6DA;--accent-soft: rgba(232, 145, 91, .14);--radius: 20px;--radius-sm: 14px;--shadow-soft: 0 8px 30px -12px rgba(22, 36, 31, .18);--shadow-raised: 0 14px 40px -16px rgba(22, 36, 31, .28);--font-display: "Fraunces", serif;--font-body: "Hanken Grotesk", sans-serif;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--nav-h: 72px;--brand-primary: var(--primary-soft);--brand-secondary: var(--primary);--brand-bg: var(--bg);--text-primary: var(--ink);--text-secondary: var(--ink-soft);--warm-orange: var(--accent);--warm-red: var(--danger);--cool-blue: #4facfe;--cool-cyan: #00f2fe;--glass-bg: rgba(255, 255, 255, .9);--shadow-sm: var(--shadow-soft);--radius-lg: var(--radius)}@media (prefers-color-scheme: dark){:root{--bg: #14201B;--surface: #1B2A24;--ink: #ECE7DB;--ink-soft: #9DAAA3;--line: #2C3A33;--surface-1: var(--surface);--surface-2: #213129;--surface-3: #283A31;--accent-soft: rgba(232, 145, 91, .18);--shadow-soft: 0 8px 30px -12px rgba(0, 0, 0, .55);--shadow-raised: 0 14px 40px -16px rgba(0, 0, 0, .65)}body{background-image:radial-gradient(120% 80% at 12% -10%,#66cdaa12,#66cdaa00 55%),radial-gradient(100% 70% at 100% 0%,#e8915b0d,#e8915b00 50%),radial-gradient(120% 90% at 50% 120%,#2f6f5b0f,#2f6f5b00 60%)}body:before{opacity:.025}.skeleton{background:#223028}.skeleton:after{background:linear-gradient(90deg,#fff0,#ffffff14,#fff0)}.mat-mdc-form-field{--mdc-filled-text-field-container-color: var(--surface-2)}}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden;max-width:100vw;min-height:100%}body{font-family:var(--font-body);color:var(--ink);background-color:var(--bg);background-image:radial-gradient(120% 80% at 12% -10%,#66cdaa24,#66cdaa00 55%),radial-gradient(100% 70% at 100% 0%,#e8915b1a,#e8915b00 50%),radial-gradient(120% 90% at 50% 120%,#2f6f5b14,#2f6f5b00 60%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:1.5}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}app-root{position:relative;z-index:1;display:block}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--ink);font-weight:600;line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em}h1{font-size:clamp(1.9rem,6vw,2.6rem)}h2{font-size:clamp(1.5rem,5vw,2rem)}h3{font-size:1.3rem}p{margin:0 0 1em}a{color:var(--primary);text-decoration:none}.stat-num,.tabular{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em}input,button,select,textarea,.mat-mdc-form-field,.mat-mdc-button,.mat-mdc-raised-button,.mat-mdc-outlined-button,.mat-mdc-card{font-family:var(--font-body)!important}.card,.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:20px}.card-flat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.surface-sunken{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.accent-pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.btn{font-family:var(--font-body);font-weight:600;font-size:1rem;border:0;border-radius:999px;padding:0 22px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 24px -10px #2f6f5b99}.btn-primary:hover{background:#275f4e}.btn-ghost{background:transparent;color:var(--primary);border:1px solid var(--line)}.btn-danger{background:var(--danger);color:#fff}.ring{--ring-size: 120px;width:var(--ring-size);height:var(--ring-size);transform:rotate(-90deg)}.ring__track{fill:none;stroke:var(--line);stroke-width:10}.ring__value{fill:none;stroke:var(--primary);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.22,.8,.22,1)}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-display);font-variant-numeric:tabular-nums}.skeleton{position:relative;overflow:hidden;background:#efeae0;border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#fff9,#fff0);animation:hm-shimmer 1.4s infinite}@keyframes hm-shimmer{to{transform:translate(100%)}}@keyframes hm-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:hm-rise .55s cubic-bezier(.22,.8,.22,1) both}.stagger>*{animation:hm-rise .55s cubic-bezier(.22,.8,.22,1) both}.stagger>*:nth-child(1){animation-delay:.04s}.stagger>*:nth-child(2){animation-delay:.1s}.stagger>*:nth-child(3){animation-delay:.16s}.stagger>*:nth-child(4){animation-delay:.22s}.stagger>*:nth-child(5){animation-delay:.28s}.stagger>*:nth-child(6){animation-delay:.34s}.stagger>*:nth-child(7){animation-delay:.4s}.stagger>*:nth-child(8){animation-delay:.46s}.mat-mdc-card{border-radius:var(--radius)!important;box-shadow:var(--shadow-soft)!important;background:var(--surface)!important;border:1px solid var(--line)!important}.mat-mdc-raised-button,.mat-mdc-flat-button,.mat-mdc-unelevated-button{border-radius:999px!important;min-height:48px!important;font-weight:600!important;letter-spacing:0!important}.mat-mdc-outlined-button{border-radius:999px!important;min-height:48px!important;--mdc-outlined-button-outline-color: var(--line)}.mat-mdc-flat-button.mat-primary,.mat-mdc-raised-button.mat-primary,.mat-mdc-unelevated-button.mat-primary{--mdc-filled-button-container-color: var(--primary);--mdc-protected-button-container-color: var(--primary);background-color:var(--primary)!important;color:#fff!important}.mat-mdc-button.mat-primary,.mat-mdc-icon-button.mat-primary,.mat-mdc-outlined-button.mat-primary{--mdc-text-button-label-text-color: var(--primary);color:var(--primary)!important}.mat-mdc-form-field{--mdc-filled-text-field-container-color: var(--surface-2);--mdc-filled-text-field-focus-active-indicator-color: var(--primary);--mdc-filled-text-field-caret-color: var(--primary);--mat-form-field-focus-select-arrow-color: var(--primary);width:100%}.mat-mdc-text-field-wrapper{border-radius:var(--radius-sm)!important}.mat-mdc-slide-toggle{--mdc-switch-selected-track-color: var(--primary-soft);--mdc-switch-selected-handle-color: var(--primary);--mdc-switch-selected-focus-handle-color: var(--primary);--mdc-switch-selected-hover-handle-color: var(--primary);--mdc-switch-selected-pressed-handle-color: var(--primary)}.mat-mdc-checkbox{--mdc-checkbox-selected-icon-color: var(--primary);--mdc-checkbox-selected-focus-icon-color: var(--primary);--mdc-checkbox-selected-hover-icon-color: var(--primary)}.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-color: var(--primary)}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--primary)!important}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--primary)!important}.mdc-snackbar__surface{border-radius:var(--radius-sm)!important}.bg-gradient-primary{background:linear-gradient(135deg,var(--primary-soft) 0%,var(--primary) 100%)}.bg-gradient-warm{background:linear-gradient(135deg,var(--accent) 0%,var(--danger) 100%)}.bg-gradient-cool{background:linear-gradient(135deg,var(--cool-blue) 0%,var(--cool-cyan) 100%)}.bg-gradient-weight{background:linear-gradient(135deg,#a18cd1,#fbc2eb)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
