/* A persistent writing surface with independently materialized tool lanes. */
[hidden]{display:none!important}
.assist-setting{position:fixed;right:30px;bottom:20px;z-index:4;display:flex;align-items:center;gap:12px;font-size:10px;color:#8b958b}.assist-setting label{display:flex;align-items:center;gap:5px;cursor:pointer}.assist-setting input{accent-color:#70836f}.assist-setting span{opacity:.7}
#surface-bar{display:flex;align-items:center;justify-content:space-between;margin:0 0 34px;padding:0 6px;color:#768274}#surface-history{display:flex;align-items:center;gap:9px;font-size:19px}#surface-history span{font-size:10px;font-weight:600;letter-spacing:.18em}#surface-switch{display:flex;gap:5px;padding:4px;background:#eaf0e77a;border:1px solid #dfe6dc;border-radius:30px}#surface-switch button{font-size:11px;border-radius:20px;padding:6px 16px;color:#849080}#surface-switch [aria-pressed=true]{background:#fff;color:#334e39;box-shadow:0 1px 5px #1d33100c}.surface-hint{font-size:10px;letter-spacing:.08em}
#adaptive-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:26px}.growth-lane:empty{display:none}.growth-center{min-width:0}.growth-lane{display:flex;flex-direction:column;gap:22px;min-width:0}.growth-lane:not(.growth-bottom){padding-top:26px}.growth-bottom{margin-top:30px}.growth-block{min-width:0;border-top:1px solid #dce4d8;padding-top:10px;transition:box-shadow .2s}.growth-head{display:flex;align-items:center;gap:5px;margin-bottom:13px}.growth-head h2{font-size:12px;letter-spacing:.04em;font-weight:500;flex:1;margin:0}.growth-head button{padding:3px 5px;color:#a0aaa0;font-size:14px}.growth-head .block-handle{cursor:grab;font-size:18px;padding:2px}.growth-head .block-handle:active{cursor:grabbing}.growth-block.is-pinned .growth-head [data-block-pin]{color:#486c4e;background:#e4ebdf}.growth-body{font-size:12px;line-height:1.85;color:#677364}.growth-empty{font-size:11px;color:#9aa397;margin:8px 0;line-height:1.8}.block-menu{position:relative}.block-menu>summary{list-style:none;cursor:pointer;color:#919d8b;padding:0 4px}.block-menu>div{position:absolute;right:0;top:22px;z-index:6;min-width:105px;padding:6px;background:white;box-shadow:0 5px 20px #23361b16;border:1px solid #e4e9df;border-radius:8px}.block-menu button{display:block;width:100%;font-size:11px;text-align:left;padding:7px}.growth-loading{font-size:11px;color:#849579;animation:loading-breathe 1.5s ease-in-out infinite alternate}.growth-error{font-size:11px;color:#9b6554;overflow-wrap:anywhere}.growth-body input{width:100%;min-width:0;background:#fff9;border:1px solid #e0e7db;padding:8px 10px;border-radius:6px;font-size:12px;color:#51644c}.growth-body button{font-size:11px;padding:5px 7px}.growth-body a{color:#617d58;text-decoration:none}.growth-body a:hover{text-decoration:underline}
body[data-surface=writing] .page,body[data-surface=market] .page{max-width:1550px;padding:32px 42px 70px}body[data-surface=writing] #adaptive-grid{grid-template-columns:minmax(180px,230px) minmax(380px,760px) minmax(210px,290px);gap:clamp(20px,3vw,50px)}body[data-surface=writing] .growth-center{background:#fffaf0aa;border:1px solid #e3e7dc;border-radius:3px;padding:36px 40px 22px;box-shadow:0 12px 65px #33402305}body[data-surface=writing] .composer{width:100%}body[data-surface=writing] .capsule{border:0;background:none;box-shadow:none;display:block;padding:0;border-radius:0;animation:none}body[data-surface=writing] .capsule>#history-open,body[data-surface=writing] .capsule>#generate{display:none}body[data-surface=writing] #request{font-family:Georgia,'Noto Serif CJK SC','Songti SC',serif;font-size:16px;line-height:2.05;min-height:490px;resize:none;padding:12px 0 30px;border:0;border-radius:0;background:none;max-height:none!important;width:100%;overflow:hidden;color:#3c4938;outline:none}body[data-surface=writing] #capsule-context{padding:0;border-top:1px solid #edf0e7;margin-top:12px}body[data-surface=writing] #save-note{display:none}body[data-surface=writing] #semantic-status{font-size:10px;color:#98a18f}body[data-surface=writing] .local-toggle{font-size:10px}body[data-surface=writing] .suggestions{font-size:10px}body[data-surface=writing] #workspace{margin-top:36px;opacity:.88}body[data-surface=writing] #surface-tools{margin-top:16px}.document-eyebrow{font-size:10px;letter-spacing:.15em;color:#8b9a81;display:flex;justify-content:space-between;align-items:center}#document-save{font-size:10px;letter-spacing:0;color:#91a089}#writer-format{display:flex;align-items:center;gap:7px;padding:6px 0 12px;border-bottom:1px solid #e4eadd;margin-bottom:12px}#writer-format button{font-size:11px;padding:5px 7px;color:#7a8871}#writer-format span{flex:1}#writer-format [data-format=bold]{font-weight:700}#document-preview{min-height:490px;font-family:Georgia,'Noto Serif CJK SC',serif;font-size:16px;line-height:2.05;padding-top:12px}#document-preview img{max-width:100%;border-radius:3px}#document-preview figure{margin:16px 0}#document-preview figcaption{font:11px sans-serif;color:#839277}#document-preview a{color:#6e8b53;text-decoration:underline;text-underline-offset:4px}.preview-quote{border-left:2px solid #abb99f;padding-left:12px;color:#79836f}#surface-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}#surface-tools button{font-size:10px;color:#7c8f70;padding:5px 8px;border:1px solid #e0e7d9;border-radius:20px}#surface-tools span{font-size:9px;color:#9ba592;margin-left:auto}
[data-block=outline] .growth-body{display:flex;flex-direction:column;gap:6px}[data-block=outline] .growth-body button{text-align:left;padding-left:12px;border-left:1px solid #d9e2d1;border-radius:0}.writing-metrics{display:flex;justify-content:space-between;padding:3px 0 12px}.writing-metrics strong{font-size:21px;font-weight:400;color:#73876a}.writing-metrics small{font-size:10px;font-weight:400;display:block;color:#9ca692}.note-material{padding:8px 0 12px;border-bottom:1px solid #e6ebdf;cursor:grab}.note-material>button:first-child{padding-left:0;font-size:12px;color:#5c7651}.note-material small{display:block;font-size:10px;color:#9aa58f;overflow-wrap:anywhere}.reference-material{padding:17px 0;border-top:1px solid #e2e8dc;cursor:grab}.reference-material .material-kicker{font-size:8px;letter-spacing:.16em;color:#a0ad94}.reference-material h3{font-size:14px;font-weight:500;color:#4a6440;margin:5px 0 9px}.reference-material p{font-size:11px;color:#829077;line-height:1.9;max-height:180px;overflow:auto}.reference-material footer{display:flex;align-items:center;justify-content:space-between;font-size:10px}.reference-material footer button{border:1px solid #d7e1cf;color:#627e53;border-radius:20px;padding:4px 10px}.reference-material:hover{background:#eef3e850}.source-note{font-size:9px;color:#a0ab96;margin:8px 0}#reference-search{display:flex;gap:5px}#reference-search button{flex-shrink:0}.image-material{margin:8px 0 20px;cursor:grab}.image-material img{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:3px;background:#edf1e8}.image-material figcaption{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-top:6px;color:#8e9c82}
body[data-surface=market] .composer{width:min(100%,760px)}body[data-surface=market] #adaptive-grid{grid-template-columns:1fr}body[data-surface=market] #surface-tools{display:none}body[data-surface=market] .growth-lane:not(.growth-bottom){display:none}.market-surfaces{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;padding-top:12px}.market-tile{border:1px solid #e0e7dc;background:#fffffff0;padding:24px;border-radius:4px}.market-tile:has(.scene-choices){grid-column:1/-1;border:0;background:none;padding:4px}.market-tile h2{font-size:16px;font-weight:500}.market-tile .quote-price strong{font-size:42px;font-weight:400}.market-tile .quote-source{display:flex;gap:10px;flex-wrap:wrap}.market-tile .quote-period{display:flex;justify-content:space-between;font-size:10px;color:#99a28e}.market-tile svg{height:130px;width:100%}.market-tile .quote-header{display:flex;justify-content:space-between;align-items:center}.market-tile .quote-header span{font-size:11px;color:#909d86}
.dragging-block .growth-lane{min-height:130px;outline:1px dashed #cedac4;outline-offset:9px}.dragging-block .growth-lane:empty{display:flex}.drop-target{outline:2px dashed #93b17b!important;outline-offset:6px;background:#e9f1e250!important}.dragging-material #request{outline:1px dashed #b3c6a4!important;outline-offset:9px}
@keyframes block-emerge{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes loading-breathe{to{opacity:.35}}.motion-off .growth-block,.motion-off .growth-loading{animation:none}
@media(max-width:1100px){body[data-surface=writing] .page{padding:24px 24px 65px}body[data-surface=writing] #adaptive-grid{grid-template-columns:150px minmax(340px,1fr) 220px;gap:20px}body[data-surface=writing] .growth-center{padding:25px 26px}.surface-hint{display:none}}
@media(max-width:850px){body[data-surface=writing] #adaptive-grid{grid-template-columns:minmax(0,1fr) 220px}body[data-surface=writing] [data-lane=left]{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.growth-lane:not(.growth-bottom){padding-top:0}#surface-bar{margin-bottom:22px}}
@media(max-width:600px){body[data-surface=writing] .page,body[data-surface=market] .page{padding:18px 15px 70px}body[data-surface=writing] #adaptive-grid{display:flex;flex-direction:column;gap:24px}body[data-surface=writing] .growth-center{order:0;width:100%;padding:23px 22px;box-sizing:border-box}body[data-surface=writing] [data-lane=right]{order:1;width:100%}body[data-surface=writing] [data-lane=left]{order:2;width:100%;display:flex}#surface-history span{font-size:8px}#surface-switch button{padding:5px 12px}#writer-format{gap:2px}#writer-format button{font-size:10px;padding:5px}.assist-setting{right:15px;bottom:12px}.assist-setting span{display:none}.market-tile{padding:20px}.growth-head h2{font-size:13px}#surface-tools span{display:none}}
#reference-source{font-size:9px;color:#8b9b7e;background:none;border:0;margin:9px 0;width:100%;padding:4px 0}.reference-material[data-dismissed]{display:none}

/* Composition is additive; only the document editor owns an expanded geometry. */
#surface-switch{background:none;border:0}#component-shelf{display:flex;gap:10px;margin:0 0 16px}#component-shelf:empty{display:none}#component-shelf button{font-size:11px;color:#718369;border:1px solid #dce4d8;border-radius:20px;padding:5px 12px}
body:not([data-surface=writing]) #adaptive-grid:has(.growth-lane:not(:empty)){grid-template-columns:minmax(0,200px) minmax(320px,760px) minmax(0,260px)}
@media(max-width:850px){body:not([data-surface=writing]) #adaptive-grid:has(.growth-lane:not(:empty)){display:flex;flex-direction:column}.growth-center,.growth-lane{max-width:100%}}
/* The document is the primary surface; empty helper lanes occupy no space. */
body[data-surface=writing] #adaptive-grid{grid-template-columns:minmax(0,820px);justify-content:center}
body[data-surface=writing]:has([data-lane=left] .growth-block:not([hidden])) #adaptive-grid{grid-template-columns:minmax(170px,230px) minmax(360px,820px)}
body[data-surface=writing]:has([data-lane=right] .growth-block:not([hidden])) #adaptive-grid{grid-template-columns:minmax(360px,820px) minmax(200px,290px)}
body[data-surface=writing]:has([data-lane=left] .growth-block:not([hidden])):has([data-lane=right] .growth-block:not([hidden])) #adaptive-grid{grid-template-columns:minmax(170px,230px) minmax(360px,820px) minmax(200px,290px)}
.growth-lane:not(:has(.growth-block:not([hidden]))){display:none}
body[data-surface=writing] #surface-bar{margin-bottom:22px}body[data-surface=writing] #capsule-context:has(#semantic-status:empty):not(:has(#suggestions> *)){display:none}
.drawer-assistance{font-size:12px;color:#73816d;line-height:1.8;margin:20px 0}.drawer-assistance>span{display:none}.drawer-assistance label{display:flex;align-items:center;gap:8px}.drawer-controls{font-size:12px;color:#7a8873;margin-top:16px}.drawer-controls>summary{cursor:pointer}.drawer-controls #surface-switch{margin-top:14px;justify-content:flex-start}.drawer-controls .capsule-tools{display:block;padding:8px 0}.drawer-controls .local-toggle{display:block;margin-top:10px}.drawer-controls #surface-tools{margin:12px 0}.drawer-controls .more-tools>summary{display:none}.drawer-controls .more-tools{display:block}.drawer-controls .more-tools .composer-tools{display:flex}
#semantic-status{display:block;text-align:center;margin:8px 0;font-size:10px;color:#8f9a86}#semantic-status:empty{display:none}
body[data-surface=writing] #semantic-status{text-align:right}
@media(max-width:850px){body[data-surface=writing] #adaptive-grid{display:flex!important;flex-direction:column}.growth-center{width:100%}.growth-lane{width:100%}.growth-center{order:0}[data-lane=right]{order:1}[data-lane=left]{order:2}}
body:not(.entered) #surface-bar{display:none}

/* Notes begin with their content; metadata labels stay in history only. */
body[data-surface=writing] #writer-format{margin-top:14px}

/* A continuous writing column, with tools resting above the text. */
body[data-surface=writing] .page{padding-top:28px;padding-bottom:0}
body[data-surface=writing] .growth-center{background:none;border:0;border-radius:0;box-shadow:none;padding:20px 36px 0;min-height:calc(100dvh - 100px)}
body[data-surface=writing] #request,body[data-surface=writing] #document-preview{font-size:18px;line-height:2.1;letter-spacing:.015em;padding:22px 0 28vh;min-height:calc(100dvh - 210px);box-sizing:border-box}
body[data-surface=writing] #writer-heading{position:relative}
body[data-surface=writing] .document-eyebrow{position:absolute;right:0;top:-20px;justify-content:flex-end}
body[data-surface=writing] #writer-format{margin:0;padding:8px 0 14px;border-bottom:1px solid #89978020;gap:9px}
body[data-surface=writing] #writer-format button{color:#8b9786;transition:color 100ms,background 100ms}
body[data-surface=writing] #writer-format button:hover{color:#3e5e3d;background:#e8eee4}
body[data-surface=writing] #capsule-context{border-top:0}
#history-edge{position:fixed;inset:0 auto 0 0;width:28px;padding:0;border:0;border-radius:0;background:transparent;z-index:8;cursor:default}
#history-edge::after{content:'';position:absolute;left:6px;top:46%;width:2px;height:40px;border-radius:2px;background:#819378;opacity:0;transition:opacity 140ms}
#history-edge:hover::after{opacity:.35}
body:has([data-lane=left] .growth-block:not([hidden])) #history-edge{display:none}
dialog.history-drawer{z-index:20;background:#f8faf6f5;border:1px solid #dfe5db;box-shadow:12px 0 55px #35462b12;border-radius:0 14px 14px 0;margin:0;height:100dvh;width:min(310px,calc(100vw - 28px));box-sizing:border-box;overscroll-behavior:contain;backdrop-filter:blur(16px)}
dialog.history-drawer[open]{animation:history-approach 200ms cubic-bezier(.2,.7,.25,1) both}
.history-drawer #intent-list{max-height:58dvh}
.history-drawer #intent-list button{line-height:1.7;padding:12px;text-align:left;overflow-wrap:anywhere}
.history-drawer #intent-list button.active{background:#e8eee2;border-left:2px solid #789369;border-radius:0 6px 6px 0}
.history-drawer #intent-list small{opacity:.7}
@keyframes history-approach{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:600px){body[data-surface=writing] .growth-center{padding:14px 10px 0}body[data-surface=writing] #request,body[data-surface=writing] #document-preview{font-size:17px}body[data-surface=writing] #writer-format{gap:3px}#history-edge{width:14px}}
@media(prefers-reduced-motion:reduce){dialog.history-drawer[open]{animation:none}#history-edge::after{transition:none}}
body.motion-off dialog.history-drawer[open]{animation:none}

html{overscroll-behavior-x:none}
body.returning-origin .page,body.returning-origin .composer{transition:none}
body.returning-origin .shutter{transition-duration:240ms;transition-delay:calc(var(--i)*10ms)}
#document-pin[aria-pressed=true]{color:#46683e!important;background:#e8eee2}
.demo-link{display:block;color:#7d8d73;font-size:11px;text-decoration:none;margin:-12px 0 24px;padding:0 12px}
.demo-link:hover{color:#3f6438}

/* Bottom-only components share the input column instead of creating empty lanes. */
body:not([data-surface=writing]) #adaptive-grid:has(.growth-lane:not(:empty)){grid-template-columns:minmax(0,820px);justify-content:center}
body:not([data-surface=writing]):has([data-lane=left] .growth-block:not([hidden])) #adaptive-grid{grid-template-columns:minmax(170px,230px) minmax(360px,820px)}
body:not([data-surface=writing]):has([data-lane=right] .growth-block:not([hidden])) #adaptive-grid{grid-template-columns:minmax(360px,820px) minmax(200px,290px)}
body:not([data-surface=writing]):has([data-lane=left] .growth-block:not([hidden])):has([data-lane=right] .growth-block:not([hidden])) #adaptive-grid{grid-template-columns:minmax(170px,230px) minmax(360px,820px) minmax(200px,290px)}

.checklist-summary{display:flex;align-items:center;gap:8px;margin-bottom:16px}.checklist-summary strong{font-size:24px;font-weight:500;font-variant-numeric:tabular-nums}.checklist-summary small{font-size:12px;color:#9ba495}.checklist-summary span{font-size:10px}.checklist-summary progress{width:70px;height:3px;margin-left:auto;accent-color:#6e865f}.document-checklist{display:grid;gap:14px}.document-checklist label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.document-checklist input{width:14px;flex:0 0 14px;margin-top:5px;accent-color:#6e865f}.document-checklist .completed span{text-decoration:line-through;color:#99a091}.comparison-summary{display:flex;justify-content:space-between;color:#8e9a85;font-size:10px;padding-bottom:15px}.document-comparison{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.document-comparison th{text-align:left;font-weight:500;border-bottom:1px solid #ccd7c5;white-space:nowrap}.document-comparison td{padding:12px 8px;border-bottom:1px solid #e5eadf;white-space:nowrap}.document-comparison tr:hover td{background:#eef2e9}.document-comparison th button{font-size:11px;padding:10px 8px}

.material-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:0 0 12px;margin-bottom:16px}.material-toolbar [aria-pressed=true]{color:var(--ink)}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.image-grid figure{margin:0;min-width:0}.image-grid figure>button{display:block;padding:0;width:100%;overflow:hidden;border-radius:4px}.image-grid img{width:100%;height:105px;object-fit:cover;display:block;transition:transform 250ms}.image-grid button:hover img{transform:scale(1.04)}.image-grid figcaption{font-size:10px;line-height:1.6;padding-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-inspector{margin:0}.image-inspector img{display:block;width:100%;max-height:480px;object-fit:contain;background:var(--soft,#eef1eb);border-radius:4px}.image-inspector figcaption{font-size:12px;padding:10px 0}.material-source{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.source-document{border-bottom:1px solid var(--line);padding:15px 0}.source-document summary{list-style:none;cursor:pointer;display:grid;gap:6px}.source-document summary::-webkit-details-marker{display:none}.source-document summary strong{font-weight:500;font-size:13px;color:var(--ink);line-height:1.6}.source-preview{font-size:11px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.source-document[open] .source-preview{display:none}.source-document blockquote{margin:14px 0;padding:0 0 0 12px;border-left:2px solid var(--accent);font-family:Georgia,'Noto Serif CJK SC',serif;line-height:1.9}.source-document .reference-material{border:0;padding:0}.source-document footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
