@font-face{font-family:"Statfolio Hanna";src:url("/fonts/BM-HANNA.woff") format("woff"),url("/fonts/BM-HANNA.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#f7f8f5;--white:#fff;--ink:#23392e;--muted:#7c857e;--line:#e3e7df;--green:#286047;--green-light:#edf3e9;--lime:#d9e8b6;--orange:#bd8c4d;font-family:"Statfolio Hanna","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1rem;line-height:1.65;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8bb591;outline-offset:3px}button{border:0}h1,h2,h3,h4,p{margin:0}h1{font-size:2.14286rem;letter-spacing:-1.2px;line-height:1.45;font-weight:650}h2{font-size:1.64286rem;letter-spacing:-.7px;line-height:1.45}h3{font-size:1.07143rem;font-weight:650}small,.small{font-size:0.857143rem}.muted{color:var(--muted)}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:31px 22px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:8px;font-size:1.85714rem;letter-spacing:-1px;font-weight:730;padding:0 6px}.brand-mark{height:25px;width:24px;display:flex;gap:3px;align-items:end;transform:rotate(-7deg)}.brand-mark i{width:5px;background:var(--green);border-radius:2px}.brand-mark i:nth-child(1){height:13px}.brand-mark i:nth-child(2){height:23px}.brand-mark i:nth-child(3){height:18px}.beta{background:var(--green-light);color:var(--green);font-size:0.571429rem;letter-spacing:.5px;border-radius:4px;padding:1px 5px;margin:6px 0 0 1px}.workspace-label{font-size:0.642857rem;letter-spacing:1.6px;color:#9a9f98;margin:46px 12px 14px;font-weight:650}.nav-item{display:flex;align-items:center;gap:12px;background:transparent;color:#747e76;width:100%;text-align:left;padding:12px 13px;border-radius:7px;margin:3px 0;font-size:0.857143rem;font-weight:550}.nav-item span{font-size:1.35714rem;line-height:20px}.nav-item.active{background:var(--green-light);color:var(--green)}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;font-size:0.785714rem;color:#8c948e;padding:30px 12px 10px}.sidebar-heading button{background:none;color:#6f7f72;font-size:1.42857rem}.sidebar-projects{overflow:auto}.project-nav{background:none;color:#68766c;text-align:left;display:flex;align-items:center;gap:9px;width:100%;padding:9px 13px;font-size:0.857143rem;border-radius:6px}.project-nav:hover,.project-nav.selected{background:#f5f7f2}.project-nav span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mini-dot{width:6px;height:6px;border:1.5px solid #97a88c;border-radius:50%;flex-shrink:0}.sidebar-bottom{margin-top:auto;padding-top:25px}.key-note{display:flex;align-items:center;gap:7px;background:#fafbf8;border:1px solid var(--line);padding:10px 12px;border-radius:6px;font-size:0.714286rem;color:#7c857d}.key-note button{margin-left:auto;background:none;color:#9aab94;font-size:1.14286rem}.status-dot{width:5px;height:5px;background:#b4b9af;border-radius:50%;display:inline-block}.status-dot.connected{background:#68914e}.account{display:flex;align-items:center;gap:10px;width:100%;background:none;text-align:left;padding:20px 1px 0}.avatar{width:31px;height:31px;border-radius:50%;background:#e7ecdf;display:grid;place-items:center;font-size:0.857143rem;font-weight:650;color:#667c55;flex-shrink:0}.account strong{display:block;font-size:0.785714rem;max-width:133px;overflow:hidden;text-overflow:ellipsis}.account small{display:block;font-size:0.642857rem;color:#90988e}.account>span:last-child{margin-left:auto;color:#a1a99d;font-size:0.857143rem}.shell{margin-left:240px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;padding:0 43px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff9;gap:15px}.breadcrumbs{display:flex;align-items:center;gap:13px;font-size:0.785714rem;color:#7c857d}.breadcrumbs strong{color:#48564b;font-weight:500}.slash{color:#c6ccc2}.top-actions{display:flex;align-items:center;gap:20px}.privacy-label{font-size:0.714286rem;color:#8d968a;display:flex;align-items:center;gap:7px}.lock-icon{font-size:0.857143rem}main{padding:43px 45px 55px;max-width:1500px;width:100%;margin:auto;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:0.642857rem;font-weight:650;letter-spacing:1.8px;color:#87977d;margin-bottom:9px}.subtitle{font-size:0.857143rem;color:var(--muted);margin-top:8px;line-height:1.9}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;padding:10px 16px;font-weight:550;font-size:0.857143rem;white-space:nowrap;line-height:1.6;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--green);color:white;border:1px solid var(--green);box-shadow:0 2px 2px #1f40220b}.button.primary:hover{background:#1e4e38}.button.outline{border:1px solid #dce1d5;background:white;color:#56634f}.button.compact{font-size:0.714286rem;padding:6px 12px}.wide{width:100%}.hero-panel{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:20px;min-height:226px;border:1px solid #dbe3cc;border-radius:11px;background:#edf1e5;overflow:hidden;margin-bottom:30px}.hero-copy{padding:32px 36px;position:relative;z-index:1}.hero-copy h2{font-size:1.85714rem;font-weight:520;letter-spacing:-1px}.hero-copy p{font-size:0.785714rem;color:#76836b;line-height:1.9;margin-top:12px}.hero-copy .eyebrow{font-size:0.642857rem;color:#819570;margin:0 0 12px}.hero-copy .text-button{font-size:0.785714rem;padding:0;margin-top:19px}.hero-viz{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(#82936c0c 1px,transparent 1px),linear-gradient(90deg,#82936c0c 1px,transparent 1px);background-size:28px 28px}.viz-card{background:#fffffff2;width:225px;border-radius:8px;padding:16px 20px 13px;border:1px solid #dce5ce;box-shadow:0 12px 30px #3b522b10;transform:rotate(-5deg);position:relative}.viz-label{font-size:0.571429rem;color:#7b8e6a;letter-spacing:1px;display:flex;justify-content:space-between}.viz-bars{height:75px;display:flex;align-items:end;gap:9px;padding-top:10px;border-bottom:1px solid #e0e6d5;margin:4px 0 10px}.viz-bars i{display:block;flex:1;background:#bad094;border-radius:3px 3px 0 0}.viz-bars i:nth-child(2n){background:#7e9c63}.viz-bars i:nth-child(1){height:29%}.viz-bars i:nth-child(2){height:49%}.viz-bars i:nth-child(3){height:38%}.viz-bars i:nth-child(4){height:67%}.viz-bars i:nth-child(5){height:56%}.viz-bars i:nth-child(6){height:85%}.viz-bars i:nth-child(7){height:100%}.viz-footer{font-size:0.571429rem;letter-spacing:.8px;color:#98a48b}.viz-sticker{position:absolute;bottom:31px;left:11%;font-size:0.642857rem;border:1px solid #d8dfcc;background:#fff;border-radius:5px;padding:9px 12px;box-shadow:0 3px 12px #20361b06;transform:rotate(3deg);color:#6e8656}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:white;border-radius:9px;margin-bottom:34px}.stat-box{padding:20px 25px;border-right:1px solid var(--line)}.stat-box:last-child{border:0}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#7d8976;font-size:0.714286rem}.stat-number{font-size:1.92857rem;font-weight:550;margin-top:5px;letter-spacing:-.6px}.stat-number small{font-size:0.785714rem;color:#97a18f;font-weight:400;margin-left:6px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px;gap:12px}.section-heading h3{font-size:1rem}.section-heading>span{font-size:0.714286rem;color:#94a08c}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-card{border:1px solid var(--line);background:white;border-radius:9px;padding:22px;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s}.project-card:hover{border-color:#b2c59d;box-shadow:0 4px 20px #364e1f08}.card-meta{display:flex;justify-content:space-between;align-items:center;font-size:0.642857rem;color:#a0a793}.project-card h3{margin-top:14px;font-size:1.07143rem}.project-card p{font-size:0.785714rem;color:#8b9585;margin-top:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-footer{display:flex;align-items:center;justify-content:space-between;font-size:0.714286rem;color:#8d9884;border-top:1px solid #f0f2eb;padding-top:13px;margin-top:20px}.badge{display:inline-flex;align-items:center;border-radius:4px;padding:3px 8px;font-size:0.642857rem;font-weight:500;line-height:1.5;background:#eff2e9;color:#7c8e67}.badge.complete{background:#eaf2e9;color:#4e7b52}.badge.failed,.badge.review{background:#fbf1e2;color:#b38b52}.badge.collecting,.badge.analyzing,.badge.queued,.badge.validating{background:#e9f0f6;color:#6a89a0}.empty-state{border:1px dashed #d7decd;background:#f8faf4;border-radius:9px;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:39px 20px;min-height:209px;text-align:center}.empty-symbol{height:39px;width:39px;display:grid;place-items:center;background:white;border:1px solid #e1e7d7;border-radius:10px;font-size:1.42857rem;color:#a4b78f;margin-bottom:12px}.empty-state h3{font-size:0.928571rem}.empty-state p{color:#96a08d;font-size:0.785714rem;margin:8px 0 16px}.lower-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-top:32px}.how-to,.principles{border:1px solid var(--line);border-radius:8px;background:#fff;padding:23px}.how-to h3,.principles h3{font-size:0.857143rem;margin-bottom:16px}.how-steps{display:flex;gap:13px}.how-step{flex:1;border-right:1px solid #edf0e6;padding-right:13px}.how-step:last-child{border:0}.how-step .step-number{color:#a6b493;font-size:0.714286rem;letter-spacing:1px}.how-step strong{display:block;font-size:0.714286rem;font-weight:550;margin-top:6px}.how-step p{font-size:0.642857rem;color:#929d87;line-height:1.9;margin-top:5px}.principles p{font-size:0.714286rem;color:#89957e;line-height:2.1}.principles p::before{content:'✓';color:#91ac73;margin-right:8px}footer{margin:0 45px;border-top:1px solid var(--line);padding:17px 0 22px;display:flex;justify-content:space-between;color:#a1aa97;font-size:0.642857rem;gap:16px}footer a{font-size:0.642857rem}.text-button{background:none;color:#66814f;font-size:0.785714rem;padding:7px 0}.text-button.danger{color:#a97a67}.icon-button{background:none;color:#8c9682;font-size:1.71429rem;line-height:1;padding:4px}.back-button{display:inline-flex;gap:8px;align-items:center;border:0;background:none;color:#849078;font-size:0.714286rem;padding:0;margin-bottom:19px}.detail-heading{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:24px}.detail-heading h1{font-size:1.78571rem;margin-bottom:7px}.detail-heading .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}.detail-topic{font-size:0.857143rem;color:#8b9680;max-width:650px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:25px}.tab{border:0;border-bottom:2px solid transparent;background:none;padding:10px 2px 12px;color:#8e9b81;font-size:0.785714rem}.tab.active{color:#375d2e;border-bottom-color:#557c3e}.panel{background:white;border:1px solid var(--line);border-radius:9px;padding:25px;margin-bottom:20px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.panel-title h3{font-size:0.928571rem}.phase-steps{display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:8px}.phase-step{font-size:0.714286rem;color:#a3ae97;position:relative}.phase-step .step-icon{width:28px;height:28px;border:1px solid #e0e7d6;border-radius:50%;display:grid;place-items:center;margin-bottom:8px;font-size:0.714286rem;background:white}.phase-step.done .step-icon{background:#e9f0e2;color:#6a8e51;border-color:#d5e2c7}.phase-step.current .step-icon{background:#517444;color:white;border-color:#517444}.phase-step.current{color:#517444}.phase-detail{border-top:1px solid #edf0e7;margin-top:19px;padding-top:15px;display:flex;justify-content:space-between;gap:15px;color:#8a987e;font-size:0.785714rem}.progress-track{height:4px;background:#edf1e6;border-radius:3px;margin-top:12px;overflow:hidden}.progress-track i{display:block;height:100%;background:#a5be85;border-radius:3px}.detail-columns{display:grid;grid-template-columns:1.7fr 1fr;gap:20px}.definition-list{display:grid;grid-template-columns:85px minmax(0,1fr);font-size:0.785714rem;gap:11px}.definition-list dt{color:#99a38d}.definition-list dd{margin:0;word-break:break-word}.variable-item{padding:12px 0;border-top:1px solid #f0f3eb;font-size:0.785714rem}.variable-item:first-child{border:0;padding-top:0}.variable-role{display:inline-grid;place-items:center;width:21px;height:21px;background:#eef3e7;border-radius:4px;font-size:0.714286rem;color:#78935f;margin-right:8px}.variable-item p{font-size:0.714286rem;color:#99a28f;margin:6px 0 0 30px}.member-row{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:0.785714rem}.member-row .avatar{width:26px;height:26px;font-size:0.714286rem}.member-row>span:last-child{margin-left:auto;color:#a3ad98;font-size:0.642857rem}.notice{font-size:0.785714rem;line-height:1.95;border:1px solid #e5e6d9;border-radius:7px;background:#f8f8ef;padding:13px 16px;color:#8e8d65;margin-bottom:18px}.notice.green{background:#f0f5eb;border-color:#dfe8d4;color:#788d63}.notice.warning{background:#fdf5e8;border-color:#f0e1c7;color:#ac8856}.table-wrap{overflow:auto;max-height:450px}table{border-collapse:collapse;width:100%;font-size:0.714286rem;white-space:nowrap}th{text-align:left;color:#91a082;font-weight:500;background:#f8faf4;border-bottom:1px solid var(--line);padding:10px 13px;position:sticky;top:0}td{border-bottom:1px solid #eff2e9;padding:11px 13px;color:#67795b}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.metric-row{display:flex;gap:30px;flex-wrap:wrap;margin-bottom:20px}.metric span{display:block;color:#9aa68d;font-size:0.642857rem}.metric strong{font-size:1.35714rem;font-weight:500}.formula{padding:15px;background:#f5f8ef;border:1px solid #e6ecdc;border-radius:6px;color:#71875b;font-size:0.857143rem;margin-bottom:20px}.warning-list{padding-left:18px;font-size:0.785714rem;color:#9e946f;line-height:2}.report-text{white-space:pre-wrap;word-break:break-word;line-height:2;font-size:0.857143rem;color:#66785b;font-family:inherit}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.event{display:grid;grid-template-columns:23px 1fr;gap:7px;padding:11px 0;position:relative}.event-dot{height:7px;width:7px;background:#c9d8b9;border:2px solid #edf3e4;border-radius:50%;margin:6px 0 0 2px}.event-content p{font-size:0.785714rem;color:#738768}.event-content small{font-size:0.642857rem;color:#a3ad98}.comment-form{display:flex;gap:9px;align-items:end;margin-bottom:20px}.comment-form textarea{margin:0;flex:1}.comment{padding:15px 0;border-top:1px solid #edf1e5}.comment strong{font-size:0.785714rem}.comment small{color:#a1ac95;font-size:0.642857rem;margin-left:9px}.comment p{font-size:0.785714rem;color:#7d8e70;white-space:pre-wrap;margin-top:6px}.chart{width:100%;height:220px;display:block}.chart text{font:0.642857rem 'Statfolio Hanna','Malgun Gothic',sans-serif;fill:#a0ae90}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:0.714286rem;color:#829472;margin:8px 0}.legend-dot{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:5px}.history-tag{font-size:0.642857rem;color:#a2af94}dialog{background:white;border:1px solid #dde5d1;border-radius:12px;padding:30px;width:min(460px,calc(100% - 30px));color:var(--ink);box-shadow:0 30px 100px #20331c30;max-height:90vh;overflow:auto}dialog::backdrop{background:#233b2d50;backdrop-filter:blur(3px)}dialog.large-dialog{width:min(700px,calc(100% - 30px))}.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-heading h2{font-size:1.42857rem}.dialog-description{font-size:0.785714rem;color:#8b9780;margin:-5px 0 20px;line-height:1.9}label{display:block;font-size:0.785714rem;color:#718167;margin:15px 0 5px;font-weight:500}input,textarea,select{display:block;width:100%;background:#fcfdf9;border:1px solid #dfe5d5;border-radius:5px;padding:10px 12px;color:#49643b;font-size:0.857143rem;margin-top:7px;font-weight:400;outline:none}input::placeholder,textarea::placeholder{color:#b1baa6;font-size:0.785714rem}textarea{resize:vertical;line-height:1.8}select{background:#fbfcf7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-error{font-size:0.785714rem;color:#b16d50;line-height:1.8;margin:13px 0}.field-help{font-size:0.714286rem;line-height:1.9;color:#9aa58c;margin-top:6px}.fineprint{font-size:0.642857rem;line-height:1.9;color:#a7af9b;text-align:center;margin-top:16px}.check-label{display:flex;gap:8px;align-items:center;font-size:0.785714rem;margin-top:20px}.check-label input{width:auto;margin:0;accent-color:#6d8e53}.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #edf1e4;padding-top:20px;margin-top:22px}.suggestion-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 20px}.suggestion-row span{font-size:0.714286rem;color:#a0aa93}.variable-field{display:grid;grid-template-columns:60px 1fr 1fr 25px;gap:8px;align-items:center;margin-top:9px}.variable-field input,.variable-field select{margin:0;font-size:0.785714rem;padding:9px}.variable-field button{font-size:1.35714rem;color:#b0b99f;background:none}.variable-field input::placeholder{font-size:0.714286rem}#project-form .section-heading{margin-top:22px;margin-bottom:0}#toast{position:fixed;bottom:26px;left:calc(50% + 120px);transform:translateX(-50%);max-width:calc(100vw - 40px);padding:12px 20px;border-radius:8px;background:#2e4838;color:#f8fff1;font-size:0.857143rem;z-index:30;box-shadow:0 5px 20px #20331c25}.spinner{width:14px;height:14px;display:inline-block;border:2px solid #cedabd;border-top-color:#6f8e58;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}@media(min-width:1450px){main{padding-left:65px;padding-right:65px}.topbar{padding-left:65px;padding-right:65px}footer{margin-left:65px;margin-right:65px}}@media(max-width:1100px){.sidebar{width:210px;padding-left:15px;padding-right:15px}.shell{margin-left:210px}main{padding:30px 25px}.topbar{padding:0 25px}.hero-copy{padding:28px}.hero-viz{min-height:200px}.viz-card{width:180px}.lower-grid{grid-template-columns:1fr}.detail-columns{grid-template-columns:1fr}.privacy-label{display:none}footer{margin:0 25px}#toast{left:calc(50% + 105px)}}@media(max-width:760px){.sidebar{width:65px;padding:24px 8px}.brand{font-size:0;padding:0;justify-content:center}.brand-mark{width:24px}.beta,.workspace-label,.sidebar-heading,.sidebar-projects,.key-note,.account>span:not(.avatar),.nav-item{display:none}.sidebar .nav-item{display:flex;font-size:0;padding:12px;justify-content:center;margin-top:20px}.nav-item span{font-size:1.57143rem}.sidebar-bottom{padding:0}.account{justify-content:center}.shell{margin-left:65px}.topbar{height:61px;padding:0 17px}.breadcrumbs{font-size:0.714286rem;gap:8px}.top-actions{gap:0}main{padding:27px 18px}h1{font-size:1.78571rem}.page-heading{align-items:start}.page-heading .button{padding:8px 10px;font-size:0.714286rem}.hero-panel{grid-template-columns:1fr;min-height:0}.hero-viz{display:none}.hero-copy{padding:25px}.hero-copy h2{font-size:1.64286rem}.hero-copy p{font-size:0.714286rem}.stats-grid{margin-bottom:25px}.stat-box{padding:14px 10px}.stat-top{font-size:0.642857rem}.stat-number{font-size:1.57143rem}.project-grid{grid-template-columns:1fr}.lower-grid{margin-top:22px}.how-to,.principles{padding:18px}.how-steps{gap:10px}.how-step{padding-right:8px}.how-step strong{font-size:0.642857rem}.how-step p{font-size:0.642857rem}.detail-heading{flex-direction:column}.detail-heading .actions{justify-content:start}.detail-heading h1{font-size:1.57143rem}.tabs{gap:19px;overflow:auto;white-space:nowrap}.panel{padding:19px}.phase-steps{gap:5px}.phase-step{font-size:0.642857rem}.phase-detail{flex-direction:column;gap:4px}.detail-columns{gap:0}.panel-title{align-items:start;flex-wrap:wrap}.report-actions .button{font-size:0.642857rem;padding:7px 9px}.metric-row{gap:20px}footer{margin:0 18px;font-size:0.571429rem;flex-direction:column;gap:4px}#toast{left:calc(50% + 32px);font-size:0.785714rem;max-width:calc(100vw - 95px)}dialog{padding:23px}.variable-field{grid-template-columns:50px 1fr 25px}.variable-field input:nth-of-type(2){grid-row:2;grid-column:2}.variable-field button{grid-column:3;grid-row:1}.suggestion-row{align-items:start;flex-direction:column}.form-grid{gap:10px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.button.danger{color:#a52b2b;border:1px solid #dfb8b8;background:#fff}.button.danger:hover:not(:disabled){background:#fff0f0}.button.danger:disabled{opacity:.5;cursor:not-allowed}

/* Typography is 125% of the previous sizes, including explicit small text. */
:root{font-size:17.5px;line-height:1.7}
body{overflow-wrap:anywhere;word-break:keep-all}
.sidebar{width:280px;padding:28px 20px 20px;gap:2px;overflow-y:auto}
.shell{margin-left:280px}
.brand{flex-wrap:wrap}.brand-mark{flex-shrink:0}
.project-nav span:last-child{white-space:normal;overflow-wrap:anywhere}
.sidebar-projects{flex:1;min-height:50px}.sidebar-bottom{flex-shrink:0}
.account>span:nth-child(2){min-width:0}.account strong{max-width:none;white-space:normal}
.topbar{height:auto;min-height:95px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.breadcrumbs{min-width:0;flex:1;flex-wrap:wrap}.top-actions{flex-wrap:wrap}
.page-heading,.section-heading,.card-meta,.card-footer,.dialog-actions{flex-wrap:wrap}
.button{white-space:normal;text-align:center;min-height:44px;max-width:100%}
.page-heading>div,.detail-heading>div,.hero-copy,.project-card,.panel,.how-step,.principles,.how-to,.stat-box{min-width:0}
.detail-heading{flex-wrap:wrap}.detail-heading .actions{justify-content:flex-start}
.detail-topic{max-width:100%}.hero-panel{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.lower-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.detail-columns{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat-top{gap:8px;align-items:flex-start}.stat-number{white-space:nowrap}
.project-card p{display:block;overflow:visible;-webkit-line-clamp:unset}
.how-steps{flex-wrap:wrap;row-gap:18px}.how-step{flex-basis:110px}
.definition-list{grid-template-columns:100px minmax(0,1fr)}
.tabs{gap:22px;overflow-x:auto}.tab{flex-shrink:0;min-height:44px}
.phase-step{overflow-wrap:anywhere}.phase-detail{flex-wrap:wrap}
.member-row{flex-wrap:wrap}.comment-form{flex-wrap:wrap}.comment-form textarea{min-width:0;flex-basis:240px}
input,textarea,select{min-width:0;min-height:44px;font-size:1rem}
input::placeholder,textarea::placeholder{font-size:inherit}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.variable-field{grid-template-columns:75px minmax(0,1fr) minmax(0,1fr) 32px}
.variable-field input,.variable-field select{font-size:1rem}
.icon-button,.variable-field button{min-width:44px;min-height:44px}
.variable-field button{min-width:32px}
dialog{width:min(580px,calc(100% - 30px));max-height:90vh;max-height:90dvh}
dialog.large-dialog{width:min(850px,calc(100% - 30px))}
.ai-setup{width:min(650px,calc(100% - 30px))}
.dialog-heading>div{min-width:0}.dialog-heading .close-dialog{flex-shrink:0}
.suggestion-row{flex-wrap:wrap}.suggestion-row>*{min-width:0}
.chart{height:auto;min-height:260px}.chart text{font-family:"Statfolio Hanna","Malgun Gothic",sans-serif}
footer{flex-wrap:wrap}#toast{left:calc(50% + 140px);width:max-content;max-width:calc(100vw - 320px)}
@media(max-width:1200px){.lower-grid,.detail-columns{grid-template-columns:minmax(0,1fr)}.privacy-label{display:none}}
@media(max-width:1100px){.sidebar{width:230px;padding-left:15px;padding-right:15px}.shell{margin-left:230px}.brand{font-size:1.9rem}.hero-panel{grid-template-columns:minmax(0,1fr)}.hero-viz{display:none}#toast{left:calc(50% + 115px);max-width:calc(100vw - 270px)}}
@media(max-width:900px){.page-heading{align-items:flex-start}.project-grid{grid-template-columns:minmax(0,1fr)}.detail-heading .actions{width:100%}}
@media(max-width:760px){.sidebar{width:56px;padding:20px 5px}.brand{font-size:0}.shell{margin-left:56px}.topbar{min-height:76px;padding:12px 14px}.breadcrumbs{flex-basis:100%}.sidebar .nav-item{padding:10px 4px;min-height:44px}.sidebar-projects{min-height:0}.sidebar-bottom{margin-top:auto}.hero-panel{grid-template-columns:minmax(0,1fr)}main{padding:25px 14px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-box{padding:14px 8px}.stat-top{flex-wrap:wrap}.stat-number{font-size:1.7rem}.stat-number small{display:block;margin-left:0}.how-steps{flex-direction:column}.how-step{flex-basis:auto;border-right:0;border-bottom:1px solid var(--line);padding-bottom:12px}.panel{padding:16px}.definition-list{grid-template-columns:80px minmax(0,1fr)}.phase-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}.detail-columns,.lower-grid{grid-template-columns:minmax(0,1fr)}.detail-heading .actions{justify-content:flex-start}.report-actions{width:100%}.report-actions .button{flex:1 1 90px}footer{margin:0 14px}#toast{left:calc(50% + 28px);max-width:calc(100vw - 84px)}.variable-field{grid-template-columns:65px minmax(0,1fr) 32px}.variable-field input:nth-of-type(2){grid-column:2;grid-row:2}.variable-field button{grid-column:3;grid-row:1}.setup-intro{padding:15px;gap:10px}.setup-step{grid-template-columns:25px minmax(0,1fr)}}
@media(max-width:540px){.form-grid{grid-template-columns:minmax(0,1fr);gap:0}dialog,dialog.large-dialog,.ai-setup{padding:20px;width:calc(100% - 20px)}.dialog-actions>*{flex:1 1 130px}.section-heading>span{flex-basis:100%}.card-footer{gap:9px}.top-actions{width:100%}.setup-intro{align-items:flex-start}.chatgpt-button{font-size:1rem;padding:12px}.definition-list{grid-template-columns:minmax(0,1fr);gap:4px}.definition-list dd{margin-bottom:10px}}

@media(max-width:760px){.tabs{flex-wrap:wrap;gap:4px 18px;white-space:normal;overflow:visible}.tab{padding:10px 2px}}

.analysis-planning{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:9px;background:#f8faf5;min-width:0}
.analysis-planning h3{margin-bottom:12px}.analysis-planning .dialog-description{margin:10px 0 20px}
.method-options,.indicator-options{border:0;margin:20px 0;padding:0;min-width:0}.analysis-planning legend{font-size:.9rem;margin-bottom:12px;color:var(--ink)}
.method-card,.indicator-card{padding:15px;margin:10px 0;border:1px solid #d8e1cf;border-radius:7px;background:white;min-width:0}
.method-card p,.indicator-card p{font-size:.85rem;line-height:1.85;margin-top:8px;color:#596a51}
.choice-heading{display:flex;align-items:center;gap:10px;margin:0;color:var(--ink);font-size:.9rem;min-width:0}
.choice-heading input{width:20px;min-width:20px;min-height:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--green)}
.indicator-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.proposal-actions{display:flex;gap:10px;flex-wrap:wrap}.analysis-planning textarea{background:white}
@media(max-width:540px){.analysis-planning{padding:14px}.method-card,.indicator-card{padding:12px}.proposal-actions .button{width:100%}}

.creator-panel{border:1px solid #dce5d5;border-radius:9px;background:#f8faf5;padding:13px 12px;margin-top:18px;flex-shrink:0;min-width:0}
.creator-heading{font-size:.8rem;color:#687b5d;margin-bottom:9px}
.creator-contact{display:flex;align-items:center;gap:12px;min-width:0}
.creator-qr-open{display:block;padding:0;background:white;border:0;border-radius:6px;flex:0 0 92px;overflow:hidden;line-height:0}
.signal-qr{position:relative;display:block;aspect-ratio:1;width:100%;background:#fff;overflow:hidden}
.signal-qr img{position:absolute;width:196.296296%;max-width:none;height:auto;left:-48.148148%;top:-51.851852%}
.creator-identity{min-width:0;display:flex;align-items:flex-start;flex-direction:column;gap:4px}
.creator-identity>span{font-size:.7rem;color:#76866c}.creator-identity strong{font-size:.95rem;white-space:nowrap;letter-spacing:0;color:#354e2d}
.creator-identity .text-button{font-size:.75rem;min-height:36px;padding:4px 0}.creator-panel--mobile{display:none}
dialog.creator-dialog{width:min(700px,calc(100% - 30px))}.creator-contact--large{gap:24px;align-items:center}
.creator-contact--large>.signal-qr{flex:1 1 320px;max-width:360px;min-width:0}.creator-contact--large .creator-identity{flex:0 0 auto}.creator-contact--large .creator-identity strong{font-size:1.3rem}.creator-contact--large .creator-identity .button{margin-top:12px}
@media(min-width:761px) and (max-width:1100px){.creator-panel{padding:10px 8px}.creator-contact{gap:8px}.creator-qr-open{flex-basis:76px}.creator-identity strong{font-size:.8rem}}
@media(max-width:760px){.creator-panel--sidebar{display:none}.creator-panel--mobile{display:block;width:100%;margin:0 0 15px;max-width:360px}.creator-panel--mobile .creator-qr-open{flex-basis:100px}.creator-panel--mobile .creator-identity strong{font-size:1rem}.creator-contact--large{gap:12px}.creator-contact--large .creator-identity strong{font-size:.95rem}.creator-contact--large .creator-identity .button{font-size:.75rem;padding:8px}.creator-contact--large>.signal-qr{flex-basis:150px}}

.comment-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.comment-actions{display:flex;gap:7px;flex-wrap:wrap}.comment-actions .button{min-height:36px}
.comment-preview{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;padding:14px;background:#f6f8f2;border:1px solid var(--line);border-radius:7px}
#project-edit-notice ul{padding-left:20px;font-size:.85rem;line-height:1.9}

.device-check{display:flex;align-items:flex-start;gap:.65rem;margin:1.1rem 0;line-height:1.5}.device-check input{width:1.15rem;height:1.15rem;flex:0 0 auto;margin-top:.15rem}.device-banner{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.device-check input[type=checkbox]{appearance:auto}.report-actions{flex-wrap:wrap}.local-progress{white-space:pre-wrap;overflow-wrap:anywhere}

@media(max-width:600px){.table-wrap{max-width:100%}.chart{min-width:560px}.panel:has(>.chart){overflow-x:auto}}

.chart-container{overflow-x:auto;max-width:100%}
