:root{--ink:#18302d;--ink-soft:#47605b;--forest:#173a35;--forest-2:#22574e;--cream:#f6f2e8;--paper:#fffdf8;--white:#fff;--line:#d7ddd6;--line-strong:#aab8b2;--sage:#dcebe3;--sage-strong:#8ab6a4;--aqua:#dff1ee;--coral:#8f3f2b;--coral-soft:#fae9e2;--amber-soft:#fbefd2;--danger:#a73529;--shadow:0 16px 48px #18302d17;--radius:18px;--sans:"Avenir Next", "Hiragino Sans", "Yu Gothic UI", "Noto Sans JP", sans-serif}*{box-sizing:border-box}html{background:var(--cream);color:var(--ink);font-family:var(--sans);scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 8%, #8ab6a433, transparent 26rem), var(--cream);min-width:320px;color:var(--ink);margin:0;font-size:16px;line-height:1.65}button,input,textarea{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,textarea{border:1px solid var(--line-strong);background:var(--white);border-radius:11px;width:100%;padding:.78rem .9rem;line-height:1.55;transition:border-color .12s,box-shadow .12s}input{min-height:46px}textarea{resize:vertical;min-height:5.5rem}:is(input:focus,textarea:focus,button:focus-visible,summary:focus-visible,a:focus-visible){outline-offset:2px;outline:3px solid #e6a24e}label,legend{letter-spacing:.02em;margin-bottom:.42rem;font-size:.88rem;font-weight:700;display:block}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{margin:0;line-height:1.3}p{margin:0}.app-shell{flex-direction:column;min-height:100vh;display:flex}.plans-page,.workspace-page{flex:1 0 auto}.site-footer{width:min(100% - 2rem,700px);padding:.75rem 0 calc(1.5rem + env(safe-area-inset-bottom));color:var(--ink-soft);text-align:center;flex-wrap:wrap;flex:none;justify-content:center;gap:.25em;margin:0 auto;font-size:.75rem;font-weight:700;line-height:1.7;display:flex}.site-footer a{color:var(--forest);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--forest) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--forest) 35%, transparent);text-underline-offset:.22em}.site-footer a:hover{text-decoration-color:currentColor}.site-footer a:focus-visible{outline:3px solid var(--sage-strong);outline-offset:3px;border-radius:4px}.skip-link{z-index:1000;background:var(--forest);color:var(--white);border-radius:0 0 8px 8px;padding:.7rem 1rem;position:fixed;top:-5rem;left:.75rem}.skip-link:focus{top:0}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-header{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f0;border-bottom:1px solid #d7ddd6d9;justify-content:space-between;align-items:center;gap:1rem;min-height:76px;padding:.72rem clamp(1rem,4vw,3rem);display:flex;position:sticky;top:0}.brand-block,.header-actions,.editor-card-heading,.section-heading-row,.field-meta,.add-card-footer,.card-actions,.banner-actions,.modal-heading,.modal-actions,.suggestion-actions,.completion-control{align-items:center;display:flex}.brand-block{gap:.72rem;min-width:0}.brand-mark{background:var(--forest);width:43px;height:43px;color:var(--white);letter-spacing:.1em;border-radius:50%;flex:0 0 43px;place-items:center;font-size:.77rem;font-weight:800;display:grid}.brand-name{letter-spacing:.01em;font-size:1rem;font-weight:800}.brand-subtitle{color:var(--ink-soft);font-size:.75rem}.header-actions{justify-content:flex-end;gap:.55rem}.save-status{background:var(--sage);min-height:32px;color:var(--forest);white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .72rem;font-size:.78rem;font-weight:700;display:inline-flex}.save-status:before{background:var(--forest-2);content:"";border-radius:50%;width:7px;height:7px;margin-right:.45rem}.status-error{background:var(--coral-soft);color:var(--danger)}.status-error:before{background:var(--danger)}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:.68rem 1.18rem;font-weight:750;line-height:1.25;text-decoration:none;transition:transform .12s,background .12s,border-color .12s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{background:var(--forest);color:var(--white)}.button.primary:hover{background:#0f2b27}.button.secondary{border-color:var(--line-strong);background:var(--white);color:var(--forest)}.button.secondary:hover{border-color:var(--forest)}.button.ghost,.button.icon-text{background:0 0;border-color:#0000;min-height:44px;padding-inline:.68rem}.button.icon-text{color:var(--forest-2)}.button.danger{background:var(--coral-soft);color:var(--danger);border-color:#e6c1ba}.button.compact{min-height:44px;padding:.54rem .9rem;font-size:.86rem}.button.large{min-height:54px;padding-inline:1.45rem}.danger-text,.text-button.danger-text{color:var(--danger)}.text-button{min-height:44px;color:var(--forest-2);text-underline-offset:.2em;background:0 0;border:0;font-weight:750;text-decoration:underline}.text-button.light{color:#e6f3ee}.error-banner,.warning-banner{background:var(--coral-soft);color:#71281e;justify-content:center;align-items:center;gap:1rem;padding:.75rem clamp(1rem,4vw,3rem);display:flex}.warning-banner{background:var(--amber-soft);color:#634918}.banner-actions{flex-wrap:wrap;justify-content:space-between}.center-screen,.recovery-screen{text-align:center;place-items:center;min-height:100vh;padding:1rem;display:grid}.center-screen h1{font-size:clamp(1.5rem,6vw,2.6rem)}.recovery-card{border:1px solid var(--line);background:var(--paper);width:min(100%,620px);box-shadow:var(--shadow);text-align:left;border-radius:24px;padding:clamp(1.4rem,5vw,3rem)}.recovery-card h1{margin:.55rem 0 1rem;font-size:clamp(1.8rem,5vw,2.7rem)}.support-copy{color:var(--ink-soft);margin-top:1rem}.button-stack{gap:.75rem;margin-top:1.6rem;display:grid}.plans-page{width:min(100% - 2rem,1180px);margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem) 0 5rem}.intro-panel{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:0 0 clamp(1.25rem,2.5vw,1.8rem);display:grid}.intro-panel h1{letter-spacing:-.045em;max-width:38ch;margin:.4rem 0 .55rem;font-size:clamp(1.65rem,3vw,2.55rem);font-weight:720}.intro-panel p:not(.eyebrow){max-width:44rem;color:var(--ink-soft)}.eyebrow{color:var(--coral);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:850}.plans-section{padding-top:clamp(1.5rem,3vw,2.25rem)}.section-heading-row{justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.section-heading-row h2{margin-top:.25rem;font-size:clamp(1.45rem,3vw,2.2rem)}.compact-heading h3{font-size:1.15rem}.count-badge,.step-pill,.branch-number{background:var(--sage);color:var(--forest);letter-spacing:.07em;border-radius:999px;align-items:center;padding:.24rem .66rem;font-size:.72rem;font-weight:800;display:inline-flex}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius);background:#fffdf89e;padding:clamp(1.5rem,5vw,3rem);position:relative;overflow:hidden}.empty-state-number{color:#173a3514;font-size:8rem;font-weight:850;line-height:1;position:absolute;top:-1rem;right:1.2rem}.empty-state h3{margin-bottom:.35rem;position:relative}.empty-state p{color:var(--ink-soft);position:relative}.empty-state .button{margin-top:1rem}.compact-empty{margin:1rem 0;padding:1.5rem}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.plan-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex-direction:column;min-width:0;padding:1.35rem;display:flex;box-shadow:0 5px 18px #18302d09}.plan-card-topline{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:.5rem;font-size:.73rem;display:flex}.plan-card h3{margin:1.15rem 0 .55rem;font-size:1.3rem}.plan-at-preview{color:var(--ink-soft);flex:1}.plan-meta{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;gap:.4rem 1rem;margin-top:1.2rem;padding-top:.9rem;font-size:.82rem;display:flex}.plan-card-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.plan-card-actions .button.primary,.plan-card-actions .button.secondary{flex:150px}.plan-card-actions .danger-text{flex:none}.plan-map-status{color:var(--ink-soft);text-align:center;flex:150px;font-size:.78rem;font-weight:750}.modal-backdrop{z-index:100;background:#0c1d1a9e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:var(--paper);width:min(100%,520px);box-shadow:var(--shadow);border-radius:22px;padding:clamp(1.25rem,4vw,2rem)}.modal-heading{justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.icon-button{background:var(--cream);border:0;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.5rem;display:grid}.modal-actions{justify-content:flex-end;gap:.65rem;margin-top:1.6rem}.field-help,.field-meta{color:var(--ink-soft);font-size:.78rem}.field-meta{justify-content:space-between;gap:1rem;margin-top:.4rem}.field-error{color:var(--danger);margin-top:.4rem;font-size:.84rem;font-weight:700}.workspace-page{width:min(100%,1080px);margin:0 auto}.workspace-plan-bar{border:1px solid var(--line);background:#fffdf8b8;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.7rem .85rem;display:flex}.plan-title-editor{flex:auto;min-width:0}.plan-title-editor label{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.plan-title-editor input{background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;padding:.35rem 0;font-size:1rem;font-weight:800}.plan-title-editor input:focus{border-bottom-color:var(--forest);box-shadow:none}.local-note{color:var(--ink-soft);flex:none;gap:.55rem;margin:0;font-size:.72rem;display:flex}.local-note>span{color:var(--sage-strong)}.workspace-content{width:min(100%,1080px);min-width:0;margin:0 auto;padding:clamp(1.8rem,5vw,4rem) clamp(1rem,4vw,2rem) 8rem;scroll-margin-top:88px}.phase-rail{margin-bottom:1.25rem}.phase-rail ol{grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.phase-rail li{min-width:0}.phase-link{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:999px;align-items:center;gap:.5rem;width:100%;height:46px;padding:0 .55rem;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s;display:flex}.phase-link:hover:not(:disabled){border-color:var(--forest);transform:translateY(-1px);box-shadow:0 5px 14px #18302d1a}.phase-link:focus-visible{outline-offset:2px;outline:3px solid #3e7e6e47}.phase-rail li.current .phase-link{border-color:var(--forest);background:var(--sage)}.phase-rail li.next:not(.complete) .phase-link{border-style:dashed;border-color:var(--sage-strong)}.phase-rail li.complete:not(.current) .phase-link{background:#f1f6f3}.phase-dot{background:var(--cream);width:28px;height:28px;color:var(--ink-soft);border-radius:50%;flex:0 0 28px;place-items:center;font-size:.72rem;font-weight:850;display:grid}.phase-rail .current .phase-dot,.phase-rail .complete .phase-dot{background:var(--forest);color:var(--white)}.phase-rail strong,.phase-rail small{text-overflow:ellipsis;white-space:nowrap;line-height:1.3;display:block;overflow:hidden}.phase-rail strong{font-size:.78rem}.phase-rail small{color:var(--ink-soft);font-size:.64rem}.mobile-step-status{display:none}.step-intro{margin-bottom:1.75rem}.step-intro h2{letter-spacing:-.035em;max-width:19ch;margin:.45rem 0 .7rem;font-size:clamp(1.9rem,4vw,3.3rem);font-weight:720}.step-intro>p:not(.eyebrow){max-width:44rem;color:var(--ink-soft)}.step-intro .step-aside{border-left:3px solid var(--coral);margin-top:.75rem;padding-left:.8rem;font-size:.88rem;color:var(--ink)!important}.editor-card,.question-panel,.reference-card,.obstacle-card,.conversion-card,.action-goal-card,.connection-at,.connection-goal-card,.check-panel,.tree-goal-node,.missing-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-width:0}.editor-card,.question-panel,.action-goal-card{padding:clamp(1.15rem,4vw,1.7rem)}.editor-card-heading{justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.editor-card-heading h3{margin-top:.4rem}.content-label{letter-spacing:.09em;border-radius:999px;padding:.18rem .55rem;font-size:.68rem;font-weight:850;display:inline-flex}.label-at{background:var(--forest);color:var(--white)}.label-obstacle{background:var(--coral-soft);color:#853423}.label-goal{background:var(--sage);color:var(--forest)}.gentle-prompt{background:var(--amber-soft);color:#634918;border-radius:9px;margin-top:.8rem;padding:.65rem .8rem;font-size:.86rem}.question-panel{background:var(--forest);color:var(--white);margin-top:1rem}.question-panel h3{margin:.35rem 0 1rem}.question-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.question-grid li{border-top:1px solid #ffffff30;gap:.65rem;padding:.9rem 0;display:flex}.question-grid li:nth-child(odd){padding-right:1rem}.question-grid li:nth-child(2n){border-left:1px solid #ffffff30;padding-left:1rem}.question-grid span{color:#9fc9b9;font-size:.72rem;font-weight:800}.reference-card{border-left:4px solid var(--forest);grid-template-columns:auto minmax(0,1fr);gap:.7rem;margin-bottom:1rem;padding:.9rem 1rem;display:grid}.reference-card>span{font-weight:850}.reference-card p{color:var(--ink-soft)}.add-card{margin-bottom:1.5rem}.add-card-footer{justify-content:space-between;gap:1rem;margin-top:.7rem}.obstacle-list,.conversion-list,.action-goal-list,.action-list{gap:1rem;display:grid}.obstacle-card{grid-template-columns:62px minmax(0,1fr);display:grid;overflow:hidden}.obstacle-index{background:var(--coral-soft);color:var(--coral);place-items:start center;padding-top:1.2rem;font-size:1.2rem;font-weight:850;display:grid}.obstacle-body{min-width:0;padding:1.15rem}.thinking-questions,.source-obstacle,.action-memo,.action-goal-card details,.connection-goal-card details{background:var(--cream);border-radius:9px;margin-top:.7rem;padding:.55rem .7rem}summary{cursor:pointer;align-items:center;min-height:44px;font-weight:750;display:flex}.thinking-questions ul{color:var(--ink-soft);margin:.4rem 0 0;padding-left:1.25rem}.split-actions{border-top:1px solid var(--line);justify-content:space-between;gap:.5rem;margin-top:.9rem;padding-top:.55rem}.conversion-card{grid-template-columns:minmax(0,.8fr) 40px minmax(0,1.2fr);align-items:stretch;display:grid;overflow:hidden}.conversion-source,.conversion-goal{min-width:0;padding:1.25rem}.conversion-source{background:var(--coral-soft)}.conversion-source p{margin-top:.7rem}.conversion-arrow{background:linear-gradient(90deg, var(--coral-soft), var(--sage));color:var(--forest);place-items:center;font-size:1.4rem;font-weight:800;display:grid}.conversion-arrow span{transform:rotate(-90deg)}.conversion-goal{background:#f4faf7}.conversion-goal>label,.suggestion-box>label{margin-top:.8rem}.suggestion-box{margin-top:.75rem}.suggestion-actions{flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.connection-map{text-align:center}.connection-tree-editor{text-align:center;min-width:0;padding:3px;position:relative;overflow-x:auto}.connection-tree-editor>.connection-at{position:sticky;left:0}.tree-connectors{z-index:0;color:var(--sage-strong);pointer-events:none;display:none;position:absolute;top:0;left:0}.tree-connectors path{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.connection-at,.connection-insert-slot,.connection-parallel-slot,.tree-at-node,.tree-goal-node{z-index:1;position:relative}.connection-node-ticket{z-index:1}@media (min-width:768px){.tree-connectors{display:block}.connection-tree-roots:before,.connection-tree-children:before,.connection-tree-branch:before,.connection-tree-branch:after,.final-causal-roots:before,.final-causal-children:before,.final-causal-branch:before,.final-causal-branch:after{display:none}}.connection-tree-roots,.connection-tree-children{justify-content:center;align-items:flex-start;gap:1rem;min-width:max-content;margin:0;padding:30px 0 0;list-style:none;display:flex;position:relative}.connection-tree-roots:before,.connection-tree-children:before{background:var(--sage-strong);content:"";height:2px;position:absolute;top:0;left:16%;right:16%}.connection-tree-roots:has(>li:only-child):before{display:none}.connection-tree-children:has(>li:only-child):before{display:none}.connection-tree-branch{flex-direction:column;align-items:center;min-width:300px;display:flex;position:relative}.connection-tree-branch:before{background:var(--sage-strong);content:"";width:2px;height:30px;position:absolute;top:-30px;left:50%}.connection-tree-branch:after{color:var(--forest);content:"↑";font-weight:900;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.connection-slot-item{flex-direction:column;justify-content:flex-start;min-width:180px;list-style:none;display:flex}.connection-node-ticket{border:2px solid var(--sage-strong);text-align:left;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:element;background:#f4faf7;border-radius:17px;width:320px;min-width:0;max-width:100%;padding:1rem;transition:border-color .16s,box-shadow .16s,opacity .16s,transform .16s;position:relative;box-shadow:0 7px 22px #18302d12}.connection-node-ticket:active{cursor:grabbing}.connection-node-ticket.moving{border-color:var(--forest);opacity:.75;border-style:dashed;box-shadow:0 0 0 4px #15443c21}.connection-node-ticket.blocked{opacity:.38;filter:grayscale(.5)}.connection-node-heading{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem;display:grid}.connection-drag-handle{color:var(--forest);letter-spacing:-.28em;cursor:grab;font-size:1.25rem;font-weight:900}.connection-node-text{margin-top:.75rem;font-size:1.02rem;font-weight:780;line-height:1.55}.connection-at{background:var(--forest);color:var(--white);padding:1.5rem}.connection-insert-slot{border:2px dashed var(--forest);width:min(100%,260px);min-height:44px;color:var(--forest);font:inherit;cursor:pointer;background:#f2f8f4;border-radius:999px;place-items:center;margin:-8px 0 10px;padding:.4rem 1rem;font-size:.82rem;font-weight:850;transition:background .14s,box-shadow .14s;display:grid}.connection-parallel-slot{border:2px dashed var(--forest);min-width:150px;min-height:84px;color:var(--forest);font:inherit;cursor:pointer;background:#15443c0d;border-radius:17px;place-items:center;padding:1rem;font-size:.86rem;font-weight:850;transition:background .14s,box-shadow .14s;display:grid}:is(.connection-insert-slot:hover,.connection-insert-slot:focus-visible,.connection-insert-slot.hovered,.connection-parallel-slot:hover,.connection-parallel-slot:focus-visible,.connection-parallel-slot.hovered){background:#dff0e8;box-shadow:0 0 0 5px #15443c24}.connection-at h3{margin:.7rem 0 .5rem}.connection-at p{font-size:1.12rem}.connection-at-text{width:min(100%,760px);margin:.35rem auto 0;font-size:1.12rem;font-weight:750;line-height:1.6}.connection-stem,.tree-trunk{height:64px;color:var(--ink-soft);place-items:center;font-size:.7rem;font-weight:800;display:grid}.connection-stem:before,.tree-trunk span{background:var(--sage-strong);content:"";width:2px;height:100%}.connection-stem{grid-template-columns:1fr auto 1fr;gap:.75rem}.connection-stem:after{background:var(--sage-strong);content:"";width:100%;height:1px}.connection-stem:before{justify-self:end}.connection-goals,.tree-branches{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.connection-goal-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;grid-template-rows:minmax(0,auto) 64px minmax(0,auto);height:100%;padding:1rem;transition:border-color .16s,box-shadow .16s,transform .16s,opacity .16s;display:grid}.connection-goal-card.selected{border-color:var(--forest);box-shadow:0 0 0 3px #15443c1f}.connection-goal-card.dragging{opacity:.62;border-style:dashed}.connection-goal-card.drop-active{border-color:var(--forest);transform:translateY(-3px);box-shadow:0 0 0 4px #15443c24}.connection-ticket{border:1px solid var(--line);text-align:left;border-radius:14px;min-width:0;padding:1rem}.goal-ticket{background:var(--sage);cursor:grab;-webkit-user-select:none;user-select:none}.goal-ticket:active{cursor:grabbing}.goal-ticket textarea{cursor:text;-webkit-user-select:text;user-select:text}.ticket-heading-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.ticket-move-button{min-height:44px;color:var(--forest);font:inherit;cursor:pointer;background:#ffffffb3;border:1px solid #15443c61;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .68rem;font-size:.74rem;font-weight:850;display:inline-flex}.ticket-move-button span{letter-spacing:-.2em;font-size:1rem}:is(.ticket-move-button:hover,.ticket-move-button:focus-visible,.ticket-move-button.active){border-color:var(--forest);background:var(--forest);color:var(--white)}.empty-goal-ticket{min-height:138px;color:var(--ink-soft);cursor:default;background:#f3f2e9;border-style:dashed;align-content:center;display:grid}.empty-goal-ticket p{margin-top:.55rem;font-size:.82rem}.obstacle-ticket{background:var(--white)}.connection-ticket textarea{width:100%;min-height:82px;color:var(--ink);font:inherit;resize:vertical;background:0 0;border:0;margin-top:.65rem;padding:0;font-size:1rem;font-weight:750;line-height:1.55}.connection-ticket textarea:focus{outline:2px solid var(--forest);outline-offset:5px;border:0}.ticket-connector{place-items:center;display:grid;position:relative}.ticket-connector:before{background:var(--sage-strong);content:"";width:2px;height:100%;position:absolute}.ticket-connector>span{z-index:1;border:2px solid var(--sage-strong);background:var(--paper);width:26px;height:26px;color:var(--forest);border-radius:50%;place-items:center;font-weight:900;display:grid;position:relative}.ticket-connector small{z-index:1;background:var(--paper);color:var(--ink-soft);border-radius:999px;padding:.2rem .5rem;font-size:.68rem;font-weight:800;position:absolute;right:0}.connection-drop-target{min-height:138px;transition:border-color .15s,background .15s,box-shadow .15s;position:relative}.connection-goals.drag-active .connection-drop-target,.connection-goals.choosing-target .connection-drop-target{background:#f5faf8;border-style:dashed;border-color:#15443c8c}.connection-drop-target.active{box-shadow:inset 0 0 0 2px #15443c29;border-color:var(--forest)!important;background:#e3f1eb!important;border-style:solid!important}.connection-drop-target.current{background:var(--sand)}.connection-target-surface{width:100%;min-height:104px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.connection-target-surface strong,.connection-target-surface small{display:block}.connection-target-surface strong{margin-top:.65rem;line-height:1.55}.connection-target-surface small{color:var(--forest);margin-top:.5rem;font-size:.74rem;font-weight:800}.connection-target-surface:focus-visible{outline:2px solid var(--forest);outline-offset:5px}.connection-mode{border:1px solid var(--forest);background:#eef5f2;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:1rem;padding:.9rem 1rem;display:flex}.connection-mode span{color:var(--ink-soft);font-size:.82rem}.check-panel{background:var(--amber-soft);grid-template-columns:46px minmax(0,1fr);gap:.8rem;margin-top:1rem;padding:1rem;display:grid}.check-panel>span{background:#e8c273;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:850;display:grid}.check-panel p{color:#634918}.check-panel .button{margin-top:.75rem}.check-panel.confirmed{background:var(--sage)}.inline-warning{border:1px solid #d6ba79;border-radius:12px;justify-content:space-between;margin-bottom:1rem;padding:.85rem 1rem}.action-goal-card>header{border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:1rem}.action-goal-card>header h3{margin:.65rem 0 0}.action-editor,.new-action-form{border:1px solid var(--line);background:var(--white);border-radius:13px;min-width:0;padding:1rem}.action-editor.completed{background:#f2f5f2}.action-editor.completed textarea[id^=action-text]{text-decoration:line-through}.completion-control{background:var(--cream);border-radius:999px;gap:.6rem;width:fit-content;min-height:44px;padding:.25rem .75rem}.completion-control input,.tree-action-check input{width:22px;height:22px;min-height:0;accent-color:var(--forest-2);flex:0 0 22px}.field-pair{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:.8rem;margin-top:.8rem;display:grid}.optional-fields{border:1px solid var(--line);background:var(--cream);border-radius:10px;margin-top:.8rem;padding:.25rem .7rem .7rem}.optional-fields summary{color:var(--forest-2);font-size:.8rem}.action-editor>label:not(.completion-control){margin-top:.7rem}.action-editor>.button{margin-top:.55rem}.new-action-form{background:var(--aqua);margin-top:1rem}.new-action-form>.button{margin-top:.8rem}.tree-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-bottom:1rem;display:grid}.next-action-panel{border-radius:var(--radius);background:linear-gradient(135deg, var(--forest), #315f56);box-shadow:var(--shadow);color:var(--white);margin-bottom:1rem;padding:clamp(1.2rem,4vw,1.8rem);position:relative;overflow:hidden}.next-action-panel:after{content:"";border:30px solid #ffffff14;border-radius:50%;width:180px;height:180px;position:absolute;top:-90px;right:-55px}.next-action-kicker{color:#d3eee3;letter-spacing:.11em;font-size:.72rem;font-weight:850;display:block}.next-action-panel h3{z-index:1;max-width:30ch;margin:.55rem 0;font-size:clamp(1.35rem,3vw,2rem);position:relative}.next-action-panel p{color:#eaf7f1;max-width:48rem;font-size:.82rem}.next-action-panel .next-action-due{color:#ffe4a9;margin-top:.45rem;font-weight:750}.next-action-check{z-index:1;background:var(--white);min-height:44px;color:var(--forest);border-radius:999px;align-items:center;gap:.55rem;margin-top:.9rem;padding:.45rem .85rem;font-weight:850;display:inline-flex;position:relative}.next-action-check input{width:22px;height:22px;min-height:0;accent-color:var(--forest)}.tree-summary>div{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:1rem}.tree-summary strong,.tree-summary span{display:block}.tree-summary strong{font-size:1.65rem}.tree-summary span{color:var(--ink-soft);font-size:.78rem}.success-panel{background:var(--sage);border-radius:13px;grid-template-columns:46px minmax(0,1fr);gap:.85rem;margin-bottom:1rem;padding:1rem;display:grid}.success-panel>span{background:var(--forest);width:42px;height:42px;color:var(--white);border-radius:50%;place-items:center;display:grid}.all-complete-panel{background:var(--forest);color:var(--white);border-radius:11px;margin-bottom:1rem;padding:.9rem 1rem;font-weight:750}.thinking-tree{min-width:0}.final-causal-tree{padding:3px;position:relative;overflow-x:auto}.final-causal-roots,.final-causal-children{justify-content:center;align-items:flex-start;gap:1rem;min-width:max-content;margin:0;padding:30px 0 0;list-style:none;display:flex;position:relative}.final-causal-roots:before,.final-causal-children:before{background:var(--sage-strong);content:"";height:2px;position:absolute;top:0;left:16%;right:16%}.final-causal-roots:has(>li:only-child):before{display:none}.final-causal-children:has(>li:only-child):before{display:none}.final-causal-branch{flex-direction:column;align-items:center;min-width:300px;display:flex;position:relative}.final-causal-branch:before{background:var(--sage-strong);content:"";width:2px;height:30px;position:absolute;top:-30px;left:50%}.final-causal-branch:after{color:var(--forest);content:"↑";font-weight:900;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.final-causal-goal{width:320px;max-width:100%;box-shadow:0 7px 22px #18302d12}.final-causal-edit-links{flex-wrap:wrap;gap:.75rem;margin-top:.55rem;display:flex}.tree-at-node{border-radius:var(--radius);background:var(--forest);box-shadow:var(--shadow);color:var(--white);text-align:center;padding:1.5rem;scroll-margin-top:104px}@media (max-width:767px){.tree-at-node{scroll-margin-top:116px}}.tree-at-node h3{margin:.65rem 0 .4rem}.tree-at-node p{font-size:1.12rem}.tree-goal-node{padding:1.2rem;position:relative;overflow:hidden}.tree-goal-node:before{background:var(--sage-strong);content:"";width:5px;position:absolute;inset:0 auto 0 0}.tree-goal-node>h3{margin:.7rem 0 0}.tree-obstacle-node{border-radius:var(--radius);background:var(--coral-soft);border:1px solid #e6b5a8;padding:1rem 1.2rem}.tree-obstacle-node p{margin:.65rem 0 0;font-weight:720}.tree-flow-arrow{min-height:52px;color:var(--forest-2);place-items:center;font-size:1rem;font-weight:850;display:grid}.tree-flow-arrow span{color:var(--ink-soft);margin-bottom:-.55rem;font-size:.64rem}.branch-line{background:var(--line-strong);align-items:center;width:2px;height:38px;margin:.55rem 0 .55rem 1rem;display:flex}.branch-line span{color:var(--ink-soft);white-space:nowrap;margin-left:.65rem;font-size:.64rem}.tree-action-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.tree-action-list>li{border:1px solid var(--line);background:var(--white);border-radius:11px;padding:.75rem}.tree-action-list>li.completed{background:#f0f4f1}.tree-action-list>li.completed .action-copy{color:var(--ink-soft);text-decoration:line-through}.tree-action-check{grid-template-columns:24px auto minmax(0,1fr);align-items:start;gap:.5rem;margin:0;display:grid}.action-state{background:var(--cream);white-space:nowrap;border-radius:999px;padding:.1rem .4rem;font-size:.68rem}.action-copy{overflow-wrap:anywhere;min-width:0}.due-label,.action-memo{color:var(--ink-soft);margin:.5rem 0 0 2rem;font-size:.78rem}.due-label.overdue{color:var(--danger);font-weight:750}.missing-node{background:var(--amber-soft);border-radius:10px;margin-top:.8rem;padding:.8rem}.missing-summary{margin-top:1rem;padding:1rem}.missing-summary ul{margin:.45rem 0 0;padding-left:1.2rem}.missing-summary button{color:var(--forest-2);background:0 0;border:0;font-weight:750;text-decoration:underline}.workflow-footer{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8f0;border-radius:18px;justify-content:space-between;gap:.75rem;margin-top:2rem;padding:.75rem;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 30px #18302d0f}.workflow-next{flex:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;display:grid}.workflow-next p{color:var(--ink-soft);font-size:.75rem;line-height:1.4}.workflow-next p span{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:22px;height:22px;margin-right:.4rem;font-weight:850;display:inline-grid}.workflow-next.ready p{color:var(--forest-2)}.workflow-next.ready p span{border-color:var(--forest);background:var(--forest);color:var(--white)}.undo-toast{z-index:120;background:var(--ink);max-width:min(420px,100% - 2rem);box-shadow:var(--shadow);color:var(--white);border-radius:12px;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex;position:fixed;bottom:1rem;right:1rem}.undo-toast button{color:#bfe9da;white-space:nowrap;background:0 0;border:0;min-height:44px;font-weight:800;text-decoration:underline}@media (max-width:767px){.app-header{align-items:flex-start;padding:.65rem .85rem}.brand-subtitle,.header-actions .button.secondary{display:none}.brand-name{font-size:.9rem}.brand-mark{flex-basis:38px;width:38px;height:38px}.header-actions{flex-wrap:wrap}.header-actions .button.primary{min-height:44px;padding-inline:.7rem;font-size:.76rem}.save-status{min-height:28px;font-size:.7rem}.error-banner,.warning-banner{flex-direction:column;align-items:flex-start;gap:.5rem}.plans-page{width:min(100% - 1.25rem,1180px);padding-top:1.6rem}.intro-panel{grid-template-columns:1fr;align-items:start;gap:1.2rem}.intro-panel h1{font-size:clamp(1.65rem,8vw,2.2rem)}.intro-panel .button{width:100%}.plan-grid,.connection-goals,.tree-branches,.question-grid{grid-template-columns:1fr}.connection-mode{flex-direction:column;gap:.3rem}.connection-goal-card{padding:.75rem}.connection-tree-editor,.final-causal-tree{overflow-x:visible}.connection-tree-roots,.connection-tree-children,.final-causal-roots,.final-causal-children{flex-direction:column;align-items:stretch;gap:1rem;width:100%;min-width:0}.connection-tree-roots:before,.final-causal-roots:before{width:2px;height:30px;left:50%;right:auto}.connection-tree-roots>li:not(:first-child):before,.connection-tree-roots>li:not(:first-child):after,.final-causal-roots>li:not(:first-child):before,.final-causal-roots>li:not(:first-child):after,.connection-tree-children>li:before,.connection-tree-children>li:after,.final-causal-children>li:before,.final-causal-children>li:after{display:none}.connection-tree-children,.final-causal-children{border-left:2px solid var(--sage-strong);border-bottom-left-radius:12px;align-self:stretch;width:auto;margin:.65rem 0 0 1rem;padding:0 0 0 .85rem}.connection-tree-children:before,.final-causal-children:before{content:"▲ 上のカードの前提";width:auto;height:auto;color:var(--forest);letter-spacing:.04em;background:0 0;font-size:.72rem;font-weight:700;display:block;position:static}.connection-tree-children:has(>li:only-child):before{content:"▲ 上のカードの前提";width:auto;height:auto;color:var(--forest);letter-spacing:.04em;background:0 0;font-size:.72rem;font-weight:700;display:block;position:static}.final-causal-children:has(>li:only-child):before{content:"▲ 上のカードの前提";width:auto;height:auto;color:var(--forest);letter-spacing:.04em;background:0 0;font-size:.72rem;font-weight:700;display:block;position:static}.connection-tree-branch,.final-causal-branch{width:100%;min-width:0}.connection-node-ticket,.connection-parallel-slot,.connection-insert-slot,.final-causal-goal{width:100%}.connection-ticket{padding:.85rem}.ticket-move-button{padding-inline:.8rem}.question-grid li:nth-child(2n){border-left:0;padding-left:0}.question-grid li:nth-child(odd){padding-right:0}.modal-backdrop{align-items:end;padding:0}.modal-panel{max-height:92dvh;padding-bottom:calc(1.2rem + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;overflow-y:auto}.workspace-plan-bar{margin-bottom:.75rem;padding:.55rem .7rem}.local-note{display:none}.workspace-content{padding:1.1rem .75rem 7rem;scroll-margin-top:120px}.phase-rail{scroll-snap-type:x proximity;scrollbar-width:thin;margin-bottom:.85rem;padding:.15rem .1rem .45rem;overflow-x:auto}.phase-rail ol{grid-template-columns:repeat(6,minmax(118px,1fr));gap:.25rem;min-width:max-content}.phase-rail li{scroll-snap-align:center;width:118px}.phase-link{border-radius:12px;justify-content:center;gap:.3rem;height:42px;padding:0 .2rem}.phase-dot{flex-basis:24px;width:24px;height:24px;font-size:.64rem}.phase-rail strong{font-size:.68rem}.phase-rail small{font-size:.58rem}.mobile-step-status{align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.mobile-step-status span{background:var(--forest);color:var(--white);border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:800}.step-intro h2{font-size:clamp(1.75rem,9vw,2.5rem)}.conversion-card{grid-template-columns:1fr}.conversion-arrow{background:linear-gradient(180deg, var(--coral-soft), var(--sage));min-height:38px}.conversion-arrow span{transform:none}.obstacle-card{grid-template-columns:42px minmax(0,1fr)}.obstacle-index{font-size:.86rem}.split-actions,.add-card-footer{flex-direction:column;align-items:stretch}.split-actions>div{grid-template-columns:1fr 1fr;display:grid}.field-pair{grid-template-columns:1fr}.workflow-footer{align-items:end;margin:2rem 0 0;position:static;bottom:auto;left:auto;right:auto}.workflow-footer .button{min-width:0;padding-inline:.65rem;font-size:.82rem}.workflow-footer>.button.secondary{flex:none}.workflow-next{grid-template-columns:minmax(0,1fr);gap:.35rem}.workflow-next p{font-size:.66rem}.workflow-next .button{width:100%}.undo-toast{right:.6rem;bottom:calc(5.2rem + env(safe-area-inset-bottom));left:.6rem}}@media (max-width:380px){.app-header{flex-wrap:wrap}.brand-block{width:100%}.brand-name{max-width:none}.header-actions{justify-content:space-between;width:100%}.save-status{white-space:normal;max-width:10rem}.header-actions .button.primary{display:inline-flex}.plan-card-topline{flex-direction:column;align-items:flex-start}.tree-action-check{grid-template-columns:24px minmax(0,1fr)}.tree-action-check .action-state{display:none}.tree-summary strong{font-size:1.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--line:#6b7b76;--line-strong:#40534e}}.print-actions{justify-content:flex-end;margin-bottom:.9rem;display:flex}.print-preview-overlay{z-index:200;background:#18302d9e;flex-direction:column;align-items:center;gap:1rem;padding:1.2rem;display:flex;position:fixed;inset:0;overflow:auto}.print-preview-toolbar{background:var(--paper);border-radius:14px;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;width:min(100%,780px);padding:.8rem 1rem;display:flex}.print-preview-toolbar span{color:var(--ink-soft);flex:260px;font-size:.82rem}.print-preview-buttons{gap:.6rem;margin-left:auto;display:flex}.print-sheet{aspect-ratio:210/297;background:#fff;flex:none;width:min(100%,780px);padding:12mm;box-shadow:0 18px 50px #00000059}.print-sheet-inner{width:186mm;transform:scale(var(--preview-scale,1));transform-origin:0 0;text-align:left}.print-sheet,.print-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-sheet .print-header{border-bottom:.6mm solid var(--forest);justify-content:space-between;align-items:baseline;gap:6mm;margin-bottom:5mm;padding-bottom:2mm;display:flex}.print-sheet .print-header strong{letter-spacing:-.02em;font-size:15pt;line-height:1.15}.print-sheet .print-header span{color:#4f626c;white-space:nowrap;font-size:7.5pt}.print-sheet .final-causal-tree{padding:0;position:static;overflow:visible}.print-sheet .tree-connectors{display:none!important}.print-sheet .tree-at-node{background:var(--forest);color:#fff;break-inside:avoid;text-align:left;border-radius:3mm;width:100%;margin:0;padding:5mm 6mm}.print-sheet .tree-at-node .content-label{font-size:6.5pt}.print-sheet .tree-at-node h3{opacity:.85;margin:1mm 0 0;font-size:8pt;font-weight:700}.print-sheet .tree-at-node p{margin-top:1.2mm;font-size:14pt;font-weight:750;line-height:1.3}.print-sheet .final-causal-roots,.print-sheet .final-causal-children{min-width:0;margin:0;padding:4mm 0 0;list-style:none;display:block}.print-sheet .final-causal-roots:before,.print-sheet .final-causal-children:before,.print-sheet .final-causal-branch:before,.print-sheet .final-causal-branch:after{display:none}.print-sheet .final-causal-branch{width:100%;min-width:0;display:block}.print-sheet .final-causal-branch+.final-causal-branch{margin-top:3mm}.print-sheet .final-causal-children{border-left:.5mm solid var(--sage-strong);border-bottom-left-radius:2mm;margin:2.5mm 0 0 6mm;padding:0 0 0 4mm}.print-sheet .final-causal-children:before{color:var(--forest);content:"▲ 上のカードの前提";letter-spacing:.04em;margin-bottom:1.5mm;font-size:6.5pt;font-weight:700;display:block}.print-sheet .final-causal-goal{width:100%;max-width:none;box-shadow:none;break-inside:avoid;background:#fff;border:.3mm solid #aeb9be;border-radius:2.5mm;margin:0;padding:3.5mm 4mm}.print-sheet .branch-number{font-size:6.6pt}.print-sheet .final-causal-goal h3{color:#172f46;margin-top:1mm;font-size:11pt;line-height:1.25}.print-sheet .branch-line{margin:2mm 0 1.5mm}.print-sheet .branch-line span{color:#4f626c;font-size:6.5pt}.print-sheet .tree-single-action{border:0;margin:0;padding:0}.print-sheet .tree-action-check{align-items:baseline;gap:2mm}.print-sheet .tree-action-check input{width:3.6mm;height:3.6mm}.print-sheet .action-state{font-size:6.6pt}.print-sheet .action-copy{color:#334f5c;font-size:9pt;line-height:1.45}.print-sheet .missing-node{color:#8a959b;background:0 0;border:0;margin:0;padding:0;font-size:8pt}.print-sheet .missing-node .text-button{display:none}@media print{@page{size:A4;margin:12mm}body{background:#fff}body.print-preview-open .app-shell{display:none!important}.print-preview-overlay{background:0 0;padding:0;display:block;position:static;overflow:visible}.print-preview-toolbar{display:none!important}.print-sheet{aspect-ratio:auto;width:auto;box-shadow:none;padding:0}.print-sheet-inner{width:auto;transform:none}.skip-link,.app-header,.site-footer,.workspace-plan-bar,.phase-rail,.mobile-step-status,.step-intro,.print-actions,.next-action-panel,.tree-summary,.success-panel,.all-complete-panel,.missing-summary,.warning-banner,.error-banner,.workflow-footer,.connection-mode,.check-panel{display:none!important}.workspace-page{display:block}.workspace-content{width:100%;margin:0;padding:0}}
