
:root{}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button{color:inherit}header{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:var(--surface)}.brand{display:flex;align-items:center;gap:12px;font-weight:650;font-size:19px;letter-spacing:-.6px}.logo{width:31px;height:31px;border:1px solid var(--green);border-radius:9px;display:grid;place-items:center;font-size:23px;background:var(--surface-raised)}nav{display:flex;gap:28px;align-items:center}nav span{font-size:12px;color:var(--muted)}.quiet{border:0;background:transparent;padding:10px;color:var(--muted)}.avatar{border-radius:50%;background:var(--surface-raised);width:33px;height:33px;display:grid;place-items:center;font-size:12px}main{max-width:1320px;margin:auto;display:grid;grid-template-columns:210px 1fr;gap:52px;padding:43px 40px}aside{padding-top:8px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:700;color:var(--muted)}.project-title{font-size:15px;font-weight:600;margin:12px 0 5px}.local{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.dot{height:5px;width:5px;background:var(--sage);border-radius:50%}.steps{list-style:none;padding:0;margin:33px 0}.steps li{display:flex;align-items:center;gap:12px;margin:0 0 8px;padding:12px 9px;color:var(--muted);font-size:12px;border-radius:7px}.steps li.active{background:var(--surface-raised);color:var(--ink);font-weight:600}.number{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:10px}.active .number{background:var(--green);color:white;border-color:var(--green)}.side-note{border-top:1px solid var(--line);padding:22px 9px;line-height:1.7;font-size:11px;color:var(--muted)}.side-note strong{display:block;color:var(--ink);margin-bottom:5px}.topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.step-label{font-size:11px;color:var(--muted)}.badge{font-size:10px;border:1px solid var(--line);padding:6px 9px;border-radius:20px;color:var(--muted)}h1{font-size:39px;letter-spacing:-1.6px;font-weight:550;margin:0 0 12px;line-height:1.15}.intro{font-size:14px;line-height:1.7;color:var(--muted);max-width:560px;margin:0}.workspace{display:grid;grid-template-columns:minmax(350px,1fr) 270px;gap:32px;margin-top:31px}.mode-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;font-weight:600}.mode-help{font-size:10px;color:var(--muted);font-weight:400}.mode-tabs{display:flex;padding:4px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);gap:4px}.mode-tabs button{flex:1;border:0;border-radius:6px;padding:10px 6px;background:transparent;font-size:12px}.mode-tabs button.selected{background:var(--surface);box-shadow:0 1px 4px #23342f15;font-weight:600}.mode-caption{font-size:11px;color:var(--muted);margin:10px 0 26px}.field{margin-bottom:25px}.label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}label{font-size:12px;font-weight:600}.optional{font-size:10px;color:var(--muted)}input,textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:13px;color:var(--ink);font-size:12px}textarea{resize:vertical;min-height:104px;line-height:1.7}input::placeholder,textarea::placeholder{color:var(--muted)}.hint{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0 0}.category-title{font-size:12px;font-weight:600;margin-bottom:11px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice{display:flex;align-items:flex-start;text-align:left;gap:9px;border:1px solid var(--line);border-radius:8px;padding:13px;background:var(--surface);min-height:77px}.choice.selected{border-color:var(--green);background:var(--surface-raised)}.radio{width:13px;height:13px;border:1px solid var(--line);border-radius:50%;flex-shrink:0;margin-top:2px}.selected .radio{border:4px solid var(--green)}.choice strong{display:block;font-size:11px;font-weight:600;margin-bottom:4px}.choice small{font-size:10px;color:var(--muted);line-height:1.5;display:block}.custom{margin-top:10px}.decision-actions{display:flex;gap:8px;margin:12px 0 24px;flex-wrap:wrap}.decision-actions button{background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:10px;color:var(--muted)}.decision-actions button.chosen{border-color:var(--green);color:var(--green);background:var(--surface-raised)}.learn{background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;padding:21px;height:fit-content}.learn .eyebrow{font-size:9px}.learn h2{font-size:18px;line-height:1.35;font-weight:550;margin:16px 0 10px;letter-spacing:-.4px}.learn p{font-size:11px;line-height:1.8;color:var(--muted)}.example{background:var(--surface);border-radius:7px;padding:14px;margin:18px 0}.example strong{font-size:10px;display:block;margin-bottom:8px}.example p{font-style:italic;margin:0;color:var(--muted)}.learn details{border-top:1px solid var(--line);padding-top:16px}.learn summary{font-size:11px;font-weight:600;cursor:pointer}.learn .footer-hint{font-size:10px;margin-top:18px}.bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.bottom span{font-size:10px;color:var(--muted)}.primary{background:var(--green);color:white;border:0;padding:13px 19px;border-radius:7px;font-size:12px}.preview-bar{margin-top:28px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.preview-bar summary{padding:15px;font-size:11px;cursor:pointer;display:flex;justify-content:space-between}.preview-body{padding:0 16px 16px}.preview-body pre{white-space:pre-wrap;font:11px/1.8 ui-monospace,monospace;color:var(--muted)}.preview-actions{display:flex;gap:8px}.preview-actions button{border:1px solid var(--line);border-radius:5px;padding:8px;background:var(--surface);font-size:10px}dialog{border:1px solid var(--line);border-radius:15px;padding:28px;width:min(540px,90vw);color:var(--ink)}dialog::backdrop{background:#20312855}dialog h2{font-size:24px;font-weight:550;letter-spacing:-.5px}.close{float:right;border:0;background:transparent;font-size:20px}.status{font-size:11px;min-height:18px;color:var(--green);margin-top:10px}.advanced{border-top:1px solid var(--line);padding-top:18px;margin:20px 0}.mobile-brand{display:none}@media(min-width:1450px){main{padding-top:55px}}@media(max-width:1100px){main{gap:26px;padding:30px 25px;grid-template-columns:170px 1fr}.workspace{grid-template-columns:1fr 230px;gap:20px}h1{font-size:34px}}@media(max-width:880px){main{grid-template-columns:1fr;max-width:720px}aside{display:none}.workspace{grid-template-columns:1fr 235px}header{padding:0 24px}.brand{font-size:17px}nav span{display:none}}@media(max-width:620px){header{height:67px;padding:0 18px}nav{gap:5px}.brand{font-size:16px}main{padding:25px 20px}.workspace{grid-template-columns:1fr}.learn{grid-row:1;padding:17px}.learn h2{margin-top:10px}.learn>p{margin-bottom:0}.example{margin:12px 0}.learn .footer-hint{display:none}h1{font-size:33px}.topline{margin-bottom:15px}.badge{font-size:9px}.bottom{align-items:flex-start}.bottom span{max-width:130px;line-height:1.6}.choices{gap:8px}}
/* Full planning workspace */
body{font-size:14px}header .brand{padding:0;color:var(--ink)}header nav{gap:14px}header nav .quiet{font-size:12px}.skip-link{position:fixed;top:-80px;left:20px;background:var(--surface);padding:12px;z-index:99}.skip-link:focus{top:12px}.loading{padding:60px}.shell{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:235px minmax(0,1fr);gap:36px;padding:32px 34px}.shell aside{position:sticky;top:24px;align-self:start;max-height:calc(100vh - 50px);overflow:auto;padding-right:8px}.steps{margin:20px 0}.steps .nav-step{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;text-align:left;padding:8px;border-radius:6px;color:var(--muted);font-size:11px;margin:2px 0}.steps .nav-step.active{background:var(--surface-raised);color:var(--ink);font-weight:600}.steps .number{width:20px;height:20px;flex-shrink:0}.part-title{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:17px 8px 6px}.nav-review{width:100%;text-align:left;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-raised);font-size:12px;margin-bottom:10px}.workspace{grid-template-columns:minmax(0,1fr) 270px;gap:26px}.step-content{min-width:0}.question{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:25px}.question:last-child{border-bottom:0}.question legend{font-size:13px;font-weight:650;padding:0;margin-bottom:8px;line-height:1.5}fieldset{min-width:0;border:0;padding:0;margin:0}fieldset .q-description{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 13px}.help-example{font-size:11px;line-height:1.7;color:var(--muted);margin:8px 0 12px}.label-row{align-items:flex-start;gap:12px}.learn-button{border:1px solid var(--line);background:var(--surface);border-radius:50%;width:23px;height:23px;font-size:11px;flex-shrink:0}.question .choices{grid-template-columns:1fr 1fr}.option{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.option.selected{border-color:var(--green);background:var(--surface-raised)}.option label{display:flex;gap:9px;padding:12px;cursor:pointer}.option input{width:15px;height:15px;margin:2px 0;flex-shrink:0;accent-color:var(--green)}.option strong{font-size:12px;display:block;margin-bottom:4px}.option small{font-size:11px;line-height:1.55;color:var(--muted);font-weight:400;display:block}.option details{padding:0 12px 11px 36px}.option summary{font-size:10px;color:var(--green);cursor:pointer}.option details p{font-size:11px;line-height:1.7;color:var(--muted);margin:10px 0 0}.option details p strong{display:inline;font-size:11px}.question textarea{min-height:90px;font-size:13px}.question input[type=text]{font-size:13px}.q-extra{margin-top:10px}.q-extra summary{font-size:11px;color:var(--muted);cursor:pointer}.q-extra textarea{margin-top:8px;min-height:65px}.answer-status{font-size:10px;color:var(--green);display:inline-block;margin-top:6px}.decision-actions{margin:12px 0}.decision-actions button{font-size:10px}.decision-actions .chosen{border-color:var(--green);background:var(--surface-raised);color:var(--green)}.inactive-answer{font-size:11px;line-height:1.7;color:var(--muted);padding:10px;border:1px dashed var(--line);border-radius:6px;margin-top:12px}.learn-column{position:sticky;top:25px;align-self:start}.learn h2{font-size:19px}.learn p{font-size:12px}.preview-body pre{max-height:370px;overflow:auto;line-height:1.7}.page-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:20px}.secondary{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:11px 14px;font-size:12px}.compact{padding:7px 10px;font-size:11px}.bottom .primary{max-width:260px}.project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px}.project-heading h1{font-size:36px}.home{max-width:1150px;margin:0 auto;padding:48px 35px}.home-intro{max-width:650px;line-height:1.7;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:22px;display:flex;flex-direction:column;gap:13px;min-height:230px}.project-card h2{font-size:21px;margin:0;letter-spacing:-.5px;font-weight:550}.project-card p{font-size:12px;line-height:1.7;color:var(--muted);margin:0;overflow-wrap:anywhere}.project-card .card-actions{display:flex;gap:5px;margin-top:auto;flex-wrap:wrap}.project-card .card-actions button{font-size:10px;padding:7px}.project-card .primary{align-self:flex-start}.meter{height:5px;background:var(--surface-raised);border-radius:4px;overflow:hidden}.meter span{height:100%;display:block;background:var(--sage)}.empty-home{margin-top:35px;padding:35px;border:1px dashed var(--line);border-radius:10px;line-height:1.8}.storage-note{font-size:12px;line-height:1.8;color:var(--muted);max-width:850px;margin-top:28px}.progress-text{font-size:10px;line-height:1.7;margin-top:12px;color:var(--muted)}.mobile-nav{display:none}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:90vw;background:var(--surface-raised);color:white;border-radius:9px;padding:12px 20px;font-size:12px;z-index:50;box-shadow:0 8px 30px #23342f25;display:none}.toast.visible{display:block}.save-warning{background:var(--warning-bg);color:var(--warning-ink);padding:12px;border-radius:7px;font-size:12px;line-height:1.7;margin:15px 0}.save-warning button{margin-left:10px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.stat{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:20px}.stat b{font-size:28px;display:block;margin-bottom:5px;font-weight:550}.stat span{font-size:12px;color:var(--muted)}.issue{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:17px;margin:12px 0}.issue.conflict{border-left:3px solid var(--accent)}.issue h3{font-size:13px;margin:0 0 8px}.issue p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 10px}.review-list{border-top:1px solid var(--line);margin-top:24px}.review-list details{padding:16px 0;border-bottom:1px solid var(--line)}.review-list summary{font-size:13px;cursor:pointer}.answer-record{padding:12px 0}.answer-record strong{font-size:12px}.answer-record pre{font:12px/1.8 inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin:6px 0}.review-exports{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.prompt-output{width:100%;min-height:520px;font:12px/1.8 ui-monospace,monospace}.export-meta{font-size:11px;line-height:1.8;color:var(--muted)}.export-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0}select{font:inherit;font-size:12px;background:var(--surface);padding:10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);max-width:100%}.glossary-input{max-width:650px;margin:20px 0}.glossary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.term{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:18px}.term h3{font-size:14px;margin:0 0 8px}.term p{font-size:12px;line-height:1.7;color:var(--muted);margin:6px 0}.term .example-text{font-style:italic;color:var(--accent)}dialog{max-height:85vh;overflow:auto}dialog form{display:grid;gap:15px}dialog .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}dialog p{font-size:13px;line-height:1.8;color:var(--muted)}dialog h2{margin-top:0}.blank-step{padding:25px;border:1px dashed var(--line);border-radius:8px;line-height:1.9;font-size:13px;color:var(--muted)}.view-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:15px;margin:24px 0}.view-tabs button{border:0;border-radius:6px;background:transparent;padding:10px 14px;font-size:12px}.view-tabs .active{background:var(--surface-raised);color:var(--green);font-weight:650}.step-supplement{font-size:12px;line-height:1.8;color:var(--muted)}.quick-note{font-size:11px;color:var(--muted);margin:16px 0}.print-area{display:none}.brand{white-space:nowrap}.topline{gap:15px}.intro{max-width:650px}.status-chip{font-size:9px;border:1px solid var(--line);border-radius:20px;padding:4px 7px;color:var(--muted);white-space:nowrap}.steps .done-mark{margin-left:auto;font-size:10px;color:var(--accent)}.help-inline{margin-top:8px;font-size:12px;line-height:1.8}.help-inline strong{font-weight:650}.mode-hidden{font-size:11px;line-height:1.8;color:var(--muted);margin:18px 0}.question textarea:disabled,.question input:disabled{opacity:.7} .label-row .essential{font-size:9px;color:var(--muted)}
@media(max-width:1200px){.shell{grid-template-columns:195px minmax(0,1fr);gap:25px;padding:28px 24px}.workspace{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.question .choices{grid-template-columns:1fr}.brand{font-size:16px}}@media(max-width:950px){.shell{grid-template-columns:170px minmax(0,1fr);gap:20px}.workspace{grid-template-columns:minmax(0,1fr)}.learn-column{position:static;grid-row:auto}.learn-column .learn{margin-top:10px}.project-grid{grid-template-columns:1fr 1fr}.question .choices{grid-template-columns:1fr 1fr}.learn-column{display:block}.learn-column .preview-bar{margin-bottom:20px}}@media(max-width:700px){header{padding:0 14px;height:auto;min-height:70px;gap:10px;flex-wrap:wrap}header .brand{font-size:16px}header nav{gap:2px}header nav .quiet{font-size:10px;padding:8px}header .avatar{display:none}.shell{display:block;padding:22px 18px}.shell aside{display:none}.mobile-nav{display:block;margin:0 0 20px}.mobile-nav select{width:100%}.question .choices{grid-template-columns:1fr 1fr}.learn-column{grid-row:auto}.home{padding:30px 20px}.project-heading{flex-direction:column}.project-grid{grid-template-columns:1fr}.glossary-grid{grid-template-columns:1fr}.review-grid{gap:10px}.project-heading h1,h1{font-size:31px}.badge{font-size:9px}.workspace{margin-top:22px}.topline{align-items:flex-start}.learn-column .learn{grid-row:auto}.bottom{align-items:center}.bottom .primary{font-size:11px;padding:12px}.bottom .secondary{padding:11px}.mode-help{font-size:9px}.view-tabs button{padding:9px 8px;font-size:11px}.question .choices{gap:8px}.option label{padding:11px}.option details{padding-left:11px}.review-exports button{font-size:11px}.export-controls .primary{padding:11px}.toast{width:max-content;max-width:90vw}}@media(max-width:380px){.question .choices{grid-template-columns:1fr}.brand .logo{display:none}header nav .quiet{padding:6px}.shell{padding:20px 14px}}
@media print{body{background:var(--surface);color:black}header,#app,.toast,dialog,.skip-link{display:none!important}.print-area{display:block!important;font:11pt/1.5 Arial,sans-serif}.print-area h1{font-size:22pt}.print-area pre{white-space:pre-wrap;overflow-wrap:anywhere;font:10pt/1.6 Arial,sans-serif}a{color:black}}
.shell aside .steps{display:block;gap:0;align-items:initial}.shell aside{overflow-x:hidden}.shell aside .steps .nav-step{white-space:normal;line-height:1.5}.shell aside .part-title{display:block}
.inline-question-help{margin:12px 0 16px;max-width:100%}.inline-question-help[hidden]{display:none}.inline-question-help .learn{padding:18px;border-radius:8px;margin-bottom:10px}.inline-question-help .learn h2{font-size:17px;margin:10px 0}.inline-question-help .learn p{font-size:12px}.inline-question-help .learn .example{margin:12px 0}.learn-button[aria-expanded=true]{background:var(--green);color:var(--surface);border-color:var(--green)}
.optional-technical{border-top:1px solid var(--line);padding:18px 4px 8px;margin-top:12px}.optional-technical summary{font-size:11px;line-height:1.6;cursor:pointer;color:var(--muted)}.optional-technical p{font-size:11px;line-height:1.8;color:var(--muted)}.basic-intro-note{font-size:12px;line-height:1.8;color:var(--muted);margin:18px 0 24px;max-width:630px}.optional-review{margin:25px 0;border-top:1px solid var(--line);padding-top:18px}.optional-review summary{cursor:pointer;font-size:13px;color:var(--green)}.optional-review p{font-size:12px;line-height:1.8;color:var(--muted)}
.trash-link{display:flex;align-items:center;gap:5px}.trash-link [data-trash-count]{font-size:10px;background:var(--surface-raised);border-radius:12px;padding:2px 6px}.trash-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.trash-select-all{display:flex;align-items:center;gap:9px;font-size:12px;cursor:pointer}.trash-select-all input,.trash-project-label input{width:17px;height:17px;accent-color:var(--green);flex-shrink:0}.trash-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.trash-item{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:19px;margin:12px 0}.trash-project-label{display:flex;gap:14px;align-items:flex-start;flex:1;min-width:0;cursor:pointer}.trash-project-label strong{display:block;font-size:15px;overflow-wrap:anywhere}.trash-project-label small{display:block;font-size:11px;line-height:1.8;color:var(--muted);font-weight:400;margin-top:5px}.danger{color:var(--danger);border-color:var(--danger-line)}.danger-filled{background:var(--danger)}.delete-project-names{font-size:13px;line-height:1.8;overflow-wrap:anywhere}.secondary:disabled{opacity:.45;cursor:default}button[data-action=delete-project]{color:var(--danger)}button[data-action=delete-project]:hover{background:var(--danger-bg)}@media(max-width:700px){header nav{flex-wrap:wrap}.trash-actions{margin-left:0;width:100%}.trash-toolbar{gap:12px}.trash-item{padding:15px;gap:10px}.trash-actions button{font-size:11px;padding:10px}header .trash-link{font-size:10px}}
.example-section{margin:30px 0;padding-top:12px;border-top:1px solid var(--line,var(--line))}.example-section li{margin:10px 0;line-height:1.6}.worked-details{margin:14px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.worked-details summary{cursor:pointer;font-weight:650;line-height:1.5}.worked-answer{padding:12px 0;border-top:1px solid var(--line)}.worked-answer:first-of-type{margin-top:18px}.worked-answer h3{font-size:1rem}.worked-answer p{line-height:1.65;overflow-wrap:anywhere}.worked-prompt{white-space:pre-wrap;overflow-wrap:anywhere;max-height:560px;overflow:auto;font-size:.85rem;line-height:1.6}#example-level{max-width:360px;margin:10px 0;display:block}

/* The mobile step picker already includes the project toolbar above the page title. */
@media(max-width:700px){.mobile-nav ~ .project-actions{display:none}}
