:root{--navy: #001c44;--teal-dark: #0c5776;--teal: #2d99ae;--cyan-pale: #bcfefe;--peach: #f8dad0;--color-bg: #ffffff;--color-surface: #f2fcfc;--color-surface-strong: var(--cyan-pale);--color-border: #d7eef0;--color-text: var(--navy);--color-text-secondary: #4a6b80;--color-text-on-primary: #ffffff;--color-primary: var(--navy);--color-primary-fill: var(--navy);--color-primary-hover: var(--teal-dark);--color-accent: var(--teal);--color-warm: var(--peach);--color-warm-text: #6b3a2c;--color-danger: #c0392b;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-body-alt: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-script: "Kaushan Script", "Alex Brush", cursive;--font-mono: "Space Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--dur-fast: .11s;--dur-base: .2s;--dur-slow: .32s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1)}[data-theme=dark]{--color-bg: #001226;--color-surface: #0c2038;--color-surface-strong: #0c5776;--color-border: #357399;--color-text: #f2fcfc;--color-text-secondary: #9fd8e0;--color-text-on-primary: #ffffff;--color-primary: var(--teal);--color-primary-fill: #227b93;--color-primary-hover: #4fb3c7;--color-accent: var(--cyan-pale);--color-warm: var(--peach);--color-warm-text: #3a221a}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--color-bg);color:var(--color-text);transition:background-color var(--dur-base) var(--ease-in-out),color var(--dur-base) var(--ease-in-out);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit}button,input,textarea{font-family:inherit;-webkit-tap-highlight-color:transparent}.title-large{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:0 0 var(--space-xs)}.title{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 0 var(--space-xs)}.headline{font-size:17px;font-weight:600;margin:0}.body-text{font-size:16px;font-weight:400;line-height:1.5;margin:0}.footnote{font-size:13px;font-weight:500;color:var(--color-text-secondary);margin:0}.app-shell{min-height:100%;display:flex;flex-direction:column}.page-container{width:100%;max-width:880px;margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-xl);flex:1}.navbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 72%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);position:sticky;top:0;z-index:10;transition:background-color var(--dur-base) var(--ease-in-out),border-color var(--dur-base) var(--ease-in-out)}.navbar-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:19px;letter-spacing:-.01em;color:var(--color-text);text-decoration:none}.navbar-links{display:flex;gap:var(--space-md);align-items:center}.navbar-link{text-decoration:none;font-size:14px;font-weight:600;color:var(--color-text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.navbar-link.active{color:var(--color-text-on-primary);background:var(--color-primary-fill)}.navbar-right{display:flex;align-items:center;gap:var(--space-md)}.points-pill{display:flex;align-items:center;gap:6px;background:var(--color-warm);color:var(--color-warm-text);font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;border:none;cursor:pointer;text-decoration:none;font-family:inherit}.points-pill:hover{filter:brightness(.96)}.icon-button{border:none;background:transparent;cursor:pointer;color:var(--color-text);display:flex;align-items:center;justify-content:center;padding:6px;border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.icon-button:hover{background:var(--color-surface-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-md);padding:13px 20px;font-weight:600;font-size:16px;letter-spacing:-.01em;cursor:pointer;transition:opacity var(--dur-fast) var(--ease-out),transform 70ms var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary-fill);color:var(--color-text-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-surface)}.btn-block{width:100%}.input,.textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;font-size:15px;background:var(--color-bg);color:var(--color-text);transition:background-color var(--dur-base) var(--ease-in-out),color var(--dur-base) var(--ease-in-out),border-color var(--dur-base) var(--ease-in-out)}.textarea{resize:vertical;min-height:120px}.input::placeholder,.textarea::placeholder{color:var(--color-text-secondary)}.chip{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;background:var(--color-surface);color:var(--color-text);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.chip.selected{background:var(--color-primary-fill);color:var(--color-text-on-primary);border-color:var(--color-primary-fill)}.tag-pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--color-primary-fill);color:var(--color-text-on-primary)}.tag-pill.warm{background:var(--color-warm);color:var(--color-warm-text)}.case-card{display:block;text-align:left;width:100%;border:1px solid transparent;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-md);margin-bottom:var(--space-md);cursor:pointer;text-decoration:none;color:inherit;box-shadow:0 1px 2px #001c440f;transition:box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background-color var(--dur-base) var(--ease-in-out)}.case-card:hover{border-color:var(--color-accent);box-shadow:0 4px 14px #001c441a}.case-card:active{transform:scale(.99)}.case-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-sm)}.case-card-title{font-size:17px;font-weight:700;letter-spacing:-.005em;margin:0 0 6px}.case-card-teaser{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.4}.case-card-meta{font-size:12px;color:var(--color-text-secondary);margin-top:var(--space-sm)}.identity-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-top:var(--space-md);transition:background-color var(--dur-base) var(--ease-in-out),border-color var(--dur-base) var(--ease-in-out)}.comment-credentials{display:block;font-size:12px;color:var(--color-text-secondary);margin-top:1px}.hero{min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--space-xl);background:var(--navy);color:#fff;font-family:var(--font-display)}.hero h1{font-family:var(--font-script);font-size:clamp(44px,13vw,72px);white-space:nowrap;font-weight:400;letter-spacing:0;line-height:1.22;padding-top:.08em;margin-bottom:var(--space-sm);-webkit-text-stroke:.014em currentColor;paint-order:stroke fill}.hero p{font-family:var(--font-mono);font-size:15px;max-width:500px;opacity:.9;line-height:1.75;font-weight:400;letter-spacing:-.01em}.hero .hero-subtitle{font-family:var(--font-script);font-size:clamp(26px,7vw,38px);font-weight:400;letter-spacing:0;line-height:1.3;opacity:1;margin-bottom:var(--space-md);-webkit-text-stroke:.012em currentColor;paint-order:stroke fill}.light-onboarding-surface{background:radial-gradient(ellipse 70% 90% at 0% 100%,var(--cyan-pale) 0%,transparent 70%),radial-gradient(ellipse 70% 90% at 100% 100%,var(--cyan-pale) 0%,transparent 70%),#fff;font-family:var(--font-body-alt);--color-bg: #ffffff;--color-surface: #f2fcfc;--color-surface-strong: var(--cyan-pale);--color-border: #d7eef0;--color-text: var(--navy);--color-text-secondary: #3d6178;--color-text-on-primary: #ffffff;--color-primary: var(--navy);--color-primary-fill: var(--navy);--color-primary-hover: var(--teal-dark);--color-accent: var(--teal);color:var(--navy)}.splash-icon-frame{border-radius:21px;box-shadow:0 0 0 1px #ffffff47,0 10px 28px #00000059}.splash-wordmark{font-size:clamp(34px,11vw,46px);font-weight:700;letter-spacing:-.035em;margin-top:var(--space-lg);margin-bottom:var(--space-md)}.splash-wordmark .hive{color:var(--cyan-pale)}.splash-quote-script{font-family:Alex Brush,cursive;font-size:clamp(34px,11vw,46px);line-height:1.2;color:var(--peach);margin:0;max-width:480px}.splash-quote-support{font-style:italic;font-size:16px;line-height:1.6;color:#fff;opacity:.85;max-width:400px;margin:var(--space-xs) 0 0}.splash-stage-1{animation:riseIn .7s cubic-bezier(.22,1,.36,1) both}.splash-stage-2{animation:riseIn .7s cubic-bezier(.22,1,.36,1) both;animation-delay:.26s}.splash-stage-3{animation:riseIn .82s cubic-bezier(.22,1,.36,1) both;animation-delay:.54s}.splash-stage-4{animation:riseIn .7s cubic-bezier(.22,1,.36,1) both;animation-delay:.86s}.splash-stage-1 img{animation:floatSoft 4s ease-in-out 1.2s infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes riseIn{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes floatSoft{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.page-fade-in{animation:fadeInUp var(--dur-slow) var(--ease-out) both}.page-fade-out{animation:fadeOutDown .26s var(--ease-in) both}.comment-row{border-bottom:1px solid var(--color-border);padding:var(--space-sm) 0;transition:border-color var(--dur-base) var(--ease-in-out)}.comment-author{font-weight:700}.upvote-button{border:none;background:transparent;display:flex;align-items:center;gap:4px;color:var(--color-text-secondary);font-size:12px;cursor:pointer;margin-top:4px;padding:0;transition:color var(--dur-fast) var(--ease-out)}.composer{display:flex;gap:var(--space-sm);align-items:flex-end;border-top:1px solid var(--color-border);padding:var(--space-md) 0 0;margin-top:var(--space-lg)}.summary-box{background:var(--color-surface-strong);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-md);transition:background-color var(--dur-base) var(--ease-in-out)}.summary-label{font-size:11px;font-weight:700;color:var(--color-text-secondary);letter-spacing:.03em}.chat-box{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);background:var(--color-surface);margin-top:var(--space-md);transition:background-color var(--dur-base) var(--ease-in-out),border-color var(--dur-base) var(--ease-in-out)}.chat-messages{display:flex;flex-direction:column;gap:var(--space-sm);max-height:320px;overflow-y:auto}.chat-bubble{max-width:82%;padding:10px 14px;border-radius:var(--radius-md);font-size:15px;line-height:1.45;white-space:pre-wrap}.chat-bubble-user{align-self:flex-end;background:var(--color-primary-fill);color:var(--color-text-on-primary);border-bottom-right-radius:4px}.chat-bubble-assistant{align-self:flex-start;background:var(--color-surface-strong);color:var(--color-text);border-bottom-left-radius:4px;transition:background-color var(--dur-base) var(--ease-in-out),color var(--dur-base) var(--ease-in-out)}.chat-bubble-loading{opacity:.65;font-style:italic}.field{margin-top:var(--space-lg)}.field-label{display:block;font-size:12px;font-weight:700;color:var(--color-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.image-preview-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.image-preview{position:relative;width:92px;height:92px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.image-preview img{width:100%;height:100%;object-fit:cover;display:block}.image-preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:999px;background:#001c44b8;color:#fff;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.toast{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%);background:var(--navy);color:#fff;padding:12px 20px;border-radius:var(--radius-md);font-size:14px;box-shadow:0 8px 24px #0003;z-index:50}.tab-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:20;border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 82%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);padding-bottom:env(safe-area-inset-bottom,0px);transition:background-color var(--dur-base) var(--ease-in-out),border-color var(--dur-base) var(--ease-in-out)}.tab-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px 6px;text-decoration:none;color:var(--color-text-secondary);transition:color var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.tab-bar-item.active{color:var(--color-accent)}.tab-bar-icon{width:24px;height:24px}.tab-bar-label{font-size:11px;font-weight:600;letter-spacing:-.01em}@media (max-width: 640px){.navbar-links{display:none}.tab-bar{display:flex}.page-container{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.account-menu{min-width:0;width:max(200px,62vw)}}.account-menu-wrap{position:relative;display:flex;align-items:center;gap:var(--space-sm)}.avatar-button{width:34px;height:34px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-strong);color:var(--color-text);font-size:12px;font-weight:700;letter-spacing:-.01em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.avatar-button:hover{border-color:var(--color-accent)}.account-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:232px;z-index:40;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 12px 32px #001c442e;padding:var(--space-xs);transform-origin:top right;animation:menuIn var(--dur-base) var(--ease-out) both}.account-menu-header{padding:var(--space-sm) var(--space-sm) var(--space-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-xs)}.account-menu-name{margin:0;font-weight:700;font-size:15px}.account-menu-cred{margin:2px 0 0;font-size:12px;color:var(--color-text-secondary)}.account-menu-pending{margin:6px 0 2px;font-size:11px;font-weight:600;color:var(--color-warm-text);background:var(--color-warm);border-radius:var(--radius-sm);padding:3px 6px;display:inline-block}.account-menu-item{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--color-text);font-size:14px;font-weight:600;padding:9px var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.account-menu-item:hover{background:var(--color-surface)}.account-menu-item.danger{color:var(--color-danger)}.account-menu-divider{height:1px;background:var(--color-border);margin:var(--space-xs) 0}.profile-header{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-md)}.profile-avatar{width:60px;height:60px;flex-shrink:0;border-radius:999px;background:var(--color-surface-strong);color:var(--color-text);font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center}.pending-banner{margin-top:var(--space-md);background:var(--color-warm);color:var(--color-warm-text);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:14px;line-height:1.5}.stat-row{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.stat-card{flex:1;text-decoration:none;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);text-align:center;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-base) var(--ease-in-out)}.stat-card:hover{border-color:var(--color-accent)}.stat-value{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em}.stat-label{margin:2px 0 0;font-size:12px;font-weight:600;color:var(--color-text-secondary)}.detail-list{margin:0}.detail-list>div{display:flex;justify-content:space-between;gap:var(--space-md);padding:11px 0;border-bottom:1px solid var(--color-border)}.detail-list dt{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.detail-list dd{margin:0;font-size:14px;font-weight:600;text-align:right;word-break:break-word}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-sm);margin-top:var(--space-md)}.badge-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.badge-icon{font-size:28px;line-height:1;margin-bottom:var(--space-sm)}.badge-name{margin:0;font-weight:700;font-size:14px}.badge-criteria{margin:4px 0 0;font-size:12px;color:var(--color-text-secondary);line-height:1.4}.empty-state{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;margin-top:var(--space-md)}.case-card{animation:cardIn var(--dur-base) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 38ms)}.light-onboarding-surface .title-large,.light-onboarding-surface .title,.light-onboarding-surface h1,.light-onboarding-surface h2{font-family:var(--font-display);letter-spacing:-.035em}.splash-wordmark{font-family:var(--font-display)}.hero .btn{font-family:var(--font-mono);font-size:15px;letter-spacing:-.01em}:root{--focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-accent) 45%, transparent)}.btn:focus-visible,.chip:focus-visible,.icon-button:focus-visible,.avatar-button:focus-visible,.points-pill:focus-visible,.navbar-link:focus-visible,.tab-bar-item:focus-visible,.case-card:focus-visible,.stat-card:focus-visible,.account-menu-item:focus-visible,.upvote-button:focus-visible,.input:focus-visible,.textarea:focus-visible,select.input:focus-visible{outline:none;box-shadow:var(--focus-ring);transition:box-shadow var(--dur-fast) var(--ease-out)}.input:focus,.textarea:focus{border-color:var(--color-accent);outline:none}.btn:active:not(:disabled){transform:scale(.975);transition:transform 70ms var(--ease-out)}.chip:active,.icon-button:active,.avatar-button:active,.points-pill:active{transform:scale(.94);transition:transform 70ms var(--ease-out)}.btn,.chip,.icon-button,.avatar-button,.points-pill{transition:transform var(--dur-base) var(--ease-spring),background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out)}.case-card:hover,.stat-card:hover{transform:translateY(-2px)}.case-card:active{transform:translateY(0) scale(.995);transition:transform 70ms var(--ease-out)}@media (hover: none){.case-card:hover,.stat-card:hover{transform:none}}.btn{position:relative}.btn-label{display:inline-block;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-out)}.btn.is-loading .btn-label{opacity:.35;transform:scale(.98)}.btn-spinner{position:absolute;top:50%;left:50%;width:17px;height:17px;margin:-8.5px 0 0 -8.5px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;opacity:0;transform:scale(.6);pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-spring)}.btn.is-loading .btn-spinner{opacity:1;transform:scale(1);animation:spin .62s linear infinite}@keyframes spin{to{transform:scale(1) rotate(360deg)}}.btn:disabled{transform:none}.chat-bubble{animation:bubbleIn var(--dur-base) var(--ease-out) both}.chat-bubble-user{transform-origin:bottom right}.chat-bubble-assistant{transform-origin:bottom left}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-bubble-typing{display:inline-flex;align-items:center;gap:5px;min-height:21px}.typing-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;animation:typingPulse 1.15s var(--ease-in-out) infinite}.typing-dot:nth-child(2){animation-delay:.16s}.typing-dot:nth-child(3){animation-delay:.32s}@keyframes typingPulse{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.summary-box{animation:resultIn var(--dur-slow) var(--ease-out) both}@keyframes resultIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.inline-message{font-size:14px;margin-top:var(--space-sm);animation:messageIn var(--dur-base) var(--ease-out) both}.inline-message.is-error{color:var(--color-danger)}.inline-message.is-success{color:var(--color-primary)}@keyframes messageIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.image-preview{animation:previewIn var(--dur-base) var(--ease-spring) both}@keyframes previewIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes menuIn{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.tab-bar-item .tab-bar-icon{transition:transform var(--dur-base) var(--ease-spring)}.tab-bar-item.active .tab-bar-icon{transform:translateY(-1px) scale(1.08)}.tab-bar-item:active .tab-bar-icon{transform:scale(.92);transition:transform 70ms var(--ease-out)}.skeleton-card{height:132px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);background-image:linear-gradient(90deg,var(--color-surface) 25%,color-mix(in srgb,var(--color-surface) 60%,var(--color-border)) 37%,var(--color-surface) 63%);background-size:400% 100%;background-repeat:no-repeat;margin-bottom:var(--space-md);animation:shimmer 1.4s var(--ease-in-out) infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.case-card:hover,.stat-card:hover,.case-card:active,.btn:active:not(:disabled),.chip:active,.icon-button:active,.avatar-button:active,.points-pill:active,.tab-bar-item.active .tab-bar-icon,.tab-bar-item:active .tab-bar-icon{transform:none!important}.btn.is-loading .btn-spinner{animation:reducedPulse 1.4s ease-in-out infinite!important;border-top-color:currentColor}.typing-dot{animation:reducedPulse 1.4s ease-in-out infinite!important}.skeleton-card{animation:none!important;background:var(--color-surface)}@keyframes reducedPulse{0%,to{opacity:.3}50%{opacity:1}}}.plan-grid{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-lg)}.plan-card{flex:1 1 180px;min-width:0}.plan-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-out)}.plan-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}@media (hover: none){.plan-card:hover{transform:none}}.plan-credits{margin:0;font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1}.plan-label{margin:2px 0 10px;font-size:13px;font-weight:600;color:var(--color-text-secondary)}.plan-price{margin:0;font-size:22px;font-weight:700}.paywall-card{border:1px dashed var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-md);animation:messageIn var(--dur-base) var(--ease-out) both}.menu-badge{float:right;background:var(--color-warm);color:var(--color-warm-text);font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00122673;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:var(--space-md);animation:fadeInPlain var(--dur-base) var(--ease-out) both}@keyframes fadeInPlain{0%{opacity:0}to{opacity:1}}.modal-panel{width:100%;max-width:460px;max-height:88vh;overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 20px 48px #001c4447;animation:modalIn var(--dur-base) var(--ease-out) both}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.consent-banner{position:fixed;left:var(--space-md);right:var(--space-md);bottom:calc(var(--space-md) + 72px + env(safe-area-inset-bottom,0px));z-index:50;max-width:560px;margin:0 auto;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:0 12px 32px #001c442e;animation:messageIn var(--dur-slow) var(--ease-out) both}.consent-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.consent-actions .btn{flex:1;padding:9px 14px;font-size:14px}@media (min-width: 641px){.consent-banner{bottom:var(--space-md)}}.legal-page h2.title{margin-top:var(--space-lg)}.legal-page p,.legal-page li{color:var(--color-text-secondary);line-height:1.7}.legal-page a{color:var(--color-accent)}.privacy-warning{border:1px solid var(--color-border);border-left:3px solid var(--color-accent);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-md)}.privacy-list{margin:0;padding-left:20px;font-size:13px;line-height:1.7;color:var(--color-text-secondary)}.privacy-ack{display:flex;align-items:flex-start;gap:10px;margin-top:var(--space-lg);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;font-size:14px;line-height:1.5;transition:border-color var(--dur-fast) var(--ease-out)}.privacy-ack:hover{border-color:var(--color-accent)}.privacy-ack input{margin-top:2px;width:17px;height:17px;flex-shrink:0;accent-color:var(--color-accent);cursor:pointer}.screening-block{border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-lg);background:color-mix(in srgb,var(--color-danger) 8%,var(--color-bg));animation:messageIn var(--dur-base) var(--ease-out) both}.legal-placeholder{background:color-mix(in srgb,var(--color-warm) 70%,transparent);color:var(--color-warm-text);font-weight:700;padding:1px 5px;border-radius:4px;white-space:nowrap}.legal-placeholder-block{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);background:var(--color-surface)}.legal-draft-notice{border-left:3px solid var(--color-accent);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:14px;line-height:1.6;margin:var(--space-md) 0 var(--space-lg)}.legal-emphasis{border-left:3px solid var(--color-danger);padding-left:var(--space-md);color:var(--color-text)!important;font-weight:500}.legal-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:var(--space-md);display:block;overflow-x:auto}.legal-table th,.legal-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--color-border);vertical-align:top}.legal-table th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary)}.legal-nav a,.footer-links a{margin-right:var(--space-md)}.legal-nav{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--color-border);font-size:13px}.legal-summary{margin:var(--space-lg) 0;padding-left:0;list-style:none}.legal-summary li{position:relative;padding-left:22px;margin-bottom:var(--space-md);line-height:1.6;color:var(--color-text-secondary)}.legal-summary li:before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--color-accent)}.legal-summary strong{color:var(--color-text)}.site-footer{border-top:1px solid var(--color-border);padding:var(--space-lg) var(--space-md);margin-top:var(--space-xl);text-align:center;transition:border-color var(--dur-base) var(--ease-in-out)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;font-size:13px}.footer-links a{color:var(--color-text-secondary);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}.footer-links a:hover{color:var(--color-accent)}.footer-note{margin:var(--space-sm) 0 0;font-size:12px;color:var(--color-text-secondary)}@media (max-width: 640px){.site-footer{padding-bottom:calc(var(--space-lg) + 72px + env(safe-area-inset-bottom,0px))}}.title-case{font-size:28px;line-height:1.25}@media (max-width: 640px){.title-case{font-size:24px}}.status-pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.01em}.status-pill.is-live{background:var(--color-primary-fill);color:var(--color-text-on-primary)}.status-pill.is-pending{background:var(--color-surface-strong);color:var(--color-text)}.status-pill.is-warn{background:var(--color-warm);color:var(--color-warm-text)}html,body,#root{min-height:100%}.light-onboarding-surface,.hero{min-height:100vh}
