*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-sky-tint:#ebf5ff;--color-paper-white:#fff;--color-bone-white:#fafdff;--color-mist-gray:#f6f7f8;--color-ink:#0a0d12;--color-charcoal:#181d27;--color-graphite:#535862;--color-fog:#93979f;--color-slate-shadow:#3b3d41;--color-iris-blue:#0069e0;--gradient-iris-blue:linear-gradient(#479dff 11.43%, #0069e0 78.2%);--color-sky-blue:#09f;--color-lavender-wash:#f1e6ff;--color-mint-wash:#d3f6e3;--color-powder-blue:#cce7ff;--color-solar-gradient:#fff2be;--gradient-solar:linear-gradient(#fff9e0 0%, #ffeca3 100%);--color-violet-gradient:#e4ccff;--gradient-violet:linear-gradient(#f4ebff 0%, #e4ccff 100%);--color-aqua-gradient:#c2e9ff;--gradient-aqua:linear-gradient(#e5f6ff 0%, #c2e9ff 100%);--color-peach-gradient:#ffd1b8;--gradient-peach:linear-gradient(#fff2eb 0%, #ffd1b8 100%);--gradient-iris:linear-gradient(#479dff 11.43%, #0069e0 78.2%);--color-sentiment-pos:#22c55e;--color-sentiment-neg:#f97316;--color-sentiment-neu:#93979f;--font-aeonik:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-geist:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--text-caption:10px;--leading-caption:1.4;--tracking-caption:-.1px;--text-body-sm:14px;--leading-body-sm:1.14;--tracking-body-sm:-.14px;--text-body:16px;--leading-body:1.35;--text-body-lg:18px;--leading-body-lg:1.33;--tracking-body-lg:-.18px;--text-subheading:20px;--leading-subheading:1.4;--tracking-subheading:-.2px;--text-heading-sm:24px;--leading-heading-sm:1.17;--tracking-heading-sm:-.48px;--text-heading:32px;--leading-heading:1.25;--tracking-heading:-.64px;--text-heading-lg:48px;--leading-heading-lg:1.17;--tracking-heading-lg:-.96px;--text-display:72px;--leading-display:1.11;--tracking-display:-1.44px;--text-hero:148px;--leading-hero:1.05;--tracking-hero:-2.96px;--font-weight-medium:500;--font-weight-semibold:600;--spacing-unit:8px;--spacing-8:8px;--spacing-16:16px;--spacing-24:24px;--spacing-32:32px;--spacing-40:40px;--spacing-48:48px;--spacing-56:56px;--spacing-64:64px;--spacing-80:80px;--spacing-88:88px;--spacing-120:120px;--spacing-160:160px;--page-max-width:1200px;--section-gap:80px;--card-padding:40px;--element-gap:24px;--radius-lg:8px;--radius-2xl:16px;--radius-3xl:24px;--radius-3xl-2:32px;--radius-full:9999px;--radius-tags:9999px;--radius-cards:32px;--radius-images:24px;--radius-inputs:16px;--radius-buttons:32px;--radius-cardssmall:16px;--radius-buttonspill:9999px;--shadow-lg:#04459014 0px 14px 20px 4px;--shadow-subtle:#0a0d12cc 0px 1px 2px 0px, #0a0d12 0px 0px 0px 1px;--surface-sky-canvas:#ebf5ff;--surface-paper-card:#fafdff;--surface-pure-white:#fff;--surface-mist-section:#f6f7f8}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-geist);font-weight:var(--font-weight-medium);color:var(--color-ink);background-color:var(--color-sky-tint);line-height:var(--leading-body);letter-spacing:-.01em;min-height:100vh;overflow-x:hidden}.text-display{font-family:var(--font-aeonik);font-size:var(--text-display);font-weight:var(--font-weight-medium);line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-feature-settings:"case"}.text-heading-lg{font-family:var(--font-aeonik);font-size:var(--text-heading-lg);font-weight:var(--font-weight-medium);line-height:var(--leading-heading-lg);letter-spacing:var(--tracking-heading-lg);font-feature-settings:"case"}.text-heading{font-family:var(--font-aeonik);font-size:var(--text-heading);font-weight:var(--font-weight-medium);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-feature-settings:"case"}.text-heading-sm{font-family:var(--font-aeonik);font-size:var(--text-heading-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-heading-sm);letter-spacing:var(--tracking-heading-sm);font-feature-settings:"case"}.text-subheading{font-size:var(--text-subheading);line-height:var(--leading-subheading);letter-spacing:var(--tracking-subheading)}.text-body-lg{font-size:var(--text-body-lg);line-height:var(--leading-body-lg);letter-spacing:var(--tracking-body-lg)}.text-body{font-size:var(--text-body);line-height:var(--leading-body)}.text-body-sm{font-size:var(--text-body-sm);line-height:var(--leading-body-sm);letter-spacing:var(--tracking-body-sm)}.text-caption{font-size:var(--text-caption);line-height:var(--leading-caption);letter-spacing:var(--tracking-caption);font-weight:var(--font-weight-semibold)}.text-ink{color:var(--color-ink)}.text-graphite{color:var(--color-graphite)}.text-fog{color:var(--color-fog)}.text-sky-blue{color:var(--color-sky-blue)}.text-iris{color:var(--color-iris-blue)}.btn-primary{background:var(--color-charcoal);color:var(--color-paper-white);border-radius:var(--radius-buttons);font-family:var(--font-geist);font-size:var(--text-body);font-weight:var(--font-weight-medium);letter-spacing:-.01em;cursor:pointer;box-shadow:var(--shadow-subtle);white-space:nowrap;border:none;align-items:center;gap:8px;padding:12px 32px;text-decoration:none;transition:opacity .2s,transform .15s;display:inline-flex}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-charcoal);color:var(--color-paper-white);border-radius:var(--radius-2xl);font-family:var(--font-geist);font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);letter-spacing:-.01em;cursor:pointer;box-shadow:var(--shadow-subtle);white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;transition:opacity .2s,transform .15s;display:inline-flex}.btn-secondary:hover{opacity:.88;transform:translateY(-1px)}.btn-ghost{color:var(--color-graphite);border:1.5px solid var(--color-mist-gray);border-radius:var(--radius-buttons);font-family:var(--font-geist);font-size:var(--text-body);font-weight:var(--font-weight-medium);letter-spacing:-.01em;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:10px 24px;transition:border-color .2s,color .2s;display:inline-flex}.btn-ghost:hover{border-color:var(--color-iris-blue);color:var(--color-iris-blue)}.btn-add{color:var(--color-graphite);border-radius:var(--radius-cardssmall);font-family:var(--font-geist);font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);letter-spacing:-.01em;cursor:pointer;background:0 0;border:1.5px dashed #53586259;align-items:center;gap:6px;padding:6px 14px;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.btn-add:hover{border-color:var(--color-iris-blue);color:var(--color-iris-blue);background:#0069e00a}.card{background:var(--color-bone-white);border-radius:var(--radius-cards);padding:var(--card-padding)}.card-sm{background:var(--color-bone-white);border-radius:var(--radius-cardssmall);padding:var(--spacing-16)}.pill{border-radius:var(--radius-tags);font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-body-sm);white-space:nowrap;align-items:center;padding:4px 12px;display:inline-flex}.input{background:var(--color-paper-white);border:1.5px solid var(--color-mist-gray);border-radius:var(--radius-inputs);width:100%;font-family:var(--font-geist);font-size:var(--text-body);font-weight:var(--font-weight-medium);color:var(--color-ink);letter-spacing:-.01em;resize:none;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--color-iris-blue);box-shadow:0 0 0 3px #0069e01a}.input::placeholder{color:var(--color-fog)}.lane-label{font-size:var(--text-caption);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-fog);margin-bottom:var(--spacing-8)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}@keyframes spinDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.5)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes arcDraw{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}.animate-fade-up{animation:.45s cubic-bezier(.16,1,.3,1) both fadeInUp}.animate-slide-right{animation:.4s cubic-bezier(.16,1,.3,1) both slideInRight}.animate-pulse{animation:2s infinite pulse}.skeleton{background:linear-gradient(90deg, var(--color-mist-gray) 0%, var(--color-bone-white) 50%, var(--color-mist-gray) 100%);border-radius:var(--radius-2xl);background-size:800px 100%;animation:1.5s infinite shimmer}.loading-dots{align-items:center;gap:4px;display:inline-flex}.loading-dots span{background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.2s infinite spinDot;display:inline-block}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-sky-tint)}::-webkit-scrollbar-thumb{background:var(--color-fog);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--color-graphite)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.divider{background:var(--color-mist-gray);height:1px;margin:var(--spacing-16) 0;border:none}
