:root{font-family:Arial,Helvetica,sans-serif;font-size:16px;color:#111;background:#fff;--line:#e4e4e4;--muted:#666;--soft:#f3f3f3}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:default}a{color:inherit}button,a,input,textarea,select,[role=button]{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid #111;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #111;outline-offset:2px}button svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:2rem;letter-spacing:-.06em;font-weight:650;line-height:1.18}h2{font-size:1.35rem;letter-spacing:-.035em;line-height:1.35}h3{font-size:1rem;line-height:1.45}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:.875rem}.icon{display:inline-block;vertical-align:middle;width:21px;height:21px;flex-shrink:0}.skip-link{position:absolute;top:-80px;left:20px;padding:12px;background:#fff;z-index:100}.skip-link:focus{top:10px}.topbar{height:76px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px;background:white}.brand{border:0;padding:0;background:none;font-size:1.9rem;font-weight:700;letter-spacing:-.08em}.header-actions{display:flex;gap:19px;align-items:center}.company-switch{border:0;background:none;display:flex;align-items:center;gap:9px;font-size:.875rem;padding:10px 0;max-width:280px}.company-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-button{display:flex;align-items:center;gap:8px;background:#f1f1f1;padding:9px 13px;border:0;border-radius:7px;font-size:.875rem}.share-button:hover{background:#e7e7e7}main{max-width:1100px;margin:0 auto;padding:28px 32px 114px}.page-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-top .subline{font-size:.875rem;margin-top:9px;color:var(--muted)}.text-button{background:none;border:0;padding:9px 0;display:inline-flex;align-items:center;gap:8px;font-size:.875rem;line-height:1.3;text-decoration:none}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.icon-button{border:0;background:none;padding:10px;display:inline-grid;place-items:center;min-width:40px;min-height:40px;border-radius:50%}.icon-button:hover{background:#f1f1f1}.button{border:0;border-radius:8px;padding:13px 19px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#111;color:#fff;min-height:46px;font-weight:500;font-size:.9375rem;line-height:1.3}.button:hover{background:#333}.button.secondary{background:#f0f0f0;color:#111}.button.secondary:hover{background:#e6e6e6}.button.outline{background:#fff;border:1px solid #ccc;color:#111}.button.full{width:100%}.button.compact{padding:10px 14px;min-height:40px;font-size:.875rem}.button.danger{background:#111}.view-tools{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px}.segmented{display:flex;background:#f2f2f2;padding:3px;border-radius:8px;gap:2px}.segmented button{border:0;background:none;color:#686868;padding:8px 15px;border-radius:6px;font-size:.875rem}.segmented button.active{background:#fff;color:#111;box-shadow:0 1px 3px #0000000a}.diagram{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.85fr);align-items:center;gap:12px;min-height:375px}.circle-wrap{position:relative;min-width:0;display:grid;place-items:center}.circle-model{display:block;width:100%;max-height:460px;overflow:visible}.circle-model .band{fill:#fff;stroke:#ddd;stroke-width:1.5;transition:fill .15s,stroke .15s}.circle-model .field{cursor:pointer}.circle-model .field:hover .band{fill:#f7f7f7;stroke:#aaa}.circle-model .field.selected .band{fill:#f1f1f1;stroke:#111;stroke-width:1.9}.circle-model .field:focus-visible{outline:none}.circle-model .field:focus-visible .band{stroke:#111;stroke-width:3}.arc-label{font-size:17px;fill:#333;pointer-events:none;font-weight:500}.circle-category{font-size:16px;fill:#555;font-weight:500}.center-top{font-size:30px;font-weight:600;letter-spacing:-1px;fill:#111}.center-bottom{font-size:13px;fill:#777}.arrow-flow{fill:none;stroke:#555;stroke-width:1.6}.customer-area{padding-left:20px;position:relative;align-self:center;min-height:300px;display:flex;flex-direction:column;justify-content:center;gap:14px}.customer-label{font-size:.875rem;font-weight:500;margin-bottom:3px;display:flex;gap:9px;align-items:center;color:#555}.customer-point{width:100%;background:white;border:1px solid #ddd;border-radius:10px;padding:17px 15px;display:flex;align-items:center;gap:13px;text-align:left;position:relative;min-height:75px}.customer-point:before{content:'';position:absolute;width:41px;height:1px;background:#bbb;left:-41px;top:50%}.customer-point:after{content:'';position:absolute;width:6px;height:6px;border-right:1px solid #777;border-top:1px solid #777;transform:rotate(45deg);left:-8px;top:calc(50% - 3px)}.customer-point.selected{border-color:#111;background:#f3f3f3}.customer-point:hover{background:#f5f5f5}.customer-point .point-text{font-size:.875rem;line-height:1.45;flex:1}.customer-point .point-no{font-size:.75rem;color:#777}.customer-point .icon{width:25px;height:25px;color:#666}.customer-placeholder{font-size:.875rem;color:#999;max-width:200px;line-height:1.6}.guide-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:14px 0;margin:6px 0 22px}.guide-count{font-size:.875rem;color:#666}.guide-buttons{display:flex;gap:10px;align-items:center}.field-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px 0;min-height:180px}.field-list button{background:white;border:1px solid #ddd;border-radius:9px;padding:16px;text-align:left;display:flex;align-items:center;gap:13px;font-size:.875rem;line-height:1.45;min-height:83px}.field-list button.selected{border-color:#111;background:#f3f3f3}.field-list .list-no{font-size:.75rem;color:#777;margin-left:auto}.field-list .icon{width:24px;height:24px}.detail-tile{background:#f3f3f3;border-radius:14px;padding:26px 29px;display:grid;grid-template-columns:1fr auto;gap:18px 28px;align-items:start}.tile-heading{display:flex;align-items:center;gap:12px;margin-bottom:10px}.tile-heading .icon{width:25px;height:25px}.detail-tile p{font-size:.9375rem;color:#555;max-width:760px}.detail-tile ul{margin:16px 0 0;padding-left:19px;columns:2;column-gap:32px;font-size:.875rem;color:#444;line-height:1.65}.detail-tile li{break-inside:avoid;margin-bottom:6px}.detail-tile .tile-content{min-width:0}.tile-action{align-self:end;white-space:nowrap}.detail-tile .tile-content{grid-column:1/-1}.detail-tile .tile-action{grid-column:1/-1;justify-self:start}.detail-tile .tile-action .button{background:#111}.stage-nav{position:fixed;bottom:0;left:0;right:0;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20}.stage-nav-inner{max-width:720px;margin:auto;display:flex;min-height:76px;padding:7px 10px max(9px,env(safe-area-inset-bottom))}.stage-nav button{flex:1;border:0;background:none;color:#777;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;font-size:.75rem;position:relative}.stage-nav button.active{color:#111;font-weight:600}.stage-nav button.active:before{content:'';height:2px;width:32px;position:absolute;top:-8px;background:#111}.stage-nav .icon{width:22px;height:22px}.narrow{max-width:780px;margin:auto}.back-row{margin-bottom:20px}.context-line{font-size:.875rem;color:#666;margin-bottom:9px}.question{font-size:1.6rem;letter-spacing:-.04em;line-height:1.4;max-width:680px;margin-bottom:23px}.capture{margin:0 0 28px}.capture textarea{width:100%;padding:18px;background:#f2f2f2;border:1px solid transparent;border-radius:9px;font-size:1rem;line-height:1.6;resize:vertical;min-height:115px;display:block}.capture-actions{display:flex;justify-content:flex-end;margin-top:11px}.situation-list{display:grid;gap:12px}.situation-card{border:1px solid #ddd;border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:18px;min-width:0}.situation-body{flex:1;min-width:0}.situation-body p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.55}.situation-card .field-name{font-size:.8125rem;color:#777;margin-bottom:8px}.situation-actions{display:flex;gap:2px;flex-shrink:0}.situation-actions .icon-button{min-height:33px;min-width:33px;padding:7px}.situation-actions .icon{width:17px;height:17px}.continue-row{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px}.situation-group{margin-top:28px}.group-title{font-size:1rem;display:flex;align-items:center;gap:9px;margin-bottom:13px}.empty{padding:48px 25px;background:#f5f5f5;border-radius:14px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:16px}.empty .icon{width:32px;height:32px;color:#666}.empty p{max-width:430px;font-size:.9375rem;color:#666}.empty h2{font-size:1.2rem}.plan-card{border:1px solid #ddd;border-radius:13px;padding:24px;margin-bottom:18px}.plan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}.plan-heading h2{font-size:1.15rem;letter-spacing:-.025em}.problem-line{font-size:.875rem;color:#777;margin-bottom:17px;line-height:1.6;overflow-wrap:anywhere}.target-line{font-size:1.15rem;font-weight:500;line-height:1.5;margin-bottom:7px;white-space:pre-wrap;overflow-wrap:anywhere}.target-measure{font-size:.8125rem;color:#666;margin-bottom:15px}.step-list{list-style:none;margin:18px 0 5px;padding:0}.step-row{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.step-row input{appearance:auto;accent-color:#111;width:20px;height:20px;margin:2px 0 0;flex-shrink:0;cursor:pointer}.step-row .step-title{font-size:.9375rem;line-height:1.5;flex:1;min-width:0;overflow-wrap:anywhere}.step-row.done .step-title{color:#888;text-decoration:line-through}.step-row .icon-button{padding:3px 6px;min-width:28px;min-height:29px}.step-row .icon{width:16px;height:16px}.plan-card-footer{margin-top:13px;display:flex;justify-content:space-between;align-items:center}.plan-card-footer .text-button{font-size:.875rem}.phase-note{margin:18px 0 25px;font-size:.9375rem;color:#666}.connection-note{font-size:.8125rem;color:#777;margin-top:22px}.connection-note button{margin-left:10px}.connection-note.online{display:none}.form-error{font-size:.875rem;color:#333;line-height:1.6;margin:10px 0;padding:12px;border:1px solid #999;border-radius:7px;background:#fafafa}.form-error:empty{display:none}.form-error .text-button{margin-right:12px;font-size:.8125rem}.demo-mark{font-size:.75rem;color:#888;margin-bottom:12px}
#toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,10px);background:#222;color:#fff;padding:12px 20px;border-radius:8px;font-size:.875rem;z-index:100;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;max-width:calc(100vw - 32px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{padding:0;border:1px solid #ddd;border-radius:15px;max-width:min(580px,calc(100vw - 28px));width:580px;max-height:88dvh;overflow:auto;box-shadow:0 15px 80px #0002}dialog::backdrop{background:#0006}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 24px 0}.dialog-head h2{font-size:1.35rem}.dialog-head .icon-button{min-width:34px;min-height:34px;padding:6px}.dialog-body{padding:23px 24px 25px}.dialog-body>p{color:#666;font-size:.9375rem;margin-bottom:19px}.form-field{display:flex;flex-direction:column;gap:9px;margin-bottom:19px}.form-field label{font-size:.875rem}.form-field textarea,.form-field input,.form-field select{width:100%;background:#f3f3f3;border:1px solid transparent;border-radius:8px;min-height:47px;padding:13px;font-size:1rem;min-width:0}.form-field textarea{min-height:110px;line-height:1.6;resize:vertical}.form-field input[readonly]{font-size:.875rem;background:#f3f3f3}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:21px}.dialog-footer .left{margin-right:auto}.choice-list{display:grid;gap:9px;margin:0 0 19px}.choice{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:16px;background:#fff;border:1px solid #ddd;border-radius:9px;text-align:left;font-size:.9375rem;line-height:1.5}.choice:hover{background:#f5f5f5}.choice.active{background:#f3f3f3;border-color:#222}.choice small{display:block;font-size:.75rem;color:#777}.choice .icon{color:#666}.suggested-step{display:flex;gap:12px;align-items:flex-start;border:1px solid #ddd;border-radius:9px;padding:14px;margin-bottom:9px}.suggested-step input{width:18px;height:18px;accent-color:#111;margin-top:3px;flex-shrink:0}.suggested-step span{font-size:.9375rem;line-height:1.5}.field-note{font-size:.8125rem;color:#777;margin:12px 0}.room-options-footer{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.share-info{font-size:.875rem;color:#666;margin-top:17px;line-height:1.6}.pending-pill{font-size:.75rem;color:#888}.soft-divider{height:1px;background:#e5e5e5;border:0;margin:24px 0}.reveal{animation:appear .25s ease both}@keyframes appear{from{opacity:0}to{opacity:1}}
@media(max-width:800px){main{padding:25px 24px 110px}.topbar{padding:0 24px}.diagram{grid-template-columns:minmax(0,1.25fr) minmax(200px,.85fr);min-height:300px;gap:0}.customer-area{padding-left:15px;gap:11px;min-height:260px}.customer-point{padding:13px 11px;gap:9px;min-height:67px}.customer-point .point-text{font-size:.8125rem}.customer-point .icon{width:22px;height:22px}.customer-point:before{width:23px;left:-23px}.circle-model .arc-label{font-size:19px}.field-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.topbar{height:68px;padding:0 18px}.brand{font-size:1.7rem}.header-actions{gap:12px}.company-switch{max-width:150px;font-size:.8125rem}.company-switch .icon{width:16px;height:16px}.share-button{padding:9px;min-width:38px}.share-button span{display:none}main{padding:25px 18px 108px}h1{font-size:1.8rem}.page-top{margin-bottom:22px}.view-tools{gap:10px}.view-tools .text-button{font-size:.8125rem}.segmented button{font-size:.8125rem;padding:8px 13px}.diagram{display:block;min-height:0}.circle-wrap{max-width:470px;margin:auto}.circle-model{max-height:415px}.circle-model .arc-label{font-size:18px}.circle-category{font-size:18px}.center-top{font-size:34px}.center-bottom{font-size:16px}.customer-area{margin:10px 0 24px;padding:21px 0 0;min-height:0;gap:9px}.customer-label{justify-content:center;font-size:.8125rem;position:relative}.customer-label:before{content:'';width:1px;height:24px;background:#aaa;position:absolute;top:-32px;left:50%}.customer-label:after{content:'';width:6px;height:6px;border-bottom:1px solid #777;border-right:1px solid #777;position:absolute;top:-12px;left:calc(50% - 3px);transform:rotate(45deg)}.customer-point:before,.customer-point:after{display:none}.customer-point{min-height:61px;padding:12px 16px}.customer-point .point-text{font-size:.875rem}.customer-placeholder{display:none}.customer-area.no-points{display:none}.detail-tile{padding:23px 20px;gap:17px;border-radius:12px}.detail-tile ul{columns:1;font-size:.9375rem;margin-top:15px}.tile-heading h2{font-size:1.25rem}.detail-tile p{font-size:.9375rem}.detail-tile .tile-action{width:100%}.tile-action .button{width:100%}.field-list{grid-template-columns:1fr;gap:9px}.field-list button{min-height:64px;font-size:.9375rem}.guide-footer{margin-bottom:19px}.guide-buttons .button{font-size:.875rem;padding:10px 15px;min-height:40px}.guide-count{font-size:.8125rem}.question{font-size:1.45rem}.situation-card{padding:18px 15px;gap:9px}.situation-actions{flex-direction:column}.situation-actions .icon-button{padding:5px;min-width:29px;min-height:29px}.continue-row{align-items:flex-start;flex-direction:column}.continue-row .button{width:100%}.plan-card{padding:21px 18px}.plan-heading{gap:10px}.plan-heading h2{font-size:1.08rem}.target-line{font-size:1.08rem}.step-row .step-title{font-size:.9375rem}.dialog-head{padding:21px 20px 0}.dialog-body{padding:21px 20px}.dialog-footer{flex-wrap:wrap}.dialog-footer .button{flex:1}.room-options-footer{flex-wrap:wrap}.stage-nav-inner{min-height:74px}.stage-nav button{font-size:.75rem}.context-line{font-size:.8125rem}.page-top .text-button span.optional{display:none}.circle-model{overflow:visible}}
@media(max-width:380px){.company-name{max-width:85px}.circle-model .arc-label{font-size:21px}.circle-category{font-size:20px}.center-bottom{font-size:18px}.center-top{font-size:37px}.guide-count{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.ai-panel{padding:26px;border:1px solid #ddd;border-radius:14px;margin:0 0 24px;background:#fafafa;overflow-wrap:anywhere}.ai-panel>h2,.ai-heading{margin-bottom:12px}.ai-panel>p{color:#555;line-height:1.6;margin-bottom:18px}.ai-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.ai-heading span{font-size:.875rem;color:#666}.ai-focus{margin:24px 0;padding:24px 0 0;border-top:1px solid #ddd}.ai-focus h3{font-size:1.2rem;margin-bottom:12px}.ai-focus p{line-height:1.6;margin:10px 0;font-size:.9375rem}.ai-focus p strong{display:block;font-weight:600}.ai-focus .ai-source{color:#656565;font-size:.875rem}.ai-focus ol{padding-left:22px;margin-top:18px}.ai-focus li,.ai-questions li{line-height:1.6;margin-bottom:10px}.ai-questions{padding:20px;background:#f0f0f0;border-radius:9px;margin-bottom:20px}.ai-questions ul{padding-left:20px;margin:12px 0 0}.ai-questions h3{font-size:1rem}.ai-confirm{display:flex;gap:12px;align-items:flex-start;font-size:.9375rem;line-height:1.5}.ai-confirm input{margin-top:4px;accent-color:#111;width:19px;height:19px;flex-shrink:0}.ai-summary{margin-bottom:24px;padding:22px;background:#f3f3f3;border-radius:12px}.ai-summary summary{cursor:pointer;font-weight:600;line-height:1.5}.ai-summary p,.ai-summary ul{margin-top:16px;color:#555;line-height:1.6}.ai-summary .text-button{margin-top:10px}.ai-progress{width:25px;height:25px;border:2px solid #ddd;border-top-color:#111;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:17px}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:620px){.ai-panel{padding:22px 18px}.ai-heading{align-items:flex-start;flex-direction:column;gap:6px}.ai-panel>.button{width:100%}.ai-questions{padding:16px}}

/* Rectangular strategy: process paths above/left, people below/right, clients outward. */
:root{--employees:#dce9e7;--processes:#e0e5ec;--customers:#ececec}
.area-people{--area:var(--employees);--rail:#638680;--ink:#264c46}
.area-process{--area:var(--processes);--rail:#707f95;--ink:#364356}
.area-business{--area:var(--customers);--rail:#898989;--ink:#424242}
.box-model{border:1px solid #e7e9eb;border-radius:16px;padding:24px 22px 26px;margin:20px 0;background:#fafbfc}
.model-legend{display:flex;align-items:center;justify-content:flex-end;gap:26px;margin-bottom:12px;flex-wrap:wrap}
.model-legend>span{display:inline-flex;gap:9px;align-items:center;font-size:.875rem;color:#444;font-weight:500}
.model-legend i{width:12px;height:12px;background:var(--rail);border-radius:3px}
.model-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,minmax(64px,auto)) 84px repeat(3,minmax(64px,auto));gap:12px;position:relative;isolation:isolate}
.model-layout.depth-1{grid-template-rows:0 0 minmax(64px,auto) 84px minmax(64px,auto) 0 0}
.model-layout.depth-2{grid-template-rows:0 minmax(64px,auto) minmax(64px,auto) 84px minmax(64px,auto) minmax(64px,auto) 0}
.model-field{display:contents}
.model-lane{z-index:-1;background:none;border-color:var(--area);border-style:solid;border-width:0;pointer-events:none;animation:appear .3s ease both}
.model-lane.area-process{border-left-width:14px;border-top-left-radius:9px}
.model-lane.area-people{border-right-width:14px;border-bottom-right-radius:9px}
.model-lane.selected{border-color:#111}
.model-point{min-width:0;min-height:64px;display:flex;gap:12px;align-items:center;text-align:left;background:var(--area);border:1px solid transparent;border-radius:7px;padding:14px 16px;color:#20262b;position:relative;transition:background .15s,box-shadow .15s;animation:appear .25s ease both}
.model-point:hover{border-color:var(--rail);box-shadow:0 3px 10px #17252b0b}
.model-point-copy{min-width:0;flex:1}.model-title{display:block;font-size:1rem;font-weight:550;line-height:1.4;overflow-wrap:anywhere}.model-category{display:none}
.model-number{font-size:.875rem;color:var(--ink);font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:3px}.model-point>.icon{width:22px;height:22px;color:var(--ink)}
.model-point.selected,.model-point.selected:hover{background:#111;border-color:#111;color:#fff;box-shadow:0 4px 12px #00000012}
.model-point.selected .model-number,.model-point.selected>.icon,.model-point.selected .model-category{color:#fff}
.model-core{grid-column:8/10;grid-row:4;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid #e0e4e6;border-radius:9px;box-shadow:0 2px 8px #00000004;gap:1px;min-width:0}
.model-core>span:first-child{font-size:1.9rem;letter-spacing:-.06em;font-weight:650}.model-core>span:last-child{font-size:.875rem;color:#687178}
.model-point.area-business{padding-left:19px}.outbound{position:absolute;right:-17px;top:50%;transform:translateY(-50%);font-size:20px;color:#798080;line-height:1;background:#fafbfc;z-index:1}
.field-list button{background:var(--area,#fff);border-color:transparent;border-radius:7px}.field-list button.selected{background:#111;color:#fff;border-color:#111}.field-list button.selected .list-no{color:#fff}
.detail-tile{background:#fff;border:1px solid #e4e7e9;border-top:3px solid var(--rail,#777);border-radius:10px;box-shadow:0 4px 20px #00000003}
.situation-card .field-name,.field-name{display:table;background:var(--area,#eee);color:var(--ink,#424242);border-radius:5px;padding:6px 9px;font-size:.875rem;line-height:1.5;margin-bottom:12px;overflow-wrap:anywhere}
@media(min-width:701px) and (max-width:980px){.model-point{padding:12px;gap:9px}.model-title{font-size:.9375rem}.model-point>.icon{display:none}.box-model{padding:20px 18px}}
@media(max-width:700px){
 .box-model{padding:18px 14px;margin-top:18px;border-radius:12px}.model-legend{justify-content:space-between;gap:10px;margin-bottom:20px}.model-legend>span{font-size:.875rem;gap:6px}.model-legend i{width:9px;height:9px}
 .model-layout,.model-layout.depth-1,.model-layout.depth-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:12px}
 .model-core{grid-column:1/-1;grid-row:1;justify-self:center;padding:13px 34px;margin-bottom:8px;min-height:75px}.model-core>span:first-child{font-size:1.65rem}
 .model-lane{display:none}.model-point{grid-row:var(--mobile-row)!important;padding:13px 11px;gap:8px;align-items:flex-start;min-height:88px;animation:appear .25s ease both}
 .model-point.area-people{grid-column:1!important}.model-point.area-process{grid-column:2!important}.model-point.area-business{grid-column:1/-1!important;margin:0 0 14px 21px;min-height:68px;align-items:center;border-left:2px solid var(--rail)}
 .model-title{font-size:.9375rem;line-height:1.45}.model-number{font-size:.875rem;padding-top:2px}.model-category{display:block;font-size:.875rem;font-weight:400;color:var(--ink);margin-bottom:6px}
 .model-point>.icon{display:none}.model-point.area-business>.icon{display:block;width:20px;height:20px}.model-point.area-business .model-category{margin-bottom:2px}
 .model-point.area-people:after{content:'→';position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:#70807e;background:#fafbfc;font-size:17px;z-index:1}
 .outbound{right:auto;left:-22px;background:none;top:50%;font-size:19px}.model-point.area-business:before{content:'';position:absolute;left:-14px;top:-13px;width:1px;height:calc(50% + 13px);background:#aab2b3}
}
@media(prefers-reduced-motion:reduce){.model-lane,.model-point{animation:none;transition:none}}
/* Consulting flow: neutral working surfaces; category tint only on small labels. */
.current-company{font-size:.9375rem;color:#656b70;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.round-model{max-width:620px;margin:8px auto 14px;display:grid;place-items:center}.round-model .circle-model{max-height:485px;width:100%}
.round-model .band{fill:#f1f2f3;stroke:#fff;stroke-width:2}.round-model .area-business .band{fill:#e8c9a8}.round-model .area-process .band{fill:#c3d7c6}.round-model .area-people .band{fill:#bed9ed}
.round-model .field:hover .band{stroke:#555;filter:brightness(.96)}.round-model .field.selected .band{fill:#111;stroke:#111}.round-model .field.selected .arc-label{fill:#fff}.round-model .arc-label{font-size:17px;fill:#34383c}.round-model .circle-category{font-size:17px;fill:#555d62;font-weight:550}
.detail-tile{border:1px solid #e2e4e6;border-top:1px solid #e2e4e6;background:#f3f4f5;box-shadow:none;border-radius:13px}.strategy-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 26px}.field-list button{background:#f2f3f4;border:1px solid #e4e6e8}.field-list button.selected{background:#111;color:#fff}.field-list button.selected .list-no{color:#fff}
.page-intro{color:#697077;font-size:.9375rem;line-height:1.6;margin:0 0 24px}.topic-list{display:grid;gap:10px}.topic-choice{display:flex;align-items:center;gap:16px;padding:20px;background:#f3f4f5;border:1px solid #e5e7e9;border-radius:11px;text-align:left;width:100%}.topic-choice>span{flex:1}.topic-choice strong{display:block;font-size:1rem;font-weight:550;line-height:1.45}.topic-choice small{display:block;color:#71777d;font-size:.875rem;margin-top:6px}.topic-choice:hover{background:#e9ebed}
.check-progress{display:flex;justify-content:space-between;gap:14px;color:#737a7f;font-size:.875rem;margin:22px 0 12px}.question-card{background:#f3f4f5;border-radius:13px;padding:28px}.question-card h2{font-size:1.4rem;line-height:1.5;letter-spacing:-.025em}.answer-options{display:flex;gap:12px;margin:25px 0}.answer-options button{flex:1;background:#fff;border:1px solid #d2d6da;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px;min-height:53px;font-size:.9375rem}.answer-options button.selected{background:#111;border-color:#111;color:#fff}.answer-options button:hover:not(.selected){background:#eceef0}
#remark-form label{font-size:.875rem;display:block;margin:0 0 9px}#remark-form label span{color:#767d82}#remark-form textarea{display:block;width:100%;min-height:85px;resize:vertical;padding:14px;border:1px solid #dce0e3;border-radius:8px;background:white;font-size:1rem;line-height:1.55}.remark-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.remark-actions .text-button{font-size:.875rem}
.check-navigation{display:flex;justify-content:space-between;gap:15px;margin:19px 0 26px}.check-extra{border-top:1px solid #e2e4e6;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.check-overview{display:grid;gap:9px;margin-top:18px}.check-overview button{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:16px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:.9375rem;line-height:1.5}.check-overview small{font-size:.875rem;color:#6b7278;flex-shrink:0}.add-situation{margin-bottom:24px}
.settings-section{padding:24px 0;border-top:1px solid #e1e4e6}.settings-section h2{font-size:1.2rem;margin-bottom:20px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;border:0;border-top:1px solid #e4e6e8;background:white;padding:19px 0;text-align:left;font-size:1rem;line-height:1.5}.settings-row small{display:block;font-size:.875rem;color:#767d83;margin-top:4px}.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;font-size:.9375rem}.settings-toggle input{width:20px;height:20px;accent-color:#111}.summary-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 25px}.summary-actions>div{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.summary-actions .button{font-size:.875rem}.summary-actions .text-button{white-space:nowrap}
@media(max-width:700px){.round-model .arc-label{font-size:21px}.round-model .circle-category{font-size:21px}.round-model .center-top{font-size:36px}.round-model .center-bottom{font-size:20px}.current-company{font-size:.8125rem}.page-top{align-items:flex-start;flex-wrap:wrap}.page-top .text-button{font-size:.875rem}.strategy-actions{align-items:flex-start;gap:8px}.strategy-actions .text-button{padding-top:8px}.question-card{padding:23px 18px}.question-card h2{font-size:1.2rem}.answer-options{gap:9px}.answer-options button{padding:13px 10px;font-size:.875rem;gap:7px}.answer-options .icon{width:17px;height:17px}.topic-choice{padding:18px 16px}.summary-actions{align-items:flex-start;flex-direction:column}.summary-actions>div{justify-content:flex-start}.stage-nav button{font-size:.75rem}.check-extra{align-items:flex-start;flex-direction:column}}
@media(max-width:380px){.answer-options{flex-direction:column}.round-model .arc-label{font-size:22px}}
@media print{.skip-link,dialog{display:none!important}.report-topic-head .field-name{background:#eee;color:#222}}

/* Stable category colors; neutral working cards and black selected states. */
.field-name.area-people,.topic-icon.area-people{background:#e0edf7;color:#254c69}
.field-name.area-process,.topic-icon.area-process{background:#e5eee5;color:#33553b}
.field-name.area-business,.topic-icon.area-business{background:#f5e7d7;color:#684923}
.topic-choice>.topic-icon{flex:0 0 44px;width:44px;height:44px;border-radius:10px;display:grid;place-items:center}
.question-stack{display:grid;gap:12px;margin-bottom:26px}
.question-item{border:1px solid #e0e3e6;border-radius:12px;background:#f3f4f5;overflow:hidden}
.question-item>h2{margin:0;font-size:1rem;letter-spacing:-.015em}
.question-toggle{border:0;width:100%;background:transparent;display:flex;align-items:center;gap:16px;text-align:left;padding:23px 22px;min-height:86px;line-height:1.5}
.question-toggle:hover{background:#e9ebed}
.question-toggle:focus-visible{outline-offset:-4px}
.question-title{flex:1;font-weight:550;overflow-wrap:anywhere}
.question-number{font-size:.875rem;color:#71777d;font-variant-numeric:tabular-nums}
.question-result{font-size:.8125rem;color:#61686e;white-space:nowrap}
.question-item.selected{border-color:#111}
.question-item.selected .question-toggle{background:#111;color:#fff}
.question-item.selected .question-number,.question-item.selected .question-result{color:#e2e2e2}
.question-item.selected .question-toggle:focus-visible{outline-color:#fff}
.question-panel{padding:22px;background:#f3f4f5}
.question-panel[hidden]{display:none}
.question-panel .answer-options{margin:0 0 24px}
.remark-label{display:block;font-size:.875rem;margin:0 0 10px}
.remark-label span{color:#6c7379}
.auto-remark{display:block;width:100%;min-height:105px;resize:vertical;padding:14px;border:1px solid #d5d9dd;border-radius:8px;background:#fff;line-height:1.6;font-size:1rem}
.autosave-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:9px}
.save-status{color:#636b72;font-size:.75rem;line-height:1.5}
@media(max-width:620px){.question-toggle{gap:11px;padding:20px 15px;flex-wrap:wrap}.question-title{flex-basis:calc(100% - 65px);font-size:.9375rem}.question-toggle>.icon{width:18px;height:18px}.question-result{order:4;margin-left:20px;flex-basis:100%}.question-panel{padding:19px 15px}.topic-choice{gap:12px}.topic-choice>.topic-icon{flex-basis:38px;width:38px;height:38px}.topic-choice small{line-height:1.5}.autosave-row .text-button{font-size:.8125rem}}
/* Strategy hierarchy and Focus-style navigation lists. */
.field-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 0}
.field-list button{min-width:0;min-height:108px;padding:23px 21px;gap:16px;border:1px solid transparent;border-radius:12px}
.field-list .foundation{grid-column:1/-1;min-height:114px}
.field-list button.area-people{background:#bed9ed}.field-list button.area-process{background:#c3d7c6}.field-list button.area-business{background:#e8c9a8}
.field-list button:hover{filter:brightness(.97)}
.field-list button.selected{background:#111;color:#fff}
.strategy-name{flex:1;min-width:0;overflow-wrap:anywhere}
.strategy-name strong{font-size:1rem;line-height:1.4;font-weight:550;display:block}
.strategy-name small{display:block;margin-top:6px;color:#394951;font-size:.875rem}
.field-list button.selected small,.field-list button.selected .list-no{color:#ddd}
.strategy-icon{display:grid;place-items:center;width:36px;flex-shrink:0}
.field-list .strategy-icon .icon{width:29px;height:29px}
.field-list .list-no{color:#37434a;font-size:.875rem;margin-left:0}
.topic-list{gap:0}
.topic-choice{border:0;border-bottom:1px solid #e0e3e6;border-radius:0;background:transparent;padding:25px 4px;gap:19px}
.topic-choice:hover{background:#f5f6f7}
.topic-choice>.topic-icon{flex-basis:46px;width:46px;height:46px;border-radius:12px}
.topic-choice strong{font-size:1.0625rem}.topic-choice small{line-height:1.5}
.settings-page>.page-top{margin-bottom:28px}
.profile-card{display:flex;align-items:center;gap:20px;width:100%;padding:24px;border:0;border-radius:16px;background:#edeff2;text-align:left;margin-bottom:38px}
.profile-card>span:nth-child(2){flex:1;min-width:0}.profile-card strong{display:block;font-size:1.125rem;font-weight:550;overflow-wrap:anywhere}.profile-card small{display:block;margin-top:8px;color:#626970;font-size:.875rem;overflow-wrap:anywhere}
.avatar{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:#e8ebee;font-size:.875rem;font-weight:600;overflow:hidden;color:#23282c}
.avatar img{width:100%;height:100%;object-fit:cover}.avatar.large{width:64px;height:64px;font-size:1.25rem;background:#fff}.avatar.large .icon{width:28px;height:28px}
.profile-trigger{display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:4px;font-size:.875rem;border-radius:24px;flex-shrink:0}
.profile-trigger:hover{background:#f0f2f4}.header-actions .current-company{max-width:240px}
.settings-section{margin:0 0 34px;padding:0;border:0}.settings-section>h2{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:#727980;margin-bottom:8px;font-weight:550}
.settings-row{display:flex;align-items:center;gap:18px;padding:24px 2px;background:transparent;border:0;border-bottom:1px solid #e0e3e6;border-radius:0;width:100%;text-align:left;min-height:86px}
.settings-row:hover{background:#f5f6f7}.settings-row .row-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#edeff2;flex-shrink:0}
.settings-row .row-copy{flex:1;min-width:0}.settings-row strong{display:block;font-size:1.0625rem;font-weight:550;line-height:1.4;overflow-wrap:anywhere}.settings-row small{display:block;color:#646c73;font-size:.9375rem;margin-top:6px;line-height:1.5}
.settings-row[aria-pressed=true] .row-icon{background:#111;color:#fff}
.settings-toggle input{accent-color:#111;width:21px;height:21px;flex-shrink:0}
.profile-photo-editor{display:flex;align-items:center;gap:22px;margin:0 0 27px}.profile-photo-editor .avatar{width:88px;height:88px;background:#edf0f2}.profile-photo-editor .text-button{display:block;margin-top:5px}.profile-email{color:#687077;font-size:.9375rem;margin:-3px 0 20px;overflow-wrap:anywhere}.profile-session{border-top:1px solid #ddd;margin-top:24px;padding-top:15px}.auth-alternative{margin:14px 0}.profile-footnote{font-size:.8125rem!important;line-height:1.5;color:#71777d}.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-photo-editor:has(input:focus-visible) label{outline:2px solid #111;outline-offset:3px}
@media(max-width:620px){.field-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.field-list button{padding:17px 13px;min-height:144px;align-items:flex-start;flex-wrap:wrap;gap:12px}.field-list .strategy-icon{width:25px}.field-list .strategy-icon .icon{width:25px;height:25px}.field-list .strategy-name{flex-basis:calc(100% - 42px)}.strategy-name strong{font-size:.9375rem}.strategy-name small{font-size:.8125rem}.field-list .list-no{margin-left:auto}.field-list .foundation{min-height:110px;align-items:center;flex-wrap:nowrap}.field-list .foundation .strategy-name{flex-basis:auto}.field-list .foundation .strategy-icon{width:34px}.topic-choice{padding:23px 0;gap:15px}.topic-choice strong{font-size:1rem}.topic-choice small{font-size:.875rem}.profile-card{padding:21px 17px;gap:16px}.settings-row{gap:15px;padding:22px 0}.settings-row strong{font-size:1rem}.settings-row small{font-size:.875rem}.header-actions{min-width:0;gap:12px}.header-actions .current-company{max-width:120px}.profile-trigger>span:not(.avatar){display:none}}
@media(max-width:380px){.field-list button{display:grid;grid-template-columns:1fr auto;gap:12px;align-content:start}.field-list .strategy-name{grid-column:1/-1;grid-row:2}.field-list .list-no{grid-row:1;grid-column:2}.field-list .foundation{display:flex}.header-actions .current-company{max-width:90px}}
.login-page{max-width:480px;padding-top:64px}.login-page h1{margin:24px 0 12px}.login-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;background:#eef0f2}.login-icon .icon{width:30px;height:30px}.login-page .form-field input{min-height:54px}.login-page .page-intro{margin-bottom:32px}.login-page details{margin:0 0 24px}summary{cursor:pointer;font-size:.875rem;margin:14px 0}.login-page .profile-footnote{margin-top:24px}.login-sent{font-size:.9375rem;color:#59616a;margin-bottom:25px;overflow-wrap:anywhere}.otp-input{font-size:1.8rem!important;letter-spacing:.4em;text-align:center}.access-section{margin-top:32px;border-top:1px solid #ddd;padding-top:24px}.access-person{padding:19px 0;border-bottom:1px solid #e3e6e8;overflow-wrap:anywhere}.access-person strong{font-size:.9375rem}.access-person small{display:block;color:#6c747b;margin-top:5px;font-size:.8125rem}.access-person-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.access-membership{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px;font-size:.875rem}.invitation-code{font-family:monospace;overflow-wrap:anywhere;padding:12px;background:#eee;border-radius:6px;font-size:.875rem}.login-page .form-error{margin-bottom:18px}

/* App header and touch navigation. */
html,body{touch-action:pan-x pan-y}
.brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;line-height:1.1;letter-spacing:-.06em}
.brand-ki{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px 6px;background:#111;color:#fff;border-radius:5px;letter-spacing:-.055em;line-height:1}
@media(max-width:620px){.brand{font-size:1.65rem;gap:8px}.brand-ki{padding:5px 7px 6px}input:not(.otp-input),textarea,select{font-size:16px!important}}
