.landing-page{--lp-surface: #10141a;--lp-surface-lowest: #0a0e14;--lp-surface-low: #181c22;--lp-surface-high: #262a31;--lp-surface-highest: #31353c;--lp-surface-bright: #353940;--lp-primary: #7aacee;--lp-primary-container: #3a6db5;--lp-tertiary: #a8d0f5;--lp-on-primary: #ffffff;--lp-on-surface: #dfe2eb;--lp-on-surface-variant: #c5c5d4;--lp-outline-variant: #454652;--lp-error: #ffb4ab;--lp-font-display: "Space Grotesk", "Inter", sans-serif;display:flex;flex-direction:column;min-height:100vh;background:var(--lp-surface);color:var(--lp-on-surface);font-family:Inter,Noto Sans JP,sans-serif}.landing-main{flex:1;display:flex;flex-direction:column}.landing-page :focus-visible{outline:2px solid var(--lp-primary);outline-offset:2px;border-radius:4px}.landing-page :focus:not(:focus-visible){outline:none}.landing-header{display:flex;align-items:center;height:64px;padding:0 32px;gap:48px;background:#35394080;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);position:fixed;top:0;left:0;right:0;z-index:102}@media(max-width:768px){.landing-header{background:var(--glass-bg, rgba(28, 28, 31, .88));backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px)}}.landing-logo{font-family:Noto Sans JP,sans-serif;font-size:1.25rem;font-weight:700;color:var(--lp-on-surface);letter-spacing:.15em;text-decoration:none;display:flex;align-items:center;gap:.5rem}.landing-nav{display:flex;align-items:center;gap:24px;flex-shrink:0;white-space:nowrap;margin-left:auto}.landing-nav-center{display:flex;align-items:center;gap:24px}.landing-nav-link{background:none;border:none;color:#dfe2eb99;font-family:var(--lp-font-display);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;padding:4px 8px;transition:color .15s ease;letter-spacing:-.01em}.landing-nav-link:hover,.landing-nav-link--active{color:var(--lp-primary)}.landing-nav-cta{display:inline-flex;align-items:center;padding:8px 20px;background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-container));color:var(--lp-on-primary);font-family:var(--lp-font-display);font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;text-decoration:none;transition:all .15s ease;white-space:nowrap}.landing-nav-cta:hover{filter:brightness(1.1)}.lang-switcher{display:flex;border-radius:6px;border:1px solid var(--lp-outline-variant);overflow:hidden}.lang-switcher-btn{background:none;border:none;color:#dfe2eb66;font-family:var(--lp-font-display);font-size:11px;font-weight:600;cursor:pointer;padding:4px 10px;letter-spacing:.05em;transition:color .15s ease,background .15s ease}.lang-switcher-btn:hover:not(.lang-switcher-btn--active){color:var(--lp-on-surface);background:#7aacee14}.lang-switcher-btn--active{color:var(--lp-on-primary);background:var(--lp-primary);cursor:default}.landing-hero-section{padding-top:64px;position:relative;min-height:100vh;overflow:hidden}.landing-hero-demo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;padding-top:64px}.landing-hero-content{position:relative;z-index:2;padding:60px 48px 32px;max-width:720px;pointer-events:none}.landing-hero-content .landing-hero-badge,.landing-hero-content .landing-cta a,.landing-hero-content .landing-cta{pointer-events:auto}.landing-hero-content:before{content:"";position:absolute;top:-60px;left:-80px;bottom:-60px;right:-60px;background:#10141aeb;-webkit-mask-image:linear-gradient(to right,black 30%,transparent 100%),linear-gradient(to bottom,black 40%,transparent 100%),linear-gradient(to left,black 60%,transparent 100%),linear-gradient(to top,black 50%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,black 30%,transparent 100%),linear-gradient(to bottom,black 40%,transparent 100%),linear-gradient(to left,black 60%,transparent 100%),linear-gradient(to top,black 50%,transparent 100%);mask-composite:intersect;z-index:-1;pointer-events:none}.landing-hero-badge{display:inline-block;font-family:var(--lp-font-display);font-size:11px;font-weight:600;color:var(--lp-primary);text-transform:uppercase;letter-spacing:.15em;background:#7aacee1a;padding:4px 12px;border-radius:20px;margin-bottom:24px}.landing-headline{font-family:var(--lp-font-display);font-size:3.5rem;font-weight:700;line-height:1.08;letter-spacing:-.02em;color:var(--lp-on-surface);margin-bottom:24px;text-shadow:0 2px 20px rgba(16,20,26,.8),0 0 40px rgba(122,172,238,.15)}.landing-headline-accent{color:var(--lp-primary)}.landing-headline-accent ruby{ruby-position:over;font-weight:300}.landing-headline-accent rt{font-size:.35em;font-weight:100;letter-spacing:.15em;color:var(--lp-primary);opacity:.85}.landing-headline-dash{display:inline-block;width:.6em;height:2px;background:currentColor;opacity:.3;vertical-align:middle;margin:0 .2em}.landing-headline-dash:first-child{margin-left:.4em}.landing-headline-dash:last-child{margin-right:.4em}.landing-description{font-size:1.125rem;line-height:1.6;color:var(--lp-on-surface-variant);max-width:520px;margin-bottom:32px;text-shadow:0 1px 8px rgba(16,20,26,.6)}.landing-cta{display:flex;gap:16px;flex-wrap:wrap}.landing-cta--maintenance{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px;background:#7aacee0f;border:1px solid rgba(122,172,238,.18);border-radius:12px;max-width:420px}.landing-maintenance-note{font-size:14px;line-height:1.6;color:var(--lp-on-surface);margin:0}.landing-cta-primary{display:inline-flex;align-items:center;padding:14px 28px;background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-container));color:var(--lp-on-primary);font-family:var(--lp-font-display);font-size:1rem;font-weight:600;border:none;border-radius:6px;text-decoration:none;transition:all .15s ease;box-shadow:0 4px 24px #7aacee33}.landing-cta-primary:hover{filter:brightness(1.1);box-shadow:0 4px 32px #7aacee4d}.landing-cta-secondary{display:inline-flex;align-items:center;padding:14px 28px;background:#35394066;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--lp-on-surface);font-family:var(--lp-font-display);font-size:1rem;font-weight:600;border:1px solid rgba(69,70,82,.3);border-radius:6px;text-decoration:none;transition:all .15s ease}.landing-cta-secondary:hover{background:#35394099;border-color:#45465280}.demo-graph-container{width:100%;height:100%;position:relative}.demo-graph-canvas-wrapper{width:100%;height:100%;background:transparent;overflow:hidden;position:relative}.demo-graph-loading{display:flex;align-items:center;justify-content:center}.demo-graph-loading-text{color:var(--lp-on-surface-variant);font-size:14px}.demo-timeline-bar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:10px;padding:6px 20px;min-width:min(320px,calc(100% - 32px));max-width:520px;background:#35394080;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:12px;border:1px solid rgba(69,70,82,.2);box-shadow:0 8px 32px #00000026}.demo-timeline-play-btn{width:28px;height:28px;border:1px solid transparent;border-radius:50%;background:var(--lp-primary);color:var(--lp-on-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease;flex-shrink:0}.demo-timeline-play-btn:hover{opacity:.85}.demo-timeline-slider{flex:1;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#7878b433;border-radius:2px;outline:none;cursor:pointer}.demo-timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--lp-primary);border:2px solid rgba(122,172,238,.6);cursor:pointer}.demo-timeline-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--lp-primary);border:2px solid rgba(122,172,238,.6);cursor:pointer}.demo-timeline-label{font-size:11px;color:var(--lp-on-surface-variant);font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;white-space:nowrap}.demo-toolbar-btn{width:28px;height:28px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--lp-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease;flex-shrink:0}.demo-toolbar-btn:hover{background:#7aacee26;color:var(--lp-on-surface)}.demo-timeline-divider{width:1px;height:20px;background:#45465266;flex-shrink:0}.landing-insight-section{background:var(--lp-surface-lowest);padding:100px 48px 0}.landing-insight-inner{max-width:760px;margin:0 auto}.landing-insight-card{text-align:center;padding:48px 48px 40px;border-radius:16px;background:var(--lp-surface-low);border:1px solid var(--lp-outline-variant);box-shadow:0 8px 40px #00000026;position:relative;overflow:hidden}.landing-insight-card:before{content:"";position:absolute;top:-60px;left:50%;transform:translate(-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(122,172,238,.06) 0%,transparent 70%);pointer-events:none}.landing-insight-icon{margin-bottom:20px}.landing-insight-icon .material-symbols-outlined{font-size:36px;color:var(--lp-tertiary);opacity:.7}.landing-insight-quote{font-family:var(--lp-font-display);font-size:1.5rem;font-weight:600;color:var(--lp-on-surface);line-height:1.5;letter-spacing:-.01em;margin:0 0 24px;quotes:none}.landing-insight-divider{width:48px;height:2px;background:linear-gradient(90deg,var(--lp-primary),var(--lp-tertiary));opacity:.4;margin:0 auto 24px;border-radius:1px}.landing-insight-answer{font-size:1rem;color:var(--lp-on-surface-variant);line-height:1.7;max-width:560px;margin:0 auto}@media(max-width:600px){.landing-insight-section{padding:64px 20px 0}.landing-insight-card{padding:32px 24px 28px}.landing-insight-quote{font-size:1.2rem}}.landing-process-section{background:var(--lp-surface-lowest);padding:100px 48px 120px}.landing-process-inner{max-width:1000px;margin:0 auto}.landing-process-section .landing-section-overline,.landing-process-section .landing-section-headline{text-align:center}.landing-process-section .landing-section-headline{margin-bottom:56px}.landing-process-flow{display:flex;align-items:stretch;justify-content:center}.landing-process-step-group{display:flex;align-items:stretch;opacity:0;transform:translateY(20px)}.landing-process-visible .landing-process-step-group{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(var(--step-index) * .2s)}.landing-process-connector{display:flex;align-items:center;padding-top:96px;width:32px;margin:0 16px;flex-shrink:0}.landing-process-connector-line{width:100%;height:2px;background:var(--lp-outline-variant);position:relative;overflow:hidden;border-radius:2px}.landing-process-visible .landing-process-connector-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--lp-primary),var(--lp-tertiary));opacity:.4;transform:scaleX(0);transform-origin:left;animation:process-line-grow .6s ease forwards;animation-delay:calc(var(--step-index) * .2s + .1s)}@keyframes process-line-grow{to{transform:scaleX(1)}}.landing-process-step{display:flex;flex-direction:column;align-items:center;text-align:center;width:200px;height:100%;flex-shrink:0;padding:32px 20px 24px;border-radius:16px;background:var(--lp-surface-low);border:1px solid var(--lp-outline-variant);box-shadow:0 8px 32px #0000001a;transition:border-color .3s ease,background .3s ease,transform .3s ease}.landing-process-step:hover{border-color:#7aacee4d;background:var(--lp-surface-high)}.landing-process-step-number{font-family:var(--lp-font-display);font-size:11px;font-weight:700;color:var(--lp-tertiary);letter-spacing:.1em;margin-bottom:12px;opacity:.7}.landing-process-step-icon{width:56px;height:56px;border-radius:16px;background:#7aacee14;border:1px solid rgba(122,172,238,.15);display:flex;align-items:center;justify-content:center;margin-bottom:16px;position:relative}.landing-process-step-icon:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:20px;background:radial-gradient(circle,rgba(122,172,238,.06) 0%,transparent 70%);pointer-events:none}.landing-process-step-icon .material-symbols-outlined{font-size:28px;color:var(--lp-primary)}.landing-process-step-title{font-family:var(--lp-font-display);font-size:1rem;font-weight:700;color:var(--lp-on-surface);margin-bottom:6px;letter-spacing:-.01em}.landing-process-step-desc{font-size:13px;color:var(--lp-on-surface-variant);line-height:1.5}.landing-process-flow--with-animation .landing-process-step{width:280px}.landing-process-flow--with-animation .landing-process-connector{padding-top:0;align-self:center}.landing-process-step-animation{width:100%;aspect-ratio:10 / 7;position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--lp-outline-variant);background:var(--lp-surface-lowest);margin-bottom:16px;container-type:inline-size}.landing-process-step-animation>.onboarding-mockup{position:absolute;top:0;left:0;width:400px;max-width:none;height:280px;aspect-ratio:unset;border:none;border-radius:0;transform-origin:top left;transform:scale(calc(100cqw/400px))}@supports not (container-type: inline-size){.landing-process-step-animation>.onboarding-mockup{transform:scale(.6)}}.landing-process-flow--with-animation .landing-process-step:not(.landing-process-step--has-animation) .landing-process-step-icon{width:72px;height:72px;margin-bottom:24px}.landing-process-flow--with-animation .landing-process-step:not(.landing-process-step--has-animation) .landing-process-step-icon .material-symbols-outlined{font-size:36px}@media(prefers-reduced-motion:reduce){.landing-process-step-group{opacity:1;transform:none}.landing-process-visible .landing-process-connector-line:after{animation:none;transform:scaleX(1)}}.landing-bento-section{background:var(--lp-surface-lowest);padding:120px 48px}.landing-bento-inner{max-width:1200px;margin:0 auto}.landing-section-overline{font-family:var(--lp-font-display);font-size:11px;font-weight:600;color:var(--lp-tertiary);text-transform:uppercase;letter-spacing:.15em;margin-bottom:12px;text-align:left}.landing-section-headline{font-family:var(--lp-font-display);font-size:2rem;font-weight:700;color:var(--lp-on-surface);letter-spacing:-.02em;margin-bottom:16px;line-height:1.15;text-align:left}.landing-section-desc{font-size:1rem;color:var(--lp-on-surface-variant);line-height:1.6;max-width:520px;margin-bottom:48px;text-align:left}.landing-bento-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:16px}.landing-bento-card{background:var(--lp-surface-low);border-radius:12px;padding:32px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:background .25s ease,transform .25s ease;opacity:0;transform:translateY(24px)}.landing-bento-card:hover{background:var(--lp-surface-high)}.landing-bento-card--lg{grid-column:span 8;min-height:240px}.landing-bento-card--sm{grid-column:span 4}.landing-bento-visible .landing-bento-card{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease,background .25s ease}.landing-bento-card-icon{font-size:32px;margin-bottom:16px;color:var(--lp-primary)}.landing-bento-card-icon--tertiary{color:var(--lp-tertiary)}.landing-bento-card-title{font-family:var(--lp-font-display);font-size:1.25rem;font-weight:700;color:var(--lp-on-surface);margin-bottom:8px;letter-spacing:-.01em}.landing-bento-card-desc{font-size:14px;color:var(--lp-on-surface-variant);line-height:1.6}.landing-bento-card--lg:after{content:"";position:absolute;bottom:-40px;right:-40px;width:200px;height:200px;background:radial-gradient(circle,rgba(122,172,238,.06) 0%,transparent 70%);pointer-events:none}.landing-bento-card--highlight{border:1px solid rgba(122,172,238,.4);background:linear-gradient(135deg,var(--lp-surface-low) 0%,rgba(122,172,238,.06) 100%);box-shadow:0 0 12px #7aacee14,0 0 24px #7aacee08}.landing-bento-card--highlight:hover{background:linear-gradient(135deg,var(--lp-surface-high) 0%,rgba(122,172,238,.08) 100%)}.landing-bento-card--highlight .landing-bento-card-icon{color:var(--lp-tertiary)}[data-theme=light] .landing-bento-card--highlight{border-color:#5b8dd940;background:linear-gradient(135deg,var(--lp-surface-low) 0%,rgba(91,141,217,.06) 100%);box-shadow:0 0 12px #5b8dd90d,0 0 24px #5b8dd905}@media(prefers-reduced-motion:reduce){.landing-bento-card{opacity:1;transform:none;transition:background .25s ease}}.landing-pricing-section{padding:120px 48px;background:var(--lp-surface)}.landing-pricing-inner{max-width:900px;margin:0 auto;text-align:center}.landing-pricing-cards{display:flex;gap:24px;justify-content:center;margin-top:48px}.landing-pricing-card{flex:1;max-width:340px;padding:32px;border-radius:12px;text-align:left;display:flex;flex-direction:column}.landing-pricing-card--free{background:var(--lp-surface-low);border:1px solid var(--lp-outline-variant)}.landing-pricing-card--featured{background:var(--lp-surface-low);border:1px solid var(--lp-primary);position:relative;overflow:hidden}.landing-pricing-card--featured:before{content:"";position:absolute;top:-60px;right:-60px;width:160px;height:160px;background:#7aacee0f;border-radius:50%;filter:blur(40px);pointer-events:none}.landing-pricing-card-name{font-family:var(--lp-font-display);font-size:1.25rem;font-weight:700;margin-bottom:6px}.landing-pricing-card--free .landing-pricing-card-name,.landing-pricing-card--featured .landing-pricing-card-name{color:var(--lp-on-surface)}.landing-pricing-card-desc{font-size:13px;margin-bottom:24px;min-height:2.6em}.landing-pricing-card--free .landing-pricing-card-desc,.landing-pricing-card--featured .landing-pricing-card-desc{color:var(--lp-on-surface-variant)}.landing-pricing-price{font-family:var(--lp-font-display);font-size:2rem;font-weight:700;margin-bottom:24px}.landing-pricing-card--free .landing-pricing-price,.landing-pricing-card--featured .landing-pricing-price{color:var(--lp-on-surface)}.landing-pricing-period{font-size:14px;font-weight:400;opacity:.7}.landing-pricing-btn{display:block;width:100%;padding:12px;border-radius:6px;font-family:var(--lp-font-display);font-size:14px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;transition:all .15s ease}.landing-pricing-btn--ghost{background:transparent;border:1px solid var(--lp-outline-variant);color:var(--lp-on-surface-variant)}.landing-pricing-btn--ghost:hover{border-color:#7aacee66;color:var(--lp-on-surface)}.landing-pricing-btn--outline{background:transparent;border:1px solid var(--lp-primary);color:var(--lp-primary)}.landing-pricing-btn--outline:hover{background:#7aacee14}.landing-pricing-btn--solid{background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-container));border:none;color:var(--lp-on-primary);box-shadow:0 4px 20px #7aacee33}.landing-pricing-btn--solid:hover{filter:brightness(1.1);box-shadow:0 4px 28px #7aacee4d}.landing-pricing-features{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px;flex:1}.landing-pricing-features li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--lp-on-surface-variant)}.landing-pricing-card--featured .landing-pricing-features li{color:var(--lp-on-surface-variant)}.landing-pricing-check{color:var(--lp-primary);flex-shrink:0;display:inline-flex;align-items:center}.landing-pricing-card--featured .landing-pricing-check{color:var(--lp-primary)}.landing-pricing-x{color:#c5c5d459;flex-shrink:0;display:inline-flex;align-items:center}.landing-pricing-viewall{display:inline-block;margin-top:32px;color:var(--lp-primary);font-family:var(--lp-font-display);font-size:14px;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;transition:opacity .15s ease}.landing-pricing-viewall:hover{opacity:.8}.landing-footer{background:var(--lp-surface-lowest);padding:48px}.landing-footer-inner{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.landing-footer-brand{display:flex;flex-direction:column;gap:6px}.landing-footer-logo{font-family:Noto Sans JP,sans-serif;font-size:1.25rem;font-weight:700;color:var(--lp-on-surface);letter-spacing:.15em;display:flex;align-items:center;gap:.5rem}.landing-footer-copy{font-size:12px;color:#dfe2eb66}.landing-footer-links{display:flex;gap:24px}.landing-footer-links a{color:#dfe2eb80;font-size:13px;text-decoration:none;transition:color .15s ease;letter-spacing:.02em}.landing-footer-links a:hover{color:var(--lp-primary)}@media(max-width:960px){.landing-bento-card--lg,.landing-bento-card--sm{grid-column:span 12}.landing-bento-card--lg{min-height:auto}}@media(max-width:768px){.landing-header{padding:0 16px;gap:16px}.landing-nav-center{display:none}.landing-nav{gap:12px}.landing-nav-cta{padding:6px 14px;font-size:13px}.landing-hero-section{min-height:auto;display:flex;flex-direction:column}.landing-hero-content{order:1;padding:32px 20px 24px;pointer-events:auto;position:relative;z-index:2;margin-bottom:-42vw}.landing-hero-demo{order:2;position:relative;inset:auto;padding-top:0}.landing-hero-content:before{display:block;top:-20px;right:-20px;bottom:-20px;left:-20px;background:linear-gradient(to bottom,#10141a,#10141ad9 60%,#10141a00)}.landing-headline{font-size:2.25rem}.landing-description{font-size:1rem}.demo-graph-container{display:flex;flex-direction:column;width:100%;height:auto}.demo-graph-canvas-wrapper{width:100%;height:auto;aspect-ratio:1 / 1;position:relative}.demo-timeline-bar{min-width:0;max-width:calc(100% - 24px);padding:6px 10px;gap:6px}.landing-cta{display:none}.landing-process-section{padding:64px 20px}.landing-process-flow{flex-direction:column;align-items:center}.landing-process-connector{width:auto;height:24px;padding-top:0;justify-content:center}.landing-process-connector-line{width:2px;height:100%}.landing-process-step{width:100%;max-width:280px}.landing-bento-section{padding:64px 20px}.landing-section-headline{font-size:1.5rem}.landing-pricing-section{padding:64px 20px}.landing-pricing-cards{flex-direction:column;align-items:center}.landing-pricing-card{max-width:100%;width:100%}.landing-footer{padding:32px 20px}.landing-footer-inner{flex-direction:column;gap:24px;text-align:center}.landing-footer-links{flex-wrap:wrap;justify-content:center}}@media(max-width:480px){.landing-headline{font-size:1.75rem}.landing-hero-content{padding:24px 16px 16px}.landing-nav{gap:8px}.landing-nav-cta{padding:6px 10px;font-size:12px}.landing-nav-link{font-size:12px;padding:4px}.landing-bento-card{padding:24px}}.mobile-menu-btn{display:none;background:none;border:none;color:var(--lp-on-surface);cursor:pointer;padding:8px;margin-left:auto;z-index:101}.landing-logo{z-index:101}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#10141af2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.16,1,.3,1)}.mobile-menu-overlay.open{opacity:1;pointer-events:auto}.mobile-nav{display:flex;flex-direction:column;align-items:center;gap:32px;transform:translateY(20px);transition:transform .4s cubic-bezier(.16,1,.3,1)}.mobile-menu-overlay.open .mobile-nav{transform:translateY(0)}.mobile-nav-link{font-family:var(--lp-font-display);font-size:24px;font-weight:600;color:var(--lp-on-surface);text-decoration:none;transition:color .2s}.mobile-nav-link:active{color:var(--lp-primary)}.mobile-nav-divider{width:40px;height:2px;background:#ffffff1a;margin:8px 0}.lang-switcher--mobile{align-self:flex-start;margin:0 16px}.lang-switcher--mobile .lang-switcher-btn{font-size:14px;padding:6px 16px}.mobile-nav-actions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:16px}.mobile-nav-link-secondary{font-family:var(--lp-font-display);font-size:16px;font-weight:600;color:var(--lp-on-surface-variant);text-decoration:none}.mobile-nav-cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-container));color:var(--lp-on-primary);font-family:var(--lp-font-display);font-size:16px;font-weight:700;border:none;border-radius:8px;text-decoration:none;white-space:nowrap}@media(max-width:1023px){.desktop-only{display:none!important}.mobile-menu-btn{display:block}.landing-header{padding:0 20px;gap:16px}}@media(max-width:768px){.landing-hero-content{padding:40px 24px 24px}.landing-headline{font-size:2.5rem}.landing-bento-card--lg,.landing-bento-card--sm{grid-column:span 12}.landing-bento-section{padding:60px 24px}.landing-process-flow,.landing-process-step-group{flex-direction:column;align-items:center;width:100%}.landing-process-step{width:100%;max-width:280px;height:auto}.landing-process-flow--with-animation .landing-process-step{width:100%;max-width:320px}.landing-process-connector{width:2px;height:48px;padding:0;margin:16px 0}.landing-process-connector-line{width:2px;height:100%;background:var(--lp-outline-variant)}.landing-process-visible .landing-process-connector-line:after{transform:scaleY(0);transform-origin:top;animation:process-line-grow-y .6s ease forwards;animation-delay:calc(var(--step-index) * .2s + .1s);background:linear-gradient(180deg,var(--lp-primary),var(--lp-tertiary))}@keyframes process-line-grow-y{to{transform:scaleY(1)}}}.landing-pricing-axis{margin-top:48px}.landing-pricing-axis+.landing-pricing-axis{margin-top:56px}.landing-pricing-axis-label{font-family:var(--lp-font-display);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--lp-on-surface-variant);margin-bottom:20px;text-align:center}.landing-pricing-axis .landing-pricing-cards{margin-top:0}.landing-pricing-card .landing-pricing-badge{position:absolute;top:14px;right:14px;padding:3px 10px;border-radius:999px;background:var(--lp-primary);color:var(--lp-on-primary);font-family:var(--lp-font-display);font-size:11px;font-weight:700;letter-spacing:.04em}.landing-pricing-btn:disabled,.landing-pricing-btn:disabled:hover{opacity:.55;cursor:not-allowed;background:transparent;border:1px dashed var(--lp-outline-variant);color:var(--lp-on-surface-variant)}.landing-pricing-disabled-note{font-size:11px;color:var(--lp-on-surface-variant);opacity:.75;margin-top:6px;text-align:center}.pricing-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:120px 48px 80px;background:var(--lp-surface)}.pricing-container{max-width:900px;width:100%}.pricing-title{text-align:center;font-family:var(--lp-font-display);font-size:2.5rem;font-weight:700;color:var(--lp-on-surface);letter-spacing:-.02em;margin-bottom:8px}.pricing-subtitle{text-align:center;font-size:1.05rem;color:var(--lp-on-surface-variant);margin-bottom:56px;line-height:1.6}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:80px}.pricing-card{display:flex;flex-direction:column;padding:32px;border-radius:12px;background:var(--lp-surface-low);border:1px solid var(--lp-outline-variant);position:relative;transition:border-color .2s ease,transform .2s ease}.pricing-card:hover{border-color:#7aacee4d;transform:translateY(-2px)}.pricing-card--featured{border-color:var(--lp-primary);background:var(--lp-surface-low);overflow:hidden}.pricing-card--featured:before{content:"";position:absolute;top:-60px;right:-60px;width:160px;height:160px;background:#7aacee0f;border-radius:50%;filter:blur(40px);pointer-events:none}.pricing-card--featured:hover{border-color:var(--lp-primary);transform:translateY(-2px)}.pricing-badge{position:absolute;top:-1px;left:50%;transform:translate(-50%);background:var(--lp-primary);color:var(--lp-on-primary);font-family:var(--lp-font-display);font-size:11px;font-weight:600;padding:4px 16px;border-radius:0 0 8px 8px;white-space:nowrap;letter-spacing:.03em}.pricing-card-name{font-family:var(--lp-font-display);font-size:1.25rem;font-weight:700;color:var(--lp-on-surface);margin-bottom:6px}.pricing-card-price{margin-bottom:24px}.pricing-price-amount{font-family:var(--lp-font-display);font-size:2rem;font-weight:700;color:var(--lp-on-surface)}.pricing-price-period{font-size:14px;font-weight:400;color:var(--lp-on-surface-variant);margin-left:2px}.pricing-card-features{list-style:none;padding:0;margin:0 0 28px;flex:1;display:flex;flex-direction:column;gap:10px}.pricing-card-features li{font-size:13px;color:var(--lp-on-surface-variant);line-height:1.5;display:flex;align-items:center;gap:8px}.pricing-check{color:var(--lp-primary);flex-shrink:0;display:inline-flex;align-items:center}.pricing-x{color:#c5c5d44d;flex-shrink:0;display:inline-flex;align-items:center}.pricing-x+span,.pricing-card-features li:has(.pricing-x){color:#c5c5d459}.pricing-card-cta{display:block;width:100%;text-align:center;padding:12px;border-radius:8px;font-family:var(--lp-font-display);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .15s ease;background:transparent;border:1px solid var(--lp-outline-variant);color:var(--lp-on-surface-variant)}.pricing-card-cta:hover{border-color:#7aacee66;color:var(--lp-on-surface)}.pricing-card-cta--secondary{border-color:var(--lp-primary);color:var(--lp-primary)}.pricing-card-cta--secondary:hover{background:#7aacee14;border-color:var(--lp-primary);color:var(--lp-primary)}.pricing-card-cta--primary{background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-container));border:none;color:var(--lp-on-primary);box-shadow:0 4px 20px #7aacee33}.pricing-card-cta--primary:hover{filter:brightness(1.1);box-shadow:0 4px 28px #7aacee4d}.pricing-addons{text-align:center}.pricing-addons-title{font-family:var(--lp-font-display);font-size:1.5rem;font-weight:700;color:var(--lp-on-surface);letter-spacing:-.01em;margin-bottom:8px}.pricing-addons-desc{font-size:14px;color:var(--lp-on-surface-variant);margin-bottom:32px;line-height:1.6}.pricing-addons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:640px;margin:0 auto}.pricing-addon-card{padding:24px 16px;text-align:center;background:var(--lp-surface-low);border:1px solid var(--lp-outline-variant);border-radius:12px;display:flex;flex-direction:column;align-items:center}.pricing-addon-nodes{font-family:var(--lp-font-display);font-size:1.1rem;font-weight:600;color:var(--lp-on-surface);margin-bottom:4px}.pricing-addon-price{font-family:var(--lp-font-display);font-size:1.25rem;font-weight:700;color:var(--lp-primary);margin-bottom:4px}.pricing-addon-note{font-size:11px;color:var(--lp-on-surface-variant);margin-bottom:16px}.pricing-addon-btn{width:100%;padding:8px 16px;border-radius:6px;font-family:var(--lp-font-display);font-size:13px;font-weight:600;cursor:pointer;background:transparent;border:1px solid var(--lp-outline-variant);color:var(--lp-on-surface-variant);transition:all .15s ease}.pricing-addon-btn:hover{border-color:var(--lp-primary);color:var(--lp-primary)}.pricing-addon-requires-sub{font-size:13px;color:var(--lp-on-surface-variant);margin-bottom:16px;opacity:.85}.pricing-addon-card--disabled{opacity:.5;pointer-events:none}@media(max-width:768px){.pricing-main{padding:100px 20px 48px}.pricing-title{font-size:1.75rem}.pricing-subtitle{font-size:1rem;margin-bottom:32px}.pricing-grid{grid-template-columns:1fr;max-width:360px;margin:0 auto 56px}.pricing-addons-grid{grid-template-columns:1fr;max-width:280px}}.pricing-section{margin-bottom:72px}.pricing-section--minor{text-align:center;padding:32px 24px;background:var(--lp-surface-low);border:1px solid var(--lp-outline-variant);border-radius:12px;margin-bottom:56px}.pricing-section-header{margin-bottom:28px;text-align:center}.pricing-section-title{font-family:var(--lp-font-display);font-size:1.75rem;font-weight:700;color:var(--lp-on-surface);margin-bottom:8px}.pricing-section-desc{font-size:1rem;color:var(--lp-on-surface-variant);line-height:1.6;max-width:640px;margin:0 auto}.pricing-section-note{font-size:.85rem;color:var(--lp-on-surface-variant);opacity:.75;margin-top:8px}.pricing-grid--two{grid-template-columns:repeat(2,1fr);max-width:720px;margin:0 auto}.pricing-card-desc{font-size:.95rem;color:var(--lp-on-surface-variant);line-height:1.55;margin:12px 0 20px}.pricing-card-cta:disabled,.pricing-card-cta:disabled:hover{opacity:.55;cursor:not-allowed;transform:none}.pricing-feature-muted{color:var(--lp-on-surface-variant);opacity:.6;text-decoration:line-through}@media(max-width:768px){.pricing-grid--two{grid-template-columns:1fr;max-width:360px;margin:0 auto}.pricing-section{margin-bottom:56px}.pricing-section-title{font-size:1.4rem}}.pricing-card-disabled-note{font-size:11px;color:var(--lp-on-surface-variant);opacity:.75;margin-top:6px;text-align:center}.diagnosis-card{padding:var(--space-3) var(--space-4);width:100%;display:flex;flex-direction:column;gap:var(--space-8)}.diagnosis-card-header{text-align:center;margin-bottom:0}.diagnosis-card-label{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent, #5b8dd9);font-weight:var(--weight-bold);margin:0 0 var(--space-2)}.diagnosis-card-title{font-size:var(--text-title);font-weight:var(--weight-bold);color:var(--color-text-primary);margin:0;line-height:1.25;letter-spacing:-.01em}.diagnosis-card-image{display:flex;justify-content:center;margin:0;z-index:2}.diagnosis-card-image img{width:100%;max-width:390px;aspect-ratio:1;border-radius:var(--radius-xl);object-fit:cover;border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);background:var(--color-bg);animation:float 6s ease-in-out infinite}.diagnosis-card-image-placeholder{width:100%;max-width:390px;aspect-ratio:1;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--color-text-muted);opacity:.15;animation:skeleton-pulse 1.5s ease-in-out infinite}.diagnosis-card-signature{font-size:1.25rem;font-family:var(--font-serif, "Georgia", "Yu Mincho", serif);font-style:italic;font-weight:var(--weight-medium);line-height:1.6;color:var(--color-text-primary);text-align:center;margin:var(--space-6) 0 var(--space-4);padding:0 var(--space-4);position:relative;background:transparent;border:none;box-shadow:none;z-index:1}.diagnosis-card-signature:before,.diagnosis-card-signature:after{display:none}.diagnosis-card-axes{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);background:var(--glass-heavy-bg);backdrop-filter:var(--glass-heavy-blur);-webkit-backdrop-filter:var(--glass-heavy-blur);border-radius:var(--radius-xl);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.diagnosis-axis{display:flex;flex-direction:column}.diagnosis-axis-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);gap:var(--space-3)}.diagnosis-axis-label-left,.diagnosis-axis-label-right{font-size:var(--text-body-sm);font-weight:var(--weight-bold);color:var(--color-text-primary);flex-shrink:0;max-width:45%;text-transform:uppercase;letter-spacing:.05em}.diagnosis-axis-track{position:relative;height:8px;background:var(--color-accent-subtle);border-radius:4px;border:none}.diagnosis-axis-track:before{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:var(--color-text-secondary);opacity:.45;transform:translate(-50%);border-radius:1px;z-index:1}.diagnosis-axis-fill{position:absolute;top:0;bottom:0;left:50%;width:var(--axis-fill-width, 0%);background:var(--color-accent);border-radius:0 4px 4px 0;transition:width .8s cubic-bezier(.34,1.56,.64,1);z-index:1}.diagnosis-axis-fill.lean-left{left:auto;right:50%;border-radius:4px 0 0 4px}.diagnosis-axis-marker{position:absolute;top:50%;width:24px;height:24px;border-radius:50%;background:var(--color-surface);border:3px solid var(--color-accent);transform:translate(-50%,-50%);transition:left .8s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px #0000004d;z-index:2;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1;font-family:var(--font-mono, "JetBrains Mono", monospace)}.diagnosis-axis-description{font-size:var(--text-body-sm);line-height:1.7;color:var(--color-text-secondary);margin-top:var(--space-3);padding:0 var(--space-3);border-left:3px solid var(--color-accent-subtle);font-weight:var(--weight-medium)}.diagnosis-card-summary{font-size:var(--text-body);line-height:1.8;color:var(--color-text-primary);margin:0;padding:0 var(--space-2);text-align:justify}.diagnosis-card-sections{display:flex;flex-direction:column;gap:var(--space-6)}.diagnosis-section{padding:var(--space-6);background:var(--glass-bg);border-radius:var(--radius-xl);border:1px solid var(--glass-border);box-shadow:0 8px 32px #0003}.diagnosis-section-label{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin:0 0 var(--space-5);font-weight:var(--weight-bold);display:flex;align-items:center;gap:var(--space-3)}.diagnosis-section-label:after{content:"";flex:1;height:1px;background:var(--color-border-active);opacity:.4}.diagnosis-section-text{font-size:var(--text-body);line-height:1.8;color:var(--color-text-primary);margin:0}.diagnosis-kindred-list{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.diagnosis-kindred-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:#ffffff05;border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:all .25s ease}.diagnosis-kindred-item:hover{transform:scale(1.02) translate(4px);background:#ffffff0a;border-color:var(--color-accent-subtle);box-shadow:var(--shadow-sm)}.diagnosis-kindred-name{font-size:var(--text-subheading);font-weight:var(--weight-bold);color:var(--color-accent)}.diagnosis-kindred-brief{font-size:var(--text-body-sm);line-height:1.5;color:var(--color-text-muted);font-style:italic}.diagnosis-kindred-reason{font-size:var(--text-body-sm);line-height:1.6;color:var(--color-text-secondary)}.diagnosis-scene-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.diagnosis-scene-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#ffffff05;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.diagnosis-scene-icon{flex-shrink:0;margin-top:3px;color:var(--color-accent)}.diagnosis-scene-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.diagnosis-scene-title{font-size:var(--text-body);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1.5}.diagnosis-scene-description{font-size:var(--text-body-sm);line-height:1.7;color:var(--color-text-secondary)}.diagnosis-scene-list--situations .diagnosis-scene-item{border-left:3px solid var(--color-accent)}.diagnosis-scene-list--situations .diagnosis-scene-icon{color:var(--color-accent)}.diagnosis-scene-list--growth .diagnosis-scene-item{border-left:3px solid var(--color-success);background:color-mix(in srgb,var(--color-success) 4%,rgba(255,255,255,.02))}.diagnosis-scene-list--growth .diagnosis-scene-icon{color:var(--color-success)}.diagnosis-scene-list--cautions .diagnosis-scene-item{border-left:3px solid var(--color-warning);background:color-mix(in srgb,var(--color-warning) 5%,rgba(255,255,255,.02))}.diagnosis-scene-list--cautions .diagnosis-scene-icon{color:var(--color-warning);opacity:.7}.diagnosis-scene-list--cautions .diagnosis-scene-title{color:var(--color-text-primary)}.diagnosis-card-private-prelude{margin:0 auto;padding:var(--space-5) var(--space-6);max-width:720px;background:#14161c8c;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px #0000002e}.diagnosis-card-private-label{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-muted);margin:0 0 var(--space-3);font-weight:var(--weight-bold);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.diagnosis-card-private-text{font-size:var(--text-body);line-height:1.85;color:var(--color-text-muted);margin:0}.diagnosis-card-private-note{margin:var(--space-3) 0 0;font-size:var(--text-micro);line-height:1.6;color:var(--color-text-muted);font-style:italic;opacity:.8}.diagnosis-section-private-icon{flex-shrink:0;opacity:.7}.diagnosis-section-private-badge{font-size:var(--text-micro);font-weight:var(--weight-medium);letter-spacing:.05em;text-transform:none;color:var(--color-text-muted);background:transparent;padding:2px var(--space-2);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-warning) 50%,transparent);margin-left:var(--space-1)}.diagnosis-card-shape-summary{margin:var(--space-4) 0 0;font-size:var(--text-body);line-height:1.85;color:var(--color-text-secondary)}.diagnosis-recommended-jobs{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}.diagnosis-recommended-job{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:#ffffff05;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.diagnosis-recommended-job-name{font-size:var(--text-body);font-weight:var(--weight-bold);color:var(--color-accent)}.diagnosis-recommended-job-reason{font-size:var(--text-body-sm);line-height:1.6;color:var(--color-text-secondary)}.diagnosis-card-brand{font-size:var(--text-body-sm);letter-spacing:.5em;text-align:center;color:var(--color-text-muted);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border);font-weight:var(--weight-bold)}[lang=ja] .diagnosis-section-text,[lang=ja] .diagnosis-card-summary,[lang=ja] .diagnosis-card-signature{letter-spacing:.03em}.diagnosis-document-view{position:relative;flex:1;width:100%;height:100%;overflow-y:auto;display:flex;justify-content:center;padding:var(--space-8) var(--space-6);background:var(--color-canvas)}.diagnosis-document-content{width:100%;max-width:720px}.diagnosis-shape-frame{position:relative;width:100%;height:400px;margin-top:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}@media(max-width:1024px)and (orientation:portrait),(max-width:640px){.diagnosis-document-view{padding:var(--space-6) 0}.diagnosis-document-content>.diagnosis-card{padding-left:0;padding-right:0}.diagnosis-document-content .diagnosis-card-header,.diagnosis-document-content .diagnosis-card-image,.diagnosis-document-content .diagnosis-card-signature,.diagnosis-document-content .diagnosis-card-axes,.diagnosis-document-content .diagnosis-card-summary,.diagnosis-document-content .diagnosis-section:not(.diagnosis-shape-section),.diagnosis-document-content .diagnosis-cta,.diagnosis-document-content .diagnosis-card-brand{margin-left:var(--space-4);margin-right:var(--space-4)}.diagnosis-shape-section{padding:0;background:transparent;border:none;box-shadow:none;border-radius:0}.diagnosis-shape-section .diagnosis-section-label{margin-left:var(--space-4);margin-right:var(--space-4)}.diagnosis-shape-frame{height:360px;background:transparent;border:none;border-radius:0}.diagnosis-shape-frame .zoom-toolbar{left:var(--space-4)}.diagnosis-shape-frame .timeline-bar{left:var(--space-4);right:var(--space-4);max-width:none;min-width:0}.diagnosis-shape-caption{margin-left:var(--space-4);margin-right:var(--space-4)}}.diagnosis-shape-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.diagnosis-shape-canvas .graph-row{flex:1;height:100%;min-height:0;padding-bottom:0!important;flex-direction:row!important}.diagnosis-shape-canvas .graph-container{width:100%;height:100%}.diagnosis-shape-zoom{position:absolute;top:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background var(--transition-fast);z-index:2}.diagnosis-shape-zoom:hover{background:#000000c7}.diagnosis-shape-caption{margin:var(--space-3) 0 0;font-size:var(--text-caption);color:var(--color-text-secondary);text-align:center;line-height:1.5}.diagnosis-share-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-top:var(--space-8);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:center}.diagnosis-share-lead{margin:0;font-size:var(--text-subheading);font-weight:var(--weight-semibold);color:var(--color-text-primary);line-height:1.4}.diagnosis-share-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;max-width:320px;min-height:48px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-body);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:filter .15s,transform .15s}.diagnosis-share-primary:active{transform:translateY(0)}.diagnosis-share-primary:disabled{opacity:.6;cursor:wait}.diagnosis-share-primary.diagnosis-share-x{background:#000;color:#fff;border:1px solid #333}[data-theme=light] .diagnosis-share-primary.diagnosis-share-x{background:#000;color:#fff;border:1px solid #000}.diagnosis-share-primary.diagnosis-share-x:hover{transform:translateY(-1px);filter:brightness(1.2)}[data-theme=light] .diagnosis-share-primary.diagnosis-share-x:hover{filter:brightness(1.2)}.diagnosis-share-secondary{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.diagnosis-share-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:36px;padding:var(--space-2) var(--space-4);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-body-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.diagnosis-share-btn:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.diagnosis-share-line:hover{color:#fff;background:#06c755;border-color:#06c755}.diagnosis-share-whatsapp:hover{color:#fff;background:#25d366;border-color:#25d366}.diagnosis-share-btn.copied{color:var(--color-success, #22c55e);border-color:var(--color-success, #22c55e)}.diagnosis-share-btn:disabled{opacity:.6;cursor:wait}.diagnosis-share-url-display{display:block;width:100%;max-width:480px;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-caption);line-height:1.4;word-break:break-all;text-align:center;text-decoration:none;transition:color .15s,border-color .15s}.diagnosis-share-url-display:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.diagnosis-share-url-display:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;color:var(--color-text-primary);border-color:var(--color-text-secondary)}.diagnosis-cta{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-5);border-radius:var(--radius-xl);text-align:center}.diagnosis-cta-lead{margin:0;font-size:var(--text-subheading);font-weight:var(--weight-semibold);color:var(--color-text-primary);line-height:1.4}.diagnosis-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-5);background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:var(--radius-md);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:filter .15s,transform .15s,box-shadow .15s;box-shadow:0 4px 16px rgba(var(--accent-rgb),.3)}.diagnosis-cta-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 24px rgba(var(--accent-rgb),.4)}.diagnosis-cta-note{margin:0;font-size:var(--text-body-sm);color:var(--color-text-secondary);line-height:1.5}.diagnosis-shape-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#000000c7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.diagnosis-shape-modal-inner{position:relative;width:100%;height:100%;max-width:1200px;max-height:800px;background:var(--color-canvas);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);display:flex}.diagnosis-shape-modal-inner .graph-row,.diagnosis-shape-modal-inner .graph-container{width:100%;height:100%;min-height:0}.diagnosis-shape-modal-close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:10;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background var(--transition-fast)}.diagnosis-shape-modal-close:hover{background:#000000d9}.diagnosis-public-share-section{display:flex;flex-direction:column;gap:var(--space-3)}.diagnosis-public-share-toggle{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:var(--space-3);cursor:pointer}.diagnosis-public-share-toggle input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--color-accent);cursor:pointer}.diagnosis-public-share-toggle input[type=checkbox]:disabled{cursor:default;opacity:.5}.diagnosis-public-share-text{display:flex;flex-direction:column;gap:var(--space-1)}.diagnosis-public-share-label{font-size:var(--text-body-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.diagnosis-public-share-description{font-size:var(--text-body-sm);color:var(--color-text-secondary);line-height:1.5}.diagnosis-public-share-locked-notice{margin:0;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);font-size:var(--text-body-sm);color:var(--color-text-secondary);line-height:1.5}.diagnosis-loading-view{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);padding:var(--space-6);min-height:60vh;width:100%;text-align:center}.diagnosis-loading-pulse{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.diagnosis-loading-pulse:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--color-accent);opacity:.18;animation:diagnosis-loading-pulse 2.4s ease-in-out infinite}.diagnosis-loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:diagnosis-spin .9s linear infinite;position:relative}.diagnosis-loading-message{max-width:28em;font-size:var(--text-body-md);color:var(--color-text-primary);line-height:1.6;animation:diagnosis-loading-message-in .5s ease}.diagnosis-loading-hint{max-width:28em;font-size:var(--text-sm);color:var(--color-text-secondary)}@keyframes diagnosis-loading-pulse{0%,to{transform:scale(.85);opacity:.22}50%{transform:scale(1.3);opacity:0}}@keyframes diagnosis-loading-message-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.diagnosis-loading-pulse:before{animation:none;opacity:.2}.diagnosis-loading-spinner,.diagnosis-loading-message{animation:none}}@media(max-width:1024px)and (orientation:portrait){.diagnosis-loading-view{min-height:50vh;gap:var(--space-4);padding:var(--space-5)}}.demo-page{display:flex;flex-direction:column;height:100vh}.demo-page .landing-header{position:relative;top:auto;left:auto;right:auto;flex-shrink:0}.demo-main{flex:1;overflow:hidden;position:relative}.demo-main .graph-area{width:100%;height:100%}.demo-status-bar{height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.demo-status-title{font-family:var(--font-sans);color:var(--color-text-muted)}@media(max-width:768px){.demo-status-bar{padding:0 var(--space-2)}.demo-status-title{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.tech-hero{padding:160px 48px 80px;position:relative;overflow:hidden}.tech-hero:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(122,172,238,.06) 0%,transparent 70%);pointer-events:none}.tech-hero-inner{max-width:800px;margin:0 auto;text-align:center;opacity:0;transform:translateY(20px)}.tech-hero-inner.tech-visible{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}.tech-hero-headline{font-family:var(--lp-font-display);font-size:2.75rem;font-weight:700;color:var(--lp-on-surface);letter-spacing:-.02em;line-height:1.2;margin-bottom:20px}.tech-hero-desc{font-size:1.125rem;color:var(--lp-on-surface-variant);line-height:1.7;max-width:600px;margin:0 auto}.tech-section{padding:100px 48px}.tech-section:nth-child(odd){background:var(--lp-surface-lowest)}.tech-section:nth-child(2n){background:var(--lp-surface)}.tech-section-inner{max-width:1100px;margin:0 auto}.tech-section-inner--center{max-width:1100px;margin:0 auto;text-align:center}.tech-section-inner--center .landing-section-overline,.tech-section-inner--center .landing-section-headline{text-align:center}.tech-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;margin-bottom:40px}.tech-layer-card{padding:32px 28px;border-radius:14px;background:var(--lp-surface-low);border:1px solid var(--lp-outline-variant);display:flex;flex-direction:column;opacity:0;transform:translateY(24px)}.tech-visible .tech-layer-card{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease}.tech-layer-label{font-family:var(--lp-font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:10px}.tech-layer-card--layer1 .tech-layer-label{color:var(--lp-primary)}.tech-layer-card--layer1{border-color:#7aacee40}.tech-layer-card--layer2 .tech-layer-label{background:linear-gradient(90deg,var(--lp-primary),var(--lp-tertiary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tech-layer-card--layer2{border-color:#7aacee33}.tech-layer-card--layer3 .tech-layer-label{color:var(--lp-tertiary)}.tech-layer-card--layer3{border-color:#7aacee26}.tech-layer-title{font-family:var(--lp-font-display);font-size:1.5rem;font-weight:700;color:var(--lp-on-surface);letter-spacing:-.01em;margin-bottom:6px}.tech-layer-theory{font-family:var(--lp-font-display);font-size:.875rem;color:var(--lp-tertiary);font-style:italic;margin-bottom:4px}.tech-layer-author{font-size:.75rem;color:var(--lp-on-surface-variant);margin-bottom:16px}.tech-layer-divider{width:100%;height:1px;background:#4546524d;margin-bottom:16px}.tech-layer-desc{font-size:.9375rem;color:var(--lp-on-surface-variant);line-height:1.65}.tech-context-note{font-size:.9375rem;color:var(--lp-on-surface-variant);line-height:1.7;max-width:760px;padding:20px 24px;border-left:3px solid rgba(122,172,238,.3);background:#7aacee0a;border-radius:0 8px 8px 0}.tech-science-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:40px;opacity:0;transform:translateY(20px)}.tech-science-layout.tech-visible{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}.tech-science-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid rgba(69,70,82,.2);background:var(--lp-surface-low)}.tech-science-table{width:100%;border-collapse:collapse;font-size:.875rem}.tech-science-table th{background:var(--lp-surface-high);font-family:var(--lp-font-display);font-size:.75rem;font-weight:600;color:var(--lp-on-surface-variant);text-transform:uppercase;letter-spacing:.08em;padding:12px 16px;text-align:left;border-bottom:1px solid rgba(69,70,82,.3)}.tech-science-table td{padding:12px 16px;color:var(--lp-on-surface);border-bottom:1px solid rgba(69,70,82,.15)}.tech-science-table tbody tr:last-child td{border-bottom:none}.tech-science-table tbody tr{transition:background .15s ease}.tech-science-table tbody tr:hover{background:#7aacee0a}.tech-science-author{color:var(--lp-on-surface-variant)!important;font-size:.8125rem!important}.tech-science-image img{width:100%;border-radius:12px;border:1px solid rgba(69,70,82,.2);box-shadow:0 8px 32px #0000004d}.tech-pipeline-flow{display:flex;align-items:stretch;justify-content:center;margin-top:56px}.tech-pipeline-step-group{display:flex;align-items:stretch;opacity:0;transform:translateY(20px)}.tech-visible .tech-pipeline-step-group{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(var(--step-index) * .2s)}.tech-pipeline-connector{display:flex;flex-direction:column;align-items:center;padding-top:56px;width:80px;margin:0 16px;flex-shrink:0;gap:8px}.tech-pipeline-connector-line{width:100%;height:2px;background:var(--lp-outline-variant);position:relative;overflow:hidden}.tech-visible .tech-pipeline-connector-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--lp-primary),var(--lp-tertiary));opacity:.4;transform:scaleX(0);transform-origin:left;animation:tech-line-grow .6s ease forwards;animation-delay:calc(var(--step-index) * .2s + .1s);border-radius:2px}@keyframes tech-line-grow{to{transform:scaleX(1)}}.tech-pipeline-arrow-label{font-family:var(--lp-font-display);font-size:10px;font-weight:600;color:var(--lp-tertiary);letter-spacing:.05em;text-align:center;white-space:nowrap;opacity:.7}.tech-pipeline-step{display:flex;flex-direction:column;align-items:center;text-align:center;width:220px;height:100%;flex-shrink:0;padding:28px 20px 24px;border-radius:14px;background:var(--lp-surface-low);border:1px solid var(--lp-outline-variant);transition:border-color .2s ease,background .2s ease}.tech-pipeline-step:hover{border-color:#7aacee4d;background:var(--lp-surface-high)}.tech-pipeline-step--highlight{border-color:var(--lp-primary);background:linear-gradient(135deg,var(--lp-surface-low) 0%,rgba(122,172,238,.06) 100%)}.tech-pipeline-step-number{font-family:var(--lp-font-display);font-size:12px;font-weight:700;color:var(--lp-tertiary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;opacity:.8}.tech-pipeline-step-title{font-family:var(--lp-font-display);font-size:1.125rem;font-weight:700;color:var(--lp-on-surface);margin-bottom:8px;letter-spacing:-.01em}.tech-pipeline-step-desc{font-size:13px;color:var(--lp-on-surface-variant);line-height:1.55}.tech-two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;opacity:0;transform:translateY(20px)}.tech-two-col.tech-visible{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}.tech-two-col-image img{width:100%;border-radius:12px;border:1px solid rgba(69,70,82,.2);box-shadow:0 8px 32px #0000004d}.tech-two-col--reverse{direction:rtl}.tech-two-col--reverse>*{direction:ltr}.tech-edge-types{display:flex;flex-direction:column;gap:20px;margin-top:24px;margin-bottom:20px}.tech-edge-type{display:flex;gap:16px;align-items:flex-start}.tech-edge-icon{font-size:28px;color:var(--lp-primary);flex-shrink:0;margin-top:2px}.tech-edge-type-title{font-family:var(--lp-font-display);font-size:1rem;font-weight:700;color:var(--lp-on-surface);margin-bottom:4px}.tech-edge-type p{font-size:.9375rem;color:var(--lp-on-surface-variant);line-height:1.6}.tech-edges-note{font-size:.9375rem;color:var(--lp-on-surface-variant);line-height:1.7;font-style:italic;opacity:.85}.tech-classification-list{display:flex;flex-direction:column;gap:14px;margin-top:28px}.tech-classification-item{display:flex;align-items:baseline;gap:10px;font-size:.9375rem;line-height:1.5}.tech-classification-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:2px;align-self:center}.tech-classification-name{font-family:var(--lp-font-display);font-weight:700;color:var(--lp-on-surface);white-space:nowrap}.tech-classification-dash{color:var(--lp-on-surface-variant);opacity:.4}.tech-classification-desc{color:var(--lp-on-surface-variant)}.tech-philosophy{background:var(--lp-surface-lowest)!important}.tech-philosophy-inner{max-width:760px;margin:0 auto;opacity:0;transform:translateY(20px)}.tech-philosophy-inner.tech-visible{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}.tech-philosophy-card{text-align:center;padding:48px 48px 40px;border-radius:16px;background:var(--lp-surface-low);border:1px solid var(--lp-outline-variant);box-shadow:0 8px 40px #00000026;position:relative;overflow:hidden}.tech-philosophy-card:before{content:"";position:absolute;top:-60px;left:50%;transform:translate(-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(122,172,238,.06) 0%,transparent 70%);pointer-events:none}.tech-philosophy-icon{margin-bottom:20px}.tech-philosophy-icon .material-symbols-outlined{font-size:36px;color:var(--lp-tertiary);opacity:.7}.tech-philosophy-quote{font-family:var(--lp-font-display);font-size:1.5rem;font-weight:600;color:var(--lp-on-surface);line-height:1.6;letter-spacing:-.01em;margin:0 0 24px;quotes:none}.tech-philosophy-divider{width:48px;height:2px;background:linear-gradient(90deg,var(--lp-primary),var(--lp-tertiary));opacity:.4;margin:0 auto 24px;border-radius:1px}.tech-philosophy-note{font-size:1rem;color:var(--lp-on-surface-variant);line-height:1.7;max-width:560px;margin:0 auto}.tech-cta{background:var(--lp-surface)!important;padding:120px 48px!important}.tech-cta-inner{max-width:600px;margin:0 auto;text-align:center;opacity:0;transform:translateY(20px)}.tech-cta-inner.tech-visible{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}.tech-cta-headline{font-family:var(--lp-font-display);font-size:2rem;font-weight:700;color:var(--lp-on-surface);letter-spacing:-.02em;margin-bottom:32px;line-height:1.2}.tech-cta-buttons{display:flex;gap:16px;justify-content:center;margin-bottom:28px}.tech-cta-links{display:flex;flex-direction:column;gap:10px;align-items:center}.tech-cta-text-link{color:var(--lp-primary);font-family:var(--lp-font-display);font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s ease}.tech-cta-text-link:hover{opacity:.75}@media(prefers-reduced-motion:reduce){.tech-hero-inner,.tech-layer-card,.tech-pipeline-step-group,.tech-science-layout,.tech-two-col,.tech-philosophy-inner,.tech-cta-inner{opacity:1;transform:none}.tech-visible .tech-pipeline-connector-line:after{animation:none;transform:scaleX(1)}}@media(max-width:960px){.tech-layers{grid-template-columns:1fr;gap:16px}.tech-science-layout{grid-template-columns:1fr}.tech-science-image{order:2}.tech-two-col{grid-template-columns:1fr}.tech-two-col--reverse{direction:ltr}.tech-two-col--reverse .tech-two-col-image{order:-1}.tech-pipeline-flow,.tech-pipeline-step-group{flex-direction:column;align-items:center;width:100%}.tech-pipeline-connector{width:auto;height:auto;flex-direction:column;align-items:center;padding:16px 0}.tech-pipeline-connector-line{width:2px;height:40px;margin-bottom:8px}.tech-visible .tech-pipeline-connector-line:after{background:linear-gradient(180deg,var(--lp-primary),var(--lp-tertiary));transform:scaleY(0);transform-origin:top;animation:tech-line-grow-y .6s ease forwards;animation-delay:calc(var(--step-index) * .2s + .1s)}@keyframes tech-line-grow-y{to{transform:scaleY(1)}}.tech-pipeline-step{width:100%;max-width:320px;height:auto}}@media(max-width:768px){.tech-hero{padding:120px 20px 48px}.tech-hero-headline{font-size:2rem}.tech-section{padding:64px 20px}.tech-cta{padding:64px 20px!important}.tech-philosophy-card{padding:32px 24px 28px}.tech-philosophy-quote{font-size:1.2rem}.tech-cta-headline{font-size:1.5rem}.tech-cta-buttons{flex-direction:column;align-items:center}.tech-science-table{font-size:.8125rem}.tech-science-table th,.tech-science-table td{padding:10px 12px}}@media(max-width:480px){.tech-hero-headline{font-size:1.75rem}.tech-hero-desc{font-size:1rem}.tech-layer-card{padding:24px 20px}.tech-layer-title{font-size:1.25rem}.tech-classification-item{flex-wrap:wrap}}.diagnosis-hero-section{position:relative;width:100%;min-height:620px;padding-top:calc(var(--header-height) + var(--space-12));padding-bottom:var(--space-12);overflow:hidden;isolation:isolate}.diagnosis-hero-ambient{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 55% at 72% 52%,rgba(122,172,238,.14),transparent 62%),radial-gradient(ellipse 55% 75% at 22% 30%,rgba(58,109,181,.08),transparent 70%)}.diagnosis-hero-inner{position:relative;width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;min-height:calc(620px - var(--header-height) - var(--space-12) * 2)}.diagnosis-hero-scene{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.diagnosis-hero-char{position:absolute;object-fit:contain;will-change:transform}.diagnosis-hero-char--front{right:clamp(2%,4vw,8%);top:50%;width:clamp(280px,30vw,440px);aspect-ratio:1;transform:translateY(-50%);filter:drop-shadow(0 24px 48px rgba(0,0,0,.55)) drop-shadow(0 8px 20px rgba(0,0,0,.35));animation:diagnosis-hero-float-front 7.5s ease-in-out infinite;z-index:2}.diagnosis-hero-char--back-left{right:clamp(24%,28vw,34%);top:4%;width:clamp(180px,20vw,280px);aspect-ratio:1;filter:blur(6px) drop-shadow(0 16px 28px rgba(0,0,0,.5));opacity:.55;animation:diagnosis-hero-float-back-a 9s ease-in-out infinite;animation-delay:-2.3s;z-index:1}.diagnosis-hero-char--back-right{right:clamp(-6%,-3vw,-1%);top:46%;width:clamp(210px,22vw,340px);aspect-ratio:1;filter:blur(5px) drop-shadow(0 18px 30px rgba(0,0,0,.45));opacity:.6;animation:diagnosis-hero-float-back-b 11s ease-in-out infinite;animation-delay:-4.6s;z-index:1}.diagnosis-hero-content{position:relative;z-index:2;max-width:560px;padding:var(--space-8) var(--space-2)}.diagnosis-hero-content:before{content:"";position:absolute;top:-48px;left:-72px;bottom:-48px;right:-48px;background:#10141ad1;-webkit-mask-image:linear-gradient(to right,black 42%,transparent 100%),linear-gradient(to bottom,black 55%,transparent 100%),linear-gradient(to left,black 70%,transparent 100%),linear-gradient(to top,black 55%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,black 42%,transparent 100%),linear-gradient(to bottom,black 55%,transparent 100%),linear-gradient(to left,black 70%,transparent 100%),linear-gradient(to top,black 55%,transparent 100%);mask-composite:intersect;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:-1;pointer-events:none}.diagnosis-hero-headline{margin-bottom:var(--space-4)}.diagnosis-hero-description{margin-bottom:var(--space-6);opacity:.92}.diagnosis-hero-cta{justify-content:flex-start}@keyframes diagnosis-hero-float-front{0%,to{transform:translateY(-50%) rotate(-.8deg)}50%{transform:translateY(calc(-50% - 14px)) rotate(.8deg)}}@keyframes diagnosis-hero-float-back-a{0%,to{transform:translate(0) rotate(-2deg)}50%{transform:translate(-10px,-18px) rotate(1.5deg)}}@keyframes diagnosis-hero-float-back-b{0%,to{transform:translate(0) rotate(2deg)}50%{transform:translate(12px,-14px) rotate(-1.8deg)}}@media(min-width:768px)and (max-width:1023px){.diagnosis-hero-section{min-height:560px}.diagnosis-hero-inner{min-height:calc(560px - var(--header-height) - var(--space-12) * 2)}.diagnosis-hero-char--front{right:clamp(2%,4vw,8%);width:clamp(220px,26vw,320px)}.diagnosis-hero-char--back-left{right:clamp(26%,30vw,38%);top:6%;width:clamp(150px,18vw,220px)}.diagnosis-hero-char--back-right{right:clamp(-6%,-4vw,-2%);top:48%;width:clamp(180px,20vw,260px)}.diagnosis-hero-content{max-width:500px}.diagnosis-hero-content:before{left:-48px;right:-40px}}@media(max-width:767px){.diagnosis-hero-section{min-height:auto;padding-top:calc(var(--header-height) + var(--space-4));padding-bottom:var(--space-10)}.diagnosis-hero-inner{flex-direction:column;align-items:stretch;min-height:0;padding:0 var(--space-4)}.diagnosis-hero-content{max-width:100%;text-align:center;padding:var(--space-4) var(--space-3) var(--space-4);order:1}.diagnosis-hero-content:before{top:-16px;left:-16px;right:-16px;bottom:-16px;background:linear-gradient(to bottom,#10141af0,#10141ad1 65%,#10141a00);-webkit-mask-image:none;mask-image:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.diagnosis-hero-cta{justify-content:center}.diagnosis-hero-scene{position:relative;inset:auto;width:100%;aspect-ratio:5 / 4;order:2;margin-top:var(--space-4)}.diagnosis-hero-char--front{right:auto;left:50%;top:50%;width:58%;transform:translate(-50%,-50%);animation:diagnosis-hero-float-front-mobile 7.5s ease-in-out infinite}.diagnosis-hero-char--back-left{right:auto;left:2%;top:4%;width:42%;opacity:.45;filter:blur(5px) drop-shadow(0 10px 20px rgba(0,0,0,.5))}.diagnosis-hero-char--back-right{right:2%;top:42%;width:42%;opacity:.5;filter:blur(4px) drop-shadow(0 12px 22px rgba(0,0,0,.5))}@keyframes diagnosis-hero-float-front-mobile{0%,to{transform:translate(-50%,-50%) rotate(-.8deg)}50%{transform:translate(-50%,calc(-50% - 10px)) rotate(.8deg)}}}@media(prefers-reduced-motion:reduce){.diagnosis-hero-char--front,.diagnosis-hero-char--back-left,.diagnosis-hero-char--back-right{animation:none}}.diagnosis-gallery-section{width:100%;padding:var(--space-10) 0;position:relative;background:radial-gradient(ellipse at top,rgba(var(--lp-primary-rgb, 96, 165, 250),.04),transparent 70%)}.diagnosis-gallery-inner{max-width:var(--lp-max-width);margin:0 auto;padding:0 var(--space-4)}.diagnosis-gallery-overline{text-align:center}.diagnosis-gallery-headline{text-align:center;margin-bottom:var(--space-3)}.diagnosis-gallery-description{text-align:center;max-width:640px;margin:0 auto var(--space-8);color:var(--lp-on-surface-variant);font-size:.95rem;line-height:1.7}.diagnosis-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}@media(min-width:1440px){.diagnosis-gallery-grid{grid-template-columns:repeat(5,1fr);max-width:1280px;margin-left:auto;margin-right:auto}}.diagnosis-gallery-item{display:flex;flex-direction:column;gap:var(--space-4)}.diagnosis-gallery-image-wrapper{width:100%;aspect-ratio:1 / 1;overflow:hidden;background:var(--lp-surface-variant);position:relative;border-radius:var(--radius-lg, 16px);border:1px solid var(--lp-outline-variant)}.diagnosis-gallery-image{width:100%;height:100%;object-fit:cover}.diagnosis-gallery-title-overlay{position:absolute;left:0;right:0;bottom:0;padding:var(--space-8) var(--space-3) var(--space-3);background:linear-gradient(to top,#000000d9 20%,#0000);color:#fff;font-size:.95rem;font-weight:600;line-height:1.4;text-align:left;pointer-events:none}.diagnosis-gallery-signature-bubble{position:relative;padding:var(--space-3) var(--space-4);background:#fff;border:2px solid #1a1a1a;border-radius:var(--radius-md, 12px);color:#1a1a1a;font-size:.88rem;line-height:1.65;font-weight:500;box-shadow:3px 3px #0006}.diagnosis-gallery-signature-bubble:before{content:"";position:absolute;top:-8px;left:24px;width:14px;height:14px;background:#fff;border-left:2px solid #1a1a1a;border-top:2px solid #1a1a1a;transform:rotate(45deg)}@media(max-width:1024px){.diagnosis-gallery-title{font-size:.9rem}.diagnosis-gallery-signature{font-size:.8rem}}@media(max-width:768px){.diagnosis-gallery-inner{padding:0}.diagnosis-gallery-overline,.diagnosis-gallery-headline,.diagnosis-gallery-description{padding:0 var(--space-4)}.diagnosis-gallery-grid{grid-template-columns:none;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--space-3);padding:0 var(--space-4) var(--space-2)}.diagnosis-gallery-grid::-webkit-scrollbar{display:none}.diagnosis-gallery-item{flex-shrink:0;width:72vw;max-width:280px;scroll-snap-align:center}}.showcase-card-tab-header{display:flex;flex-direction:column;gap:var(--space-2);width:100%;padding:0;background:transparent;border:none;cursor:pointer;text-align:left;color:inherit;font:inherit;transition:opacity .2s ease}.showcase-card-tab-header:focus-visible{outline:2px solid var(--lp-primary);outline-offset:2px;border-radius:var(--radius-md, 12px)}.showcase-card-theme-label{align-self:flex-start;padding:var(--space-1) var(--space-3);background:color-mix(in srgb,var(--lp-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--lp-primary) 30%,transparent);border-radius:999px;color:var(--lp-on-surface);font-size:.72rem;font-weight:600;letter-spacing:.02em}.showcase-card-image-wrapper{position:relative;width:100%;height:160px;overflow:hidden;border-radius:var(--radius-md, 12px);background:var(--lp-surface-variant)}@media(min-width:768px){.showcase-card-image-wrapper{height:220px}}@media(min-width:1024px){.showcase-card-image-wrapper{height:auto;aspect-ratio:1 / 1}}.showcase-card-image{width:100%;height:100%;object-fit:cover;display:block}.showcase-card-title-overlay{position:absolute;left:0;right:0;bottom:0;padding:var(--space-6) var(--space-3) var(--space-2);background:linear-gradient(to top,#000000e6 10%,#0000);color:#fff;font-size:.88rem;font-weight:700;line-height:1.4;pointer-events:none}@media(min-width:1024px){.showcase-card-title-overlay{padding:var(--space-8) var(--space-4) var(--space-3);font-size:1.05rem}}.showcase-card-signature-bubble{position:relative;padding:var(--space-3) var(--space-4);background:#fff;border:2px solid #1a1a1a;border-radius:var(--radius-md, 12px);color:#1a1a1a;font-size:.88rem;line-height:1.65;font-weight:500;box-shadow:3px 3px #0006}.showcase-card-signature-bubble:before{content:"";position:absolute;top:-9px;left:28px;width:14px;height:14px;background:#fff;border-left:2px solid #1a1a1a;border-top:2px solid #1a1a1a;transform:rotate(45deg)}.showcase-accordion{position:relative;background:color-mix(in srgb,var(--lp-on-surface) 4%,var(--lp-surface));border:1px solid var(--lp-outline-variant);border-radius:var(--radius-md, 12px);overflow:hidden;transition:border-color .2s ease,background .2s ease}.showcase-accordion:hover{border-color:color-mix(in srgb,var(--lp-primary) 50%,var(--lp-outline-variant))}.showcase-accordion.is-open{background:color-mix(in srgb,var(--lp-primary) 8%,var(--lp-surface));border-color:color-mix(in srgb,var(--lp-primary) 50%,transparent)}.showcase-accordion.is-open:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--lp-primary)}.showcase-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-3);background:transparent;border:none;cursor:pointer;color:var(--lp-on-surface);font-size:.88rem;font-weight:600;letter-spacing:.02em;transition:color .2s ease;text-align:left}.showcase-accordion-trigger:hover{color:var(--lp-primary)}.showcase-accordion-label{text-align:left;flex:1}.showcase-accordion-chevron{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--lp-on-surface) 8%,transparent);color:var(--lp-on-surface-variant);line-height:1;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .2s ease,color .2s ease;flex-shrink:0}.showcase-accordion-chevron svg{display:block}.showcase-accordion-trigger:hover .showcase-accordion-chevron{background:color-mix(in srgb,var(--lp-primary) 18%,transparent);color:var(--lp-primary)}.showcase-accordion.is-open .showcase-accordion-chevron{transform:rotate(180deg);background:var(--lp-primary);color:var(--lp-on-primary, #fff)}.showcase-accordion-content{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.2,.8,.2,1)}.showcase-accordion.is-open .showcase-accordion-content{max-height:1200px;padding:0 var(--space-3) var(--space-3)}.showcase-section-text{font-size:.88rem;line-height:1.75;color:var(--lp-on-surface-variant);margin:0}.showcase-axes-list{display:flex;flex-direction:column;gap:var(--space-3)}.showcase-axis{display:flex;flex-direction:column;gap:var(--space-1)}.showcase-axis-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--lp-on-surface-variant)}.showcase-axis-track{position:relative;height:8px;margin:var(--space-3) 0 var(--space-2);border-radius:4px;background:color-mix(in srgb,var(--lp-primary) 14%,transparent)}.showcase-axis-track:before{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:color-mix(in srgb,var(--lp-on-surface-variant) 70%,transparent);transform:translate(-50%);border-radius:1px;z-index:1}.showcase-axis-fill{position:absolute;top:0;bottom:0;left:50%;width:var(--axis-fill-width, 0%);background:var(--lp-primary);border-radius:0 4px 4px 0;z-index:1}.showcase-axis-fill.lean-left{left:auto;right:50%;border-radius:4px 0 0 4px}.showcase-axis-marker{position:absolute;top:50%;z-index:2;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:var(--lp-surface);border:3px solid var(--lp-primary);box-shadow:0 2px 6px #0000004d;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;line-height:1;color:var(--lp-on-surface);font-family:var(--font-mono, "JetBrains Mono", monospace)}.showcase-axis-description{font-size:.78rem;line-height:1.65;color:var(--lp-on-surface-variant);margin:var(--space-1) 0 0;opacity:.9}.showcase-kindred-list{display:flex;flex-direction:column;gap:var(--space-2)}.showcase-kindred-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background:var(--lp-surface-variant);border-radius:var(--radius-sm, 8px)}.showcase-kindred-name{font-size:.85rem;font-weight:600;color:var(--lp-on-surface)}.showcase-kindred-reason{font-size:.78rem;line-height:1.6;color:var(--lp-on-surface-variant)}.diagnosis-showcase-section{width:100%;padding:var(--space-10) 0;overflow:hidden;position:relative}.diagnosis-showcase-overline{text-align:center}.diagnosis-showcase-headline{text-align:center;margin-bottom:var(--space-3)}.diagnosis-showcase-description{text-align:center;max-width:640px;margin:0 auto var(--space-6);padding:0 var(--space-4);color:var(--lp-on-surface-variant);font-size:.95rem;line-height:1.7}.diagnosis-showcase-origin{position:relative;display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-5);z-index:1}.diagnosis-showcase-origin-label{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-5);background:color-mix(in srgb,var(--lp-primary) 18%,var(--lp-surface));border:1.5px solid var(--lp-primary);border-radius:999px;color:var(--lp-on-surface);font-size:.9rem;font-weight:700;letter-spacing:.02em;box-shadow:0 0 0 6px color-mix(in srgb,var(--lp-primary) 12%,transparent)}.diagnosis-showcase-origin-icon{width:16px;height:16px;color:var(--lp-primary);flex-shrink:0}.diagnosis-showcase-branches{width:100%;max-width:1100px;height:72px;margin-top:var(--space-1);pointer-events:none;display:none;overflow:visible}.diagnosis-showcase-branch-path{stroke:var(--lp-primary);stroke-width:4;stroke-linecap:round;fill:none;stroke-dasharray:var(--branch-length, 300);stroke-dashoffset:var(--branch-length, 300)}.diagnosis-showcase-branch-endpoint{fill:var(--lp-primary);opacity:0;transform-origin:center;transform-box:fill-box;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--lp-primary) 70%,transparent))}.diagnosis-showcase-section.is-visible .diagnosis-showcase-branch-path{animation:showcase-branch-draw 1.4s cubic-bezier(.4,0,.2,1) forwards}.diagnosis-showcase-section.is-visible .diagnosis-showcase-branch-path:nth-of-type(2){animation-delay:.4s}.diagnosis-showcase-section.is-visible .diagnosis-showcase-branch-endpoint{animation:showcase-endpoint-pop .5s cubic-bezier(.34,1.56,.64,1) 1.1s forwards}.diagnosis-showcase-section.is-visible .diagnosis-showcase-branch-endpoint:nth-of-type(2){animation-delay:1.5s}@keyframes showcase-branch-draw{to{stroke-dashoffset:0}}@keyframes showcase-endpoint-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.diagnosis-showcase-section.is-visible .diagnosis-showcase-branch-path,.diagnosis-showcase-section.is-visible .diagnosis-showcase-branch-endpoint{animation:none}.diagnosis-showcase-branch-path{stroke-dashoffset:0}.diagnosis-showcase-branch-endpoint{opacity:1}}.diagnosis-showcase-origin-arrow{display:block;margin-top:var(--space-2);color:var(--lp-primary);font-size:1.4rem;line-height:1;animation:showcase-arrow-pulse 2s ease-in-out infinite}@keyframes showcase-arrow-pulse{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(4px);opacity:1}}.diagnosis-showcase-inner{max-width:var(--lp-max-width);margin:0 auto;padding:0 var(--space-4)}.diagnosis-showcase-track{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto repeat(6,auto);column-gap:var(--space-3);row-gap:var(--space-3);max-width:720px;margin:0 auto}.diagnosis-showcase-tab,.diagnosis-showcase-body{min-width:0;background:var(--lp-surface);border:1px solid var(--lp-outline-variant);border-radius:var(--radius-lg, 16px);padding:var(--space-3);transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease}.diagnosis-showcase-body{display:grid;grid-template-rows:subgrid;grid-row:2 / span 6;row-gap:var(--space-3)}.diagnosis-showcase-tab.is-active,.diagnosis-showcase-body.is-active{border-color:var(--lp-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--lp-primary) 25%,transparent)}.diagnosis-showcase-tab{grid-row:1;align-self:start}@media(max-width:1023px){.diagnosis-showcase-body{grid-column:1 / -1}.diagnosis-showcase-body.is-inactive{visibility:hidden;pointer-events:none}.diagnosis-showcase-tab.is-inactive{opacity:.45}.diagnosis-showcase-tab.is-inactive:hover{opacity:.75}}@media(min-width:1024px){.diagnosis-showcase-branches{display:block}.diagnosis-showcase-origin-arrow{display:none}.diagnosis-showcase-origin{margin-bottom:0}.diagnosis-showcase-track{max-width:1100px;column-gap:var(--space-6);row-gap:0}.diagnosis-showcase-tab{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none;padding-bottom:0}.diagnosis-showcase-body{border-top-left-radius:0;border-top-right-radius:0;border-top:none;padding-top:var(--space-3)}.diagnosis-showcase-tab .showcase-card-tab-header{cursor:default}}.faq-section{background:var(--lp-surface-lowest);padding:120px 48px}.faq-inner{max-width:880px;margin:0 auto}.faq-section .landing-section-overline,.faq-section .landing-section-headline,.faq-section .landing-section-desc{text-align:center}.faq-section .landing-section-desc{max-width:none;margin-left:auto;margin-right:auto;margin-bottom:40px}.faq-list{padding:8px 24px}.faq-item{border-bottom:1px solid var(--glass-border-color, rgba(255, 255, 255, .06))}.faq-item:last-child{border-bottom:none}.faq-item[open] .faq-chevron{transform:rotate(180deg)}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;transition:color .15s ease}.faq-question::-webkit-details-marker{display:none}.faq-question:hover{color:var(--lp-tertiary)}.faq-question-text{font-family:var(--lp-font-display);font-size:1rem;font-weight:600;color:var(--lp-on-surface);line-height:1.5;flex:1}.faq-chevron{font-size:22px;color:var(--lp-on-surface-variant);transition:transform .2s ease;flex-shrink:0}.faq-answer{padding:0 4px 24px;font-size:.95rem;line-height:1.75;color:var(--lp-on-surface-variant)}.faq-answer a{color:var(--lp-tertiary);text-decoration:underline;text-underline-offset:2px}.faq-answer a:hover{text-decoration:none}@media(max-width:768px){.faq-section{padding:64px 20px}.faq-list{padding:4px 16px}.faq-question{padding:18px 2px}.faq-question-text{font-size:.95rem}.faq-answer{padding:0 2px 20px;font-size:.9rem}}.diagnosis-lp-main{display:flex;flex-direction:column;align-items:stretch;width:100%}.landing-section-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--glass-border),transparent);opacity:.3}.diagnosis-final-cta-section{width:100%;max-width:var(--lp-max-width);margin:var(--space-12) auto;padding:var(--space-12) var(--space-6);text-align:center;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.diagnosis-final-cta-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);max-width:640px}.diagnosis-final-cta-headline{font-family:var(--lp-font-display);font-size:2rem;font-weight:700;color:var(--lp-on-surface);line-height:1.3;letter-spacing:-.02em;margin:0;text-shadow:0 2px 16px rgba(16,20,26,.6),0 0 32px rgba(122,172,238,.12)}.diagnosis-final-cta-text{font-size:1.0625rem;color:var(--lp-on-surface-variant);line-height:1.6;margin:0}.diagnosis-final-cta-btn{font-size:1.0625rem;padding:18px 44px;min-width:280px;margin-top:var(--space-2);justify-content:center;box-shadow:0 8px 36px #7aacee66;transition:box-shadow .2s ease,transform .15s ease}.diagnosis-final-cta-btn:hover{box-shadow:0 10px 44px #7aacee8c;transform:translateY(-1px)}.diagnosis-final-cta-microcopy{font-size:.85rem;color:var(--lp-on-surface-variant);opacity:.7;margin:0;letter-spacing:.02em}.diagnosis-mid-cta-section{width:100%;max-width:var(--lp-max-width);margin:var(--space-12) auto;padding:var(--space-10) var(--space-6);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);position:relative;background:radial-gradient(ellipse at center,rgba(122,172,238,.06),transparent 70%)}.diagnosis-mid-cta-headline{font-family:var(--lp-font-display);font-size:1.625rem;font-weight:600;color:var(--lp-on-surface);line-height:1.4;letter-spacing:-.01em;margin:0;text-shadow:0 1px 12px rgba(16,20,26,.5)}.diagnosis-mid-cta-text{font-size:.9375rem;color:var(--lp-on-surface-variant);line-height:1.6;margin:0}.diagnosis-mid-cta-btn{font-size:1rem;padding:16px 36px;min-width:240px;margin-top:var(--space-2);justify-content:center;box-shadow:0 6px 28px #7aacee52;transition:box-shadow .2s ease,transform .15s ease}.diagnosis-mid-cta-btn:hover{box-shadow:0 8px 36px #7aacee73;transform:translateY(-1px)}@media(max-width:768px){.diagnosis-final-cta-section{margin:var(--space-8) var(--space-4);width:calc(100% - var(--space-8));padding:var(--space-10) var(--space-5)}.diagnosis-final-cta-headline{font-size:1.5rem}.diagnosis-final-cta-text{font-size:1rem}.diagnosis-final-cta-btn{font-size:1rem;padding:16px 32px;min-width:0;width:100%;max-width:320px}.diagnosis-mid-cta-section{margin:var(--space-8) var(--space-4);width:calc(100% - var(--space-8));padding:var(--space-8) var(--space-5)}.diagnosis-mid-cta-headline{font-size:1.375rem}.diagnosis-mid-cta-btn{width:100%;max-width:320px;min-width:0}}.maintenance-page{color-scheme:dark}.maintenance-main{flex:1;display:flex;align-items:center;justify-content:center;padding:96px 24px 64px;position:relative;overflow:hidden}.maintenance-bg-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 40%,rgba(122,172,238,.06) 0%,transparent 50%),radial-gradient(circle at 10% 80%,rgba(168,208,245,.03) 0%,transparent 40%);pointer-events:none;z-index:0}.maintenance-content{position:relative;z-index:1;max-width:520px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.maintenance-icon{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;background:#7aacee14;border:1px solid rgba(122,172,238,.18);color:var(--lp-primary);margin-bottom:4px}.maintenance-title{font-family:var(--lp-font-display);font-size:clamp(24px,3.2vw,32px);font-weight:600;letter-spacing:-.02em;color:var(--lp-on-surface);margin:0;line-height:1.3}.maintenance-message{font-size:15px;line-height:1.7;color:var(--lp-on-surface-variant);margin:0;max-width:440px}.maintenance-hint{display:flex;flex-direction:column;gap:8px;margin-top:8px;max-width:460px;padding:16px 20px;background:#7aacee0a;border:1px solid rgba(122,172,238,.12);border-radius:12px;text-align:left}.maintenance-hint-label{font-family:var(--lp-font-display);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lp-primary)}.maintenance-hint-text{font-size:13.5px;line-height:1.6;color:var(--lp-on-surface-variant)}.maintenance-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:12px}.maintenance-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:6px;font-family:var(--lp-font-display);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.maintenance-btn--secondary{background:#35394066;color:var(--lp-on-surface);border:1px solid rgba(69,70,82,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.maintenance-btn--secondary:hover{background:#35394099;border-color:#45465280}@media(max-width:640px){.maintenance-main{padding:80px 20px 48px}.maintenance-actions{flex-direction:column;width:100%;max-width:280px;gap:12px}.maintenance-btn{justify-content:center;width:100%}}.compat-hero-stack{position:relative;width:100%;height:100%;pointer-events:none;isolation:isolate}.compat-hero-stack-img{position:absolute;object-fit:contain;will-change:transform}.compat-hero-stack-img--front{left:50%;top:50%;width:50%;aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 14px 28px rgba(0,0,0,.45)) drop-shadow(0 4px 10px rgba(0,0,0,.25));z-index:2}.compat-hero-stack-img--back-left{left:4%;top:8%;width:42%;aspect-ratio:1;filter:blur(2px) drop-shadow(0 10px 18px rgba(0,0,0,.4));opacity:.7;z-index:1}.compat-hero-stack-img--back-right{right:4%;top:36%;width:46%;aspect-ratio:1;filter:blur(2px) drop-shadow(0 12px 22px rgba(0,0,0,.4));opacity:.72;z-index:1}.compat-hero-stack[data-layout=row]{display:flex;align-items:center;justify-content:center;gap:0}.compat-hero-stack[data-layout=row] .compat-hero-stack-img{position:relative;inset:auto;top:auto;left:auto;right:auto;transform:none;height:auto;width:auto;aspect-ratio:1}.compat-hero-stack[data-layout=row] .compat-hero-stack-img--front{width:30%;max-width:106px;margin:0 -6%;z-index:2;filter:drop-shadow(0 10px 20px rgba(0,0,0,.45)) drop-shadow(0 3px 8px rgba(0,0,0,.25))}.compat-hero-stack[data-layout=row] .compat-hero-stack-img--back-left,.compat-hero-stack[data-layout=row] .compat-hero-stack-img--back-right{width:24%;max-width:86px;opacity:.75;filter:blur(1.5px) drop-shadow(0 6px 12px rgba(0,0,0,.35));z-index:1}@media(max-width:768px){.compat-hero-stack[data-layout=auto]{display:flex;align-items:center;justify-content:center;gap:0}.compat-hero-stack[data-layout=auto] .compat-hero-stack-img{position:relative;inset:auto;top:auto;left:auto;right:auto;transform:none;height:auto;width:auto;aspect-ratio:1}.compat-hero-stack[data-layout=auto] .compat-hero-stack-img--front{width:30%;max-width:106px;margin:0 -6%;z-index:2;filter:drop-shadow(0 10px 20px rgba(0,0,0,.45)) drop-shadow(0 3px 8px rgba(0,0,0,.25))}.compat-hero-stack[data-layout=auto] .compat-hero-stack-img--back-left,.compat-hero-stack[data-layout=auto] .compat-hero-stack-img--back-right{width:24%;max-width:86px;opacity:.75;filter:blur(1.5px) drop-shadow(0 6px 12px rgba(0,0,0,.35));z-index:1}}.diagnosis-chat-layout{display:grid;grid-template-columns:1fr;width:100%;height:100%;min-height:0;gap:0}.diagnosis-chat-room{display:grid;grid-template-rows:auto 1fr auto;height:100%;min-height:0;max-width:720px;margin:0 auto;background:var(--color-surface);border-radius:12px;overflow:hidden;border:1px solid var(--color-border)}.diagnosis-chat-companion{display:none}@media(min-width:1024px){.diagnosis-chat-layout{grid-template-columns:minmax(420px,1fr) minmax(360px,480px);max-width:1280px;margin:0 auto;gap:16px;align-items:stretch}.diagnosis-chat-layout .diagnosis-chat-room{max-width:none;margin:0}.diagnosis-chat-companion{display:block;position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;min-height:0;height:100%}.diagnosis-chat-companion .graph-row,.diagnosis-chat-companion .graph-container{height:100%;width:100%}}.diagnosis-chat-room--loading,.diagnosis-chat-room--error,.diagnosis-chat-room--analyzing{display:flex;flex-direction:column;gap:16px;padding:32px;align-items:center;justify-content:center;text-align:center;width:100%}.diagnosis-chat-room--analyzing{min-height:50vh}.diagnosis-chat-handoff-error{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;max-width:480px}.diagnosis-chat-handoff-actions{display:flex;flex-direction:column;gap:8px;width:100%;max-width:280px}.diagnosis-chat-countdown{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:480px;text-align:center}.diagnosis-chat-countdown-title{margin:0;font-size:20px;font-weight:700;color:var(--color-text-primary)}.diagnosis-chat-countdown-message{margin:0;font-size:15px;color:var(--color-text-secondary)}.diagnosis-chat-countdown-row{align-items:center;gap:12px}.diagnosis-chat-countdown-row-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.diagnosis-chat-countdown-row-text strong{font-size:13px;font-weight:600;color:var(--color-text-primary);line-height:1.4}.diagnosis-chat-countdown-row-text span{font-size:12px;color:var(--color-text-secondary);line-height:1.4}.diagnosis-chat-countdown-row-btn{flex-shrink:0;padding:0 16px;height:44px;border-radius:8px;border:none;background:var(--color-accent);color:var(--color-on-accent);font-size:13px;font-weight:600;cursor:pointer;transition:filter .12s ease}.diagnosis-chat-countdown-row-btn:hover{filter:brightness(1.1)}.diagnosis-chat-loading,.diagnosis-chat-error{font-size:.95rem;color:var(--color-text-secondary)}.diagnosis-chat-theme{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);font-size:13px;line-height:1.4}.diagnosis-chat-theme-text{display:flex;align-items:baseline;gap:8px;min-width:0}.diagnosis-chat-theme-label{color:var(--color-text-secondary);font-weight:500}.diagnosis-chat-theme-value{color:var(--color-text-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diagnosis-chat-theme-action{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:6px;color:var(--color-on-accent);font-size:12px;font-weight:500;cursor:pointer;flex-shrink:0;transition:filter .15s}.diagnosis-chat-theme-action:hover{filter:brightness(1.1)}.diagnosis-chat-messages{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.diagnosis-chat-intro{margin:24px auto;padding:16px;max-width:80%;text-align:center;font-size:14px;line-height:1.6;color:var(--color-text-secondary);font-style:italic}.diagnosis-chat-message{display:flex;width:100%}.diagnosis-chat-message--human{justify-content:flex-end}.diagnosis-chat-message--ai{justify-content:flex-start}.diagnosis-chat-bubble{max-width:76%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.diagnosis-chat-message--human .diagnosis-chat-bubble{background:var(--color-chat-bubble-human);color:var(--color-on-accent);border-bottom-right-radius:4px}.diagnosis-chat-message--ai .diagnosis-chat-bubble{background:transparent;color:var(--color-text-primary);border:none;border-radius:0;padding:4px 0;max-width:100%}.diagnosis-chat-thinking{display:inline-flex;align-items:baseline;gap:2px;padding:4px 0;font-size:14px;line-height:1.6;color:var(--color-text-secondary);font-style:italic}.diagnosis-chat-thinking-dots{display:inline-block;width:1.5em;text-align:left;font-style:normal}.diagnosis-chat-thinking-dot{opacity:0;display:inline}.diagnosis-chat-thinking-dot:nth-child(1){animation:diagnosis-chat-thinking-1 1.6s steps(1) infinite}.diagnosis-chat-thinking-dot:nth-child(2){animation:diagnosis-chat-thinking-2 1.6s steps(1) infinite}.diagnosis-chat-thinking-dot:nth-child(3){animation:diagnosis-chat-thinking-3 1.6s steps(1) infinite}@keyframes diagnosis-chat-thinking-1{0%,24%{opacity:0}25%,to{opacity:1}}@keyframes diagnosis-chat-thinking-2{0%,49%{opacity:0}50%,to{opacity:1}}@keyframes diagnosis-chat-thinking-3{0%,74%{opacity:0}75%,to{opacity:1}}@media(prefers-reduced-motion:reduce){.diagnosis-chat-thinking-dot{opacity:1;animation:none}}.diagnosis-chat-input-row{display:flex;gap:8px;padding:12px;background:var(--color-surface-raised);border-top:1px solid var(--color-border);align-items:flex-end}.diagnosis-chat-input{flex:1;resize:none;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-family:inherit;font-size:14px;line-height:1.5;min-height:42px;max-height:125px;overflow-y:auto;transition:border-color .12s ease,box-shadow .12s ease}.diagnosis-chat-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.diagnosis-chat-input:disabled{opacity:.5;cursor:not-allowed}.diagnosis-chat-send-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;border:none;background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;transition:filter .12s ease;flex-shrink:0}.diagnosis-chat-send-btn:hover:not(:disabled){filter:brightness(1.1)}.diagnosis-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.diagnosis-chat-room{border-radius:0;border:none;margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));width:calc(100% + 2 * var(--space-4));max-width:none}.diagnosis-chat-layout{margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));width:calc(100% + 2 * var(--space-4));max-width:none}.diagnosis-chat-layout .diagnosis-chat-room{margin-left:0;margin-right:0;width:100%}.diagnosis-chat-bubble{max-width:84%}.diagnosis-chat-messages{padding-bottom:0}}.diagnosis-chat-fallback-hint{margin:0;padding:8px 16px;background:var(--color-surface-raised);color:var(--color-text-secondary);font-size:12px;line-height:1.4;text-align:center;border-bottom:1px solid var(--color-border)}.diagnosis-progress{display:flex;flex-direction:column;padding:8px 0}.diagnosis-progress-track{display:flex;align-items:center;gap:12px}.diagnosis-progress-bar{position:relative;flex:1;height:8px;border-radius:4px;background:var(--color-border);overflow:hidden}.diagnosis-progress-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--color-accent);transition:width .6s cubic-bezier(.2,.8,.2,1)}.diagnosis-progress-bar--wrapping .diagnosis-progress-bar-fill{background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent-hover, var(--color-accent)) 100%)}.diagnosis-progress-percent{font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;min-width:3em;text-align:right;color:var(--color-text-primary)}@media(max-width:768px){.diagnosis-progress{padding:6px 0}}.unfinished-diagnosis{margin-top:24px;padding:20px 24px;border-radius:12px;display:flex;flex-direction:column;gap:16px}.unfinished-diagnosis-header{display:flex;flex-direction:column;gap:6px}.unfinished-diagnosis-title{font-size:14px;font-weight:600;margin:0;color:var(--text-primary)}.unfinished-diagnosis-desc{font-size:12px;line-height:1.55;color:var(--text-secondary);margin:0}.unfinished-diagnosis-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.unfinished-diagnosis-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--border-subtle, rgba(127, 127, 127, .18));border-radius:8px;background:var(--bg-elevated, transparent)}.unfinished-diagnosis-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.unfinished-diagnosis-topic{display:flex;gap:6px;align-items:baseline;font-size:13px}.unfinished-diagnosis-topic-label{font-size:11px;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase}.unfinished-diagnosis-topic-value{font-weight:600;color:var(--text-primary)}.unfinished-diagnosis-date{font-size:11px;color:var(--text-secondary)}.unfinished-diagnosis-resume{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;border:1px solid var(--accent-color, currentColor);background:transparent;color:var(--accent-color, currentColor);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.unfinished-diagnosis-resume:hover{background:var(--accent-color, currentColor);color:var(--bg-primary, white)}@media(max-width:640px){.unfinished-diagnosis-item{flex-direction:column;align-items:stretch}.unfinished-diagnosis-resume{justify-content:center}}.diagnosis-paywall-page{width:100%;max-width:480px;display:flex;flex-direction:column;gap:var(--space-4)}.diagnosis-paywall-card{position:relative;width:100%;max-width:480px;margin:0 auto;padding:var(--space-6);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);text-align:left}.diagnosis-paywall-card--thinking{background:linear-gradient(135deg,var(--glass-bg),rgba(var(--accent-rgb),.07));border-color:rgba(var(--accent-rgb),.25)}.diagnosis-paywall-card--compatibility{background:linear-gradient(135deg,var(--glass-bg),rgba(34,170,80,.08));border-color:#22aa5047}.diagnosis-paywall-media{position:relative;width:100%;height:140px;border-radius:var(--radius-lg);background:var(--color-surface-raised);border:1px solid var(--color-border);overflow:hidden}.diagnosis-paywall-media--thinking{background:radial-gradient(circle at 30% 40%,rgba(var(--accent-rgb),.18),transparent 60%),radial-gradient(circle at 70% 60%,rgba(168,85,247,.12),transparent 60%),var(--color-surface-raised)}.diagnosis-paywall-media--compatibility{height:120px;background:radial-gradient(circle at 30% 50%,rgba(34,170,80,.18),transparent 60%),radial-gradient(circle at 70% 50%,rgba(91,141,217,.14),transparent 60%),var(--color-surface-raised)}.diagnosis-paywall-thumbs--compatibility:has(.compat-hero-stack){display:block;padding:0;gap:0}.diagnosis-paywall-thumbs--compatibility .compat-hero-stack{width:100%;height:100%;min-height:0}.diagnosis-paywall-media[data-has-content=true]{background:transparent;border-color:transparent}.diagnosis-paywall-thumbs{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3)}.diagnosis-paywall-thumbs--thinking .diagnosis-paywall-thumb{aspect-ratio:1 / 1;height:100%;width:auto;max-width:96px}.diagnosis-paywall-thumbs--compatibility .diagnosis-paywall-thumb{aspect-ratio:1 / 1;height:100%;width:auto;max-width:110px}.diagnosis-paywall-thumb{position:relative;display:block;border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);overflow:hidden}.diagnosis-paywall-thumb-frame{position:relative;display:block;width:100%;height:100%;border-radius:inherit;overflow:hidden}.diagnosis-paywall-thumb-frame img{display:block;width:100%;height:100%;object-fit:cover}.diagnosis-paywall-title{font-size:var(--text-title-sm);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1.3;letter-spacing:-.005em;margin:0}.diagnosis-paywall-lead{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.6;margin:0}.diagnosis-paywall-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.diagnosis-paywall-benefit{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-body-sm);line-height:1.6;color:var(--color-text-primary)}.diagnosis-paywall-benefit-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-top:2px}.diagnosis-paywall-card--thinking .diagnosis-paywall-benefit-icon{background:rgba(var(--accent-rgb),.18);color:var(--color-accent)}.diagnosis-paywall-card--compatibility .diagnosis-paywall-benefit-icon{background:#22aa502e;color:#5bbd72}[data-theme=light] .diagnosis-paywall-card--compatibility .diagnosis-paywall-benefit-icon{color:#2d8a45}.diagnosis-paywall-cta-block{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);margin-top:var(--space-2)}.diagnosis-paywall-cta{height:48px;padding:0 var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-subheading);font-weight:var(--weight-semibold);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;background:var(--color-accent);color:var(--color-on-accent)}.diagnosis-paywall-cta:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 16px #0000002e}.diagnosis-paywall-cta:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.diagnosis-paywall-footnote{font-size:var(--text-caption);color:var(--color-text-secondary);text-align:center;line-height:1.5;margin:0}.diagnosis-paywall-payment-methods{font-size:var(--text-caption);color:var(--color-text-muted);text-align:center;line-height:1.4;margin:0}.diagnosis-paywall-secondary{align-self:center;height:36px;padding:0 var(--space-4);background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--text-body-sm);font-weight:var(--weight-medium);cursor:pointer;border-radius:var(--radius-lg);transition:color .15s ease,background .15s ease}.diagnosis-paywall-secondary:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-surface-raised)}.diagnosis-paywall-secondary:disabled{opacity:.5;cursor:not-allowed}.diagnosis-paywall-cross-cta{margin:0;font-size:var(--text-body-sm);color:var(--color-text-secondary);text-align:center;line-height:1.5}@media(max-width:640px){.diagnosis-paywall-card{margin:0 auto;padding:var(--space-5)}.diagnosis-paywall-media{height:120px}.diagnosis-paywall-thumbs--thinking .diagnosis-paywall-thumb{max-width:80px}}.diagnosis-gate{max-width:480px;margin:var(--space-12) auto;padding:var(--space-8);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:center;display:flex;flex-direction:column;align-items:center;box-shadow:var(--shadow-md)}.diagnosis-gate-icon-wrapper{width:56px;height:56px;background:var(--color-surface-raised);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-accent);margin-bottom:var(--space-4)}.diagnosis-gate-title{font-size:var(--text-title-sm);font-weight:700;color:var(--color-text-primary);line-height:1.3;letter-spacing:-.005em;margin:0 0 var(--space-3)}.diagnosis-gate-desc{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.6;margin:0 0 var(--space-6)}.diagnosis-gate-loading{font-size:var(--text-body);color:var(--color-text-secondary);font-style:italic;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.diagnosis-flow-checking{margin:var(--space-12) auto 0;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);font-size:var(--text-body);color:var(--color-text-secondary)}.diagnosis-gate-actions{display:flex;flex-direction:column;gap:var(--space-3);width:100%;max-width:280px}.diagnosis-gate-btn-primary,.diagnosis-gate-btn-secondary{height:48px;padding:0 24px;border-radius:24px;font-size:var(--text-subheading);font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.diagnosis-gate-btn-primary{background:var(--color-accent);color:var(--color-on-accent);border:none}.diagnosis-gate-btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.diagnosis-gate-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.diagnosis-gate-btn-secondary{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-text-dim)}.diagnosis-gate-btn-secondary:hover:not(:disabled){border-color:var(--color-text-secondary);background:var(--color-surface-raised)}.diagnosis-gate-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.handoff-confirm-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#000000a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.handoff-confirm-modal-inner{width:100%;max-width:420px;padding:var(--space-5);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-3);text-align:center}.handoff-confirm-modal-title{margin:0;font-size:var(--text-subheading);font-weight:var(--weight-semibold);color:var(--color-text-primary);line-height:1.4}.handoff-confirm-modal-body{margin:0;color:var(--color-text-secondary);font-size:var(--text-body-sm);line-height:1.6}.handoff-confirm-modal-actions{display:flex;flex-direction:row;justify-content:stretch;gap:var(--space-3);margin-top:var(--space-3)}.handoff-confirm-modal-cancel,.handoff-confirm-modal-confirm{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:filter .15s,transform .15s,box-shadow .15s,background .15s,border-color .15s}.handoff-confirm-modal-cancel{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.handoff-confirm-modal-cancel:hover:not(:disabled){background:var(--color-surface-hover, var(--color-surface-elevated));color:var(--color-text-primary);border-color:var(--color-border-hover)}.handoff-confirm-modal-confirm{background:var(--color-accent);color:var(--color-on-accent);border:none;box-shadow:0 4px 16px rgba(var(--accent-rgb),.3)}.handoff-confirm-modal-confirm:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 24px rgba(var(--accent-rgb),.4)}.handoff-confirm-modal-cancel:disabled,.handoff-confirm-modal-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:480px){.handoff-confirm-modal-inner{padding:var(--space-4)}.handoff-confirm-modal-actions{flex-direction:column-reverse;gap:var(--space-2)}.handoff-confirm-modal-cancel,.handoff-confirm-modal-confirm{width:100%}}.service-logo{width:24px;height:24px;object-fit:contain;flex-shrink:0}[data-theme=dark] .service-logo--mono{filter:invert(1) brightness(1.1)}.deepdive-tips{background:var(--color-accent-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.deepdive-tips-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.deepdive-tips-icon{display:inline-flex;align-items:center;color:var(--color-accent)}.deepdive-tips-title{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.deepdive-tips-duration{margin-left:auto;font-size:var(--text-caption);color:var(--color-text-secondary);font-family:var(--font-mono)}.deepdive-tips-list{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none;padding:0;margin:0;font-size:var(--text-body-sm);color:var(--color-text-secondary);line-height:1.6}.deepdive-tips-list li{position:relative;padding-left:12px;line-height:1.6}.deepdive-tips-list li:before{content:"•";position:absolute;left:0;color:var(--color-accent)}@media(max-width:768px){.deepdive-tips-duration{display:none}}.step-flow-illustration{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);background:var(--color-canvas);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--color-border)}.mockup-frame{width:100%;aspect-ratio:10 / 7;position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border);container-type:inline-size}.mockup-frame>.onboarding-mockup{position:absolute;top:0;left:0;width:400px;max-width:none;height:280px;aspect-ratio:unset;border:none;border-radius:0;transform-origin:top left;transform:scale(calc(100cqw/400px))}@supports not (container-type: inline-size){.mockup-frame>.onboarding-mockup{transform:scale(1)}@media(max-width:768px){.mockup-frame>.onboarding-mockup{transform:scale(.5)}}@media(max-width:480px){.mockup-frame>.onboarding-mockup{transform:scale(.35)}}}.step-flow-caption{font-size:var(--text-caption);color:var(--color-text-secondary);text-align:center;margin:0;line-height:1.5}.step-flow-illustration--dual{flex-direction:row;justify-content:center;align-items:center;gap:var(--space-3);width:100%}.flow-stage{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1;min-width:0;transition:opacity .4s ease}.flow-stage--idle{opacity:.45}.flow-stage--idle .mockup-frame *,.flow-stage--idle .mockup-frame *:before,.flow-stage--idle .mockup-frame *:after{animation-play-state:paused!important}.flow-stage-label{font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-align:center}.flow-stage-arrow{display:inline-flex;align-items:center;color:var(--color-accent);flex-shrink:0}@media(max-width:640px){.step-flow-illustration--dual{gap:var(--space-2)}.flow-stage-label{font-size:var(--text-micro);line-height:1.3}}.stage-divider{height:1px;background:linear-gradient(to right,transparent 0%,var(--color-border) 20%,var(--color-border) 80%,transparent 100%);margin:var(--space-2) 0}.stage-section{transition:opacity .25s ease,filter .25s ease}.stage-section.stage-locked{opacity:.45;pointer-events:none}.stage-section.stage-done .prompt-section-label,.stage-section.stage-done .ai-services-label{color:var(--color-accent)}.stage-hint{font-size:var(--text-caption);color:var(--color-accent);font-weight:var(--weight-semibold);margin:6px 0 0}.after-chat-note{font-size:var(--text-body-sm);color:var(--color-success);font-weight:var(--weight-semibold);background:#22aa501a;border:1px dashed var(--color-success);border-radius:var(--radius-md);padding:var(--space-3);margin:0;text-align:center;line-height:1.5}.prompt-section,.prompt-section-header,.ai-services-header{display:flex;flex-direction:column;gap:var(--space-3)}.prompt-section-label,.ai-services-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-subheading);font-weight:var(--weight-semibold);color:var(--color-text-primary);letter-spacing:0;text-transform:none;line-height:1.4}.ai-services-desc{font-size:var(--text-body-sm);color:var(--color-text-secondary);line-height:1.6;margin:0}.btn-copy-large{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:52px;padding:var(--space-3) var(--space-4);background:var(--color-accent);color:var(--color-on-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-size:var(--text-subheading);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(var(--accent-rgb),.25)}.btn-copy-large:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-rgb),.35)}.btn-copy-large:active{transform:translateY(0)}.btn-copy-icon{display:inline-flex;align-items:center}body:has(.shared-diagnosis-page){background:#10141a}body:has(.shared-diagnosis-page) #root{height:auto;min-height:100vh}.shared-diagnosis-page{--lp-surface: #10141a;--lp-surface-lowest: #0a0e14;--lp-surface-low: #181c22;--lp-surface-high: #262a31;--lp-surface-highest: #31353c;--lp-surface-bright: #353940;--lp-primary: #7aacee;--lp-primary-container: #3a6db5;--lp-tertiary: #a8d0f5;--lp-on-primary: #ffffff;--lp-on-surface: #dfe2eb;--lp-on-surface-variant: #c5c5d4;--lp-outline-variant: #454652;--lp-error: #ffb4ab;--lp-font-display: "Space Grotesk", "Inter", sans-serif;display:flex;flex-direction:column;min-height:100vh;background:var(--lp-surface);color:var(--lp-on-surface);font-family:Inter,Noto Sans JP,sans-serif}.shared-diagnosis-main{flex:1;display:flex;justify-content:center;padding:calc(64px + var(--space-12)) var(--space-6) var(--space-16)}.shared-diagnosis-content{width:100%;max-width:720px}.shared-diagnosis-page .diagnosis-card{background:var(--lp-bg-secondary);border:1px solid var(--lp-border)}.shared-diagnosis-loading,.shared-diagnosis-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);min-height:40vh;text-align:center;font-size:var(--text-body);color:var(--lp-text-secondary)}.shared-diagnosis-error p{margin:0;font-size:var(--text-subheading)}.shared-diagnosis-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-container));color:var(--lp-on-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-body);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:filter .15s,transform .15s,box-shadow .15s;box-shadow:0 4px 16px #0003}.shared-diagnosis-cta-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 24px #0000004d}.shared-diagnosis-cta-btn:active{transform:translateY(0)}@media(max-width:1024px)and (orientation:portrait),(max-width:640px){.shared-diagnosis-main{padding:calc(56px + var(--space-6)) 0 var(--space-12)}.shared-diagnosis-content>.diagnosis-card{padding-left:0;padding-right:0}.shared-diagnosis-content .diagnosis-card-header,.shared-diagnosis-content .diagnosis-card-image,.shared-diagnosis-content .diagnosis-card-signature,.shared-diagnosis-content .diagnosis-card-axes,.shared-diagnosis-content .diagnosis-card-summary,.shared-diagnosis-content .diagnosis-section:not(.diagnosis-shape-section),.shared-diagnosis-content .diagnosis-cta,.shared-diagnosis-content .diagnosis-card-brand{margin-left:var(--space-4);margin-right:var(--space-4)}.shared-diagnosis-content .diagnosis-shape-section{padding:0;background:transparent;border:none;box-shadow:none;border-radius:0}.shared-diagnosis-content .diagnosis-shape-section .diagnosis-section-label{margin-left:var(--space-4);margin-right:var(--space-4)}.shared-diagnosis-content .diagnosis-shape-frame{height:360px;background:transparent;border:none;border-radius:0}.shared-diagnosis-content .diagnosis-shape-caption{margin-left:var(--space-4);margin-right:var(--space-4)}}body:has(.shared-compatibility-page){background:#10141a}body:has(.shared-compatibility-page) #root{height:auto;min-height:100vh}.shared-compatibility-page{--lp-surface: #10141a;--lp-surface-lowest: #0a0e14;--lp-surface-low: #181c22;--lp-surface-high: #262a31;--lp-surface-highest: #31353c;--lp-surface-bright: #353940;--lp-primary: #7aacee;--lp-primary-container: #3a6db5;--lp-tertiary: #a8d0f5;--lp-on-primary: #ffffff;--lp-on-surface: #dfe2eb;--lp-on-surface-variant: #c5c5d4;--lp-outline-variant: #454652;--lp-error: #ffb4ab;--lp-font-display: "Space Grotesk", "Inter", sans-serif;display:flex;flex-direction:column;min-height:100vh;background:var(--lp-surface);color:var(--lp-on-surface);font-family:Inter,Noto Sans JP,sans-serif}.shared-compatibility-main{flex:1;display:flex;justify-content:center;padding:calc(64px + var(--space-12)) var(--space-6) var(--space-16)}.shared-compatibility-content{width:100%;max-width:880px}.shared-compatibility-loading,.shared-compatibility-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);min-height:40vh;text-align:center;font-size:var(--text-body);color:var(--lp-on-surface-variant)}.shared-compatibility-error p{margin:0;font-size:var(--text-subheading)}.shared-compatibility-cta{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-top:var(--space-8);padding:var(--space-6) var(--space-4);text-align:center}.shared-compatibility-cta-lead{margin:0;font-size:var(--text-body);color:var(--lp-on-surface-variant)}.shared-compatibility-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-container));color:var(--lp-on-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-body);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:filter .15s,transform .15s,box-shadow .15s;box-shadow:0 4px 16px #0003}.shared-compatibility-cta-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 24px #0000004d}.shared-compatibility-cta-btn:active{transform:translateY(0)}.shared-compatibility-retry-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:var(--space-2) var(--space-5);background:transparent;color:var(--lp-on-surface-variant);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);font-size:var(--text-body-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.shared-compatibility-retry-btn:hover{color:var(--lp-on-surface-variant);background:#ffffff0f;border-color:#ffffff59}.shared-compatibility-retry-btn:focus-visible{outline:2px solid var(--lp-primary);outline-offset:2px}@media(max-width:1024px)and (orientation:portrait),(max-width:640px){.shared-compatibility-main{padding:calc(56px + var(--space-6)) var(--space-3) var(--space-12)}}.not-found-page{color-scheme:dark}.not-found-main{flex:1;display:flex;align-items:center;justify-content:center;padding:96px 24px 64px;position:relative;overflow:hidden}.not-found-bg-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 40%,rgba(122,172,238,.08) 0%,transparent 50%),radial-gradient(circle at 10% 80%,rgba(168,208,245,.03) 0%,transparent 40%),radial-gradient(circle at 90% 20%,rgba(58,109,181,.04) 0%,transparent 40%);pointer-events:none;z-index:0}.not-found-content{position:relative;z-index:1;max-width:560px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.not-found-visual{display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,24px);margin-bottom:8px;-webkit-user-select:none;user-select:none}.not-found-digit{font-family:var(--lp-font-display);font-size:clamp(88px,14vw,160px);font-weight:600;line-height:1;letter-spacing:-.04em;background:linear-gradient(180deg,var(--lp-on-primary) 0%,var(--lp-primary-container) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(122,172,238,.25))}.not-found-edge{position:relative;width:clamp(24px,6vw,60px);height:1px;display:flex;align-items:center;overflow:hidden}.not-found-edge-line{width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(122,172,238,.5) 50%,transparent 100%);opacity:.5}.not-found-edge-left .not-found-edge-line,.not-found-edge-right .not-found-edge-line{animation:not-found-edge-pulse 5s ease-in-out infinite}.not-found-edge-right .not-found-edge-line{animation-delay:1.5s}@keyframes not-found-edge-pulse{0%,to{opacity:.15;transform:scaleX(.5)}50%{opacity:.65;transform:scaleX(.9)}}.not-found-node-container{display:flex;align-items:center;justify-content:center;width:clamp(60px,10vw,100px);height:clamp(60px,10vw,100px);animation:not-found-float 6s ease-in-out infinite}.not-found-node{position:relative;width:14px;height:14px;border-radius:50%;background:var(--lp-on-primary);box-shadow:0 0 12px var(--lp-primary),0 0 24px var(--lp-primary-container)}.not-found-node-core{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--lp-tertiary);mix-blend-mode:overlay}.not-found-node-halo{position:absolute;top:-150%;right:-150%;bottom:-150%;left:-150%;border-radius:50%;border:1px solid rgba(122,172,238,.4);animation:not-found-halo-ripple 2.5s linear infinite}@keyframes not-found-float{0%,to{transform:translate(0)}25%{transform:translate(4px,-6px)}50%{transform:translate(-2px,-10px)}75%{transform:translate(-5px,-3px)}}@keyframes not-found-halo-ripple{0%{transform:scale(.6);opacity:1}to{transform:scale(2.2);opacity:0}}@media(prefers-reduced-motion:reduce){.not-found-edge-line,.not-found-node-container,.not-found-node-halo{animation:none;transform:none!important;opacity:.5}}.not-found-title{font-family:var(--lp-font-display);font-size:clamp(24px,3.2vw,32px);font-weight:600;letter-spacing:-.02em;color:var(--lp-on-surface);margin:0;line-height:1.3}.not-found-message{font-size:15px;line-height:1.7;color:var(--lp-on-surface-variant);margin:0;max-width:440px}.not-found-hint{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-width:460px;padding:16px 20px;background:#7aacee0a;border:1px solid rgba(122,172,238,.12);border-radius:12px;text-align:left}.not-found-hint-label{font-family:var(--lp-font-display);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lp-primary)}.not-found-hint-text{font-size:13.5px;line-height:1.6;color:var(--lp-on-surface-variant)}.not-found-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:16px}.not-found-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:6px;font-family:var(--lp-font-display);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.not-found-btn--primary{background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-container));color:var(--lp-on-primary);border:none;box-shadow:0 4px 24px #7aacee33}.not-found-btn--primary:hover{filter:brightness(1.1);box-shadow:0 4px 32px #7aacee4d}.not-found-btn--secondary{background:#35394066;color:var(--lp-on-surface);border:1px solid rgba(69,70,82,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.not-found-btn--secondary:hover{background:#35394099;border-color:#45465280}@media(max-width:640px){.not-found-main{padding:80px 20px 48px}.not-found-actions{flex-direction:column;width:100%;max-width:280px;gap:12px}.not-found-btn{justify-content:center;width:100%}}:root{--font-sans: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--text-3xs: 8px;--text-2xs: 9px;--text-xs: 10px;--text-sm: 11px;--text-sm-plus: 12px;--text-base: 13px;--text-md: 14px;--text-md-lg: 16px;--text-lg: 18px;--text-xl: 20px;--text-lg-plus: 22px;--text-xl-plus: 26px;--text-2xl: 32px;--text-display-sm: 36px;--text-display-lg: 44px;--text-display: var(--text-display-lg);--text-title: var(--text-xl-plus);--text-title-sm: var(--text-lg-plus);--text-heading: var(--text-xl);--text-subheading: var(--text-md-lg);--text-body: 15px;--text-body-sm: var(--text-base);--text-caption: var(--text-sm-plus);--text-micro: var(--text-sm);--text-nano: var(--text-xs);--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--header-height: 48px;--sidebar-rail-width: 44px;--sidebar-width: 300px;--panel-width: 480px;--color-success: #3a9a6b;--color-warning: #c4913e;--color-error: #c44040;--color-pro: #7c5cbf}:root,[data-theme=dark]{--color-canvas: #111113;--color-bg: #161618;--color-surface: #1c1c1f;--color-surface-raised: #222225;--color-surface-overlay: rgba(28, 28, 31, .94);--color-surface-glass: rgba(28, 28, 31, .75);--color-text-primary: #e8e8e6;--color-text-secondary: #bdbdb8;--color-text-muted: #8f8f8a;--color-text-dim: #6b6b68;--color-text-disabled: #5a5a58;--color-on-accent: #ffffff;--color-on-success: #ffffff;--color-on-warning: #1a1a18;--color-on-error: #ffffff;--color-accent: #5b8dd9;--color-accent-hover: #6d9ce3;--color-accent-subtle: rgba(91, 141, 217, .12);--color-accent-glow: rgba(91, 141, 217, .2);--color-chat-bubble-human: #385a7e;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--color-border-active: rgba(91, 141, 217, .35);--color-interactive-bg: rgba(255, 255, 255, .04);--color-interactive-hover: rgba(255, 255, 255, .07);--color-interactive-active: rgba(255, 255, 255, .1);--color-btn-primary-bg: #5b8dd9;--color-btn-primary-text: #ffffff;--color-btn-secondary: #2a2a2d;--color-btn-secondary-hover: #333336;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-glow: 0 0 16px rgba(91, 141, 217, .12);--glass-heavy-bg: rgba(28, 28, 31, .92);--glass-heavy-blur: blur(16px);--glass-bg: rgba(28, 28, 31, .88);--glass-blur: blur(12px);--glass-light-bg: rgba(28, 28, 31, .75);--glass-light-blur: blur(8px);--glass-border: 1px solid rgba(255, 255, 255, .06);--scrollbar-thumb: rgba(255, 255, 255, .12);--scrollbar-thumb-hover: rgba(255, 255, 255, .22);--color-success: #34d399;--color-warning: #fbbf24;--color-error: #f87171;--color-info: #60a5fa;--accent-rgb: 96, 165, 250}[data-theme=light]{--color-canvas: #e8e8e5;--color-bg: #efefe9;--color-surface: #f6f6f2;--color-surface-raised: #fafaf7;--color-surface-overlay: rgba(246, 246, 242, .94);--color-surface-glass: rgba(246, 246, 242, .75);--color-text-primary: #1a1a18;--color-text-secondary: #4a4a46;--color-text-muted: #6e6e68;--color-text-dim: #9a9a92;--color-text-disabled: #b0b0a8;--color-on-accent: #ffffff;--color-on-success: #ffffff;--color-on-warning: #1a1a18;--color-on-error: #ffffff;--color-accent: #2c5ea8;--color-accent-hover: #1e4f99;--color-accent-subtle: rgba(44, 94, 168, .1);--color-accent-glow: rgba(44, 94, 168, .18);--color-chat-bubble-human: #5078b3;--color-border: rgba(0, 0, 0, .12);--color-border-hover: rgba(0, 0, 0, .22);--color-border-active: rgba(44, 94, 168, .4);--color-interactive-bg: rgba(0, 0, 0, .04);--color-interactive-hover: rgba(0, 0, 0, .07);--color-interactive-active: rgba(0, 0, 0, .11);--color-btn-primary-bg: #2c5ea8;--color-btn-primary-text: #ffffff;--color-btn-secondary: #e8e8e3;--color-btn-secondary-hover: #ddddd7;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .18);--shadow-glow: 0 0 12px rgba(44, 94, 168, .12);--glass-heavy-bg: rgba(246, 246, 242, .94);--glass-heavy-blur: blur(16px);--glass-bg: rgba(246, 246, 242, .9);--glass-blur: blur(12px);--glass-light-bg: rgba(246, 246, 242, .8);--glass-light-blur: blur(8px);--glass-border: 1px solid rgba(0, 0, 0, .1);--scrollbar-thumb: rgba(0, 0, 0, .15);--scrollbar-thumb-hover: rgba(0, 0, 0, .28);--color-success: #267a4c;--color-warning: #9a6c20;--color-error: #b52828;--color-info: #2c5ea8;--accent-rgb: 44, 94, 168}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.glass-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}@supports not (backdrop-filter: blur(1px)){.glass-panel,.sidebar,.settings-page-inner{background:var(--color-surface)}}.text-display{font-size:var(--text-display);font-weight:var(--weight-bold);line-height:1.15;letter-spacing:-.01em}.text-title{font-size:var(--text-title);font-weight:var(--weight-bold);line-height:1.25;letter-spacing:-.005em}.text-title-sm{font-size:var(--text-title-sm);font-weight:var(--weight-semibold);line-height:1.3}.text-heading{font-size:var(--text-heading);font-weight:var(--weight-semibold);line-height:1.35}.text-subheading,.text-subhead{font-size:var(--text-subheading);font-weight:var(--weight-semibold);line-height:1.4}.text-body{font-size:var(--text-body);font-weight:var(--weight-normal);line-height:1.6}.text-body-sm{font-size:var(--text-body-sm);font-weight:var(--weight-normal);line-height:1.6}.text-caption{font-size:var(--text-caption);font-weight:var(--weight-medium);line-height:1.5;color:var(--color-text-secondary)}.text-micro{font-size:var(--text-micro);font-weight:var(--weight-semibold);line-height:1.4}.text-mono{font-size:var(--text-body-sm);font-family:var(--font-mono);line-height:1.4;font-variant-numeric:tabular-nums}:lang(ja) .text-body,:lang(ja) .text-body-sm{line-height:1.7;letter-spacing:.02em}:lang(ja) .report-content{line-height:1.8}.form-select{width:100%;min-height:36px;padding:var(--space-2) calc(var(--space-3) + 18px) var(--space-2) var(--space-3);background-color:var(--color-interactive-bg);background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%2399a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:10px 6px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-body-sm);font-family:var(--font-sans);transition:border-color var(--transition-fast);appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}.form-select:hover{border-color:var(--color-border-hover)}.form-select:focus{border-color:var(--color-border-active);outline:none}.form-select-sm{padding:var(--space-1) calc(var(--space-2) + 16px) var(--space-1) var(--space-2);background-color:var(--color-interactive-bg);background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2399a' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2) center;background-size:10px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--text-caption);font-family:inherit;transition:border-color var(--transition-fast);appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}.form-select-sm:focus{border-color:var(--color-border-active);outline:none}.form-label{font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1);display:block}.form-input{width:100%;padding:var(--space-2) 10px;background:var(--color-interactive-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-body);font-family:inherit;transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-border-active);outline:none}.form-textarea{width:100%;min-height:80px;padding:var(--space-3);background:var(--color-interactive-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-body);font-family:inherit;resize:vertical;line-height:1.6;transition:border-color var(--transition-fast)}.form-textarea:focus{border-color:var(--color-border-active);outline:none}.form-error{color:var(--color-error);font-size:var(--text-body-sm);margin-top:var(--space-1)}.form-row{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.form-col{flex:1}*{margin:0;padding:0;box-sizing:border-box}.theme-transitioning,.theme-transitioning *,.theme-transitioning *:before,.theme-transitioning *:after{transition:background .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease!important}.theme-transitioning *::-webkit-slider-thumb{transition:background .35s ease,border-color .35s ease!important}.theme-transitioning *::-moz-range-thumb{transition:background .35s ease,border-color .35s ease!important}.no-transition,.no-transition *,.no-transition *:before,.no-transition *:after{transition:none!important}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}#root{height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);height:var(--header-height);background:var(--color-surface-raised);border-bottom:var(--glass-border);flex-shrink:0;z-index:30}.header-left{display:flex;align-items:center;gap:var(--space-1)}.header-center{display:flex;align-items:center;gap:var(--space-2);position:absolute;left:50%;transform:translate(-50%)}.header-center h1{font-family:Noto Sans JP,sans-serif;font-size:var(--text-lg);font-weight:700;color:var(--color-text-secondary);letter-spacing:.25em;margin:0;display:flex;align-items:center;gap:var(--space-2)}.header-logo{flex-shrink:0}.header-logotype{flex-shrink:0;color:var(--color-text-secondary);display:block}.header-logo-btn{background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;letter-spacing:inherit;display:flex;align-items:center;gap:var(--space-2);cursor:pointer;transition:opacity .15s}.header-logo-btn:hover{opacity:.75}.header-right{display:flex;align-items:center;gap:var(--space-2)}.header-icon-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-lg);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.header-icon-btn:hover{background:var(--color-interactive-hover);color:var(--color-text-primary)}.header-new-wrap{position:relative;display:inline-flex}.header-new-btn{width:auto;min-width:34px;padding:0 9px;gap:0;overflow:hidden}.header-new-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:var(--text-sm);transition:max-width var(--transition-normal),opacity var(--transition-normal),margin var(--transition-normal);margin-left:0}.header-new-wrap:hover .header-new-label{max-width:80px;opacity:1;margin-left:4px}.header-new-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility 0s linear var(--transition-fast);z-index:30}.header-new-dropdown:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.header-new-wrap:hover .header-new-dropdown,.header-new-wrap:focus-within .header-new-dropdown{opacity:1;visibility:visible;transform:translateY(0);transition:opacity var(--transition-fast),transform var(--transition-fast)}.header-new-dropdown-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:0;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-sm-plus);color:var(--color-text-primary);text-align:left;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.header-new-dropdown-item:hover{background:var(--color-interactive-hover)}.header-new-dropdown-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.header-new-dropdown-dot--diagnosis{background:var(--color-accent)}.header-new-dropdown-dot--compatibility{background:#5bbd72}.header-new-dropdown-dot--process{background:var(--color-text-muted)}@media(hover:none){.header-new-dropdown{display:none}}.header-avatar-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--color-interactive-bg);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.header-avatar-btn:hover{background:var(--color-interactive-hover);border-color:var(--color-border-hover)}.user-menu-wrapper{position:relative}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);width:200px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;padding:var(--space-2) 0;animation:dropdown-in .15s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-email{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-avatar{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-interactive-bg);border:1px solid var(--color-border);border-radius:50%;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.user-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);background:transparent;border:none;color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-sans);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.user-menu-item:hover{background:var(--color-interactive-hover)}.user-menu-divider{height:1px;background:var(--color-border);margin:var(--space-1) 0}.user-menu-billing{padding:var(--space-2) var(--space-4)}.user-menu-plan{margin-bottom:var(--space-2)}.user-menu-plan-badge{display:inline-block;padding:1px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em}.user-menu-plan-badge.pro,.user-menu-plan-badge.ultra{background:var(--color-accent-subtle);color:var(--color-accent)}.user-menu-plan-badge.plus{background:#38bdf826;color:#38bdf8}.user-menu-plan-badge.free{background:var(--color-interactive-bg);color:var(--color-text-secondary)}.user-menu-quota-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:4px}.user-menu-quota-bar{height:4px;background:var(--color-interactive-bg);border-radius:2px;overflow:hidden;margin-bottom:4px}.user-menu-quota-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width var(--transition-normal)}.user-menu-quota-text{font-size:var(--text-xs);color:var(--color-text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-main{flex:1;display:flex;overflow:hidden;position:relative}.sidebar-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:19;background:#0000004d;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sidebar{position:absolute;top:0;left:0;width:280px;height:100%;z-index:20;background:var(--glass-heavy-bg);backdrop-filter:var(--glass-heavy-blur);-webkit-backdrop-filter:var(--glass-heavy-blur);border-right:var(--glass-border);display:flex;flex-direction:column;overflow:hidden;transform:translate(-100%);transition:transform var(--transition-normal);pointer-events:none}.sidebar.open{transform:translate(0);pointer-events:auto;box-shadow:var(--shadow-lg)}.sidebar-close-btn{position:absolute;top:var(--space-2);right:var(--space-2);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-md-lg);cursor:pointer;z-index:1;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-close-btn:hover{background:var(--color-interactive-hover);color:var(--color-text-primary)}.main-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.graph-area{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--color-canvas)}.continue-bar{position:absolute;bottom:var(--space-3);left:12px;width:200px;z-index:10;transition:width .25s cubic-bezier(.4,0,.2,1)}.continue-bar.expanded{width:min(520px,calc(100% - 28px))}.continue-bar-inner{display:flex;align-items:flex-end;gap:var(--space-2);padding:6px var(--space-2);background:var(--color-surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:none;transition:box-shadow .25s ease,border-color .25s ease}.continue-bar.expanded .continue-bar-inner{padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-lg);border-color:var(--color-border-active)}.continue-bar-input{flex:1;height:28px;max-height:120px;padding:0 var(--space-1);background:transparent;border:none;outline:none;color:var(--color-text-primary);font-size:var(--text-sm);font-family:var(--font-sans);line-height:28px;resize:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.continue-bar.expanded .continue-bar-input{height:auto;min-height:60px;line-height:1.5;overflow-y:auto;white-space:pre-wrap;text-overflow:unset}.continue-bar.expanded .continue-bar-input:placeholder-shown{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-bar-input::placeholder{color:var(--color-text-muted)}.continue-bar-submit{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-bg);cursor:pointer;opacity:0;transform:scale(.8);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.continue-bar:focus-within .continue-bar-submit,.continue-bar.has-text .continue-bar-submit{opacity:1;transform:scale(1);pointer-events:auto}.continue-bar-submit:hover:not(:disabled){opacity:.85}.continue-bar-submit:disabled{opacity:.4;cursor:default}.continue-bar.has-text .continue-bar-submit:disabled{opacity:.4}.continue-bar-spinner{width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.continue-bar-open-btn{display:none}.continue-bar-error{margin-top:var(--space-1);padding:0 var(--space-3);font-size:var(--text-xs);color:var(--color-error)}.quota-paused-bar{position:absolute;bottom:var(--space-3);left:12px;z-index:10}.quota-paused-icon-btn{display:none}.quota-paused-panel{width:min-content;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-warning, #f59e0b);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-lg)}.quota-paused-message{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2);line-height:1.4;word-break:break-word}.quota-paused-actions{display:flex;flex-direction:column;gap:var(--space-2)}.quota-paused-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:1px solid transparent;transition:opacity .15s;text-align:center;white-space:nowrap;min-width:180px}.quota-paused-btn:hover:not(:disabled){opacity:.85}.quota-paused-btn:disabled{opacity:.4;cursor:default}.quota-paused-btn-primary{background:var(--color-accent);color:#fff}.quota-paused-btn-secondary{background:transparent;border-color:var(--color-border);color:var(--color-text)}.quota-paused-btn-resume{background:var(--color-success, #22c55e);color:#fff}.quota-paused-error{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-error)}.quota-blocked-actions{text-align:center}.quota-blocked-message{font-size:var(--text-sm);color:var(--color-warning, #f59e0b);margin-bottom:var(--space-2)}.quota-blocked-buttons{display:flex;gap:var(--space-2);justify-content:center}.status-bar{height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.status-bar-left{display:flex;align-items:center;gap:var(--space-2)}.status-bar-right{display:flex;align-items:center;gap:var(--space-3)}.status-bar-quota{cursor:pointer;transition:color var(--transition-fast)}.status-bar-quota:hover{color:var(--color-text-primary)}.status-bar-quota.warning{color:var(--color-warning)}.status-bar-quota.error{color:var(--color-error)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-text-muted)}.status-dot.connected{background:var(--color-success)}.status-dot.analyzing{background:var(--color-success);animation:pulse-dot 1.5s ease-in-out infinite}.status-analyzing-text{color:var(--color-success)}.status-background-count{color:var(--color-text-muted);font-size:var(--text-2xs);margin-left:var(--space-1);cursor:default}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.new-conversation-btn{width:100%;padding:var(--space-2) var(--space-3);background:var(--color-btn-secondary);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);cursor:pointer;font-family:var(--font-sans);transition:background var(--transition-fast),border-color var(--transition-fast)}.new-conversation-btn:hover{background:var(--color-btn-secondary-hover);border-color:var(--color-border-active)}.new-conversation-btn[data-active]{background:var(--color-interactive-active);border-color:var(--color-border-active)}.sidebar-section{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.sidebar-section h2{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.conversation-list{flex:1;overflow-y:auto;padding:var(--space-2)}.conv-date-group{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.sidebar-user-section{flex-shrink:0;border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4)}.sidebar-user-info{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-2)}.sidebar-user-name{font-size:var(--text-body-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-plan{font-size:var(--text-caption);color:var(--color-text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sidebar-settings-btn{width:100%;padding:var(--space-2);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-body-sm);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-settings-btn:hover{background:var(--color-interactive-hover);color:var(--color-text-primary)}.conv-type-badge{display:inline-block;font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:1px var(--space-1);border-radius:var(--radius-sm);line-height:1.4;margin-bottom:2px}.conv-type-diagnosis{color:var(--color-accent);background:#5b8dd926}.conv-type-process{color:var(--color-text-secondary);background:var(--color-surface-raised);border:1px solid var(--color-border)}.conv-type-compatibility{color:#5bbd72;background:#22aa5026}[data-theme=light] .conv-type-diagnosis{color:var(--color-accent);background:#2c5ea81a}[data-theme=light] .conv-type-process{color:var(--color-text-secondary);background:var(--color-surface-raised)}[data-theme=light] .conv-type-compatibility{color:#2d8a45;background:#22aa501a}.conversation-item{padding:10px var(--space-3);border-radius:var(--radius-md);cursor:pointer;margin-bottom:var(--space-1);font-size:var(--text-base);color:var(--color-text-secondary);transition:background var(--transition-fast)}.conversation-item:hover{background:var(--color-interactive-hover)}.conversation-item.active{background:var(--color-interactive-active);color:var(--color-text-primary)}.conversation-item--button{display:block;width:100%;border:none;background:transparent;text-align:left;font:inherit;color:inherit}.conv-title-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-1)}.conv-title-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-actions{display:flex;visibility:hidden;gap:2px;flex-shrink:0}.conversation-item:hover .conv-actions{visibility:visible}.conv-action-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-body-sm);padding:var(--space-1) var(--space-2);line-height:1;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.conv-action-btn:hover{color:var(--color-text-primary);background:#ffffff1a}.conv-delete-btn:hover{color:var(--color-error);background:#ff00001a}.conv-title-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--color-accent);border-radius:0;color:var(--color-text-primary);font-size:inherit;line-height:inherit;padding:0;font-family:var(--font-sans);outline:none}.conv-title-input:focus{border-bottom-color:var(--color-accent)}.input-area{display:flex;flex-direction:column;gap:var(--space-3)}.input-area textarea{width:100%;height:160px;padding:var(--space-3);background:var(--color-interactive-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-body);resize:vertical;font-family:var(--font-sans);line-height:1.6;transition:border-color var(--transition-fast)}.input-area textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #7b8cff1a}.input-area button{padding:var(--space-3) var(--space-5);min-height:44px;background:var(--color-btn-primary-bg);color:var(--color-on-accent);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-body);font-weight:var(--weight-semibold);font-family:var(--font-sans);transition:opacity var(--transition-fast),box-shadow var(--transition-fast)}.input-area button:hover:not(:disabled){box-shadow:var(--shadow-glow);opacity:.88}.input-area button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.analyze-screen{width:100%;max-width:600px;margin:0 auto;padding:var(--space-8) var(--space-4)}.analyze-screen .input-area{width:100%}.analyze-screen .input-area .form-input{font-size:var(--text-body);padding:var(--space-3)}.analyze-loading{font-size:var(--text-body);color:var(--color-text-secondary);text-align:center;padding:var(--space-12) 0;margin:0}.analyze-try-sample{align-self:center;margin-top:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-body-sm);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.analyze-rerun-banner{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.3);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-body-sm);line-height:1.5}.analyze-rerun-banner svg{flex-shrink:0;margin-top:2px;color:var(--color-accent)}.analyze-try-sample:hover{background:var(--color-interactive-hover);color:var(--color-text-primary);border-color:var(--color-border-hover)}.graph-row{flex:1;display:flex;flex-direction:row;min-height:0;overflow:hidden}.graph-container{flex:1;min-width:0;position:relative;overflow:hidden;background:var(--color-canvas)}.detail-panel{width:var(--panel-width);background:var(--color-surface);border-left:1px solid var(--color-border);padding:var(--space-4);overflow-y:auto}.detail-panel h3{font-size:var(--text-subheading);font-weight:var(--weight-semibold);margin-bottom:var(--space-3);color:var(--color-accent);line-height:1.35}.detail-panel .field{margin-bottom:var(--space-3)}.detail-panel .field-label{font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.detail-panel .field-value{font-size:var(--text-body-sm);line-height:1.6;color:var(--color-text-primary)}.detail-empty{color:var(--color-text-secondary);font-size:var(--text-body-sm)}.detail-original-text{font-size:var(--text-body-sm);line-height:1.6;color:var(--color-text-secondary)}.detail-sub-list{margin:0;padding-left:18px;font-size:var(--text-body-sm);line-height:1.7}.detail-sub-item{margin-bottom:2px}.detail-sub-item.has-targets{margin-bottom:var(--space-2)}.detail-sub-item.addressed{opacity:.85}.detail-badge{margin-left:6px;font-size:var(--text-nano);font-weight:var(--weight-bold);letter-spacing:.02em}.detail-badge-connected{color:var(--color-success)}.detail-badge-undiscussed{color:var(--color-warning)}.detail-targets{margin:2px 0 0;padding-left:14px;font-size:var(--text-caption);list-style:none}.detail-target{opacity:.8}.detail-target.clickable{cursor:pointer;text-decoration:underline}.detail-target.explicit{color:var(--color-success);text-decoration-color:#335544b3}.detail-target.implicit{color:var(--color-info);text-decoration-color:#333355b3}.detail-weight{margin-left:4px;font-size:var(--text-nano);color:var(--color-text-muted)}.badge{display:inline-block;padding:2px var(--space-2);border-radius:10px;font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:.01em}.badge-premise{background:var(--color-interactive-hover);color:var(--color-success)}.badge-deepening{background:var(--color-interactive-hover);color:var(--color-info)}.badge-branching{background:var(--color-interactive-hover);color:var(--color-warning)}.badge-convergence{background:var(--color-interactive-hover);color:#9b7cc4}.badge-question{background:var(--color-interactive-hover);color:#b0a040}.badge-insight{background:var(--color-interactive-hover);color:#c07080}.react-flow__node-thought{padding:10px var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-sm-plus);max-width:220px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.react-flow__background{background:var(--color-canvas)}.timeline-bar{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:10px;background:var(--color-surface-overlay);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:6px var(--space-4);border-radius:var(--radius-lg);border:var(--glass-border);z-index:5;min-width:320px}.timeline-play-btn{width:28px;height:28px;border:none;border-radius:50%;background:var(--color-accent);color:#fff;font-size:var(--text-sm-plus);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast);flex-shrink:0}.timeline-play-btn:hover{opacity:.85}.timeline-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:#7878b433;border-radius:2px;outline:none;cursor:pointer}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-accent-hover);cursor:pointer}.timeline-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-accent-hover);cursor:pointer}.timeline-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;min-width:48px;text-align:right;flex-shrink:0}.analysis-tab{padding:var(--space-1) 10px;background:var(--color-interactive-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;font-family:var(--font-sans);transition:background var(--transition-fast),border-color var(--transition-fast)}.analysis-tab.active{background:var(--color-accent-subtle);border-color:var(--color-border-active);color:var(--color-text-primary)}.analysis-tab.add-btn{border-style:dashed;border-color:var(--color-border-hover);color:var(--color-text-secondary)}.usage-compact{display:flex;align-items:center;gap:6px;background:var(--color-surface-overlay);padding:var(--space-1) 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:var(--text-xs);white-space:nowrap;cursor:help;flex-shrink:0;font-variant-numeric:tabular-nums}.usage-label{color:var(--color-text-muted);font-weight:var(--weight-semibold)}.usage-value{color:#e0e080;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.usage-yen{color:var(--color-text-dim)}.add-analysis-form{background:var(--color-surface-overlay);padding:var(--space-2) 10px;border-radius:var(--radius-md);border:1px solid var(--color-border);margin-top:var(--space-2)}.add-analysis-run-btn{padding:var(--space-1) var(--space-3);background:var(--color-accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:var(--text-sm);cursor:pointer;font-family:var(--font-sans);transition:opacity var(--transition-fast)}.add-analysis-run-btn:hover{opacity:.85}.analysis-tabs{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin-bottom:var(--space-2)}.analysis-progress{font-size:var(--text-xs);color:var(--color-success);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-bottom:6px;padding:2px 0}.analysis-add-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.analysis-smart-msg{font-size:var(--text-xs);margin-top:var(--space-1)}.analysis-stats{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2)}.analysis-cost-row{display:flex;gap:var(--space-2);align-items:center;margin-top:6px;flex-wrap:wrap}.usage-compact.usage-estimate{border-color:var(--color-border-hover)}.dim-half{opacity:.5}.add-analysis-run-btn:disabled{opacity:.4;cursor:wait}.right-info-panel{position:absolute;top:var(--space-2);right:var(--space-3);z-index:10;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:var(--glass-border);max-width:280px;max-height:calc(100% - 70px);display:flex;flex-direction:column;overflow:hidden}.right-panel-tabs{display:flex;border-bottom:1px solid var(--color-border);flex-shrink:0}.right-panel-tab{flex:1;padding:6px 10px;background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;font-family:var(--font-sans);white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.right-panel-tab:hover{background:var(--color-interactive-hover)}.right-panel-tab.active{color:var(--color-text-primary);background:var(--color-interactive-active);box-shadow:inset 0 -2px 0 var(--color-accent)}.right-panel-content{padding:var(--space-2) var(--space-3);overflow-y:auto;flex:1;min-height:0}.report-content{font-size:var(--text-body-sm);color:var(--color-text-primary);line-height:1.7;padding:var(--space-3)}.report-section-title{font-weight:var(--weight-semibold);font-size:var(--text-subheading);color:var(--color-text-primary);margin-bottom:var(--space-2);margin-top:var(--space-4);line-height:1.35}.report-section-title:first-child{margin-top:0}.report-block{padding-top:var(--space-5);margin-top:var(--space-5);border-top:1px solid var(--color-border)}.report-block:first-of-type{padding-top:0;margin-top:0;border-top:none}.report-block .report-section-title{margin-top:0;color:var(--color-info)}.report-block-undiscussed .report-section-title{color:var(--color-warning)}.report-block-text{font-size:var(--text-body-sm);line-height:1.7;color:var(--color-text-primary)}.report-list{margin:var(--space-2) 0 0;padding-left:var(--space-5);font-size:var(--text-body-sm);line-height:1.7}.report-list-item{margin-bottom:var(--space-2)}.report-list-item:last-child{margin-bottom:0}.report-turning-point{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-interactive-bg);border-left:2px solid var(--color-border-hover);border-radius:var(--radius-sm);line-height:1.6}.report-turning-point:last-child{margin-bottom:0}.report-turning-point-header{font-size:var(--text-caption);color:var(--color-text-muted)}.report-turning-point-header.is-clickable{cursor:pointer}.report-turning-point-header.is-clickable:hover .report-turning-point-headline{text-decoration:underline;text-decoration-color:var(--color-text-muted)}.report-turning-point-index{font-variant-numeric:tabular-nums}.report-turning-point-headline{color:var(--color-text-muted)}.report-turning-point-desc{margin-top:2px;font-size:var(--text-body-sm);color:var(--color-text-primary);line-height:1.7}.report-generate-btn{width:100%;padding:var(--space-2) var(--space-3);margin-bottom:10px;background:var(--color-btn-secondary);border:1px solid var(--color-border-hover);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--text-body-sm);cursor:pointer;font-family:var(--font-sans);transition:background var(--transition-fast),border-color var(--transition-fast)}.report-generate-btn:hover:not(:disabled){background:var(--color-btn-secondary-hover);border-color:var(--color-border-active)}.report-generate-btn:disabled{opacity:.5;cursor:not-allowed}.report-generate-btn--upsell{display:block;text-align:center;text-decoration:none;background:var(--color-accent, var(--color-btn-secondary));border-color:var(--color-accent, var(--color-border-hover));color:var(--color-text-on-accent, var(--color-text-primary))}.report-generate-btn--upsell:hover{filter:brightness(1.1)}.settings-pro-upsell-value{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);flex-wrap:wrap}.settings-pro-upsell-text{font-size:var(--text-body-sm);color:var(--color-text-secondary)}.settings-stripe-plan-change-note{font-size:var(--text-body-sm);color:var(--color-text-secondary);margin:var(--space-2) 0 0;padding:var(--space-2);background:var(--color-surface-elevated, var(--color-surface));border-radius:var(--radius-sm);border-left:3px solid var(--color-warning, var(--color-accent))}.nodes-content{padding:var(--space-2) 0}.node-list-item{padding:var(--space-2) var(--space-3);background:transparent;border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-body-sm);cursor:pointer;text-align:left;display:flex;align-items:flex-start;gap:var(--space-1);width:100%;font-family:var(--font-sans);line-height:1.5;outline:none;transition:background var(--transition-fast)}.node-list-item:first-child{border-top-color:transparent}.node-list-item:hover{background:var(--color-interactive-hover)}.node-list-item.active{background:var(--color-accent-subtle);color:var(--color-text-primary)}.node-list-item.highlighted{background:var(--color-interactive-hover);color:var(--color-text-primary)}.node-list-item.dimmed,.node-list-item.dimmed .node-list-index{color:var(--color-text-dim)}.node-list-item.dimmed .node-list-dot{opacity:.3}.node-list-index{color:var(--color-text-muted);font-size:var(--text-micro);min-width:16px;text-align:right;flex-shrink:0;line-height:1.6;font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);margin-right:var(--space-1)}.node-list-item.active .node-list-index,.node-list-item.highlighted .node-list-index{color:var(--color-accent);font-weight:var(--weight-bold)}.node-list-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0;margin-top:6px}.node-list-label{white-space:normal;word-break:break-word}.node-list-headline{display:block;font-weight:var(--weight-semibold);font-size:var(--text-body-sm);line-height:1.4}.node-list-summary{display:block;font-size:var(--text-caption);color:var(--color-text-muted);margin-top:2px;line-height:1.4}.node-detail-inline{margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border);cursor:default}.node-detail-header{display:flex;align-items:center;margin-bottom:6px;gap:var(--space-1)}.node-detail-summary{font-size:var(--text-body-sm);line-height:1.6;color:var(--color-text-primary);margin-bottom:6px}.node-detail-content{font-size:var(--text-caption);line-height:1.6;color:var(--color-text-secondary);margin-bottom:6px;max-height:96px;overflow-y:auto;border-top:1px solid var(--color-border);padding-top:var(--space-2)}.node-detail-items{border-top:1px solid var(--color-border);padding-top:6px}.node-detail-item{font-size:var(--text-caption);margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-interactive-bg);border-left:2px solid var(--color-border-hover);border-radius:var(--radius-sm);line-height:1.6}.node-detail-item:last-child{margin-bottom:0}.node-detail-speaker{font-size:var(--text-caption);color:var(--color-text-secondary);margin-left:var(--space-2)}.node-detail-items-label{font-size:var(--text-micro);color:var(--color-text-secondary);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.node-detail-status{margin-left:var(--space-1);font-size:var(--text-nano);font-weight:var(--weight-bold)}.node-detail-status-connected{color:var(--color-success)}.node-detail-status-undiscussed{color:var(--color-warning)}.node-detail-targets{padding-left:var(--space-2);margin-top:var(--space-1)}.node-detail-target{font-size:var(--text-caption);cursor:pointer;margin-top:2px;line-height:1.5}.node-detail-target.is-explicit{color:var(--color-success)}.node-detail-target.is-implicit{color:var(--color-text-muted)}.node-detail-target-index{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.node-detail-target-weight{margin-left:var(--space-1);color:var(--color-text-muted)}.groups-content{display:flex;flex-direction:column;padding:0;overflow:hidden}.groups-list{flex-shrink:0;max-height:45%;overflow-y:auto;padding:0;border-bottom:1px solid var(--color-border)}.groups-detail{flex:1;min-height:0;overflow-y:auto;padding:var(--space-3)}.groups-detail-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;color:var(--color-text-muted);font-size:var(--text-body-sm);text-align:center;padding:var(--space-6)}.groups-detail .cluster-detail{padding:0}.groups-content.is-drilldown-list .groups-detail{display:none}.groups-content.is-drilldown-list .groups-list{max-height:none;flex:1;border-bottom:none}.groups-content.is-drilldown-detail .groups-list{display:none}.groups-content.is-drilldown-detail .groups-detail{border-top:none}.nodes-content.is-drilldown-detail .node-list-item:not(.active){display:none}.drilldown-back{flex-shrink:0;padding:var(--space-3);background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-body-sm);font-weight:500;text-align:left;cursor:pointer;width:100%}.drilldown-back:hover,.drilldown-back:active{background:var(--color-interactive-bg);color:var(--color-text-primary)}.group-btn{padding:var(--space-3);background:transparent;border:none;border-top:1px solid var(--color-border);border-radius:0;color:var(--color-text-secondary);font-size:var(--text-body-sm);cursor:pointer;text-align:left;display:flex;align-items:center;gap:var(--space-2);width:100%;font-family:var(--font-sans);line-height:1.4}.groups-list>.group-btn:first-child,.group-section-label+.group-btn{border-top-color:transparent}.group-btn:hover{background:var(--color-interactive-hover)}.group-btn.active{background:var(--color-accent-subtle);color:var(--color-text-primary);font-weight:var(--weight-semibold)}.group-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0;box-shadow:0 0 0 1px #ffffff14}.group-section{border-top:1px solid var(--color-border)}.groups-list>.group-section:first-child{border-top:none}.group-section-label{font-size:var(--text-micro);color:var(--color-text-secondary);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-2) var(--space-3)}.cluster-detail{font-size:var(--text-body-sm);color:var(--color-text-primary);padding:var(--space-3);line-height:1.7}.cluster-analysis-text{margin-bottom:var(--space-3);font-size:var(--text-body-sm);line-height:1.7;color:var(--color-text-primary)}.cluster-ideas{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.cluster-ideas-summary{margin-bottom:var(--space-3);font-size:var(--text-caption);color:var(--color-text-secondary)}.cluster-ideas-section{margin-bottom:var(--space-3)}.cluster-ideas-section:last-child{margin-bottom:0}.cluster-ideas-section-label{font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.cluster-ideas-section-label--connected{color:var(--color-success)}.cluster-ideas-section-label--undiscussed{color:var(--color-warning)}.cluster-idea-item{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-interactive-bg);border-left:2px solid var(--color-border-hover);border-radius:var(--radius-sm);font-size:var(--text-caption);line-height:1.6}.cluster-idea-item:last-child{margin-bottom:0}.cluster-idea-item--clickable{cursor:pointer;transition:background var(--transition-fast)}.cluster-idea-item--clickable:hover{background:var(--color-interactive-hover)}.cluster-idea-status{margin-left:var(--space-1);font-size:var(--text-nano);font-weight:var(--weight-bold)}.cluster-idea-status--connected{color:var(--color-success)}.cluster-idea-status--undiscussed{color:var(--color-warning)}.cluster-idea-content{color:var(--color-text-primary)}.cluster-idea-target{margin-top:var(--space-1);padding-left:var(--space-3);color:var(--color-success);cursor:pointer;font-size:var(--text-caption)}.cluster-idea-target:hover{color:var(--color-success);text-decoration:underline;text-decoration-color:#7fcfa099}.cluster-idea-target-index{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.cluster-idea-target-weight{margin-left:var(--space-1);color:var(--color-text-muted)}.cluster-empty-note{color:var(--color-text-secondary);font-size:var(--text-caption)}.stale-notice{background:#d4a0561f;border:1px solid rgba(212,160,86,.3);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--text-nano);color:var(--color-warning);margin-bottom:6px;font-weight:var(--weight-semibold)}.stale-badge{font-size:var(--text-3xs);background:#d4a05633;color:var(--color-warning);padding:1px var(--space-1);border-radius:3px;margin-left:var(--space-1)}.new-badge{font-size:var(--text-3xs);background:#80a0e033;color:var(--color-info);padding:1px var(--space-1);border-radius:3px;margin-left:var(--space-1)}.cluster-report-separator{border-top:1px dashed var(--color-border);padding-top:6px;margin-top:6px}.report-panel{width:var(--panel-width);flex-shrink:0;background:var(--color-surface);border-left:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.report-panel .right-panel-tabs{flex-shrink:0}.bottom-sheet-handle{display:none;align-items:center;justify-content:center;width:100%;height:20px;padding:6px 0;flex-shrink:0;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;background:var(--color-surface)}.bottom-sheet-handle:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--color-text-dim);opacity:.7;transition:background .15s,opacity .15s}.bottom-sheet-handle:active:before{background:var(--color-text-muted);opacity:1}.diagnosis-panel-content{display:flex;flex-direction:column;flex:1;padding:16px;gap:16px;overflow-y:auto}.diagnosis-generating{display:flex;align-items:center;justify-content:center;gap:6px;padding:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.diagnosis-generating .diagnosis-spinner{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:diagnosis-spin .8s linear infinite}.diagnosis-analyzing-status{position:absolute;left:50%;bottom:var(--space-6);transform:translate(-50%);z-index:11;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--glass-heavy-bg);backdrop-filter:var(--glass-heavy-blur);-webkit-backdrop-filter:var(--glass-heavy-blur);border:1px solid var(--color-border);border-radius:var(--radius-full, 999px);box-shadow:var(--shadow-md);color:var(--color-text-primary);font-size:var(--text-body-sm);max-width:calc(100% - var(--space-8))}.diagnosis-analyzing-status .diagnosis-spinner{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:diagnosis-spin .8s linear infinite;flex-shrink:0}.diagnosis-analyzing-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes diagnosis-spin{to{transform:rotate(360deg)}}.report-panel .right-panel-content{flex:1;min-height:0;overflow-y:auto}.report-panel .report-content{font-size:var(--text-sm-plus);color:var(--color-text-primary);line-height:1.7}.report-panel .right-panel-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.node-popup{width:280px;max-height:340px;overflow-y:auto;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--color-border-hover);border-radius:var(--radius-lg);padding:10px var(--space-3);font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.5;pointer-events:auto;transform:translate(calc(-100% - 36px),-50%);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.node-popup-header{display:flex;align-items:center;margin-bottom:6px;gap:var(--space-1)}.node-popup-summary{font-size:var(--text-sm-plus);line-height:1.6;color:var(--color-text-primary);margin-bottom:6px}.node-popup-content{font-size:var(--text-xs);line-height:1.5;color:var(--color-text-secondary);margin-bottom:6px;max-height:60px;overflow-y:auto;border-top:1px solid var(--color-border);padding-top:var(--space-1)}.node-popup-items{border-top:1px solid var(--color-border);padding-top:6px}.node-popup-item{font-size:var(--text-xs);margin-bottom:var(--space-1);line-height:1.4}.layer-panel{position:absolute;top:var(--space-3);right:var(--space-3);z-index:10;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);width:160px;max-height:calc(100% - 70px);overflow-y:auto;font-size:var(--text-caption);color:var(--color-text-secondary)}.layer-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);border-bottom:1px solid var(--color-border);font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.layer-panel-clear{background:none;border:none;color:var(--color-warning);font-size:var(--text-xs);cursor:pointer;padding:0 var(--space-1);border-radius:var(--radius-sm);font-family:var(--font-sans);line-height:1}.layer-panel-clear:hover{background:#d4a05626}.layer-panel-toggle{display:inline-flex;align-items:center;font-size:var(--text-sm);color:var(--color-text-muted);margin-left:auto;flex-shrink:0}.layer-panel-header{cursor:pointer}.layer-panel-collapsed .layer-group{display:none}.layer-panel-collapsed{max-height:none;overflow:visible}.layer-panel-collapsed .layer-panel-header{border-bottom:none}.layer-group{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--color-border)}.layer-group:last-child{border-bottom:none}.layer-group-label{grid-column:1 / -1;padding:var(--space-1) var(--space-2) 2px;font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.layer-item{display:flex;align-items:center;gap:6px;width:100%;padding:var(--space-1) var(--space-2);background:none;border:none;color:var(--color-text-primary);font-size:var(--text-caption);cursor:pointer;font-family:var(--font-sans);text-align:left;transition:background .1s,opacity var(--transition-fast)}.layer-item:hover{background:var(--color-interactive-hover)}.layer-item.active{background:var(--color-accent-subtle);color:var(--color-text-primary)}.layer-item.dimmed{opacity:.35}.layer-swatch{width:8px;height:8px;display:inline-block;flex-shrink:0}.layer-line-swatch{width:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.layer-label{flex:1;min-width:0;white-space:nowrap}.layer-eye{color:var(--color-accent);font-size:var(--text-sm);flex-shrink:0}.mode-toolbar{position:absolute;top:12px;left:12px;z-index:10;display:flex;flex-direction:column;gap:var(--space-1);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:var(--space-1);border-radius:var(--radius-md);border:var(--glass-border)}.mode-toolbar-btn{width:30px;height:30px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.mode-toolbar-btn:hover{background:var(--color-interactive-hover);color:var(--color-text-primary)}.mode-toolbar-btn.active{background:var(--color-accent-subtle);border-color:var(--color-border-active);color:var(--color-text-primary)}.zoom-toolbar.zoom-toolbar-top{top:12px}.zoom-toolbar{position:absolute;left:12px;top:90px;z-index:10;display:flex;flex-direction:column;gap:var(--space-1);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:var(--space-1);border-radius:var(--radius-md);border:var(--glass-border)}.graph-container.box-select-mode{cursor:crosshair}.graph-container.box-select-space{cursor:grab}.box-select-rect{position:absolute;border:1px solid var(--color-accent);background:#7b8cff1f;pointer-events:none;z-index:6}.box-select-indicator{position:absolute;top:var(--space-2);left:50%;transform:translate(-50%);z-index:11;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:5px var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-accent);font-size:var(--text-sm);color:var(--color-text-primary);display:flex;align-items:center;gap:10px;white-space:nowrap}.box-select-count{color:var(--color-accent);font-weight:var(--weight-semibold)}.box-select-create-btn{padding:2px var(--space-2);background:var(--color-accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:var(--text-xs);cursor:pointer;font-family:var(--font-sans);transition:opacity var(--transition-fast)}.box-select-create-btn:hover{opacity:.85}.box-select-clear-btn{padding:2px var(--space-2);background:transparent;border:1px solid var(--color-border-hover);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;font-family:var(--font-sans);transition:background var(--transition-fast)}.box-select-clear-btn:hover{background:var(--color-interactive-hover)}.selection-name-input{flex:1;min-width:0;background:transparent;border:none;border-bottom:1px solid var(--color-accent);border-radius:0;color:var(--color-text-primary);font-size:inherit;line-height:inherit;padding:0;outline:none;font-family:inherit}.selection-actions{display:flex;visibility:hidden}.group-btn:hover .selection-actions,.group-btn.active .selection-actions{visibility:visible}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-canvas);z-index:10}.loading-overlay .loading-text{color:var(--color-text-primary);font-size:var(--text-base)}.sidebar-progress{padding:var(--space-2) 12px;font-size:var(--text-xs);color:var(--color-accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sidebar-empty-msg{color:var(--color-text-muted);font-size:var(--text-base);padding:var(--space-2) 12px}.loading-text{font-size:var(--text-lg);color:var(--color-accent)}.analyzing-waiting{flex-direction:column;gap:var(--space-4)}.analyzing-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:analyzing-spin .8s linear infinite}@keyframes analyzing-spin{to{transform:rotate(360deg)}}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:analyzing-spin .8s linear infinite;margin-right:6px;vertical-align:middle}@keyframes skeleton-pulse{0%,to{opacity:.15}50%{opacity:.3}}.skeleton-title,.skeleton-subtitle,.skeleton-textarea,.skeleton-card,.skeleton-line{background:var(--color-text-muted);border-radius:var(--radius-md);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-title{width:160px;height:32px;margin-bottom:var(--space-2);border-radius:var(--radius-sm)}.skeleton-subtitle{width:240px;height:16px;margin-bottom:var(--space-8)}.skeleton-textarea{max-width:680px;width:calc(100% - var(--space-6) * 2);height:120px;border-radius:var(--radius-lg)}.skeleton-card{height:72px;border-radius:var(--radius-lg)}.skeleton-line{height:12px}.skeleton-mode-card{border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-mode-card--secondary{min-height:460px;opacity:.92}.skeleton-mode-card--compact{flex:1 1 0;min-height:0}@media(max-width:1024px){.skeleton-mode-card--secondary{min-height:340px}.skeleton-mode-card--compact{min-height:200px}}.empty-state{display:flex;align-items:center;justify-content:center;flex:1;color:var(--color-text-muted);font-size:var(--text-md);text-align:center;padding:var(--space-10);line-height:1.6}.welcome-screen{flex:1;display:flex;flex-direction:column;min-height:100%;overflow-y:auto}.welcome-hero{position:relative;padding:8vh var(--space-6) 6vh;display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden}.hero-grid-bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;mask-image:radial-gradient(circle at center,black,transparent 80%);-webkit-mask-image:radial-gradient(circle at center,black,transparent 80%);pointer-events:none;color:var(--color-accent)}@media(prefers-reduced-motion:no-preference){.hero-grid-bg{animation:hero-pulse 8s ease-in-out infinite alternate}}@keyframes hero-pulse{0%{opacity:.2;transform:scale(1)}to{opacity:.4;transform:scale(1.05)}}.welcome-title{display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);margin:0 0 var(--space-4);line-height:1}.welcome-title-logotype{width:min(300px,70vw);height:auto;filter:drop-shadow(0 0 20px rgba(var(--accent-rgb),.25))}@media(max-width:768px){.welcome-title-logotype{width:60vw}}.welcome-subtitle{font-size:var(--text-body);color:var(--color-text-secondary);max-width:600px;line-height:1.6;text-align:center;margin:0}.welcome-main-content{flex:1;display:flex;flex-direction:column;align-items:center;padding-bottom:var(--space-12)}.welcome-mode-cards{display:grid;grid-template-columns:1.4fr 1fr;align-items:stretch;gap:var(--space-6);max-width:900px;width:100%;padding:0 var(--space-6);margin-top:var(--space-4)}.welcome-mode-col{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.welcome-mode-col--stacked>.welcome-mode-card{flex:1 1 0;min-height:0}.welcome-mode-card{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-5);padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--color-border);text-align:left;cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),border-color .3s,box-shadow .3s,opacity .3s;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);overflow:hidden;box-shadow:var(--shadow-md)}.welcome-mode-card--compact{gap:var(--space-3)}.welcome-mode-card--split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:1fr auto;gap:var(--space-4);align-items:stretch}.welcome-mode-card--split .welcome-mode-card-body{grid-column:1 / 2;grid-row:1 / 2;justify-content:flex-start}.welcome-mode-card--split .welcome-mode-card-media{grid-column:2 / 3;grid-row:1 / 3;height:100%;align-self:stretch}.welcome-mode-card--split .card-arrow{grid-column:1 / -1;grid-row:2 / 3;justify-self:start}.welcome-mode-primary{background:linear-gradient(135deg,var(--glass-bg),rgba(var(--accent-rgb),.07));border-color:rgba(var(--accent-rgb),.25)}.welcome-mode-primary:hover{transform:translateY(-4px);border-color:rgba(var(--accent-rgb),.5);box-shadow:0 16px 32px #00000038,0 0 24px rgba(var(--accent-rgb),.14)}.welcome-mode-compatibility{background:linear-gradient(135deg,var(--glass-bg),rgba(34,170,80,.08));border-color:#22aa5047}.welcome-mode-compatibility:hover{transform:translateY(-4px);border-color:#22aa508c;box-shadow:0 16px 32px #00000038,0 0 24px #22aa502e}.welcome-mode-secondary{min-height:460px;opacity:.92}.welcome-mode-secondary:hover{transform:translateY(-6px);border-color:var(--color-border-hover);opacity:1}.welcome-mode-card-media{position:relative;width:100%;height:180px;border-radius:var(--radius-lg);background:var(--color-surface-raised);border:1px solid var(--color-border);overflow:hidden}.welcome-mode-card--split .welcome-mode-card-media--grid{height:100%;width:auto;aspect-ratio:1 / 1;background:transparent;border:0;align-self:center;justify-self:end;margin:0;max-width:100%}@media(max-width:1024px){.welcome-mode-card-media{height:200px}.welcome-mode-card-media--grid{max-height:200px}.welcome-mode-card--split .welcome-mode-card-media--grid{height:auto;aspect-ratio:4 / 3;align-self:center}}.welcome-mode-card-media[data-mode=diagnosis]{background:radial-gradient(circle at 30% 40%,rgba(var(--accent-rgb),.18),transparent 60%),radial-gradient(circle at 70% 60%,rgba(168,85,247,.12),transparent 60%),var(--color-surface-raised)}.welcome-mode-card-media[data-mode=compatibility]{background:radial-gradient(circle at 30% 50%,rgba(34,170,80,.14),transparent 65%),radial-gradient(circle at 70% 55%,rgba(91,141,217,.1),transparent 65%),transparent;border-color:transparent}.welcome-mode-card--split .welcome-mode-card-media--compat-stack{height:100%;width:auto;aspect-ratio:5 / 4;background:transparent;border:0;align-self:center;justify-self:end;margin:0;max-width:100%;overflow:visible}.welcome-mode-card-media[data-mode=process]{background:radial-gradient(circle at 50% 50%,rgba(91,141,217,.1),transparent 70%),var(--color-surface-raised)}.welcome-mode-card-media-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.welcome-mode-card-media-canvas>canvas{width:100%!important;height:100%!important;display:block}.welcome-mode-card-media[data-mode=diagnosis][data-has-content=true]{background:transparent;border-color:transparent}.diagnosis-thumb-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:center;gap:var(--space-2)}.diagnosis-thumb-grid--2x2{position:relative;inset:auto;width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:var(--space-2)}.diagnosis-thumb-grid--2x2 .diagnosis-thumb{width:100%;height:100%;aspect-ratio:auto;cursor:default}.diagnosis-thumb{position:relative;display:block;height:100%;aspect-ratio:1 / 1;flex:0 1 auto;min-width:0;border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);cursor:pointer}.diagnosis-thumb-frame{position:relative;display:block;width:100%;height:100%;border-radius:inherit;overflow:hidden}.diagnosis-thumb-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.diagnosis-thumb-fallback{display:block;width:100%;height:100%;background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),#a855f71f)}.diagnosis-thumb-title-overlay{position:absolute;left:0;right:0;bottom:0;padding:var(--space-3) var(--space-2) var(--space-2);background:linear-gradient(to top,#000000e0,#0000008c 60%,#0000);opacity:0;transition:opacity .2s ease;pointer-events:none}.diagnosis-thumb-title{display:-webkit-box;font-size:var(--text-caption);font-weight:var(--weight-bold);color:#fff;line-height:1.3;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.diagnosis-thumb-bubble{--bubble-tail-x: 50%;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,4px);min-width:160px;max-width:240px;width:max-content;padding:var(--space-2) var(--space-3);background:#fff;color:#1a1a18;font-size:var(--text-caption);font-weight:var(--weight-medium);line-height:1.5;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);box-shadow:0 8px 24px #0006;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:5}.diagnosis-thumb-bubble:before,.diagnosis-thumb-bubble:after{content:"";position:absolute;bottom:100%;left:var(--bubble-tail-x);border-style:solid;border-color:transparent}.diagnosis-thumb-bubble:before{margin-left:-7px;border-width:0 7px 7px;border-bottom-color:#00000014}.diagnosis-thumb-bubble:after{margin-left:-6px;border-width:0 6px 6px;border-bottom-color:#fff}.diagnosis-thumb:first-child .diagnosis-thumb-bubble{left:0;transform:translateY(4px);--bubble-tail-x: 28px}.diagnosis-thumb:first-child:hover .diagnosis-thumb-bubble,.diagnosis-thumb:first-child[data-active=true] .diagnosis-thumb-bubble{transform:translate(0)}.diagnosis-thumb:last-child:not(:first-child) .diagnosis-thumb-bubble{left:auto;right:0;transform:translateY(4px);--bubble-tail-x: calc(100% - 28px) }.diagnosis-thumb:last-child:not(:first-child):hover .diagnosis-thumb-bubble,.diagnosis-thumb:last-child:not(:first-child)[data-active=true] .diagnosis-thumb-bubble{transform:translate(0)}.diagnosis-thumb:hover .diagnosis-thumb-title-overlay,.diagnosis-thumb[data-active=true] .diagnosis-thumb-title-overlay{opacity:1}.diagnosis-thumb:hover .diagnosis-thumb-frame img,.diagnosis-thumb[data-active=true] .diagnosis-thumb-frame img{transform:scale(1.04)}.diagnosis-thumb:hover .diagnosis-thumb-bubble,.diagnosis-thumb[data-active=true] .diagnosis-thumb-bubble{opacity:1;transform:translate(-50%)}.welcome-mode-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.welcome-mode-card-body .card-pill{margin-bottom:var(--space-2)}.card-badge{position:absolute;top:var(--space-4);right:var(--space-4);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-nano);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.08em}.primary-badge{background:var(--color-accent);color:var(--color-on-accent);box-shadow:0 0 10px rgba(var(--accent-rgb),.3)}.secondary-badge{background:var(--color-surface-raised);color:var(--color-text-secondary);border:1px solid var(--color-border)}.card-pill{display:inline-block;align-self:flex-start;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:.02em;margin:0}.card-pill--accent{background:rgba(var(--accent-rgb),.14);color:var(--color-accent);border:1px solid rgba(var(--accent-rgb),.3)}.card-pill--muted{background:var(--color-surface-raised);color:var(--color-text-secondary);border:1px solid var(--color-border)}.card-pill--compatibility{background:#22aa5024;color:#5bbd72;border:1px solid rgba(34,170,80,.32)}[data-theme=light] .card-pill--compatibility{background:#22aa501a;color:#2d8a45;border-color:#22aa504d}.welcome-mode-card-title{display:block;font-size:var(--text-title-sm);font-weight:var(--weight-semibold);margin:0;color:var(--color-text-primary);line-height:1.3}.welcome-mode-primary .welcome-mode-card-title{font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:-.005em}.welcome-mode-primary .welcome-mode-card-desc{font-size:var(--text-body)}.welcome-mode-card--compact .welcome-mode-card-title{font-size:var(--text-title-sm);font-weight:var(--weight-semibold);letter-spacing:0}.welcome-mode-card--compact .welcome-mode-card-desc{font-size:var(--text-body-sm)}.welcome-mode-card-desc{font-size:var(--text-body-sm);color:var(--color-text-secondary);line-height:1.6;margin:0}.card-arrow{grid-row:3;align-self:end;justify-self:start;display:inline-flex;align-items:center;color:var(--color-text-muted);transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .3s;line-height:1}.welcome-mode-card:hover .card-arrow{transform:translate(12px);color:var(--color-accent)}@media(max-width:1024px){.welcome-mode-cards{grid-template-columns:1fr}.welcome-mode-secondary{min-height:380px}.welcome-mode-col--stacked>.welcome-mode-card{flex:0 0 auto;min-height:auto}}@media(max-width:768px){.welcome-mode-card--split{grid-template-columns:1fr;grid-template-rows:auto auto auto}.welcome-mode-card--split .welcome-mode-card-body{grid-column:1;grid-row:1}.welcome-mode-card--split .welcome-mode-card-media{grid-column:1;grid-row:2}.welcome-mode-card--split .welcome-mode-card-media--grid{aspect-ratio:4 / 1;width:100%}.welcome-mode-card--split .welcome-mode-card-media--compat-stack{aspect-ratio:auto;width:100%;height:84px;align-self:center;justify-self:stretch}.welcome-mode-card--split .card-arrow{grid-column:1;grid-row:3}.diagnosis-thumb-grid--2x2{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr}}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;opacity:0;transition:opacity var(--transition-normal)}.onboarding-overlay.onboarding-visible{opacity:1}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:999}.onboarding-spotlight{position:fixed;z-index:1000;border-radius:var(--radius-lg);box-shadow:0 0 0 9999px #000000bf;transition:top var(--transition-slow),left var(--transition-slow),width var(--transition-slow),height var(--transition-slow);pointer-events:none}.onboarding-tooltip{position:fixed;z-index:1001;background:var(--glass-heavy-bg);backdrop-filter:var(--glass-heavy-blur);-webkit-backdrop-filter:var(--glass-heavy-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-5);max-width:440px;width:calc(100% - var(--space-8));pointer-events:auto;overflow-y:auto}.onboarding-animation-container{display:flex;justify-content:center;margin-bottom:var(--space-4)}.onboarding-tooltip-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.onboarding-tooltip-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--space-4)}.onboarding-choice-buttons{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4);min-height:280px;justify-content:center}.onboarding-choice-btn{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-interactive-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:all var(--transition-normal);width:100%}.onboarding-choice-btn:hover{background:var(--color-interactive-hover);border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.choice-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-subtle);color:var(--color-accent);border-radius:var(--radius-md);flex-shrink:0;transition:all var(--transition-fast)}.onboarding-choice-btn:hover .choice-icon{background:var(--color-accent);color:#fff;transform:scale(1.05)}.choice-content{display:flex;flex-direction:column;gap:2px}.choice-label{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.choice-desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4}.onboarding-tooltip-footer{display:flex;align-items:center;justify-content:space-between}.onboarding-step-dots{display:flex;gap:6px}.onboarding-step-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-dim);transition:background var(--transition-fast)}.onboarding-step-dot.active{background:var(--color-accent)}.onboarding-next-btn{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:filter var(--transition-fast)}.onboarding-next-btn:hover{filter:brightness(1.1)}.onboarding-back-btn{padding:var(--space-2) var(--space-4);background:transparent;color:var(--color-text-secondary);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:color var(--transition-fast)}.onboarding-back-btn:hover{color:var(--color-text-primary)}.onboarding-dont-show{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.onboarding-dont-show:hover{color:var(--color-text-secondary)}.onboarding-dont-show input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0;background:var(--color-interactive-bg);border:1px solid var(--color-border-hover);border-radius:3px;cursor:pointer;position:relative;transition:background var(--transition-fast),border-color var(--transition-fast)}.onboarding-dont-show:hover input[type=checkbox]{border-color:var(--color-accent)}.onboarding-dont-show input[type=checkbox]:checked{background:var(--color-accent);border-color:var(--color-accent)}.onboarding-dont-show input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.onboarding-dont-show input[type=checkbox]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.onboarding-skip{position:fixed;top:var(--space-4);right:var(--space-4);z-index:1001;background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),border-color var(--transition-fast);pointer-events:auto}.onboarding-skip:hover{color:var(--color-text-secondary);border-color:#fff6}.onboarding-pulse-ring{position:fixed;z-index:1000;border-radius:var(--radius-lg);pointer-events:none;animation:onboarding-pulse 1.5s ease-in-out infinite}@keyframes onboarding-pulse{0%,to{box-shadow:0 0 #5b8dd980}50%{box-shadow:0 0 0 8px #5b8dd900}}@media(max-width:768px){.onboarding-tooltip{width:auto!important;max-width:none!important;padding:var(--space-4);top:auto!important;bottom:var(--space-4)!important;left:var(--space-4)!important;right:var(--space-4)!important;transform:none!important;max-height:calc(100svh - var(--space-8));overflow-y:auto}.onboarding-animation-container{margin-bottom:var(--space-2)}.onboarding-tooltip-title{font-size:var(--text-md-lg);margin-bottom:var(--space-1)}.onboarding-tooltip-desc{margin-bottom:var(--space-3);font-size:var(--text-sm)}}.login-page{--lp-surface: var(--color-bg);--lp-surface-lowest: #0a0e14;--lp-surface-high: var(--color-surface);--lp-surface-bright: #353940;--lp-primary: var(--color-accent);--lp-primary-container: #3a6db5;--lp-on-primary: #ffffff;--lp-on-surface: var(--color-text-primary);--lp-on-surface-variant: var(--color-text-secondary);--lp-outline-variant: #454652;--lp-error: var(--color-error);--lp-font-display: "Space Grotesk", "Inter", sans-serif;display:flex;flex-direction:column;min-height:100vh;background:var(--lp-surface);color:var(--lp-on-surface);font-family:var(--font-sans)}.login-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 32px;background:#35394080;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);flex-shrink:0}.login-header-logo{font-family:Noto Sans JP,sans-serif;font-size:1.25rem;font-weight:700;color:var(--lp-on-surface);letter-spacing:.15em;text-decoration:none;display:flex;align-items:center;gap:.5rem}.login-header-lang{background:none;border:none;color:#dfe2eb80;font-family:var(--lp-font-display);font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;padding:4px 8px;letter-spacing:.05em;text-transform:uppercase;transition:color .15s ease}.login-header-lang:hover{color:var(--lp-on-surface)}.login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 20px}.login-card{text-align:center;padding:48px 40px;background:var(--lp-surface-high);border:1px solid var(--lp-outline-variant);border-radius:16px;max-width:400px;width:100%}.login-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}.login-logotype{color:var(--lp-on-surface)}.login-subtitle{font-size:var(--text-body-sm);color:var(--lp-on-surface-variant);margin-bottom:24px;line-height:1.5}.login-helper{font-size:var(--text-body-sm);color:var(--lp-on-surface);background:#bac3ff0f;border:1px solid rgba(186,195,255,.15);border-radius:8px;padding:10px 14px;margin:0 0 20px;line-height:1.5}.login-providers{display:flex;flex-direction:column;gap:10px}.login-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#35394099;color:var(--lp-on-surface);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;font-family:Inter,Noto Sans JP,sans-serif;transition:background .15s ease,border-color .15s ease}.login-btn:hover:not(:disabled){background:#454652cc;border-color:#ffffff26}.login-btn-secondary{background:transparent;border:1px solid var(--lp-outline-variant);color:var(--lp-on-surface-variant)}.login-btn-secondary:hover:not(:disabled){background:#ffffff0d;border-color:#bac3ff4d;color:var(--lp-on-surface)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn-email-submit{background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-container));color:var(--lp-on-primary);border-color:transparent;font-weight:600}.login-btn-email-submit:hover:not(:disabled){filter:brightness(1.1);background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-container));border-color:transparent}.login-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--lp-on-surface-variant);font-size:var(--text-caption)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--lp-outline-variant)}.login-email-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#35394066;border:1px solid var(--lp-outline-variant);border-radius:10px;margin-bottom:16px}.login-email-tab{background:transparent;border:none;border-radius:6px;padding:10px 12px;color:var(--lp-on-surface-variant);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);font-family:Inter,Noto Sans JP,sans-serif;cursor:pointer;transition:background .15s ease,color .15s ease}.login-email-tab:hover{color:var(--lp-on-surface)}.login-email-tab.is-active{background:var(--lp-surface-high);color:var(--lp-on-surface);box-shadow:0 1px 2px #00000040}.login-email-hint{margin:12px 0 0;padding:10px 12px;font-size:var(--text-caption);color:var(--lp-on-surface-variant);background:#bac3ff0d;border-radius:6px;line-height:1.5}.login-email-form{display:flex;flex-direction:column;gap:10px}.login-input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--lp-outline-variant);border-radius:8px;background:#35394066;color:var(--lp-on-surface);font-size:var(--text-body);font-family:Inter,Noto Sans JP,sans-serif;outline:none;transition:border-color .15s ease}.login-input::placeholder{color:#c5c5d480}.login-input:focus{border-color:var(--lp-primary)}.login-email-links{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:16px}.login-text-link{background:none;border:none;color:var(--lp-on-surface-variant);font-size:var(--text-body-sm);cursor:pointer;padding:0;font-family:Inter,Noto Sans JP,sans-serif;transition:color .15s ease}.login-text-link:hover:not(:disabled){color:var(--lp-primary)}.login-text-link:disabled{opacity:.4;cursor:not-allowed}.login-error{margin-top:16px;font-size:var(--text-body-sm);color:var(--lp-error)}.login-info{margin-top:16px;font-size:var(--text-body-sm);color:#34a853}.login-footer{background:var(--lp-surface-lowest);padding:24px 32px;flex-shrink:0}.login-footer-inner{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.login-footer-copy{font-size:var(--text-caption);color:#dfe2eb66}.login-footer-links{display:flex;gap:24px}.login-footer-links a{color:#dfe2eb80;font-size:var(--text-body-sm);text-decoration:none;transition:color .15s ease;letter-spacing:.02em}.login-footer-links a:hover{color:var(--lp-primary)}.login-page :focus-visible{outline:2px solid var(--lp-primary);outline-offset:2px;border-radius:4px}.login-page :focus:not(:focus-visible){outline:none}@media(max-width:600px){.login-header{padding:0 16px}.login-card{padding:36px 24px}.login-footer{padding:20px 16px}.login-footer-inner{flex-direction:column;gap:12px;text-align:center}.login-footer-links{flex-wrap:wrap;justify-content:center}}.billing-panel{padding:var(--space-3) var(--space-4)}.billing-plan-badge{font-size:var(--text-sm-plus);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.billing-quota-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.billing-quota-bar{height:6px;background:#7878b426;border-radius:3px;overflow:hidden}.billing-quota-fill{height:100%;border-radius:3px;transition:width .3s,background-color .3s}.billing-warn{font-size:var(--text-xs);color:var(--color-warning);margin-top:var(--space-1)}.billing-blocked{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.billing-upgrade-btn,.billing-manage-btn{margin-top:var(--space-2);width:100%;padding:6px var(--space-3);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm-plus);cursor:pointer;font-family:var(--font-sans);transition:background var(--transition-fast),box-shadow var(--transition-fast)}.billing-upgrade-btn{background:var(--color-accent);color:#fff}.billing-upgrade-btn:hover{opacity:.85;box-shadow:var(--shadow-glow)}.billing-manage-btn{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.billing-manage-btn:hover{background:var(--color-interactive-hover)}.settings-page{width:100%;max-width:600px;margin:0 auto;padding:var(--space-6) var(--space-4)}.settings-page-column{width:600px;max-width:100%}.settings-page-inner{width:600px;max-width:100%;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.back-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-body-sm);font-family:var(--font-sans);cursor:pointer;transition:color var(--transition-fast);margin-bottom:var(--space-3)}.back-btn svg{flex-shrink:0}.back-btn:hover{color:var(--color-text-primary)}.back-btn:disabled{opacity:.5;cursor:not-allowed}.back-btn:disabled:hover{color:var(--color-text-secondary)}.settings-page-title{font-size:var(--text-title);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-8);line-height:1.25;letter-spacing:-.005em}.settings-section{margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}.settings-section:last-child{border-bottom:none}.settings-section h3{font-size:var(--text-subheading);font-weight:var(--weight-semibold);color:var(--color-text-primary);letter-spacing:0;text-transform:none;margin-bottom:var(--space-5);line-height:1.4}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;min-height:44px;gap:var(--space-4)}.settings-row--with-help{padding-bottom:var(--space-1)}.settings-help-text{margin:var(--space-2) 0 var(--space-3);padding:0;font-size:var(--text-body-sm);color:var(--color-text-secondary);line-height:1.55}.settings-label{font-size:var(--text-body);color:var(--color-text-secondary);flex-shrink:0}.settings-value{font-size:var(--text-body);color:var(--color-text-primary);text-align:right}.settings-plan-row{display:flex;align-items:center;gap:var(--space-2);justify-content:flex-end}.settings-plan-row .user-menu-plan-badge{font-size:var(--text-micro);padding:2px 10px}.settings-usage-row{display:flex;align-items:center;gap:var(--space-3);justify-content:flex-end}.settings-quota-inline{display:flex;align-items:center;gap:var(--space-2)}.settings-quota-text{font-size:var(--text-body-sm);font-family:var(--font-mono);white-space:nowrap}.settings-reset-inline{font-size:var(--text-caption);color:var(--color-text-secondary);white-space:nowrap;min-width:160px;text-align:left}.settings-quota-bar{width:80px;height:6px;background:var(--color-interactive-bg);border-radius:3px;overflow:hidden}.settings-quota-fill{height:100%;border-radius:3px;transition:width var(--transition-normal)}.custom-select{position:relative;min-width:160px}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:36px;padding:var(--space-2) var(--space-3);background:var(--color-interactive-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-body-sm);font-family:var(--font-sans);cursor:pointer;transition:border-color var(--transition-fast)}.custom-select-trigger:hover{border-color:var(--color-border-hover)}.custom-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) 0;z-index:50;box-shadow:var(--shadow-lg);animation:dropdown-in .15s ease}.custom-select-option{display:block;width:100%;padding:var(--space-2) var(--space-4);background:transparent;border:none;color:var(--color-text-primary);font-size:var(--text-body-sm);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.custom-select-option:hover{background:var(--color-interactive-hover)}.custom-select-option.selected{color:var(--color-accent);font-weight:var(--weight-medium)}.settings-actions{margin-top:var(--space-3)}.settings-btn{padding:var(--space-2) var(--space-4);background:var(--color-interactive-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-body-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.settings-btn:hover:not(:disabled){background:var(--color-interactive-hover)}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.settings-btn-primary:hover:not(:disabled){opacity:.85}.settings-danger h3{color:var(--color-error)}.settings-warning-text{font-size:var(--text-body-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3);line-height:1.6}.settings-btn-danger{background:transparent;border-color:var(--color-error);color:var(--color-error);font-weight:var(--weight-semibold)}.settings-btn-danger:hover:not(:disabled){background:var(--color-error);color:#fff}.settings-delete-confirm{padding:var(--space-3);border:1px solid var(--color-error);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-error) 5%,transparent);overflow:hidden}.settings-delete-confirm-text{font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-1);font-weight:500}.settings-delete-details{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-2) var(--space-4);padding:0;line-height:1.7}.settings-delete-google-note{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-3);line-height:1.5}.settings-delete-google-note a{color:var(--color-accent);text-decoration:underline}.settings-delete-confirm-actions{display:flex;gap:var(--space-2)}.settings-legal-links{border-bottom:none!important;margin-bottom:0;padding-bottom:var(--space-2)}.settings-legal-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.settings-legal-link{background:none;border:none;color:var(--color-text-muted);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;padding:0;transition:color var(--transition-fast)}.settings-legal-link:hover{color:var(--color-accent)}.settings-legal-sep{color:var(--color-text-dim);font-size:var(--text-sm)}.dropdown-panel{min-width:160px}.dropdown-panel .custom-select-trigger{white-space:nowrap}.dropdown-panel .custom-select-trigger svg{transition:transform var(--transition-fast)}.dropdown-panel .custom-select-trigger svg.chevron-open{transform:rotate(180deg)}.dropdown-panel-body{position:absolute;top:calc(100% + 4px);right:0;min-width:380px;padding:var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);z-index:50;box-shadow:var(--shadow-lg);animation:dropdown-in .15s ease}.settings-plan-cards{display:flex;gap:var(--space-3)}.settings-plan-card{flex:1;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;background:var(--color-interactive-bg);transition:border-color var(--transition-fast)}.settings-plan-card.current{border-color:var(--color-accent)}.settings-plan-card-name{font-weight:var(--weight-semibold);font-size:var(--text-sm);margin-bottom:var(--space-1)}.settings-plan-card-price{font-size:var(--text-lg);font-weight:var(--weight-bold);margin-bottom:var(--space-1)}.settings-plan-card-price span{font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--color-text-secondary)}.settings-plan-card-nodes{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.settings-plan-card .settings-btn{width:100%;font-size:var(--text-xs);padding:var(--space-1) var(--space-2);white-space:nowrap}.settings-plan-current-label{display:inline-block;font-size:var(--text-xs);color:var(--color-accent);font-weight:var(--weight-medium);padding:var(--space-1) 0}.settings-cancel-row{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.settings-cancel-note{font-size:var(--text-xs);color:var(--color-text-muted)}.settings-btn-muted{background:transparent;border-color:var(--color-border);color:var(--color-text-secondary);font-size:var(--text-xs)}.settings-btn-muted:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-text-secondary)}.settings-addon-desc{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.settings-addon-cards{display:flex;gap:var(--space-2)}.settings-addon-btn{flex:1;display:flex!important;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-3)!important}.settings-addon-amount{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.settings-addon-price{font-size:var(--text-xs);color:var(--color-text-secondary)}.legal-page-standalone{--color-canvas: #10141a;--color-bg: #10141a;--color-surface: #1c1c1f;--color-surface-raised: #222225;--color-text-primary: #e8e8e6;--color-text-secondary: #bdbdb8;--color-text-muted: #8f8f8a;--color-accent: #5b8dd9;--color-accent-hover: #6d9ce3;--color-accent-subtle: rgba(91, 141, 217, .12);--color-border: rgba(255, 255, 255, .08);--color-interactive-bg: rgba(255, 255, 255, .04);--glass-bg: rgba(28, 28, 31, .75);--glass-border: 1px solid rgba(255, 255, 255, .06)}body:has(.legal-page-standalone){background:#10141a}.legal-page-standalone .legal-page-inner{background:var(--lp-surface-low);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--lp-outline-variant)}.legal-page-main{flex:1;padding-top:64px}.legal-page{width:100%;max-width:600px;margin:0 auto;padding:var(--space-6) var(--space-4)}.legal-page-column{width:600px;max-width:100%}.legal-page-inner{width:600px;max-width:100%;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.legal-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.legal-nav-item{font-size:var(--text-body-sm);font-family:var(--font-sans);color:var(--color-text-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.legal-nav-item:hover:not(:disabled){color:var(--color-text-secondary)}.legal-nav-item.active{color:var(--color-accent);background:var(--color-accent-subtle);cursor:default}.legal-content h2{font-size:var(--text-title);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.legal-content h3{font-size:var(--text-heading);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-top:var(--space-6);margin-bottom:var(--space-3)}.legal-content h4{font-size:var(--text-subheading);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-top:var(--space-4);margin-bottom:var(--space-2)}.legal-content p{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-3)}.legal-content ul,.legal-content ol{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-3);padding-left:var(--space-6)}.legal-content li{margin-bottom:var(--space-1)}.legal-content a{color:var(--color-accent);text-decoration:underline}.legal-content a:hover{color:var(--color-accent-hover)}.legal-updated{font-size:var(--text-sm)!important;color:var(--color-text-muted)!important;margin-bottom:var(--space-6)!important}.legal-note{font-size:var(--text-sm)!important;color:var(--color-text-muted)!important;font-style:italic}.legal-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4);font-size:var(--text-body)}.legal-table th,.legal-table td{padding:var(--space-3);border:1px solid var(--color-border);text-align:left;vertical-align:top;line-height:1.6}.legal-table th{width:30%;color:var(--color-text-secondary);font-weight:var(--weight-medium);background:var(--color-interactive-bg);white-space:nowrap}.legal-table td{color:var(--color-text-secondary)}.legal-table a{color:var(--color-accent);text-decoration:underline}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-canvas);padding:var(--space-4)}.error-boundary-card{text-align:center;padding:var(--space-10) var(--space-8);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);max-width:440px;width:100%}.error-boundary-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:var(--space-5);color:var(--color-text-primary)}.error-boundary-logotype{color:var(--color-text-primary)}.error-boundary-message{display:flex;flex-direction:column;gap:var(--space-1);line-height:1.5;margin:0 0 var(--space-6)}.error-boundary-message-primary{font-size:var(--text-md);color:var(--color-text-primary)}.error-boundary-message-secondary{font-size:var(--text-sm);color:var(--color-text-muted)}.error-boundary-detail{font-size:var(--text-sm);font-family:var(--font-mono);color:var(--color-error);background:var(--color-interactive-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-6);text-align:left;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-boundary-actions{display:flex;gap:var(--space-3);justify-content:center}.error-boundary-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;min-width:0;padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-family:var(--font-sans);cursor:pointer;transition:opacity var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.error-boundary-btn-label{font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1.2}.error-boundary-btn-sublabel{font-size:var(--text-xs);letter-spacing:.04em;opacity:.75;line-height:1.2}.error-boundary-btn:hover{opacity:.9}.error-boundary-btn-secondary{background:var(--color-btn-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.error-boundary-btn-secondary:hover{background:var(--color-btn-secondary-hover);border-color:var(--color-border-hover);opacity:1}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column-reverse;gap:var(--space-2);z-index:9999;pointer-events:none}.toast-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-md);pointer-events:auto;cursor:pointer;animation:toast-in .25s ease;max-width:360px}.toast-item:hover{opacity:.8}.toast-icon{flex-shrink:0;font-size:var(--text-md)}.toast-message{line-height:1.4}.toast-error .toast-icon{color:var(--color-error)}.toast-success .toast-icon{color:var(--color-success)}.toast-info .toast-icon{color:var(--color-accent)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.app-header{padding:0 var(--space-2);gap:var(--space-2)}.header-center h1{font-size:var(--text-base)}.header-new-label{display:none}.sidebar{width:100%;max-width:320px}.user-menu-email{max-width:160px}}@media(max-width:1024px)and (orientation:portrait){.graph-row{flex-direction:column;padding-bottom:max(0px,calc(var(--sheet-height, 0px) - 28px));transition:padding-bottom .28s cubic-bezier(.22,1,.36,1)}body[data-sheet-dragging=true] .graph-row{transition:none}.detail-panel{width:100%;height:40vh;flex:0 0 auto;border-left:none;border-top:1px solid var(--color-border)}.report-panel.is-bottom-sheet{position:fixed;left:0;right:0;bottom:0;width:100%;height:var(--sheet-height, 50dvh);flex:none;border-left:none;border-top:1px solid var(--color-border);border-top-left-radius:14px;border-top-right-radius:14px;box-shadow:0 -2px 8px #0000002e;z-index:15;transition:height .28s cubic-bezier(.22,1,.36,1);overflow:hidden;overscroll-behavior:contain}.report-panel.is-bottom-sheet .bottom-sheet-handle{display:flex}.mode-toolbar{top:6px;left:6px}.zoom-toolbar{left:6px;top:84px}.zoom-toolbar.zoom-toolbar-top{top:6px}.layer-panel{top:6px;right:6px}.timeline-bar{min-width:unset;right:6px;left:auto;max-width:calc(100% - 16px);bottom:6px}.continue-bar{left:6px;bottom:6px;width:auto}.continue-bar:not(.expanded) .continue-bar-input{display:none}.continue-bar:not(.expanded) .continue-bar-submit{display:none}.continue-bar:not(.expanded) .continue-bar-open-btn{display:flex}.continue-bar.expanded .continue-bar-open-btn{display:none}.continue-bar-open-btn{width:36px;height:36px;border:none;border-radius:50%;background:var(--color-accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}.continue-bar-open-btn:hover{opacity:.85}.continue-bar:not(.expanded) .continue-bar-inner{padding:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none}.continue-bar.expanded{width:min(520px,calc(100% - 16px))}.quota-paused-bar{left:6px;bottom:6px}.quota-paused-bar:not(.expanded) .quota-paused-panel{display:none}.quota-paused-bar:not(.expanded) .quota-paused-icon-btn{display:flex}.quota-paused-icon-btn{width:36px;height:36px;border:none;border-radius:50%;background:var(--color-warning, #f59e0b);color:#1a1a1a;cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow-md);padding-bottom:2px}.quota-paused-icon-btn:hover{opacity:.85}.quota-paused-bar.expanded .quota-paused-icon-btn{display:none}}.onboarding-mockup{position:relative;width:100%;max-width:400px;height:280px;border-radius:12px;border:1px solid;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-user-select:none;user-select:none}@media(max-width:768px){.onboarding-mockup{max-width:90vw}}.mockup-header{height:36px;border-bottom:1px solid;display:flex;align-items:center;padding:0 16px}.mockup-dots{display:flex;gap:6px}.mockup-dots span{width:10px;height:10px;border-radius:50%;background:#80808066}.mockup-title{margin:0 auto;font-size:13px;font-weight:500;transform:translate(-24px)}.mockup-body{height:calc(100% - 36px);overflow:hidden;position:relative}.mockup-scroll-content{padding:16px 0}.mockup-msg{display:flex;gap:12px;padding:12px 16px}.msg-avatar{width:28px;height:28px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;opacity:.8}.msg-bubbles{flex:1;display:flex;flex-direction:column;gap:8px;padding-top:4px;position:relative}.msg-line{height:10px;border-radius:4px;opacity:.5;position:relative;z-index:2}.mockup-menu{position:absolute;width:120px;border-radius:6px;border:1px solid;box-shadow:0 4px 12px #0003;padding:4px;z-index:10;opacity:0;pointer-events:none}.menu-item{padding:6px 12px;font-size:13px;border-radius:4px;color:inherit}.mockup-cursor{position:absolute;top:50%;left:50%;z-index:20;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.copy-mockup .copy-chat-body{display:block;padding:0}.copy-mockup .copy-content-primary,.copy-mockup .copy-content-static{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.copy-mockup .copy-content-primary{z-index:2;animation:primary-fade 8s ease-in-out infinite}.copy-mockup .copy-content-static{z-index:1}.copy-mockup .mockup-scroll-content{padding:10px 16px;display:flex;flex-direction:column;gap:8px;position:relative}.copy-mockup .primary-inner{animation:scroll-up 8s ease-in-out infinite}@keyframes primary-fade{0%,60%{opacity:1}70%,to{opacity:0}}.copy-mockup .chat-msg{display:flex}.copy-mockup .chat-msg--user{justify-content:flex-end}.copy-mockup .chat-msg--ai{justify-content:flex-start}.copy-mockup .chat-bubble{min-width:120px;max-width:80%;padding:10px 14px;border-radius:14px;display:flex;flex-direction:column;gap:5px}.copy-mockup .chat-bubble .msg-line{height:7px;border-radius:3px;opacity:.9}.copy-mockup .mockup-highlight{position:absolute;top:8px;left:8px;right:8px;border-radius:8px;z-index:1;pointer-events:none;animation:expand-highlight 8s ease-in-out infinite}.copy-mockup .mockup-cursor{top:0;left:0;animation:move-cursor-copy 8s ease-in-out infinite}.copy-mockup .mockup-menu{left:240px;top:150px;transform-origin:bottom left;animation:show-menu-copy 8s ease-in-out infinite}.paste-awai-header{display:flex;align-items:center;gap:8px;padding:0 16px}@keyframes scroll-up{0%,15%{transform:translateY(0)}30%,65%{transform:translateY(-70px)}85%,to{transform:translateY(0)}}@keyframes expand-highlight{0%,14%{bottom:calc(100% - 8px);opacity:0}15%{bottom:calc(100% - 8px);opacity:1}30%,47%{bottom:18px;opacity:1}48%,to{bottom:calc(100% - 8px);opacity:0}}@keyframes bounce-arrow{0%{transform:translateY(-8px)}to{transform:translateY(8px)}}.onboarding-action-arrow{position:fixed;z-index:1001;pointer-events:none;animation:bounce-arrow .5s infinite alternate ease-in-out;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}@keyframes move-cursor-copy{0%,14%{transform:translate(100px,40px);opacity:0}15%{transform:translate(100px,40px);opacity:1}30%{transform:translate(220px,240px);opacity:1}34%,38%{transform:translate(230px,230px);opacity:1}42%,47%{transform:translate(265px,170px);opacity:1}55%{transform:translate(350px,250px);opacity:0}to{transform:translate(100px,30px);opacity:0}}@keyframes show-menu-copy{0%,33%{opacity:0;transform:translateY(5px)}37%,47%{opacity:1;transform:translateY(0);pointer-events:auto}48%,to{opacity:0;transform:translateY(5px);pointer-events:none}}.paste-mockup{display:flex;flex-direction:column;padding:0 16px 16px;gap:12px}.paste-mockup .paste-awai-header{margin:0 -16px;padding:8px 16px;border-bottom:1px solid;border-color:inherit;height:auto;gap:8px;justify-content:center}.mockup-input-area{flex:1;border:2px solid;border-radius:8px;display:flex;flex-direction:column;padding:12px;gap:12px;transition:border-color .2s;animation:focus-border 8s infinite}.input-title{height:24px;width:60%;border-radius:4px}.input-body{position:relative;flex:1}.input-placeholder{font-size:14px;animation:hide-placeholder 8s infinite}.input-pasted-content{display:flex;flex-direction:column;gap:10px;opacity:0;animation:show-paste 8s infinite;position:absolute;top:0;left:0;right:0}.mockup-btn{height:36px;border-radius:6px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500}.paste-mockup .mockup-cursor{top:0;left:0;animation:move-cursor-paste 8s infinite}.paste-mockup .mockup-menu{left:160px;top:100px;transform-origin:top left;animation:show-menu-paste 8s infinite}@keyframes focus-border{0%,13%{border-color:inherit;box-shadow:none}15%,to{border-color:#5b8dd9;box-shadow:0 0 0 3px #5b8dd933}}@keyframes hide-placeholder{0%,33%{opacity:1}34%,to{opacity:0}}@keyframes show-paste{0%,46%{opacity:0;transform:translateY(5px)}48%,to{opacity:1;transform:translateY(0)}}@keyframes move-cursor-paste{0%,5%{transform:translate(350px,250px);opacity:0}6%,8%{transform:translate(350px,250px);opacity:1}22%,30%{transform:translate(160px,100px);opacity:1}40%,48%{transform:translate(180px,179px);opacity:1}52%{transform:translate(180px,179px);opacity:1}60%,to{transform:translate(350px,250px);opacity:0}}@keyframes show-menu-paste{0%,27%{opacity:0;transform:translateY(5px)}30%,46%{opacity:1;transform:translateY(0);pointer-events:auto}48%,to{opacity:0;transform:translateY(5px);pointer-events:none}}.paste-into-ai-mockup{display:flex;flex-direction:column}.paste-into-ai-mockup .mockup-body-chat{flex:1;position:relative;padding:12px 16px;display:flex;align-items:center;justify-content:center}.chat-empty-hint{font-size:13px;font-style:italic}.paste-into-ai-mockup .mockup-ai-input{margin:0 12px 12px;border:1px solid;border-radius:20px;padding:8px 12px 8px 16px;display:flex;align-items:center;gap:8px;min-height:40px;animation:ai-input-focus 8s infinite}.paste-into-ai-mockup .ai-input-body{flex:1;position:relative;min-height:20px}.paste-into-ai-mockup .ai-input-body .input-placeholder{font-size:13px;animation:hide-placeholder 8s infinite}.paste-into-ai-mockup .ai-input-pasted{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;gap:4px;opacity:0;animation:show-paste-ai 8s infinite}.paste-into-ai-mockup .ai-input-pasted .msg-line{height:6px;border-radius:3px}.paste-into-ai-mockup .ai-input-send-btn{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;animation:send-btn-ready 8s infinite}.paste-into-ai-mockup .mockup-cursor{top:0;left:0;animation:move-cursor-paste-ai 8s infinite}.paste-into-ai-mockup .mockup-menu{left:110px;top:138px;transform-origin:bottom left;animation:show-menu-paste-ai 8s infinite}@keyframes ai-input-focus{0%,18%{border-color:inherit;box-shadow:none}20%,to{border-color:#5b8dd9;box-shadow:0 0 0 3px #5b8dd933}}@keyframes show-paste-ai{0%,50%{opacity:0;transform:translateY(4px)}54%,to{opacity:1;transform:translateY(0)}}@keyframes send-btn-ready{0%,56%{transform:scale(1)}60%,64%{transform:scale(1.15);box-shadow:0 0 12px #5b8dd999}68%,to{transform:scale(1);box-shadow:none}}@keyframes move-cursor-paste-ai{0%,5%{transform:translate(380px,260px);opacity:0}6%,10%{transform:translate(380px,260px);opacity:1}22%,30%{transform:translate(115px,248px);opacity:1}40%,48%{transform:translate(155px,220px);opacity:1}55%,62%{transform:translate(362px,250px);opacity:1}64%,70%{transform:translate(362px,250px);opacity:1}78%,to{transform:translate(400px,280px);opacity:0}}@keyframes show-menu-paste-ai{0%,27%{opacity:0;transform:translateY(5px)}30%,48%{opacity:1;transform:translateY(0);pointer-events:auto}50%,to{opacity:0;transform:translateY(5px);pointer-events:none}}.chat-with-ai-mockup{display:flex;flex-direction:column}.chat-with-ai-mockup .mockup-body-chat{flex:1;padding:10px 16px;overflow:hidden;position:relative}.chat-with-ai-mockup .chat-scroll-wrapper{display:flex;flex-direction:column;gap:8px;animation:chat-scroll-up 8s infinite}@keyframes chat-scroll-up{0%,52%{transform:translateY(0)}58%,70%{transform:translateY(-30px)}76%,to{transform:translateY(-80px)}}.chat-with-ai-mockup .chat-msg{display:flex;opacity:0;transform:translateY(8px)}.chat-with-ai-mockup .chat-msg--user{justify-content:flex-end}.chat-with-ai-mockup .chat-msg--ai{justify-content:flex-start}.chat-with-ai-mockup .chat-bubble{min-width:120px;max-width:80%;padding:10px 14px;border-radius:14px;display:flex;flex-direction:column;gap:5px}.chat-with-ai-mockup .chat-bubble .msg-line{height:7px;max-width:100%;border-radius:3px;opacity:.9}.chat-with-ai-mockup .chat-msg-1,.chat-with-ai-mockup .chat-msg-2,.chat-with-ai-mockup .chat-msg-3,.chat-with-ai-mockup .chat-msg-4{animation:chat-appear 8s infinite;animation-delay:0s}.chat-with-ai-mockup .chat-msg-1{animation-name:chat-msg-1}.chat-with-ai-mockup .chat-msg-2{animation-name:chat-msg-2}.chat-with-ai-mockup .chat-msg-3{animation-name:chat-msg-3}.chat-with-ai-mockup .chat-msg-4{animation-name:chat-msg-4}@keyframes chat-msg-1{0%,8%{opacity:0;transform:translateY(8px)}12%,to{opacity:1;transform:translateY(0)}}@keyframes chat-msg-2{0%,25%{opacity:0;transform:translateY(8px)}32%,to{opacity:1;transform:translateY(0)}}@keyframes chat-msg-3{0%,48%{opacity:0;transform:translateY(8px)}54%,to{opacity:1;transform:translateY(0)}}@keyframes chat-msg-4{0%,70%{opacity:0;transform:translateY(8px)}76%,to{opacity:1;transform:translateY(0)}}.chat-with-ai-mockup .mockup-ai-input-static{margin:0 12px 12px;border:1px solid;border-radius:20px;padding:8px 12px 8px 16px;display:flex;align-items:center;gap:8px;min-height:40px}.chat-with-ai-mockup .mockup-ai-input-static .input-placeholder{flex:1;font-size:13px}.chat-with-ai-mockup .ai-input-send-btn-idle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}@media(prefers-reduced-motion:reduce){.paste-into-ai-mockup *,.chat-with-ai-mockup .chat-msg,.copy-mockup .mockup-scroll-content,.copy-mockup .mockup-highlight,.copy-mockup .mockup-cursor,.copy-mockup .mockup-menu,.mockup-input-area,.input-placeholder,.input-pasted-content,.paste-mockup .mockup-cursor,.paste-mockup .mockup-menu,.choose-ai-cursor,.app-chatgpt{animation:none}}.choose-ai-mockup{display:flex;flex-direction:column}.mockup-app-grid{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;width:100%}.mockup-app-row{display:flex;justify-content:center;gap:12px}.mockup-app-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;box-shadow:0 4px 10px #00000026;cursor:pointer;transform:scale(1);transition:transform .2s ease}.app-chatgpt{animation:app-click 8s infinite}.choose-ai-cursor{position:absolute;top:80%;left:50%;z-index:10;animation:move-cursor-choose-ai 8s infinite}@keyframes move-cursor-choose-ai{0%,5%{transform:translate(0);opacity:0}6%,8%{transform:translate(0);opacity:1}18%{transform:translate(-60px,-110px);opacity:1}25%{transform:translate(-60px,-110px) scale(.9)}28%{transform:translate(-60px,-110px) scale(1)}55%{transform:translate(-60px,-110px) scale(1);opacity:1}62%{transform:translate(0);opacity:1}68%,to{transform:translate(0);opacity:0}}@keyframes app-click{0%,22%{transform:scale(1)}25%{transform:scale(.9);filter:brightness(.8)}28%,to{transform:scale(1);filter:brightness(1)}}.choose-topic-mockup{display:flex;flex-direction:column;padding:0 16px 16px;gap:12px}.choose-topic-mockup .paste-awai-header{margin:0 -16px;padding:8px 16px;border-bottom:1px solid;border-color:inherit;height:auto;gap:8px;justify-content:center}.mockup-topic-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px}.mockup-topic-card{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid;transition:transform .2s ease}.mockup-topic-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;background:#5b8dd938;box-shadow:0 0 0 2px #5b8dd9,0 0 12px #5b8dd959;opacity:0;pointer-events:none}.mockup-topic-card.topic-career{animation:topic-click 8s infinite}.mockup-topic-card.topic-career:after{animation:topic-highlight 8s infinite}.mockup-topic-icon,.mockup-topic-label{position:relative;z-index:1}.mockup-topic-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mockup-topic-label{font-size:13px;font-weight:600}.choose-topic-mockup .mockup-cursor{top:0;left:0;animation:move-cursor-choose-topic 8s infinite}@keyframes move-cursor-choose-topic{0%,5%{transform:translate(340px,230px);opacity:0}6%,10%{transform:translate(340px,230px);opacity:1}28%,34%{transform:translate(70px,85px);opacity:1}38%{transform:translate(70px,85px) scale(.88);opacity:1}42%,70%{transform:translate(70px,85px) scale(1);opacity:1}85%,to{transform:translate(340px,230px);opacity:0}}@keyframes topic-click{0%,36%{transform:scale(1)}40%{transform:scale(.94)}44%,to{transform:scale(1)}}@keyframes topic-highlight{0%,36%{opacity:0}40%{opacity:.7}44%,72%{opacity:1}80%,to{opacity:0}}.diagnosis-result-mockup{display:flex;flex-direction:column;padding:0 16px 16px;gap:10px}.diagnosis-result-mockup .paste-awai-header{margin:0 -16px;padding:8px 16px;border-bottom:1px solid;border-color:inherit;height:auto;gap:8px;justify-content:center}.diagnosis-result-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:14px 16px;border-radius:8px;border:1px solid}.diagnosis-result-character{width:46px;height:46px;border-radius:50%;flex-shrink:0;opacity:0;transform:scale(.85);animation:result-stage-character 8s infinite;box-shadow:0 4px 14px #5b8dd940;margin-bottom:2px}.diagnosis-result-job{width:130px;height:10px;border-radius:4px;opacity:0;animation:result-stage-job 8s infinite}.diagnosis-result-tagline{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;margin-top:4px}.diagnosis-result-tagline-line{height:4px;border-radius:3px;opacity:0;animation:result-stage-tagline 8s infinite}.diagnosis-result-tagline-line:nth-child(1){width:88%}.diagnosis-result-tagline-line:nth-child(2){width:82%}.diagnosis-result-tagline-line:nth-child(3){width:76%}.diagnosis-result-tagline-line:nth-child(4){width:60%}.analyze-preview-container{position:relative;height:100%;border-radius:8px;overflow:hidden}@keyframes result-stage-character{0%,2%{opacity:0;transform:scale(.85)}9%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(.85)}}@keyframes result-stage-job{0%,10%{opacity:0}16%,88%{opacity:1}96%,to{opacity:0}}@keyframes result-stage-tagline{0%,18%{opacity:0}26%,88%{opacity:1}96%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.diagnosis-result-character,.diagnosis-result-job,.diagnosis-result-tagline-line{animation:none!important;opacity:1;transform:none}}.welcome-recent{max-width:900px;width:100%;padding:0 var(--space-6);margin-top:var(--space-10)}.welcome-recent-title{font-size:var(--text-micro);font-weight:var(--weight-bold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-4)}.welcome-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}@media(max-width:768px){.welcome-cards{grid-template-columns:1fr}}.welcome-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--glass-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;text-align:left;transition:all .2s}.welcome-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.welcome-card-header{display:flex;justify-content:space-between;align-items:center}.welcome-card-badge{font-size:var(--text-nano);font-weight:var(--weight-bold);padding:2px 8px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em}.welcome-card-badge--diagnosis{background:#5b8dd926;color:var(--color-accent)}.welcome-card-badge--process{background:var(--color-surface-raised);color:var(--color-text-secondary);border:1px solid var(--color-border)}.welcome-card-badge--compatibility{background:#22aa5026;color:#5bbd72}[data-theme=light] .welcome-card-badge--diagnosis{background:#2c5ea81a;color:var(--color-accent)}[data-theme=light] .welcome-card-badge--process{background:var(--color-surface-raised);color:var(--color-text-secondary)}[data-theme=light] .welcome-card-badge--compatibility{background:#22aa501a;color:#2d8a45}.welcome-card-meta{font-size:var(--text-nano);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.02em}.welcome-card-title{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.welcome-card-subtitle{font-size:var(--text-caption);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;margin-top:-2px}.welcome-card--diagnosis{border-color:#5b8dd947}.welcome-card--diagnosis:hover{border-color:#5b8dd999}.welcome-card--compatibility{border-color:#22aa5047}.welcome-card--compatibility:hover{border-color:#22aa5099}.welcome-card--process{border-color:#96969147}.welcome-card--process:hover{border-color:#9696918c}[data-theme=light] .welcome-card--diagnosis{border-color:#2c5ea83d}[data-theme=light] .welcome-card--diagnosis:hover{border-color:#2c5ea88c}[data-theme=light] .welcome-card--compatibility{border-color:#22aa503d}[data-theme=light] .welcome-card--compatibility:hover{border-color:#22aa508c}[data-theme=light] .welcome-card--process{border-color:#78787347}[data-theme=light] .welcome-card--process:hover{border-color:#78787380}.welcome-card-cta{display:inline-flex;align-items:center;gap:4px;margin-top:auto;padding-top:6px;font-family:var(--font-sans);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.04em;color:var(--color-text-secondary)}.welcome-card-cta--resume{color:var(--color-accent, var(--lp-primary))}.welcome-card-cta--resume:before{content:"▶";font-size:9px}.diagnosis-flow{width:100%;max-width:600px;margin:0 auto;padding:var(--space-8) var(--space-4);display:flex;flex-direction:column;gap:var(--space-8)}.diagnosis-flow--chat{max-width:min(1280px,100%);height:calc(100vh - 76px);height:calc(100dvh - 76px);min-height:480px;overflow:hidden}.diagnosis-flow--chat .diagnosis-step-container{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.diagnosis-step-container{width:100%;animation:diagnosis-fade-in .3s ease-out}@keyframes diagnosis-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-indicator-wrapper{width:100%;max-width:600px;margin-left:auto;margin-right:auto;margin-bottom:var(--space-4)}.diagnosis-flow-progress{width:100%;max-width:600px;margin:-8px auto var(--space-4)}.step-indicator-desktop{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.step-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);position:relative}.step-dot{width:28px;height:28px;border-radius:50%;background:var(--color-surface-raised);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted);z-index:2;transition:all .3s ease}.step-item.active .step-dot{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 0 15px var(--color-accent-glow)}.step-item.completed .step-dot{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.step-label{font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-align:center}.step-item.active .step-label{color:var(--color-text-primary)}.step-line{position:absolute;top:14px;left:calc(50% + 20px);right:calc(-50% + 20px);height:1px;background:var(--color-border);z-index:1}.step-item.completed .step-line{background:var(--color-accent)}.step-indicator-mobile,.step-indicator-dots-mobile{display:none}.diagnosis-step{width:100%}.step-content{width:100%;max-width:720px;padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.step-title{font-size:var(--text-title-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:0;text-align:left;line-height:1.3}.step-desc{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.6;margin:0;text-align:left}.step-footer{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.step-footer .btn-primary,.step-footer .btn-secondary{flex:1;min-height:44px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.step-footer .btn-primary{background:var(--color-accent);color:var(--color-on-accent);border:1px solid var(--color-accent)}.step-footer .btn-primary:hover:not(:disabled){filter:brightness(1.1)}.step-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.step-footer .btn-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.step-footer .btn-secondary:hover{color:var(--color-text-primary);border-color:var(--color-border-hover)}.topic-selector-notice{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-warning, #f59e0b);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5}.topic-selector-notice>svg{flex-shrink:0;margin-top:1px;color:var(--color-warning, #f59e0b)}.topic-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.topic-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);text-align:left;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all .15s ease;cursor:pointer;position:relative;color:var(--color-text-primary)}.topic-card:hover{border-color:var(--color-accent);transform:translateY(-1px)}.topic-card.selected{border-color:var(--color-accent);background:var(--color-accent-subtle)}.topic-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-accent-subtle);color:var(--color-accent);flex-shrink:0}.topic-card-icon svg{width:22px;height:22px}.topic-card-content{display:flex;flex-direction:column;gap:var(--space-1);width:100%;min-width:0;flex:1}.topic-card-label{font-size:var(--text-subheading);font-weight:var(--weight-semibold);color:var(--color-text-primary);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.topic-card-desc{font-size:var(--text-body-sm);color:var(--color-text-secondary);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.selected-indicator{position:absolute;top:var(--space-2);right:var(--space-3);color:var(--color-accent);display:inline-flex;align-items:center}.free-topic-input-container{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md)}.free-topic-input-container .form-help{font-size:var(--text-body-sm);color:var(--color-text-secondary)}.prompt-preview-container{position:relative;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);max-height:180px;overflow-y:auto}.prompt-preview{font-family:var(--font-mono);font-size:var(--text-body-sm);color:var(--color-text-secondary);white-space:pre-wrap;line-height:1.6}.ai-services-section{display:flex;flex-direction:column;gap:var(--space-3)}.ai-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.ai-service-btn{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;transition:all .15s;text-align:left;font-family:var(--font-sans)}.ai-service-btn .service-name{flex:1}.ai-service-btn:hover:not(:disabled){border-color:var(--service-color, var(--color-accent));transform:translateY(-1px)}.ai-service-btn:disabled{cursor:not-allowed;opacity:.5}.ai-service-btn.is-opened{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent)}.ai-service-btn.is-opened .service-icon{opacity:1;color:var(--color-accent);font-weight:var(--weight-bold)}.service-icon{display:inline-flex;align-items:center;opacity:.5}@media(max-width:768px){.ai-services-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:380px){.ai-services-grid{grid-template-columns:1fr}}.paste-area-wrapper{position:relative;display:flex;flex-direction:column;gap:var(--space-2)}.prompt-paste-textarea{min-height:240px}.text-counter{align-self:flex-end;font-size:var(--text-caption);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.text-counter.invalid{color:var(--color-error)}.text-counter.valid{color:var(--color-success)}@media(max-width:768px){.diagnosis-flow{padding:var(--space-4);gap:var(--space-4)}.diagnosis-flow--chat{padding-bottom:0}.step-indicator-desktop{display:none}.step-indicator-mobile{display:block;text-align:center;font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--color-text-secondary)}.step-indicator-dots-mobile{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.step-indicator-dots-mobile .dot{width:6px;height:6px;border-radius:50%;background:var(--color-border)}.step-indicator-dots-mobile .dot.active{background:var(--color-accent);transform:scale(1.2)}.step-indicator-dots-mobile .dot.completed{background:var(--color-accent-subtle)}.topic-cards-grid{grid-template-columns:1fr}.topic-card{flex-direction:row;align-items:center}.step-content{padding:var(--space-6)}}.settings-billing-v3-empty{color:var(--color-text-muted, var(--color-on-surface-variant));font-size:13px;font-style:italic}.settings-billing-v3-ticket-value{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap}.settings-billing-v3-action-btn{min-width:160px}.settings-billing-v3-ticket-note{font-size:var(--text-body-sm);color:var(--color-text-secondary)}.compatibility-create-page,.compatibility-invite-page,.compatibility-result-page{min-height:100%;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text-primary)}.compatibility-form-main,.compatibility-invite-main,.compatibility-result-main,.compatibility-result-loading-main,.compatibility-result-error-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:32px 16px}.compatibility-form-heading,.compatibility-result-title{font-size:28px;font-weight:700;margin:0 0 16px;text-align:center}.compatibility-form-lead{margin:0 0 24px;color:var(--color-text-secondary);text-align:center}.compatibility-form{display:flex;flex-direction:column;gap:16px;width:100%;max-width:480px}.compatibility-create-page.diagnosis-flow{min-height:auto}.compatibility-create-page.diagnosis-flow .compatibility-form-main{padding:0;align-items:stretch;flex:0 0 auto}.compatibility-create-page.diagnosis-flow .compatibility-form{max-width:none}.compatibility-form-hint{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.compatibility-form-submit,.compatibility-invite-submit{margin-top:16px;padding:12px 24px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer}.compatibility-form-submit:disabled,.compatibility-invite-submit:disabled{opacity:.5;cursor:not-allowed}.compatibility-invite-card{width:100%;max-width:540px;padding:24px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:12px}.compatibility-invite-lead{font-size:18px;margin:0 0 16px}.compatibility-invite-meta{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0 0 24px}.compatibility-invite-meta dt{color:var(--color-text-muted)}.compatibility-invite-form{display:flex;flex-direction:column;gap:8px}.compatibility-invite-login{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.compatibility-invite-login-cta{padding:10px 18px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;cursor:pointer}.compatibility-form-voucher-note{font-size:13px;color:var(--color-text-muted);margin:0 0 16px;padding:8px 12px;background:var(--glass-light-bg);border-radius:8px;border:1px solid var(--color-border)}.compat-form-section{display:flex;flex-direction:column;gap:var(--space-2)}.compat-form-section .form-label{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.compat-form-section .form-input.is-next,.compat-form-section .custom-select.is-next .custom-select-trigger{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 18%,transparent)}.custom-select-trigger.is-placeholder{color:var(--color-text-muted)}.custom-select-trigger:disabled{cursor:not-allowed;opacity:.6}.compat-form-section--locked{opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none}.compat-form-divider{height:1px;background:var(--color-border);margin:var(--space-5) 0}.form-help{margin:0;font-size:var(--text-caption);font-weight:var(--weight-normal);line-height:1.5;color:var(--color-text-muted)}.topic-selector .step-content>.compatibility-form-voucher-note{margin:var(--space-3) 0 0;padding:0;background:transparent;border:none;text-align:center;font-size:var(--text-caption)}.compatibility-sent-card{width:100%;max-width:560px;margin:16px 0 24px;padding:16px;display:flex;flex-direction:column;gap:8px}.compatibility-sent-url-row{display:flex;gap:8px;align-items:stretch}.compatibility-sent-url-row .form-input{flex:1 1 auto;font-family:var(--font-mono, monospace);font-size:13px}.compatibility-sent-copy-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:13px;cursor:pointer;white-space:nowrap}.compatibility-sent-copy-btn:hover{filter:brightness(1.1)}.compatibility-sent-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.link-button{background:none;border:none;padding:0;color:var(--color-accent);text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit}.link-button:hover{filter:brightness(1.2)}.link-button:disabled{opacity:.6;cursor:not-allowed}.compatibility-result-loading,.compatibility-result-error{text-align:center;padding:var(--space-12) var(--space-4)}.compatibility-result-loading-title{font-size:var(--text-subheading);margin:0 0 var(--space-3);color:var(--color-text-primary);font-weight:var(--weight-semibold)}.compatibility-result-loading-hint{color:var(--color-text-muted);font-size:var(--text-body-sm)}.compatibility-result-retry-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-4);min-height:36px;padding:var(--space-2) var(--space-5);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-body-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.compatibility-result-retry-btn:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.compatibility-result-retry-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.compatibility-result-content{width:100%;max-width:720px}.compatibility-result-main{flex:1;display:flex;justify-content:center;padding:var(--space-8) var(--space-6);background:var(--color-canvas)}.compatibility-card{--compat-host-color: #4890f0;--compat-guest-color: #3aa56e;--compat-resonance-color: #f0c060;width:100%;display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-3) var(--space-4)}.compatibility-card-header{text-align:center;margin-bottom:0}.compatibility-card-eyebrow{font-size:var(--text-micro);letter-spacing:.15em;color:var(--color-accent);font-weight:var(--weight-bold);margin:0 0 var(--space-2);text-transform:uppercase}.compatibility-card-title{font-size:var(--text-title);font-weight:var(--weight-bold);color:var(--color-text-primary);margin:0;line-height:1.25;letter-spacing:-.01em}.compatibility-card-pair{display:flex;align-items:flex-start;justify-content:center;gap:var(--space-5);flex-wrap:nowrap}.compatibility-participant{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:0 1 200px;min-width:0}.compatibility-participant-img{width:100%;max-width:160px;aspect-ratio:1;border-radius:var(--radius-xl);object-fit:cover;border:1px solid var(--glass-border);box-shadow:var(--shadow-md);background:var(--color-bg)}.compatibility-participant--host .compatibility-participant-img{border-color:color-mix(in srgb,var(--compat-host-color) 35%,var(--glass-border))}.compatibility-participant--guest .compatibility-participant-img{border-color:color-mix(in srgb,var(--compat-guest-color) 35%,var(--glass-border))}.compatibility-participant-img--placeholder{background:var(--glass-light-bg)}.compatibility-participant-name{font-weight:var(--weight-bold);font-size:var(--text-body);color:var(--color-text-primary);text-align:center}.compatibility-participant-job{font-size:var(--text-body-sm);color:var(--color-text-secondary);text-align:center}.compatibility-card-pair-cross{font-size:var(--text-title-sm);font-weight:var(--weight-normal);color:var(--color-text-muted);align-self:center;margin-top:60px;-webkit-user-select:none;user-select:none;font-family:var(--font-serif, "Georgia", serif)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.compatibility-composite{display:flex;align-items:center;justify-content:center;margin:0}.compatibility-composite-img{width:100%;max-width:390px;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-xl);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);background:var(--color-bg);animation:float 6s ease-in-out infinite}.compatibility-composite--fallback{gap:var(--space-3)}.compatibility-composite-fallback-img{width:220px;max-width:40vw;aspect-ratio:1;border-radius:var(--radius-xl);object-fit:cover;border:1px solid var(--glass-border);box-shadow:var(--shadow-md);background:var(--color-bg)}.compatibility-composite-fallback-img--host{border-color:color-mix(in srgb,var(--compat-host-color) 35%,var(--glass-border))}.compatibility-composite-fallback-img--guest{border-color:color-mix(in srgb,var(--compat-guest-color) 35%,var(--glass-border))}.compatibility-composite-fallback-img--placeholder{background:var(--glass-light-bg)}.compatibility-composite-fallback-cross{font-size:var(--text-title-sm);font-weight:var(--weight-normal);color:var(--color-text-muted);font-family:var(--font-serif, "Georgia", serif);-webkit-user-select:none;user-select:none}.compatibility-individual-lead{margin-bottom:var(--space-4)}.compatibility-individual-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.compatibility-individual-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--glass-light-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.compatibility-individual-card--host{border-color:color-mix(in srgb,var(--compat-host-color) 35%,var(--glass-border))}.compatibility-individual-card--guest{border-color:color-mix(in srgb,var(--compat-guest-color) 35%,var(--glass-border))}.compatibility-individual-card-image-link{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-decoration:none;color:inherit}.compatibility-individual-img{width:100%;max-width:208px;aspect-ratio:1;border-radius:var(--radius-xl);object-fit:cover;border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);background:var(--color-bg);animation:float 6s ease-in-out infinite}.compatibility-individual-img--placeholder{background:var(--glass-light-bg);animation:none}.compatibility-individual-name{font-weight:var(--weight-bold);font-size:var(--text-body);color:var(--color-text-primary);text-align:center}.compatibility-individual-job{font-size:var(--text-body-sm);color:var(--color-text-secondary);text-align:center}.compatibility-individual-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-4);font-size:var(--text-body-sm);font-weight:var(--weight-bold);color:#fff;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.compatibility-individual-link:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}@media(max-width:768px){.compatibility-individual-grid{grid-template-columns:1fr}.compatibility-composite-fallback-img{width:140px}}.compatibility-card-signature{font-size:1.25rem;font-family:var(--font-serif, "Georgia", "Yu Mincho", serif);font-style:italic;font-weight:var(--weight-medium);line-height:1.6;color:var(--color-text-primary);text-align:center;margin:0;padding:0 var(--space-4)}.compatibility-card-axes{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);background:var(--glass-heavy-bg);backdrop-filter:var(--glass-heavy-blur);-webkit-backdrop-filter:var(--glass-heavy-blur);border-radius:var(--radius-xl);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.compatibility-axis-row{display:flex;flex-direction:column;gap:var(--space-3)}.compatibility-axis-labels{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.compatibility-axis-label-left,.compatibility-axis-label-right{font-size:var(--text-body-sm);font-weight:var(--weight-bold);color:var(--color-text-primary);flex-shrink:1;max-width:45%;letter-spacing:.03em}.compatibility-axis-label-right{text-align:right}.compatibility-axis-track{position:relative;height:8px;background:var(--color-accent-subtle);border-radius:4px}.compatibility-axis-track:before{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:var(--color-text-secondary);opacity:.45;transform:translate(-50%);border-radius:1px;z-index:1}.compatibility-axis-link{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,var(--compat-host-color),var(--compat-guest-color));border-radius:4px;opacity:.7;z-index:1}.compatibility-axes-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-5);padding-bottom:var(--space-4);margin-bottom:var(--space-2);border-bottom:1px solid var(--glass-border)}.compatibility-axes-legend-item{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);min-width:0}.compatibility-axes-legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--glass-border)}.compatibility-axes-legend-host .compatibility-axes-legend-dot{background:var(--compat-host-color)}.compatibility-axes-legend-guest .compatibility-axes-legend-dot{background:var(--compat-guest-color)}.compatibility-axis-marker{position:absolute;top:50%;width:24px;height:24px;border-radius:50%;background:var(--color-surface);transform:translate(-50%,-50%);box-shadow:0 2px 8px #0000004d;z-index:2;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:var(--weight-bold);line-height:1;color:var(--color-text-primary);font-family:var(--font-mono, "JetBrains Mono", monospace)}.compatibility-axis-marker-host{border:3px solid var(--compat-host-color)}.compatibility-axis-marker-guest{border:3px solid var(--compat-guest-color)}.compatibility-axis-interpretation{font-size:var(--text-body-sm);line-height:1.7;color:var(--color-text-secondary);margin:var(--space-1) 0 0;padding:0 var(--space-3);border-left:3px solid var(--color-accent-subtle);font-weight:var(--weight-medium)}.compatibility-card-sections{display:flex;flex-direction:column;gap:var(--space-6)}.compatibility-section{padding:var(--space-6);background:var(--glass-bg);border-radius:var(--radius-xl);border:1px solid var(--glass-border);box-shadow:0 8px 32px #0003}.compatibility-section-label{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin:0 0 var(--space-5);font-weight:var(--weight-bold);display:flex;align-items:center;gap:var(--space-3)}.compatibility-section-label:after{content:"";flex:1;height:1px;background:var(--color-border-active);opacity:.4}.compatibility-section-text{font-size:var(--text-body);line-height:1.8;color:var(--color-text-primary);margin:0;white-space:pre-wrap}.compatibility-section-text+.compatibility-section-text{margin-top:var(--space-3)}.compatibility-body-lead-text{font-size:var(--text-body);line-height:1.85;color:var(--color-text-primary);margin:0;white-space:pre-wrap}.compatibility-scene-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.compatibility-scene-item{display:flex;align-items:flex-start;gap:var(--space-3)}.compatibility-scene-icon{flex-shrink:0;margin-top:3px;color:var(--color-accent)}.compatibility-scene-list--friction .compatibility-scene-icon{color:var(--color-warning)}.compatibility-scene-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.compatibility-scene-title{font-size:var(--text-body);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1.5}.compatibility-scene-description{font-size:var(--text-body-sm);line-height:1.7;color:var(--color-text-secondary)}.compatibility-case-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:#ffffff05;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.compatibility-case-setup{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-body-sm);line-height:1.6;font-style:italic}.compatibility-case-icon{flex-shrink:0;margin-top:2px;color:var(--color-accent)}.compatibility-case-setup-text{min-width:0}.compatibility-case-outcome{margin:0;font-size:var(--text-body);line-height:1.85;color:var(--color-text-primary);white-space:pre-wrap}.compatibility-proverb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.compatibility-proverb-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:#ffffff05;border-radius:var(--radius-lg);border-left:3px solid var(--color-accent)}.compatibility-proverb-icon{flex-shrink:0;margin-top:2px;color:var(--color-accent);opacity:.55}.compatibility-proverb-body{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.compatibility-proverb-text{font-size:var(--text-body);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1.5}.compatibility-proverb-supplement{font-size:var(--text-body-sm);line-height:1.7;color:var(--color-text-secondary)}.compatibility-shape-caption{margin:var(--space-3) 0 0;font-size:var(--text-caption);color:var(--color-text-secondary);text-align:center;line-height:1.5}.compatibility-map-narrative{margin-top:var(--space-5)}.compatibility-kindred-list{display:flex;flex-direction:column;gap:var(--space-3)}.compatibility-kindred-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:#ffffff05;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.compatibility-kindred-name{font-size:var(--text-subheading);font-weight:var(--weight-bold);color:var(--color-accent)}.compatibility-kindred-brief{font-size:var(--text-body-sm);line-height:1.5;color:var(--color-text-muted);font-style:italic}.compatibility-kindred-reason{font-size:var(--text-body-sm);line-height:1.6;color:var(--color-text-secondary)}@media(max-width:1024px)and (orientation:portrait),(max-width:640px){.compatibility-result-main{padding:var(--space-6) 0}.compatibility-result-content>.compatibility-card{padding-left:0;padding-right:0}.compatibility-result-content .compatibility-card-header,.compatibility-result-content .compatibility-card-pair,.compatibility-result-content .compatibility-composite,.compatibility-result-content .compatibility-card-signature,.compatibility-result-content .compatibility-card-axes,.compatibility-result-content .compatibility-section:not(.compatibility-shape-section),.compatibility-result-content .compatibility-share-section,.compatibility-result-content .compatibility-card-brand{margin-left:var(--space-4);margin-right:var(--space-4)}.compatibility-shape-section{padding:0;background:transparent;border:none;box-shadow:none;border-radius:0}.compatibility-shape-section .compatibility-section-label,.compatibility-shape-section .compatibility-shape-caption,.compatibility-shape-section .compatibility-section-text{margin-left:var(--space-4);margin-right:var(--space-4)}.compatibility-shape-section .compatibility-map3d-frame{height:360px;background:transparent;border:none;border-radius:0}.compatibility-card-pair{gap:var(--space-3)}.compatibility-participant{flex:0 1 140px}.compatibility-participant-img{max-width:120px}.compatibility-card-pair-cross{margin-top:50px;font-size:var(--text-subheading)}}.compatibility-map3d-frame{position:relative;width:100%;height:400px;margin-top:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.compatibility-map3d-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.compatibility-map3d-canvas .graph-row{flex:1;height:100%;min-height:0;padding-bottom:0!important;flex-direction:row!important}.compatibility-map3d-canvas .graph-container{width:100%;height:100%}.compatibility-side-filter{position:absolute;left:var(--space-3);bottom:var(--space-3);z-index:10;display:flex;gap:var(--space-1);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:var(--space-1);border-radius:var(--radius-md);border:var(--glass-border)}.compatibility-side-filter-btn{padding:4px 12px;min-height:28px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.compatibility-side-filter-btn:hover{background:var(--color-interactive-hover);color:var(--color-text-primary)}.compatibility-side-filter-btn.is-active{background:var(--color-accent-subtle);border-color:var(--color-border-active);color:var(--color-text-primary)}.compatibility-shape-zoom{position:absolute;top:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background var(--transition-fast);z-index:11}.compatibility-shape-zoom:hover{background:#000000c7}.compatibility-shape-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#000000c7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.compatibility-shape-modal-inner{position:relative;width:100%;height:100%;max-width:1200px;max-height:800px;background:var(--color-canvas);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);display:flex}.compatibility-shape-modal-inner .graph-row,.compatibility-shape-modal-inner .graph-container{width:100%;height:100%;min-height:0}.compatibility-shape-modal-close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:10;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background var(--transition-fast)}.compatibility-shape-modal-close:hover{background:#000000d9}.compatibility-public-share-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.compatibility-public-share-toggle{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:var(--space-3);cursor:pointer}.compatibility-public-share-toggle input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--color-accent);cursor:pointer}.compatibility-public-share-toggle input[type=checkbox]:disabled{cursor:default;opacity:.5}.compatibility-public-share-text{display:flex;flex-direction:column;gap:var(--space-1)}.compatibility-public-share-label{font-size:var(--text-body-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.compatibility-public-share-description{font-size:var(--text-body-sm);color:var(--color-text-secondary);line-height:1.5}.compatibility-public-share-locked-notice{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;font-size:var(--text-body-sm);color:var(--color-text-secondary);line-height:1.5}.compatibility-share-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-top:var(--space-8);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:center}.compatibility-share-lead{margin:0;font-size:var(--text-subheading);font-weight:var(--weight-semibold);color:var(--color-text-primary);line-height:1.4}.compatibility-share-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;max-width:320px;min-height:48px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-body);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:filter .15s,transform .15s}.compatibility-share-primary:active{transform:translateY(0)}.compatibility-share-primary.compatibility-share-x{background:#000;color:#fff;border:1px solid #333}[data-theme=light] .compatibility-share-primary.compatibility-share-x{background:#000;color:#fff;border:1px solid #000}.compatibility-share-primary.compatibility-share-x:hover{transform:translateY(-1px);filter:brightness(1.2)}[data-theme=light] .compatibility-share-primary.compatibility-share-x:hover{filter:brightness(1.2)}.compatibility-share-secondary{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.compatibility-share-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:36px;padding:var(--space-2) var(--space-4);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-body-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.compatibility-share-btn:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.compatibility-share-line:hover{color:#fff;background:#06c755;border-color:#06c755}.compatibility-share-whatsapp:hover{color:#fff;background:#25d366;border-color:#25d366}.compatibility-share-btn.is-copied{color:var(--color-success, #22c55e);border-color:var(--color-success, #22c55e)}.compatibility-share-url-display{display:block;width:100%;max-width:480px;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-caption);line-height:1.4;word-break:break-all;text-align:center;text-decoration:none;transition:color .15s,border-color .15s}.compatibility-share-url-display:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.compatibility-share-url-display:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;color:var(--color-text-primary);border-color:var(--color-text-secondary)}.compatibility-card-brand{font-size:var(--text-body-sm);letter-spacing:.5em;text-align:center;color:var(--color-text-muted);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border);font-weight:var(--weight-bold)}[lang=ja] .compatibility-section-text,[lang=ja] .compatibility-card-signature,[lang=ja] .compatibility-body-lead-text,[lang=ja] .compatibility-scene-description,[lang=ja] .compatibility-case-setup-text,[lang=ja] .compatibility-case-outcome,[lang=ja] .compatibility-proverb-supplement{letter-spacing:.03em}
