/* CreatorFit: a working storyboard and brief sheet.
   Design process adapted from unslop by Damir Sokolovsky, CC BY 4.0.
   https://github.com/heydamir/unslop */
:root{--ink:#20231f;--muted:#687063;--line:#dde0d8;--paper:#fff;--bg:#f5f6f3;--blue:#a63324;--blue-dark:#85271b;--blue-soft:#f8efec;--green:#32634c;--radius:12px;--shadow:0 2px 8px #20231f08}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;font-variant-numeric:tabular-nums}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,textarea,select{transition:color 140ms,background-color 140ms,border-color 140ms;transition-timing-function:cubic-bezier(.22,1,.36,1)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a{text-underline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3,h4,p{overflow-wrap:anywhere}h1,h2,h3,h4,strong,b{font-weight:500}button,a{touch-action:manipulation}
.topbar{max-width:1440px;height:72px;margin:auto;padding:0 32px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-size:20px;font-weight:500;white-space:nowrap}.brand-mark{font:20px/1 ui-monospace,Consolas,monospace;color:var(--blue);letter-spacing:-2px}.brand i{font-size:14px;color:var(--muted);font-style:normal}.top-nav{margin-left:auto;display:flex;gap:24px}.top-nav a{font-size:13px;color:var(--muted);text-decoration:none}.top-nav a:hover{color:var(--ink)}.env-pill{font-size:12px;color:var(--green);white-space:nowrap;border-left:1px solid var(--line);padding-left:16px}
.hero{max-width:1440px;margin:auto;padding:56px 32px 48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.kicker,.section-kicker{margin:0 0 16px;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}.hero h1{font-size:clamp(32px,3.5vw,48px);line-height:1.2;font-weight:500;letter-spacing:-.04em;margin:0 0 24px;word-break:keep-all}.hero-desc{font-size:16px;color:#525a4e;max-width:540px;line-height:1.8;margin:0 0 24px;word-break:keep-all}.hero-actions{display:flex;gap:24px;align-items:center}.hero-secondary{font-size:14px;color:var(--ink);text-decoration:none;border-bottom:1px solid #a3a99d;padding:8px 0}.story-preview{margin:0;background:#272d25;color:#eef0e9;border-radius:8px;padding:20px;min-width:0}.story-preview figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px}.story-preview figcaption span{font-size:11px;color:#b8c0b0}.story-preview figcaption strong{font-size:14px;font-weight:500}.story-preview img{display:block;width:100%}.story-captions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:8px 4px 0}.story-captions div{display:grid;gap:4px}.story-captions small{font:11px/1.5 ui-monospace,Consolas,monospace;color:#c1c8b9}.story-captions span{font-size:12px}.story-preview>p{font-size:12px;color:#b8c0b0;margin:20px 4px 0;border-top:1px solid #535c4e;padding-top:12px}
.workspace{max-width:1440px;margin:0 auto 64px;padding:0 32px;display:grid;grid-template-columns:minmax(340px,400px) minmax(0,1fr);gap:24px;align-items:start}.panel{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:12px}.brief-panel{padding:24px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.panel-heading h2,.output-header h2{font-size:22px;letter-spacing:-.02em;line-height:1.4;margin:0}.section-kicker{margin:0 0 8px}.heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.text-button{background:none;border:0;padding:4px 0;color:var(--blue);font-size:12px;white-space:nowrap}.text-button:hover{text-decoration:underline}.text-button.quiet{color:var(--muted)}.privacy-note{display:flex;align-items:flex-start;gap:8px;border-left:2px solid var(--line);padding:0 0 0 12px;margin-bottom:24px}.privacy-note>span{display:none}.privacy-note p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.brief-panel fieldset{min-width:0;border:0;border-top:1px solid var(--line);margin:0;padding:24px 0 8px}.brief-panel legend{width:100%;padding:0 0 16px;font-size:16px;font-weight:500}.brief-panel legend b{font:12px/1.6 ui-monospace,Consolas,monospace;color:var(--muted);margin-right:12px}.brief-panel label{display:block;margin-bottom:16px;font-size:13px;color:#424a3e;font-weight:400}.optional{font-size:11px;color:var(--muted);margin-left:4px;display:inline}.field-grid{display:grid;gap:12px}.field-grid.two{grid-template-columns:1fr 1fr}.brief-panel input:not([type=checkbox]),.brief-panel textarea,.brief-panel select{min-width:0;width:100%;display:block;margin-top:8px;padding:10px 12px;border:1px solid #ccd1c7;border-radius:6px;background:#fcfcfa;color:var(--ink);font-size:13px;line-height:1.6;outline:0}.brief-panel input:not([type=checkbox]),.brief-panel select{min-height:44px}.brief-panel textarea{resize:vertical;min-height:88px}.brief-panel input::placeholder,.brief-panel textarea::placeholder{color:#737b6d}.brief-panel input:focus,.brief-panel textarea:focus,.brief-panel select:focus{border-color:var(--blue);background:#fff}.sample-head{margin:8px 0 12px;display:block}.sample-head span{display:block;font-size:13px}.sample-head small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.sample-row{display:grid;grid-template-columns:1fr;gap:8px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}.sample-row input:not([type=checkbox]){margin:0}.sample-row.extra{grid-template-columns:1fr 32px}.sample-row.extra input:first-child{grid-column:1/-1}.row-remove{height:44px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font-size:18px}.text-button.add-row{margin-bottom:16px}.consent-box{padding:16px;background:#f5f6f3;border-radius:8px;margin:8px 0 16px}.consent-box label{display:flex;gap:12px;margin:0;font-size:12px;line-height:1.7;color:#555e50}.consent-box input{margin:4px 0 0;flex-shrink:0;accent-color:var(--blue)}.access-code-wrap{margin-bottom:16px}.turnstile-wrap{display:none;margin-bottom:16px}.turnstile-wrap.visible{display:block}
.button-stack{display:grid;gap:12px}.button-primary,.button-secondary{display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;border:1px solid transparent;border-radius:6px;padding:12px 20px;min-height:48px;font-size:14px;line-height:1.4;font-weight:500}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:var(--blue-dark)}.button-secondary{flex-wrap:wrap;background:#eef0eb;color:var(--muted);border-color:var(--line)}.button-secondary.enabled{background:#262e23;color:#fff;border-color:#262e23}.button-secondary.enabled:hover{background:#3a4335}.button-secondary small{font-size:11px;font-weight:400}.form-status{font-size:12px;color:var(--muted);margin-top:12px;min-height:20px}.form-status.error{color:#a22d21}.small-print{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 0}
.output-panel{padding:32px}.output-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.output-header p:not(.section-kicker){font-size:12px;color:var(--muted);margin:12px 0 0}.output-actions{display:flex;gap:8px;flex-wrap:wrap}.button-quiet{min-height:36px;padding:8px 12px;font-size:12px;background:#fff;color:#525b4c;border:1px solid #d0d5ca;border-radius:6px;white-space:nowrap;font-weight:400}.button-quiet:hover{background:#f2f4ee;border-color:#b0b8a8}.result-type{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;padding:12px 0;margin:20px 0 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#626b5b;font-size:12px}.result-type span{font-weight:500;color:var(--ink)}.result-type b{font-size:12px;font-weight:400}.result-type.ai span{color:var(--green)}.result-meta{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 24px}.result-meta span{display:inline}.result-meta span+span::before{content:' · ';white-space:pre}.fit-summary{margin:0 0 24px}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:0;font-weight:400}.fit-summary p{font-size:15px;line-height:1.85;margin:8px 0 0;color:#414a3a;word-break:keep-all}.brief-summary{padding:20px;background:#f6f7f4;border:1px solid #e7eae2;border-radius:8px;margin-bottom:24px}.brief-summary .eyebrow{margin-bottom:12px}.kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.kv{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:8px 0;border-bottom:1px solid #e2e6dc;min-width:0}.kv-label{grid-column:1/-1;font-size:11px;color:var(--muted)}.kv-value{font-size:13px;line-height:1.7;font-weight:400;word-break:keep-all}.source-tag{font-size:11px;color:#59654f;white-space:nowrap}.source-tag.unknown{color:var(--muted)}.source-tag.assumed{color:#825d24}
.view-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 8px}.view-hint{font-size:12px;color:var(--muted)}.concept-tabs{display:flex;gap:16px;overflow-x:auto;border-bottom:1px solid var(--line)}.concept-tab{border:0;border-bottom:2px solid transparent;background:none;padding:16px 0;color:var(--muted);font-size:13px;font-weight:400;white-space:nowrap}.concept-tab.active{border-color:var(--blue);color:var(--blue)}.concept-card{padding:32px 0 8px}.concept-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.concept-title-row h3{font-size:28px;letter-spacing:-.03em;margin:0 0 8px;line-height:1.3}.concept-format{font-size:12px;color:var(--muted);line-height:1.7}.fit-badge{font-size:11px;color:var(--muted);white-space:nowrap;border-left:1px solid var(--line);padding-left:12px}.concept-fit{font-size:14px;line-height:1.85;margin:16px 0 24px;color:#525b4c}.hook-box{padding:20px 24px;border-left:3px solid var(--blue);background:#f7f5f2;margin:24px 0}.hook-box small{font-size:12px;color:var(--muted)}.hook-box p{font-size:18px;line-height:1.7;margin:8px 0 0;color:var(--ink);word-break:keep-all}.beats-title{font-size:14px;font-weight:500;margin:24px 0 12px}.beat-grid{display:grid;gap:0;border-top:1px solid var(--line)}.beat-card{display:grid;grid-template-columns:100px 1fr;gap:8px 16px;padding:20px 0;border-bottom:1px solid var(--line)}.beat-card small{font:11px/1.8 ui-monospace,Consolas,monospace;color:var(--blue)}.beat-card h4{font-size:14px;line-height:1.75;margin:0;font-weight:500}.draft-line{grid-column:2;font-size:12px;color:var(--muted);line-height:1.8}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.detail-card h4,.tail-card h4{font-size:14px;margin:0 0 12px}.detail-card p,.detail-card li,.tail-card li{font-size:12px;color:#5b6455;line-height:1.85;margin:0}.detail-card ul,.tail-card ul{padding-left:16px;margin:0}.detail-card li+li,.tail-card li+li{margin-top:8px}.cta-line{margin-top:12px!important;color:var(--blue)!important}.source-box{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.source-box h4{font-size:12px;margin:0 0 8px}.source-list{display:flex;flex-wrap:wrap;gap:8px}.source-link{font-size:12px;color:var(--blue);text-decoration:underline;line-height:1.7}.source-empty{font-size:12px;color:var(--muted);margin:0}.figures{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}.figure-card{border:1px solid var(--line);padding:20px;border-radius:8px;min-width:0}.figure-card:nth-child(2){grid-column:1/-1;order:3}.figure-card h4{font-size:12px;color:var(--muted);margin:0 0 12px}.figure-value{font-size:24px;font-weight:500;line-height:1.35;margin-bottom:8px}.figure-card p{font-size:12px;color:var(--muted);margin:8px 0 0}.budget-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:16px}.budget-table td{border-top:1px solid var(--line);padding:12px 8px 12px 0;vertical-align:top}.budget-table .amount{text-align:right;white-space:nowrap;padding-right:16px;font-variant-numeric:tabular-nums}.budget-table .note{color:var(--muted);width:45%}.result-tail{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.budget-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.checklist{margin-top:32px;padding:24px;background:#f5f7f1;border:1px solid #e4e8dd;border-radius:8px}.checklist h4{font-size:15px;margin:0 0 8px}.check-intro{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 16px}.checklist ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.checklist label{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.8;color:#4c5844;cursor:pointer}.checklist input{margin:5px 0 0;accent-color:var(--green);flex-shrink:0}.result-disclaimer{font-size:11px;color:var(--muted);line-height:1.8;margin:24px 0 0}
.compare-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;margin-top:16px}.compare-table{width:100%;min-width:560px;border-collapse:collapse;table-layout:fixed;font-size:12px}.compare-table th,.compare-table td{padding:16px;vertical-align:top;text-align:left;border-bottom:1px solid var(--line);line-height:1.85;color:#525d4b;font-weight:400;overflow-wrap:anywhere}.compare-table thead th{background:#ecefe7;font-weight:500;color:var(--ink)}.compare-table tbody th{background:#f6f7f3;width:88px;color:var(--muted)}.compare-table tr:last-child th,.compare-table tr:last-child td{border-bottom:0}.empty-state{border-top:1px solid var(--line);padding:48px 24px;color:var(--muted)}.empty-state h3{font-size:24px;font-weight:400;color:var(--ink);margin:0 0 12px}.empty-state p{font-size:14px;line-height:1.8}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#262e23;color:#fff;border-radius:6px;opacity:0;pointer-events:none;transition:opacity 140ms;z-index:10;font-size:13px;max-width:calc(100% - 32px)}.toast.show{opacity:1}.site-footer{max-width:1440px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;gap:24px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.site-footer strong{font-weight:500}.static-page{max-width:800px;padding:64px 32px;margin:auto}.static-page h1{font-size:36px;line-height:1.3;letter-spacing:-.03em;margin:0 0 24px}.static-lead{font-size:16px;color:#525d4b;line-height:1.9;margin-bottom:32px}.static-page section{padding:24px 0;border-top:1px solid var(--line)}.static-page h2{font-size:20px;margin:0 0 16px}.static-page p,.static-page li{font-size:14px;color:#525d4b;line-height:1.9}.static-page li+li{margin-top:12px}.static-page code{background:#edf0e8;padding:2px 4px;font-size:12px}.static-page a{color:var(--blue)}
[hidden]{display:none!important}.result-content,.result-content *{overflow-wrap:anywhere}button:focus-visible,a:focus-visible,[role=tab]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}#output-heading:focus{outline:0}#output-heading:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:1240px){.output-header{display:block}.output-actions{margin-top:16px}.hero{gap:32px}.story-preview{padding:16px}.story-preview figcaption{display:block}.story-preview figcaption strong{display:block;margin-top:4px}.kv-grid{grid-template-columns:1fr}.view-bar{align-items:flex-start}.view-hint{max-width:65%}}
@media(max-width:1000px){.workspace{grid-template-columns:1fr}.hero{grid-template-columns:1fr 1fr;gap:24px}.hero h1{font-size:32px}.hero-desc{font-size:14px}.hero-actions{gap:16px}.button-primary{padding:12px 16px}.hero-secondary{font-size:12px}.story-captions small{font-size:11px}.story-captions span{font-size:11px}.kv-grid{grid-template-columns:1fr 1fr}.output-header{display:flex}.output-actions{margin-top:0}.brief-panel .field-grid.two{gap:24px}.sample-row{grid-template-columns:1fr 1fr}.sample-row.extra{grid-template-columns:1fr 1fr 36px}.sample-row.extra input:first-child{grid-column:auto}.heading-actions{flex-direction:row;gap:16px}.hero-copy,.story-preview{min-width:0}}
@media(max-width:680px){.topbar{height:64px;padding:0 20px;gap:12px}.brand{font-size:18px}.brand i{font-size:12px}.top-nav{gap:12px}.top-nav a:first-child{display:none}.env-pill{padding-left:12px;font-size:11px}.hero{display:block;padding:40px 20px 32px}.hero h1{font-size:36px;line-height:1.25}.hero-desc{font-size:15px;margin-bottom:20px}.story-preview{margin-top:32px;padding:16px}.story-preview figcaption{display:flex}.story-preview figcaption strong{font-size:12px;margin-top:0}.story-captions{gap:8px}.story-preview>p{font-size:11px}.workspace{padding:0 16px;gap:24px;margin-bottom:40px}.brief-panel,.output-panel{padding:20px;border-radius:8px}.panel-heading h2,.output-header h2{font-size:20px}.heading-actions{flex-direction:column;gap:4px}.brief-panel .field-grid.two{gap:12px}.sample-row{grid-template-columns:1fr}.sample-row.extra{grid-template-columns:1fr 36px}.sample-row.extra input:first-child{grid-column:1/-1}.output-header{display:block}.output-actions{margin-top:16px;gap:8px}.button-quiet{font-size:12px;padding:8px 12px}.kv-grid{grid-template-columns:1fr}.brief-summary{padding:16px}.view-bar{align-items:flex-start}.view-hint{font-size:11px}.concept-tabs{gap:16px}.concept-tab{font-size:12px}.concept-title-row{display:block}.concept-title-row h3{font-size:26px}.fit-badge{display:inline-block;padding:0;border:0;margin-top:12px}.hook-box{padding:16px}.hook-box p{font-size:17px}.beat-card{grid-template-columns:1fr;gap:8px;padding:20px 0}.draft-line{grid-column:1}.detail-grid,.result-tail,.figures{grid-template-columns:1fr;gap:20px}.figure-card:nth-child(2){grid-column:1;order:0}.figure-value{font-size:24px}.budget-table .note{width:auto}.budget-table td{font-size:11px}.checklist{padding:16px}.site-footer{padding:24px 20px;display:block;font-size:11px}.site-footer>span{display:block;margin:4px 0}.compare-table{min-width:520px}.static-page{padding:40px 20px}.static-page h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{body{background:white;color:#111;font-size:11px}.topbar,.hero,.brief-panel,.output-actions,.site-footer,.toast,.view-bar{display:none!important}.workspace{display:block;padding:0;margin:0;max-width:none}.output-panel{border:0;padding:0}.concept-tabs,.concept-tabs[hidden]{display:none!important}.concept-card[hidden],.concept-panels[hidden],.compare-wrap[hidden]{display:block!important}.compare-wrap{overflow:visible;border:0}.compare-table{min-width:0;font-size:9px}.compare-table th,.compare-table td{padding:8px}.concept-card,.fit-summary,.tail-card,.brief-summary,.figure-card,.checklist,.beat-card,.detail-card{break-inside:avoid}.concept-card{padding-top:24px}.brief-summary,.checklist,.hook-box{background:white}.source-link{color:#111}.figures{margin-top:16px}.result-meta{margin-bottom:12px}}

/* Importance uses weight, per the product owner. */
h1,.hero h1{font-weight:700}h2,.panel-heading h2,.output-header h2,.panel-title h2,.output h2{font-weight:600}h3,.concept-title-row h3,.concept-top h3{font-weight:600}h4,.detail-card h4,.tail-card h4,.checklist h4{font-weight:600}.brand{font-weight:600}.brief-panel label,.field label{font-weight:500}.figure-value,.metric,.fact strong,.budget-head strong,.amount{font-weight:700}.button-primary,.button-secondary,.primary{font-weight:600}

.rate-import{padding:16px;background:#f5f6f3;border:1px solid var(--line);border-radius:8px;margin-bottom:24px}.rate-search{display:flex;align-items:center;gap:8px}.rate-search input:not([type=checkbox]){margin:0}.rate-import label{margin:0 0 8px}.rate-import p,.rate-import>a{font-size:12px;color:var(--muted);line-height:1.7}.rate-import p{margin:12px 0}.rate-import>a{color:var(--blue)}.rate-choice{display:grid;width:100%;text-align:left;gap:4px;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font-size:13px}.rate-choice:hover{border-color:var(--blue)}.rate-choice span{font-size:12px;color:var(--muted)}.rate-estimate{grid-column:1/-1;order:4;padding:20px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:8px}.rate-estimate h4{font-size:13px;margin:0 0 8px;font-weight:600}.rate-estimate strong{font-size:24px;font-weight:700}.rate-estimate p,.rate-estimate a{font-size:12px;line-height:1.8;color:var(--muted)}.rate-estimate a{color:var(--blue)}
