:root{color-scheme:light;--bg:#f3f3f3;--paper:#ffffff;--ink:#161616;--muted:#6e6e6e;--line:#e2e2e2;--line-strong:#cfcfcf;--frame:#d8d8d8;--bar:#d0d0d0}*{box-sizing:border-box}body,html{height:100%;margin:0;background:#e6e6e6}body{background:var(--bg);color:var(--ink);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:14px;line-height:1.45;font-synthesis:none;-webkit-font-smoothing:antialiased}.headline,h1{margin:0 0 8px;font-weight:700;font-size:28px;line-height:1.15;letter-spacing:-.03em}input.headline{width:100%;margin:0;font-size:26px;padding:8px 10px}button,input,select,textarea{font:inherit;color:inherit}a,button{cursor:pointer}:focus-visible{outline:1px solid var(--ink);outline-offset:2px}a{color:inherit}.shell{height:100%;display:flex;flex-direction:column;overflow:hidden}.timeline-root{flex:1 1;min-height:0;display:flex;flex-direction:column}.header{height:52px;flex:none;display:flex;align-items:center;gap:20px;padding:0 20px;background:var(--paper);border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-weight:700;font-size:16px;letter-spacing:-.02em}.header-side{margin-left:auto;display:flex;align-items:center;gap:16px;color:var(--muted)}.brand-link{text-decoration:none;color:var(--muted);font-weight:400;font-size:14px}.brand-link.on{color:var(--ink);font-weight:500}.vault-row{flex:none;display:flex;align-items:center;padding:8px 20px;background:var(--paper);border-bottom:1px solid var(--line)}.vault-row .tab{text-decoration:none}.vault-drive{margin-top:28px;max-width:640px;box-sizing:border-box;border:var(--stroke,2px) solid var(--ink);background:var(--paper);padding:16px 18px 20px}.vault-drive h2{margin:8px 0 12px;font-size:22px;font-weight:700;letter-spacing:-.03em}.toolbar{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:10px 20px;background:var(--bg);border-bottom:1px solid var(--line)}.hint{color:var(--muted);font-size:12px;font-weight:300}.workspace{flex:1 1;flex-direction:column}.workspace,.workspace-body{min-height:0;display:flex;position:relative}.workspace-body{flex:1 1;min-width:0}.compass{flex:none;height:28px;position:relative;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--ink);z-index:6}.compass-day,.compass-month{position:absolute;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;color:var(--ink);pointer-events:none;white-space:nowrap}.compass-month{top:0;height:14px;overflow:hidden;font-size:11px;line-height:14px}.compass-month span{display:block;padding-left:8px}.compass-day{top:13px;height:14px;padding-left:4px;font-size:11px;line-height:14px}.compass-today{position:absolute;top:0;bottom:0;width:var(--stroke,2px);background:var(--ink);transform:translateX(-50%);z-index:2;pointer-events:none}.workspace-main{flex:1 1;min-width:0;min-height:0;display:flex;flex-direction:column}.scroller{flex:1 1;overflow:hidden}.stage{display:flex;align-items:flex-start;min-height:100%}.labels{width:320px;flex:none;position:-webkit-sticky;position:sticky;left:0;z-index:2;background:var(--bg);border-right:1px solid var(--line)}.label{padding:10px 14px 8px;overflow:hidden}.label-kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.label-name{margin:2px 0 0;font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.story-name{position:absolute;top:9px;left:0;right:-1px;display:flex;align-items:center;box-sizing:border-box;height:48px;margin:0;padding:0 14px;background:var(--ink);color:white;font-weight:700;font-size:26px;letter-spacing:-.03em;line-height:1;white-space:nowrap}.story-kicker{margin-top:58px}.phase{margin:0;color:var(--muted);font-size:12px;font-weight:300}.tray{display:flex;gap:8px;margin-top:8px;overflow-x:auto}.viewport{position:relative;flex:1 1;min-width:0;overflow:hidden;touch-action:none;cursor:-webkit-grab;cursor:grab}.viewport.is-panning{cursor:-webkit-grabbing;cursor:grabbing}.bar,.day-col,.landing-box,.month-band,.tick-line,.today-line,.traffic,.wash,.wash-frame{position:absolute;top:0}.day-col{z-index:0;background:#f7f7f7;pointer-events:none}.day-col.weekend{background:#f3f3f3}.month-band{z-index:1;pointer-events:none;overflow:hidden}.month-band.plain{background:#f7f7f7}.month-band.shade{background:#f3f3f3}.month-head{height:22px;padding:4px 10px 0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.tick-line{width:1px;background:#ececec;pointer-events:none;z-index:1}.tick-line.week{background:#d4d4d4}.tick-label{position:absolute;top:26px;transform:translateX(6px);font-size:11px;font-weight:400;color:var(--muted);white-space:nowrap;pointer-events:none}.today-line{width:var(--stroke,2px);background:var(--ink);z-index:6;transform:translateX(-50%)}.today-line,.wash{pointer-events:none}.wash{background:rgba(0,0,0,.045);z-index:0}.wash-frame{border:1px dashed var(--ink);pointer-events:none;z-index:1}.wash-frame.quiet{border-color:#bdbdbd}.landing-box{border:var(--stroke,2px) solid var(--ink);z-index:2}.landing-box,.traffic{box-sizing:border-box;pointer-events:none}.traffic{z-index:3;padding:36px 12px 12px;overflow:hidden}.traffic,.traffic-panel{display:flex;align-items:flex-start}.traffic-panel{flex-direction:column;gap:8px}.traffic-panel .tab{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.traffic-panel .tab strong{font-weight:700;letter-spacing:-.03em}.is-dim .landing-box{border-color:#bdbdbd}.is-dim .traffic{opacity:.4}.is-dim .wash,.is-dim .wash-frame{opacity:.35}.bar{background:var(--paper);border:1px solid var(--ink);cursor:-webkit-grab;cursor:grab;z-index:2;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.bar-copy{position:absolute;z-index:1;top:48px;right:16px;bottom:8px;left:16px;flex-direction:row;justify-content:space-between;gap:12px;min-width:0;pointer-events:none}.bar-copy,.story-mark{display:flex;align-items:center}.story-mark{box-sizing:border-box;height:48px;padding:0 14px;background:var(--ink);color:white;font-weight:700;font-size:26px;letter-spacing:-.03em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-mark{position:absolute;top:0;left:0;right:0;z-index:3;border:0;font-family:inherit;text-align:left;cursor:pointer}.story-join{background:var(--ink);z-index:3}.story-bridges,.story-join{position:absolute;height:48px;pointer-events:none}.story-bridges{right:0;width:calc(380px * 1.5 + 2px);z-index:12}.pip-bridge,.story-bridge{padding:0}.story-bridge{position:absolute;top:0;left:0;right:0}.bridge-x{pointer-events:auto;width:48px;height:48px;flex:none;display:grid;place-items:center;padding:0;border:0;background:transparent;color:white;font-family:inherit;font-size:28px;font-weight:700;line-height:1;cursor:pointer}.story-bridge.is-story{right:auto;width:calc(190px + 2px)}.bridge-label,.bridge-pip,.bridge-story{min-width:0;overflow:hidden;text-overflow:ellipsis}.story-bridge.has-pip .bridge-story{flex:0 0 142px}.bridge-label,.bridge-pip{flex:1 1;padding-left:14px}.pip-bridge{position:absolute;top:0;right:0;width:calc(380px - 12px)}.pip-bridge.pip-only{width:380px}.bar-dates{display:inline-block;margin:0;padding:5px 10px;border:1px solid var(--ink);background:white;color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.01em;line-height:1}.bar-counts{position:static;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:4px;pointer-events:none;flex:none}.bar-days,.bar-left{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:6px 8px;border:1px solid var(--ink);font-size:14px;font-weight:700;letter-spacing:.04em;line-height:1}.bar-days{background:var(--ink);color:white}.bar-left{background:white;color:var(--ink)}.bar-pips{display:flex;align-items:flex-end;gap:10px;min-width:0;pointer-events:auto}.lane-rule{position:absolute;left:0;right:0;height:1px;background:var(--line);pointer-events:none;z-index:1}.bar.is-dim{border-color:#c8c8c8}.bar.is-dim .bar-mark,.bar.is-dim .handle,.story-mark.is-dim{background:#bdbdbd}.bar.is-dim .bar-days{background:#bdbdbd;border-color:#bdbdbd}.bar.is-dim .bar-dates,.bar.is-dim .bar-left{border-color:#c8c8c8;color:#8a8a8a}.bar:active{cursor:-webkit-grabbing;cursor:grabbing}.handle{position:absolute;top:-1px;bottom:-1px;width:10px;background:var(--ink);z-index:4;touch-action:none}.handle.start{left:-1px;cursor:ew-resize}.handle.end{right:-1px;cursor:ew-resize}.story-window{--pip-width:380px;width:calc(var(--pip-width) * 1.5);flex:none;display:flex;flex-direction:row;border-left:1px solid var(--ink);z-index:8}.story-key,.story-window{min-height:0;background:var(--paper);overflow:hidden}.story-key{position:relative;width:calc(100% - var(--pip-width));flex:none;align-self:stretch;box-sizing:border-box;border:var(--stroke,2px) solid var(--ink);border-right:1px solid var(--line-strong)}.story-key>.tile-x{position:absolute;top:0;left:0;z-index:3}.story-key-stage{position:absolute;left:0;right:0;top:0}.story-key-meta{position:absolute;left:0;right:0;box-sizing:border-box;padding:64px 12px 0;overflow:hidden}.story-key-dates{margin:0;font-size:13px;font-weight:500}.story-key-meta .phase,.story-key-meta .quiet{margin:4px 0 0}.story-key-lane{position:absolute;left:0;right:0;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;padding:10px 8px 8px;overflow:hidden;border-top:1px solid var(--line)}.story-key-pips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:4px;min-height:0;overflow:hidden}.story-key-count{margin:0;font-size:11px;font-weight:500;line-height:1.35;color:var(--ink)}.story-key-count span{color:var(--muted);font-weight:400}.mini-pip{flex:none;padding:0;border:0;background:#ffc72c;cursor:pointer;overflow:hidden}.mini-pip.on,.mini-pip:hover{box-shadow:inset 0 0 0 2px var(--ink)}.mini-pip img{width:100%;height:100%;object-fit:cover;display:block}.story-window .page{flex:1 1;min-width:0;min-height:0;box-sizing:border-box;border:var(--stroke,2px) solid var(--ink);border-left:0}.story-window .page-inner{max-width:none;padding:116px 24px 48px}.essentials{margin-top:28px;box-sizing:border-box;display:flex;flex-direction:column;gap:18px;padding:14px;border:var(--stroke,2px) solid var(--ink);container-type:inline-size}.essentials-head,.essentials-lock{display:flex;align-items:center;justify-content:space-between;gap:12px}.essentials-lock{justify-content:flex-end}.essential-kicker{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.essentials-head .essential-kicker{margin:0}.essentials>.tab{align-self:flex-start}.essentials .tab:disabled{opacity:.45;cursor:default}.essential-heroes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.essential-slot{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.essential-slot:disabled{cursor:default}.essential-visual{display:flex;align-items:center;width:100%;min-width:0}.essential-hero{flex:1 1;min-width:0;aspect-ratio:16/9}.essential-slot.on .frame.empty,.essential-slot.open .frame.empty,.gallery-hit.open .frame.empty{box-shadow:inset 0 0 0 var(--stroke,2px) var(--ink)}.essential-caption{margin:8px 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.essential-slot .essential-caption{margin:0}.gallery-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:4px;gap:4px}.gallery-hit{width:100%;min-width:0;padding:0;border:0;background:transparent;cursor:pointer}.gallery-hit .gallery-frame{display:block;width:100%}.gallery-frame{aspect-ratio:16/9}.gallery-row.portrait{display:flex;flex-wrap:wrap;gap:4px}.gallery-row.portrait .gallery-hit{width:calc((100cqi - 20px) / 6 * 81 / 256);flex:none}.gallery-row.portrait .gallery-frame{width:100%;height:calc((100cqi - 20px) / 6 * 9 / 16);aspect-ratio:auto}.essential-corner{padding:0;border:0;background:transparent;cursor:pointer;line-height:0}.essential-corner .frame.empty{box-shadow:inset 0 0 0 var(--stroke,2px) var(--ink)}.essentials a.solid{display:block;text-align:center;text-decoration:none}.essential-stack{margin-top:28px}.essential-stack>.essentials{margin-top:18px}.essential-stack>.essentials.joined,.essential-stack>.essentials:first-child{margin-top:0}.essential-join{width:var(--stroke,2px);height:22px;margin-top:-2px;margin-bottom:-2px;background:var(--ink);position:relative;z-index:1}.file-name,.word-count{margin:0;font-weight:700}.word-count{font-size:11px;letter-spacing:.08em}.word-count.over{text-decoration:underline}.brief-long{min-height:180px}.essentials.is-waiting{border-color:#bdbdbd}.essentials.is-waiting .essential-kicker,.essentials.is-waiting .quiet,.essentials.is-waiting textarea{color:#9a9a9a}.tile-x{width:52px;height:52px;flex:none;display:grid;place-items:center;padding:0;border:0;background:var(--ink);color:white;font-family:inherit;font-size:28px;font-weight:700;line-height:1;cursor:pointer}.pip-button{position:absolute;padding:0;border:0;background:transparent;text-align:left;cursor:-webkit-grab;cursor:grab;z-index:4;overflow:visible}.pip-x{display:none;position:absolute;top:-7px;right:-7px;z-index:6;width:16px;height:16px;place-items:center;background:var(--ink);color:white;font-size:13px;font-weight:700;line-height:1;cursor:pointer}.pip-button.on .pip-x,.pip-button:hover .pip-x{display:grid}.pip-button:active{cursor:-webkit-grabbing;cursor:grabbing}.pip-button.locked,.pip-button.locked:active{cursor:default}.cadence{display:flex;align-items:center;gap:6px;margin-top:8px}.cadence select{width:46px;height:24px;border:1px solid var(--ink);background:white;font-size:13px;font-weight:700;padding:0 4px}.cadence-period{display:flex}.cadence-period button{background:var(--paper);border:1px solid var(--ink);color:var(--ink);padding:6px 7px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1}.cadence-period button+button{margin-left:-1px}.cadence-period button.on{background:var(--ink);color:white;position:relative;z-index:1}.generate{margin-top:10px;background:var(--ink);color:white;border:1px solid var(--ink);padding:6px 10px;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;cursor:pointer}.generate:disabled{opacity:.45;cursor:default}.add-pip{position:absolute;z-index:7;width:22px;height:22px;padding:0;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-size:16px;font-weight:700;line-height:20px;text-align:center}.add-pip:hover{background:var(--ink);color:white}.frame{background:var(--paper);box-shadow:inset 0 0 0 var(--stroke,2px) var(--ink);overflow:hidden}.frame.empty{background-color:#ffc72c;background-image:linear-gradient(to right,var(--ink) 0 26%,transparent 26% 34%,var(--ink) 34% 66%,transparent 66% 74%,var(--ink) 74% 100%),linear-gradient(to right,var(--ink) 0 26%,transparent 26% 34%,var(--ink) 34% 66%,transparent 66% 74%,var(--ink) 74% 100%),linear-gradient(to bottom,var(--ink) 0 26%,transparent 26% 34%,var(--ink) 34% 66%,transparent 66% 74%,var(--ink) 74% 100%),linear-gradient(to bottom,var(--ink) 0 26%,transparent 26% 34%,var(--ink) 34% 66%,transparent 66% 74%,var(--ink) 74% 100%);background-size:100% var(--hatch,1px),100% var(--hatch,1px),var(--hatch,1px) 100%,var(--hatch,1px) 100%;background-position:top,bottom,0,100%;background-repeat:no-repeat;box-shadow:none;border:none}.frame img{width:100%;height:100%;object-fit:cover;display:block}.pip-visual{display:flex;align-items:center}.film-mark{width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid #8d8d8d;flex:none;margin-right:4px}.pip-unit{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:100%}.pip-title{margin:0;max-width:100%;font-size:12px;font-weight:400;line-height:1.3;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 20px 14px 56px;border-top:1px solid var(--line);background:var(--paper)}.recipe-chip{display:inline-flex;align-items:center;gap:10px;color:var(--muted)}.ghost{position:fixed;z-index:20;pointer-events:none;transform:translate(-30%,-30%)}.sheet{position:relative;width:380px;flex:none;min-height:0;display:flex;flex-direction:column;align-items:flex-start;box-sizing:border-box;background:var(--paper);border:var(--stroke,2px) solid var(--ink);overflow:auto;padding:52px 0 48px;z-index:9}.sheet>.tile-x{position:absolute;top:0;left:0;z-index:2}.sheet-body>.tab{display:inline-block;margin-bottom:12px}.workspace.has-story .sheet{position:absolute;top:0;right:0;bottom:0;padding-top:112px;border-left:1px solid var(--line-strong)}.sheet-body{width:100%;padding:16px 24px 0;box-sizing:border-box}.page{flex:1 1;overflow:auto}.page-inner{max-width:980px;margin:0 auto;padding:36px 32px 96px}.section{margin-top:40px}.section h2{margin:0 0 16px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.stack{display:flex;flex-direction:column;gap:10px}.inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.field,.text-input,select,textarea{background:var(--paper);border:1px solid var(--line-strong);padding:8px 10px;font-weight:400;font-size:14px}textarea{width:100%;min-height:88px;resize:vertical}.solid{background:var(--ink);color:white;border:1px solid var(--ink);padding:8px 14px;font-weight:700;font-size:13px;letter-spacing:.01em}.text-button{background:none;border:0;padding:0;color:var(--muted);font-weight:400;font-size:14px}.text-button.on{color:var(--ink);font-weight:700}.tab-row{display:flex;align-items:stretch}.tab-row .tab+.tab{margin-left:-1px}.tab{background:var(--paper);border:1px solid var(--ink);color:var(--ink);padding:7px 12px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1}.tab.on{background:var(--ink);color:white;position:relative;z-index:1}.solid:disabled{color:white;opacity:.45}.error{color:var(--ink);margin:8px 0 0}.quiet{color:var(--muted);font-weight:300}.pip-block{display:grid;grid-template-columns:auto 1fr;grid-gap:24px;gap:24px;padding:24px 0;border-top:1px solid var(--line)}.meta{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.sign-in{min-height:100%;padding:28px 32px 64px;background:var(--bg)}.sign-in-title{margin:0 0 12px;font-size:32px;font-weight:700;letter-spacing:-.03em}.brand-list{display:flex;flex-direction:column;gap:8px;margin-top:28px}.brand-list a{text-decoration:none;font-weight:500;font-size:18px}.finished{padding:8px 20px 28px}.finished a{text-decoration:none}.search-hit{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:transparent;border:0;padding:6px 0}