:root{color-scheme:light;--bg: #f5f7f9;--surface: #ffffff;--surface-muted: #f0f4f6;--surface-blue: #eaf3f7;--ink: #182a35;--ink-2: #465b68;--muted: #536670;--line: #dce5e9;--primary: #176b82;--primary-dark: #105669;--primary-soft: #e2f1f5;--accent: #c26a35;--accent-soft: #fff1e6;--success: #2c775d;--success-soft: #e7f3ed;--warning: #94621d;--warning-soft: #fff4dd;--danger: #a8443b;--danger-soft: #fcecea;--shadow: 0 16px 42px rgba(24, 42, 53, .07);--shadow-soft: 0 5px 18px rgba(24, 42, 53, .05);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--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;--font-body: "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", system-ui, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-2xl: 32px;--line-body: 1.65}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;color:var(--ink);background:var(--bg);font:400 var(--font-size-md)/var(--line-body) var(--font-body)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}input[type=checkbox],input[type=radio]{width:24px;height:24px;min-width:24px;flex:0 0 24px;accent-color:var(--primary)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #6aa8bc;outline-offset:3px}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:4;display:flex;flex-direction:column;width:248px;padding:28px 18px 20px;background:var(--surface);border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 30px}.brand-mark{display:grid;width:36px;height:36px;place-items:center;color:#fff;background:var(--primary);border-radius:12px}.brand-mark svg{width:21px;height:21px}.brand-name{font-size:var(--font-size-md);font-weight:650;letter-spacing:-.02em}.brand-sub{display:block;color:var(--muted);font-size:var(--font-size-xs);line-height:1.3}.nav-label{padding:0 12px 10px;color:var(--muted);font-size:var(--font-size-xs);letter-spacing:.08em}.nav-list{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 12px;color:var(--ink-2);border-radius:10px;font-size:var(--font-size-sm);font-weight:540}.nav-link:hover{background:var(--surface-muted)}.nav-link.active{color:var(--primary-dark);background:var(--primary-soft);font-weight:650}.nav-icon{display:inline-grid;width:20px;height:20px;place-items:center;flex:0 0 20px}.nav-icon svg{width:19px;height:19px;stroke:currentColor}.sidebar-foot{margin-top:auto;padding:16px 12px 0;border-top:1px solid var(--line)}.local-status{display:flex;align-items:center;gap:9px;color:var(--ink-2);font-size:var(--font-size-xs)}.local-dot{width:8px;height:8px;background:var(--success);border-radius:50%;box-shadow:0 0 0 4px var(--success-soft)}.local-note{margin-top:9px;color:var(--muted);font-size:var(--font-size-xs);line-height:1.55}.main-area{min-height:100vh;margin-left:248px}.topbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 44px;background:#f5f7f9f0;border-bottom:1px solid rgba(220,229,233,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.breadcrumb{color:var(--muted);font-size:var(--font-size-sm)}.top-actions{display:flex;align-items:center;gap:12px}.avatar{display:grid;width:34px;height:34px;place-items:center;color:var(--primary-dark);background:var(--primary-soft);border-radius:50%;font-size:var(--font-size-xs);font-weight:700}.content{width:min(100%,1510px);margin:0 auto;padding:30px 44px 64px}.prototype-banner{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;color:#754b17;background:var(--warning-soft);border:1px solid #efdcae;border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.prototype-banner strong{display:block;margin-bottom:2px;color:#68420f}.banner-copy{max-width:620px;line-height:1.55}.banner-mark{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border:1px solid #d7ae5e;border-radius:50%;font-size:13px;font-weight:700}.eyebrow{color:var(--primary);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.page-title{margin:8px 0;font-size:clamp(28px,3vw,40px);line-height:1.18;letter-spacing:-.035em;text-wrap:balance}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 18px}.section-title{margin:0;font-size:var(--font-size-lg);line-height:1.35;letter-spacing:-.015em}.section-note{margin:5px 0 0;color:var(--muted);font-size:var(--font-size-sm)}.page-lede{max-width:680px;margin:0;color:var(--ink-2);font-size:var(--font-size-md);line-height:1.7}.link{display:inline-flex;align-items:center;min-height:28px;color:var(--primary);font-size:var(--font-size-sm);font-weight:650;white-space:nowrap}.link:hover{color:var(--primary-dark);text-decoration:underline;text-underline-offset:3px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 18px;border:1px solid transparent;border-radius:10px;background:var(--primary);color:#fff;font-size:var(--font-size-sm);font-weight:650;transition:background .18s ease,transform .18s ease;cursor:pointer;white-space:nowrap}.button:hover{background:var(--primary-dark);transform:translateY(-1px)}.button.secondary{color:var(--ink-2);background:var(--surface);border-color:var(--line)}.button.secondary:hover{background:var(--surface-muted)}.button.quiet{color:var(--primary);background:transparent}.button.quiet:hover{background:var(--primary-soft)}.button.danger{color:var(--danger);background:var(--danger-soft);border-color:#e6bbb7}.button.danger:hover{background:#f8dfdc}.button:disabled{color:var(--muted);background:var(--surface-muted);border-color:var(--line);cursor:not-allowed;opacity:.78;transform:none}.button:disabled:hover{background:var(--surface-muted);transform:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.card-pad{padding:24px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pill{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 10px;color:var(--ink-2);background:var(--surface-muted);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.pill.blue{color:var(--primary-dark);background:var(--primary-soft)}.pill.green{color:#245c47;background:var(--success-soft)}.pill.orange{color:#8d4a22;background:var(--accent-soft)}.pill.gold{color:#79500e;background:var(--warning-soft)}.rule{height:1px;margin:20px 0;background:var(--line)}.metric{color:var(--ink);font-size:30px;font-weight:700;letter-spacing:-.04em;line-height:1.1}.muted{color:var(--muted)}.small{font-size:var(--font-size-xs)}.callout{padding:16px 18px;color:var(--ink-2);background:var(--surface-blue);border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--font-size-sm)}.callout strong{color:var(--ink)}.form-field{display:grid;gap:7px}.form-field label{color:var(--ink);font-size:var(--font-size-sm);font-weight:650}.input,.textarea,.select{width:100%;min-height:46px;padding:11px 13px;color:var(--ink);background:var(--surface);border:1px solid #bdcbd2;border-radius:9px}.textarea{min-height:104px;resize:vertical}.input::placeholder,.textarea::placeholder{color:#71838d}.field-help{color:var(--muted);font-size:var(--font-size-xs)}.footer-note{max-width:760px;margin:32px 0 0;color:var(--muted);font-size:var(--font-size-xs)}.profile-actions,.nav-actions{display:flex;flex-wrap:wrap;gap:10px}.error-note{margin-top:12px;padding:12px 14px;color:#7c3832;background:var(--danger-soft);border:1px solid #e6bbb7;border-radius:9px;font-size:var(--font-size-sm)}.success-note{margin-top:12px;padding:12px 14px;color:#245c47;background:var(--success-soft);border-radius:9px;font-size:var(--font-size-sm)}@media(max-width:1080px){.sidebar{width:214px}.main-area{margin-left:214px}.topbar{padding:0 28px}.content{padding:26px 28px 56px}.grid-3{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:static;width:auto;height:auto;padding:12px 16px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:2px 0 10px}.nav-label,.sidebar-foot{display:none}.nav-list{display:flex;overflow-x:auto;gap:5px;padding-bottom:2px}.nav-link{min-height:42px;flex:0 0 auto;padding:0 11px;font-size:var(--font-size-xs)}.nav-icon{display:none}.main-area{margin-left:0}.topbar{min-height:56px;padding:0 18px}.content{padding:20px 18px 44px}.grid-2{grid-template-columns:1fr}.page-title{font-size:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:24px;margin-top:28px;align-items:start}.welcome{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;margin:28px 0 30px}.welcome-copy{max-width:740px}.home-title{margin:7px 0 12px;font-size:clamp(34px,4vw,50px);line-height:1.13;letter-spacing:-.045em}.home-lede{max-width:640px;margin:0;color:var(--ink-2);font-size:var(--font-size-md);line-height:1.75}.home-mark{width:134px;height:112px;flex:0 0 134px;display:grid;place-items:center;border-radius:28px;color:var(--primary);background:var(--surface-blue)}.home-mark svg{width:76px;height:76px}.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.entry-card{display:flex;min-height:198px;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease}.entry-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.entry-icon{display:grid;width:40px;height:40px;place-items:center;margin-bottom:17px;color:var(--primary-dark);background:var(--primary-soft);border-radius:12px}.entry-icon svg{width:20px;height:20px;stroke:currentColor}.entry-card h3{margin:0 0 7px;font-size:var(--font-size-md);line-height:1.4}.entry-card p{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:1.6}.entry-arrow{display:flex;justify-content:flex-end;margin-top:auto;padding-top:17px;color:var(--primary);font-size:var(--font-size-md)}.recent{margin-top:30px}.recent-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid var(--line)}.recent-title{margin:0;font-size:var(--font-size-sm);font-weight:650}.recent-meta{margin-top:4px;color:var(--muted);font-size:var(--font-size-xs)}.right-stack{display:grid;gap:16px}.privacy-card{padding:22px}.privacy-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.privacy-icon{display:grid;width:36px;height:36px;place-items:center;color:var(--success);background:var(--success-soft);border-radius:11px}.privacy-icon svg{width:19px;height:19px;stroke:currentColor}.privacy-title{margin:0;font-size:var(--font-size-md)}.privacy-copy{margin:0;color:var(--ink-2);font-size:var(--font-size-sm)}.principle-list{display:grid;gap:13px;margin-top:16px}.principle{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2);font-size:var(--font-size-xs);line-height:1.55}.principle-mark{width:7px;height:7px;flex:0 0 7px;margin-top:6px;border-radius:50%;background:var(--primary)}.disclaimer{padding:20px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.disclaimer strong{display:block;margin-bottom:7px;color:var(--ink)}@media(max-width:1120px){.home-layout{grid-template-columns:1fr}.right-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.welcome{margin:24px 0}.home-mark{display:none}.entry-grid{grid-template-columns:1fr}.entry-card{min-height:164px}.right-stack{grid-template-columns:1fr}.recent-item{align-items:flex-start;flex-direction:column}}.profile-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 22px}.profile-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:18px;align-items:start;margin-top:20px}.progress-card{padding:22px 24px}.progress-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.progress-track{height:8px;margin:17px 0 10px;overflow:hidden;background:var(--surface-muted);border-radius:var(--radius-pill)}.progress-fill{width:33%;height:100%;background:var(--primary);border-radius:inherit}.rank-list{display:grid;gap:9px;margin-top:18px}.rank-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px;background:var(--surface-muted);border-radius:10px}.rank-num{color:var(--primary);font-size:var(--font-size-xs);font-weight:700}.rank-row strong{font-size:var(--font-size-sm)}.construct-list{display:grid;gap:10px;margin-top:17px}.construct-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.construct-row:first-child{border-top:0;padding-top:0}.construct-name{margin:0;font-size:var(--font-size-sm);font-weight:650}.construct-domain{margin-top:3px;color:var(--muted);font-size:var(--font-size-xs)}.domain-count{color:var(--muted);font-size:var(--font-size-xs);white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.stat-box{padding:15px;background:var(--surface-muted);border-radius:10px}.stat-box .metric{font-size:var(--font-size-xl)}.stat-box span{display:block;margin-top:5px;color:var(--muted);font-size:var(--font-size-xs)}.profile-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:920px){.profile-grid{grid-template-columns:1fr}.profile-head{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.stats{grid-template-columns:1fr}.rank-row{grid-template-columns:30px minmax(0,1fr)}.rank-row .pill{grid-column:2}}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 22px}.relationship-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:18px;align-items:start}.consent-list{display:grid;gap:10px;margin-top:14px}.consent-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--surface-muted);border-radius:10px}.consent-item input{width:24px;height:24px;min-width:24px;flex:0 0 24px;margin:0;accent-color:var(--primary)}.consent-item strong{display:block;color:var(--ink);font-size:var(--font-size-sm)}.consent-item>span{display:block;color:var(--ink)}.consent-item>span>span{display:block;margin-top:3px;color:var(--muted);font-size:var(--font-size-xs);line-height:1.5}.people{display:grid;grid-template-columns:1fr 48px 1fr;align-items:center;gap:10px;margin:18px 0}.person-chip{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:11px}.person-avatar{display:grid;width:35px;height:35px;place-items:center;color:var(--primary-dark);background:var(--primary-soft);border-radius:50%;font-size:var(--font-size-xs);font-weight:700}.person-chip strong{display:block;font-size:var(--font-size-sm)}.person-chip span:last-child{display:block;color:var(--muted);font-size:var(--font-size-xs)}.connection{height:1px;background:var(--line)}.preview-box{padding:16px;background:var(--surface-blue);border-radius:10px}.preview-label{margin-bottom:7px;color:var(--primary-dark);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.05em}.map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.map-cell{min-height:122px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.map-cell h3{margin:0 0 7px;font-size:var(--font-size-sm)}.map-cell p{margin:0;color:var(--muted);font-size:var(--font-size-xs);line-height:1.6}.map-cell.full{grid-column:1/-1}.permission-note{padding:15px 16px;color:#78481d;background:var(--warning-soft);border:1px solid #efdcae;border-radius:10px;font-size:var(--font-size-xs);line-height:1.6}.profile-micro{margin-top:16px;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--font-size-xs)}@media(max-width:980px){.relationship-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}}@media(max-width:580px){.map-grid{grid-template-columns:1fr}.map-cell.full{grid-column:auto}.people{grid-template-columns:1fr}.connection{width:1px;height:12px;margin:auto}}button.button:disabled{opacity:.55;cursor:not-allowed;transform:none}button.button:disabled:hover{background:var(--primary);transform:none}.event-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 22px}.event-layout{display:grid;grid-template-columns:minmax(0,1.3fr) 300px;gap:18px;align-items:start}.form-card{padding:24px}.mode-switch{display:flex;gap:8px;margin:16px 0 20px}.mode-option{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;color:var(--ink-2);font-size:var(--font-size-sm)}.mode-option.selected{color:var(--primary-dark);background:var(--primary-soft);border-color:#bcdbe4;font-weight:650}.mode-option input{accent-color:var(--primary)}.questions{display:grid;gap:16px}.question{padding:16px;background:var(--surface-muted);border-radius:11px}.question-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.question-no{display:grid;width:26px;height:26px;flex:0 0 26px;place-items:center;color:var(--primary-dark);background:var(--primary-soft);border-radius:50%;font-size:var(--font-size-xs);font-weight:700}.question-title{margin:1px 0 0;font-size:var(--font-size-sm);font-weight:650;line-height:1.5}.intake-note{margin-top:15px;padding:14px 16px;background:var(--surface-blue);border-radius:10px;color:var(--ink-2);font-size:var(--font-size-xs);line-height:1.6}.safety-card{padding:21px}.safety-icon{display:grid;width:38px;height:38px;place-items:center;margin-bottom:12px;color:var(--warning);background:var(--warning-soft);border-radius:12px}.safety-icon svg{width:20px;height:20px;stroke:currentColor}.safety-card h2{margin:0 0 7px;font-size:var(--font-size-md)}.safety-card p{margin:0;color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.6}.safety-links{display:grid;gap:9px;margin-top:15px}.safety-links a{display:flex;align-items:center;min-height:43px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink-2);font-size:var(--font-size-xs)}.safety-links a:hover{background:var(--surface-muted)}.aside-stack{display:grid;gap:15px}.single-mode{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.single-mode h3{margin:0 0 8px;font-size:var(--font-size-sm)}.single-mode p{margin:0;color:var(--muted);font-size:var(--font-size-xs);line-height:1.6}.nav-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}@media(max-width:980px){.event-layout{grid-template-columns:1fr}.event-head{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.form-card{padding:17px}.mode-switch{align-items:stretch;flex-direction:column}.nav-actions{flex-direction:column}.nav-actions .button{width:100%}}.mode-option.disabled{opacity:1;color:var(--muted);background:var(--surface-muted);border-color:var(--line);cursor:not-allowed}@media(max-width:760px){.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-card{padding:19px}}.map-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 22px}.map-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.fact-panel{padding:19px}.fact-panel h2{display:flex;align-items:center;gap:9px;margin:0 0 13px;font-size:var(--font-size-md)}.fact-dot{width:9px;height:9px;border-radius:50%;background:var(--primary)}.fact-dot.orange{background:var(--accent)}.fact-item{padding:13px 0;border-top:1px solid var(--line);font-size:var(--font-size-sm);line-height:1.6}.fact-item:first-of-type{border-top:0;padding-top:0}.fact-main{display:block;white-space:normal;overflow-wrap:anywhere}.fact-caption{display:block;margin-top:5px;color:var(--muted);font-size:var(--font-size-xs)}.quote-card{padding:18px 20px;background:var(--surface-muted);border-radius:12px}.quote-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;color:var(--muted);font-size:var(--font-size-xs)}.quote-label>span:first-child{flex:0 0 auto;white-space:nowrap}.quote-label .pill{flex:0 0 auto}.quote-text{margin:0;font-size:var(--font-size-sm);line-height:1.7}.hypotheses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.hypothesis{padding:19px;border:1px solid #d6e3e8;border-radius:12px;background:var(--surface)}.hypothesis h3{margin:10px 0 7px;font-size:var(--font-size-md);line-height:1.45}.hypothesis p{margin:0;color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.65}.basis{margin-top:13px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--font-size-xs);line-height:1.6}.hypothesis-actions{display:flex;gap:9px;margin-top:15px}.locked-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:18px 20px;border:1px dashed #bac9cf;border-radius:12px;background:#fbfcfd}.locked-panel strong{display:block;font-size:var(--font-size-sm)}.locked-panel p{margin:4px 0 0;color:var(--muted);font-size:var(--font-size-xs)}.lock-tag{color:var(--muted);font-size:var(--font-size-xs);white-space:nowrap}@media(max-width:840px){.map-columns,.hypotheses{grid-template-columns:1fr}.map-head{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.hypothesis-actions{flex-direction:column}.hypothesis-actions .button{width:100%}.locked-panel{align-items:flex-start;flex-direction:column}}@media screen and (max-width:840px){.map-columns{grid-template-columns:minmax(0,1fr)!important}.map-columns>.fact-panel{min-width:0}.quote-card,.quote-label,.quote-text{min-width:0}}.flow-step.done,.flow-step.active{color:var(--primary-dark);background:var(--primary-soft);border-color:#bcdbe4}.flow-step.done span,.flow-step.active span{color:#fff;background:var(--primary)}.flow-step.active{font-weight:700}.hypothesis-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.hypothesis-choice{display:flex;align-items:center;gap:7px;min-height:42px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;color:var(--ink-2);font-size:var(--font-size-xs)}.hypothesis-choice input{width:19px;height:19px;min-width:19px;flex:0 0 19px}.locked-panel button:disabled{color:var(--muted);background:var(--surface-muted);border-color:var(--line);cursor:not-allowed;transform:none}.locked-panel button:disabled:hover{background:var(--surface-muted);transform:none}@media(max-width:760px){.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hypothesis-actions{grid-template-columns:1fr}.map-head{align-items:flex-start;flex-direction:column}}.report-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 22px}.report-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);gap:18px;align-items:start}.report-stack{display:grid;gap:16px}.report-section{padding:22px}.report-section h2{margin:0;font-size:var(--font-size-lg)}.report-sub{margin:5px 0 16px;color:var(--muted);font-size:var(--font-size-xs)}.map-line{display:grid;grid-template-columns:124px minmax(0,1fr);gap:14px;padding:13px 0;border-top:1px solid var(--line)}.map-kind{color:var(--muted);font-size:var(--font-size-xs);font-weight:650}.map-detail{font-size:var(--font-size-sm);line-height:1.6}.map-detail small{display:block;margin-top:4px;color:var(--muted);font-size:var(--font-size-xs)}.suggestion{padding:17px;background:var(--surface-muted);border-radius:11px}.suggestion+.suggestion{margin-top:10px}.suggestion h3{margin:0 0 6px;font-size:var(--font-size-sm)}.suggestion p{margin:0;color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.6}.option{padding:16px 17px;border:1px solid var(--line);border-radius:11px}.option+.option{margin-top:10px}.option-top{display:flex;justify-content:space-between;gap:14px;align-items:center}.option h3{margin:0;font-size:var(--font-size-sm)}.option p{margin:8px 0 0;color:var(--ink-2);font-size:var(--font-size-xs);line-height:1.6}.option-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.report-aside{display:grid;gap:14px}.source-card{padding:20px}.source-card h2{margin:0 0 10px;font-size:var(--font-size-md)}.source-row{padding:12px 0;border-top:1px solid var(--line);font-size:var(--font-size-xs);line-height:1.6}.source-row strong{display:block;margin-bottom:3px;font-size:var(--font-size-sm)}.notice-neutral{padding:16px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.notice-neutral strong{display:block;font-size:var(--font-size-sm)}.notice-neutral p{margin:6px 0 0;color:var(--muted);font-size:var(--font-size-xs);line-height:1.6}@media(max-width:950px){.report-grid{grid-template-columns:1fr}.report-head{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.map-line{grid-template-columns:1fr;gap:5px}.report-section{padding:17px}}.safety-page{max-width:920px;margin:0 auto}.safety-head{display:flex;gap:18px;align-items:flex-start;margin:30px 0 22px}.safety-badge{display:grid;width:52px;height:52px;flex:0 0 52px;place-items:center;color:var(--danger);background:var(--danger-soft);border-radius:15px}.safety-badge svg{width:25px;height:25px;stroke:currentColor}.safety-title{margin:0;font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:-.03em}.safety-lede{max-width:690px;margin:9px 0 0;color:var(--ink-2);font-size:var(--font-size-md);line-height:1.7}.urgent{padding:20px 22px;color:#702f2c;background:var(--danger-soft);border:1px solid #e6bbb7;border-radius:14px}.urgent strong{display:block;margin-bottom:6px;font-size:var(--font-size-md)}.urgent p{margin:0;font-size:var(--font-size-sm);line-height:1.65}.safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:16px}.safety-choice{padding:20px}.safety-choice h2{margin:0 0 8px;font-size:var(--font-size-md)}.safety-choice p{margin:0;color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.65}.support-steps{display:grid;gap:12px;margin-top:14px}.support-step{display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:start}.step-mark{display:grid;width:26px;height:26px;place-items:center;color:var(--primary-dark);background:var(--primary-soft);border-radius:50%;font-size:var(--font-size-xs);font-weight:700}.support-step strong{display:block;font-size:var(--font-size-sm)}.support-step span:last-child{display:block;margin-top:3px;color:var(--muted);font-size:var(--font-size-xs);line-height:1.6}.safety-footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.resource-note{margin-top:16px;padding:14px 16px;color:var(--muted);background:var(--surface-muted);border-radius:10px;font-size:var(--font-size-xs);line-height:1.6}@media(max-width:700px){.safety-grid{grid-template-columns:1fr}.safety-head{gap:13px}.safety-badge{width:44px;height:44px;flex-basis:44px}}.follow-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 22px}.follow-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:18px;align-items:start}.agreement{padding:22px}.agreement+.agreement{margin-top:13px}.agreement-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.agreement h2{margin:0;font-size:var(--font-size-md);line-height:1.45}.agreement p{margin:9px 0 0;color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.6}.agreement-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.review-form{padding:22px}.review-question{padding:15px 0;border-top:1px solid var(--line)}.review-question:first-of-type{border-top:0}.review-question strong{display:block;font-size:var(--font-size-sm)}.review-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.review-option{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink-2);font-size:var(--font-size-xs)}.review-option input{accent-color:var(--primary)}.writeback{padding:18px;border:1px solid #b9d9c8;border-radius:12px;background:var(--success-soft)}.writeback h3{margin:0;font-size:var(--font-size-sm)}.writeback p{margin:6px 0 0;color:#355c4b;font-size:var(--font-size-xs);line-height:1.6}.agreement-empty{padding:24px;text-align:center;color:var(--muted);background:var(--surface-muted);border-radius:12px;font-size:var(--font-size-sm)}@media(max-width:920px){.follow-grid{grid-template-columns:1fr}.follow-head{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.agreement-top{flex-direction:column}.review-options{display:grid;grid-template-columns:1fr}}.about-head{margin:28px 0 22px}.about-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:18px;align-items:start}.about-card{padding:22px}.about-card h2{margin:0 0 8px;font-size:var(--font-size-lg)}.about-card p{margin:0;color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.7}.evidence-list{display:grid;gap:10px;margin-top:16px}.evidence-item{padding:14px;background:var(--surface-muted);border-radius:10px}.evidence-item strong{display:block;font-size:var(--font-size-sm)}.evidence-item span{display:block;margin-top:4px;color:var(--muted);font-size:var(--font-size-xs);line-height:1.55}.data-list{display:grid;gap:10px;margin-top:15px}.data-action{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--line);border-radius:10px}.data-action strong{display:block;font-size:var(--font-size-sm)}.data-action span{display:block;margin-top:3px;color:var(--muted);font-size:var(--font-size-xs);line-height:1.5}.data-action a{flex:0 0 auto}.delete-box{margin-top:13px;padding:16px;background:var(--danger-soft);border-radius:10px}.delete-box strong{display:block;color:#7c3832;font-size:var(--font-size-sm)}.delete-box p{margin:5px 0 12px;color:#714542;font-size:var(--font-size-xs);line-height:1.6}.danger-link{display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;color:#852f29;background:transparent;border:1px solid #dca8a3;border-radius:9px;font:inherit;font-size:var(--font-size-xs);font-weight:700;cursor:pointer}.danger-link:hover{background:#f9dedb}.about-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.caution-note{margin-top:14px;padding:15px;background:var(--warning-soft);border:1px solid #efdcae;border-radius:10px;color:#744c16;font-size:var(--font-size-xs);line-height:1.6}@media(max-width:920px){.about-grid,.about-bottom{grid-template-columns:1fr}}.consent-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);gap:18px;align-items:start}.consent-card,.side-card{padding:24px}.consent-card h2,.side-card h2{margin:0 0 8px;font-size:var(--font-size-lg)}.consent-card>p,.side-card>p{margin:0;color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.7}.consent-points{display:grid;gap:11px;margin:18px 0 20px;padding:0;list-style:none}.consent-points li{padding:13px 15px;border-radius:10px;background:var(--surface-muted);color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.6}.consent-points strong{color:var(--ink)}.consent-check{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:11px;color:var(--ink);font-size:var(--font-size-sm);line-height:1.6}.consent-check input{margin:1px 0 0}.consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.side-card+.side-card{margin-top:14px}.status-label{display:inline-flex;margin-bottom:12px;padding:5px 10px;border-radius:999px;color:var(--warning);background:var(--warning-soft);font-size:var(--font-size-xs);font-weight:700}.side-card .button{margin-top:15px}@media(max-width:900px){.consent-layout{grid-template-columns:1fr}}@media(max-width:760px){.flow-head{align-items:flex-start;flex-direction:column}.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.consent-card,.side-card{padding:19px}}@media(max-width:440px){.flow-grid{grid-template-columns:1fr 1fr;gap:6px}.flow-step{padding:8px}}.flow-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 20px}.flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 22px}.flow-step{display:flex;align-items:center;gap:9px;min-height:48px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--surface);font-size:var(--font-size-xs)}.flow-step span{display:grid;width:25px;height:25px;flex:0 0 25px;place-items:center;border-radius:50%;background:var(--surface-muted);font-weight:700}.flow-step.done{color:var(--primary-dark);background:var(--primary-soft);border-color:#bcdbe4}.flow-step.done span{color:#fff;background:var(--primary)}.flow-step.active{color:var(--primary-dark);border-color:#bcdbe4;background:var(--primary-soft);font-weight:700}.flow-step.active span{color:#fff;background:var(--primary)}.check-head{margin:24px 0 18px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.check-card{display:flex;min-height:220px;flex-direction:column;padding:22px}.check-card.safe{border-top:4px solid var(--success)}.check-card.support{border-top:4px solid var(--warning)}.check-card h2{margin:0 0 8px;font-size:var(--font-size-lg)}.check-card p{margin:0;color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.7}.check-card .button{align-self:flex-start;margin-top:auto;padding-top:13px}.private-note{margin-top:16px;padding:16px 18px;border-radius:10px;background:var(--surface-muted);color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.65}.private-note strong{color:var(--ink)}@media(max-width:760px){.flow-head{align-items:flex-start;flex-direction:column}.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.check-grid{grid-template-columns:1fr}.check-card{min-height:190px}}@media(max-width:440px){.flow-grid{gap:6px}.flow-step{padding:8px}}.global-status:empty{display:none}.storage-message{margin:0 0 16px;padding:13px 15px;color:#624518;background:var(--warning-soft);border:1px solid #efdcae;border-radius:10px;font-size:var(--font-size-sm);line-height:1.55}.storage-message.danger{color:#702f2c;background:var(--danger-soft);border-color:#e6bbb7}.storage-message a{margin-left:5px;color:var(--primary-dark);font-weight:700;text-decoration:underline;text-underline-offset:2px}.route-guard,.recovery-page{max-width:760px;margin:30px auto;padding:28px}.route-guard .page-lede,.recovery-page .page-lede{margin:10px 0 18px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-grid,.construct-card{min-width:0}.domain-details{border-top:1px solid var(--line)}.full-construct-list{margin-top:14px}.construct-expand{margin-top:16px}.domain-details>summary{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px;cursor:pointer;font-size:var(--font-size-sm);font-weight:650;line-height:1.45;list-style:none}.domain-details>summary::-webkit-details-marker{display:none}.domain-constructs{padding:2px 0 12px}.construct-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(94px,auto);align-items:start;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.construct-row:first-child{border-top:0}.construct-row>div:first-child{min-width:0}.construct-name{margin:0;font-size:var(--font-size-sm);font-weight:650;line-height:1.45;overflow-wrap:anywhere}.construct-domain,.construct-uncertainty{display:block;margin-top:4px;color:var(--muted);font-size:var(--font-size-xs);line-height:1.5}.construct-evidence{margin:8px 0 0;padding-left:10px;border-left:2px solid #bcdbe4;color:var(--ink-2);font-size:var(--font-size-xs);overflow-wrap:anywhere}.construct-side{display:grid;justify-items:end;gap:5px;flex:0 0 auto}.construct-side .text-button{min-height:32px;padding:0;background:transparent;border:0;cursor:pointer}.free-note-card{margin-top:18px}.free-note-summary,.evidence-register>summary{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}.free-note-summary::-webkit-details-marker,.evidence-register>summary::-webkit-details-marker{display:none}.free-note-summary>span:first-child,.evidence-register>summary>span:first-child{display:grid;gap:4px;min-width:0}.free-note-summary strong,.evidence-register>summary strong{font-size:var(--font-size-md)}.free-note-summary small,.evidence-register>summary small{color:var(--muted);font-size:var(--font-size-xs);line-height:1.5}.free-note-content{margin-top:18px}.free-note-card[open] .free-note-summary,.evidence-register[open]>summary{padding-bottom:12px;border-bottom:1px solid var(--line)}.observation-list{display:grid;gap:10px;margin-top:18px}.observation-card{padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.observation-top,.observation-card .profile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.observation-card p{margin:10px 0;overflow-wrap:anywhere}.observation-meta{color:var(--muted);font-size:var(--font-size-xs);line-height:1.55}.text-button{border:0;padding:4px 0;background:transparent;cursor:pointer}.danger-text{color:var(--danger);font-weight:650}.full-width{width:100%}.button-like{background:var(--surface);cursor:pointer}.button-like:hover{background:var(--surface-muted)}.about-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:28px 0 22px}.about-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.about-intro,.data-manager,.disclaimer-card{padding:22px}.about-grid .data-manager{margin-top:0}.about-card>.about-principle{margin-top:14px}.about-intro>p,.disclaimer-card p{max-width:620px;color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.7}.about-intro>p:first-of-type{margin-top:0}.about-points{display:grid;gap:7px;padding-left:20px;color:var(--ink-2);font-size:var(--font-size-sm);line-height:1.6}.data-manager{margin-top:18px;scroll-margin-top:90px}.data-actions{display:grid;gap:10px}.data-action{align-items:center}.data-action>div:first-child{min-width:0}.data-action p{margin:4px 0 0;color:var(--muted);font-size:var(--font-size-xs);line-height:1.6}.data-action.danger-action{border-color:#e6bbb7;background:snow}.danger-action strong{color:#7c3832}.data-action button,.data-action>.file-button{flex:0 0 auto}.file-button{position:relative;min-height:44px;overflow:hidden;cursor:pointer}.file-input-cover{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.about-evidence{margin-top:28px;scroll-margin-top:90px}.evidence-register{padding:0 18px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.evidence-register>summary{min-height:68px}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 0 18px}.evidence-card{min-width:0;padding:15px}.evidence-card summary{position:relative;display:grid;min-height:62px;grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:auto auto auto;align-content:start;gap:4px 10px;cursor:pointer;list-style:none}.evidence-card summary::-webkit-details-marker{display:none}.evidence-card summary:after{content:"+";grid-column:2;grid-row:1 / span 3;align-self:center;justify-self:center;color:var(--primary);font-size:21px}.evidence-card[open] summary:after{content:"−"}.evidence-type{grid-column:1;grid-row:1;color:var(--primary);font-size:var(--font-size-xs);font-weight:700}.evidence-card summary strong{grid-column:1;grid-row:2;overflow-wrap:anywhere;font-size:var(--font-size-sm)}.evidence-year{grid-column:1;grid-row:3;color:var(--muted);font-size:var(--font-size-xs)}.evidence-details{position:relative;display:block;margin-top:13px;padding-top:10px;border-top:1px solid var(--line)}.evidence-details p{margin:8px 0;color:var(--ink-2);font-size:var(--font-size-xs);line-height:1.6;overflow-wrap:anywhere}.evidence-details a{white-space:normal;overflow-wrap:anywhere}.disclaimer-card{margin-top:18px;background:var(--warning-soft);border-color:#efdcae}.disclaimer-card h2{margin:6px 0;font-size:var(--font-size-lg)}.disclaimer-card p:last-child{margin-bottom:0}@media(max-width:920px){.about-overview,.evidence-grid{grid-template-columns:1fr}}@media(max-width:700px){.about-head,.data-action{align-items:flex-start;flex-direction:column}.construct-row{flex-direction:column}.construct-side{display:flex;justify-items:start}.profile-grid{grid-template-columns:1fr}}@media(max-width:600px){.evidence-grid{grid-template-columns:1fr}.data-manager,.about-intro,.disclaimer-card{padding:18px}.review-options{grid-template-columns:1fr}}
