:root{color-scheme:light;--ink: #172321;--muted: #5e6b68;--line: #d9e1df;--paper: #ffffff;--wash: #f3f7f5;--brand: #075f52;--brand-dark: #06483f;--accent: #d9f3e7;--danger: #a63632;font-family:Inter,Noto Sans JP,Yu Gothic,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--wash);color:var(--ink);line-height:1.7}button,input,textarea{font:inherit}button,a{touch-action:manipulation}a{color:var(--brand);text-underline-offset:.18em;overflow-wrap:anywhere}a:hover{color:var(--brand-dark)}:focus-visible{outline:3px solid #df8f21;outline-offset:3px}h1,h2,h3,h4,h5,p{margin-top:0}h1,h2,h3,h4,h5{line-height:1.35}ul{padding-left:1.35rem}.app-shell{width:min(76rem,100%);margin:0 auto;padding:3.5rem 1.25rem 6rem}.hero{max-width:48rem;padding:1rem 0 2.5rem}.hero h1{margin-bottom:1rem;font-size:clamp(2.25rem,6vw,4.5rem);letter-spacing:-.045em}.hero-copy{max-width:42rem;color:var(--muted);font-size:clamp(1rem,2vw,1.2rem)}.eyebrow,.step{margin-bottom:.65rem;color:var(--brand);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.workspace,.report{background:var(--paper);border:1px solid var(--line);border-radius:1.25rem;box-shadow:0 1.4rem 4rem #19322d12}.workspace{padding:clamp(1.25rem,4vw,3rem)}.section-heading{max-width:42rem;margin-bottom:2rem}.section-heading h2,.state-card h2,.report-header h2{margin-bottom:.65rem;font-size:clamp(1.65rem,3vw,2.3rem)}.section-heading>p:last-child,.field-description,.submit-row p,.muted{color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}.field-wide{grid-column:1 / -1}.field label{display:block;margin-bottom:.25rem;font-weight:750}.field-description{min-height:3.4em;margin-bottom:.5rem;font-size:.9rem}.field-wide .field-description{min-height:0}.required-mark,.optional-mark{display:inline-block;border-radius:99px;padding:.08rem .45rem;font-size:.7rem;font-weight:800;vertical-align:.12em}.required-mark{background:var(--accent);color:var(--brand-dark)}.optional-mark{background:#edf0ef;color:var(--muted)}input,textarea{width:100%;border:1px solid #aebbb8;border-radius:.6rem;background:#fff;color:var(--ink);padding:.8rem .9rem}textarea{min-height:7rem;resize:vertical}input::placeholder,textarea::placeholder{color:#7c8986}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}.field-error{margin:.35rem 0 0;color:var(--danger);font-size:.88rem;font-weight:700}.submit-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:2rem;border-top:1px solid var(--line);padding-top:1.5rem}.submit-row p{max-width:36rem;margin:0;font-size:.88rem}.primary-button,.secondary-button{min-height:2.8rem;border-radius:.6rem;padding:.65rem 1.1rem;font-weight:800;cursor:pointer}.primary-button{border:1px solid var(--brand);background:var(--brand);color:#fff}.primary-button:hover{background:var(--brand-dark)}.secondary-button{border:1px solid #9bacaa;background:#fff;color:var(--ink)}.primary-button:disabled{cursor:not-allowed;opacity:.6}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.state-card{max-width:38rem;margin:3rem auto;text-align:center}.state-card .button-row{justify-content:center}.spinner{width:3.2rem;height:3.2rem;margin:0 auto 1.5rem;border:.35rem solid var(--accent);border-top-color:var(--brand);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spinner{animation:none;border-color:var(--brand)}}.report{overflow:hidden}.report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,3rem);background:#e8f6f0}.report-header p:last-child{margin-bottom:0}.report-nav{border-bottom:1px solid var(--line);padding:1rem clamp(1.5rem,4vw,3rem)}.report-nav ol{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin:0;padding-left:1.25rem;font-size:.85rem}.report-section{padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,4vw,3rem);scroll-margin-top:1rem}.report-section+.report-section{border-top:1px solid var(--line)}.report-section-title{display:flex;align-items:center;gap:.8rem;margin-bottom:2rem}.report-section-title>span{color:var(--brand);font-size:.75rem;font-weight:900;letter-spacing:.1em}.report-section-title h3{margin:0;font-size:clamp(1.45rem,3vw,2rem)}.lead-copy{max-width:55rem;font-size:1.12rem}.context-grid,.backlog-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem;margin:0}dt{margin-bottom:.15rem;color:var(--muted);font-size:.78rem;font-weight:800}dd{margin:0}.plain-list{margin:0;padding:0;list-style:none}.summary-grid{display:grid;grid-template-columns:minmax(16rem,.75fr) minmax(22rem,1.25fr);gap:1rem;margin-top:2rem}.sub-card,.priority-card,.persona-card,.finding-card,.persona-detail,.backlog-card{border:1px solid var(--line);border-radius:.9rem;background:#fff;padding:1.35rem}.sub-card{background:#f8faf9}.sub-card h4{margin-bottom:.8rem}.axis-list{margin:0;padding:0;list-style:none}.axis-list li+li{border-top:1px solid var(--line);padding-top:.8rem}.axis-list li>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.axis-list p{margin:.3rem 0 .8rem;color:var(--muted);font-size:.9rem}.card-grid,.persona-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.persona-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.persona-card:last-child{grid-column:1 / -1}.card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-bottom:.75rem;color:var(--muted);font-size:.75rem;font-weight:750}.badge{display:inline-block;border-radius:99px;padding:.2rem .55rem;font-size:.72rem;font-weight:900}.priority-high,.status-needs_improvement,.status-not_achieved{background:#fce3e2;color:#8b2d29}.priority-medium,.status-mixed,.status-partially_achieved{background:#fff0d5;color:#815014}.priority-low,.status-positive,.status-achieved{background:#dff2e8;color:#166143}.effort{display:inline-block;margin-bottom:0;border-radius:.35rem;background:#eef1f0;padding:.3rem .55rem;font-size:.8rem}.persona-type{margin-bottom:.3rem;color:var(--brand);font-size:.78rem;font-weight:800}.persona-card dl{margin:1.2rem 0 0}.persona-card dl>div+div{margin-top:.75rem}.finding-list,.persona-detail-list,.backlog-list{display:grid;gap:1rem}.finding-card{padding:clamp(1.25rem,3vw,2rem)}.affected{color:var(--muted);font-size:.9rem}.reasoning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}.reason-block{border-top:3px solid;background:#f7f9f8;padding:1rem}.reason-block.fact{border-color:#2470a0}.reason-block.inference{border-color:#9a6b20}.reason-block.recommendation{border-color:var(--brand)}.reason-label{margin-bottom:.5rem;font-size:.7rem;font-weight:900;letter-spacing:.08em}blockquote{margin:1rem 0;border-left:3px solid var(--brand);background:#f1f7f4;padding:.8rem 1rem}.evidence-panel{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1rem}.evidence-panel summary{color:var(--brand);font-weight:800;cursor:pointer}.evidence{margin-top:.8rem;border-radius:.5rem;background:#f6f8f7;padding:.85rem;font-size:.86rem}.evidence p{margin-bottom:.35rem}.evidence span{display:inline-block;min-width:5.5rem;color:var(--muted);font-weight:750}.persona-detail-heading,.evaluation-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.persona-detail-heading>span{color:var(--muted);font-size:.75rem}.evaluation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.25rem}.evaluation-card{border-radius:.65rem;background:#f7f9f8;padding:1rem}.evaluation-card h5{margin-bottom:.6rem;font-size:1rem}.evaluation-list{margin-top:.8rem;font-size:.88rem}.evaluation-list ul{margin:.25rem 0 0}.evidence-refs{margin-bottom:0;font-size:.82rem}.methodology{max-width:55rem;border-left:4px solid var(--brand);background:#f3f7f5;padding:1.25rem 1.5rem}@media(max-width:780px){.app-shell{padding-top:1.5rem}.form-grid,.context-grid,.summary-grid,.card-grid,.persona-grid,.reasoning-grid,.evaluation-grid,.backlog-details{grid-template-columns:1fr}.field-wide,.persona-card:last-child{grid-column:auto}.field-description{min-height:0}.submit-row,.report-header{align-items:stretch;flex-direction:column}.primary-button,.secondary-button{width:100%}.report-nav{overflow-x:auto}.report-nav ol{width:max-content;max-width:none;flex-wrap:nowrap}}@media(max-width:420px){.app-shell{padding-inline:.75rem}.workspace,.report{border-radius:.8rem}.reason-block,.sub-card,.priority-card,.persona-card,.finding-card,.persona-detail,.backlog-card{padding:1rem}}
