body[data-view=paper]{background:#fff;overflow-x:hidden;}
.paper{--paper-bg:#fff;--paper-ink:#242424;--paper-muted:#767676;--paper-rule:#eaeaea;--paper-type:clamp(17px,2.1vw,23px);--paper-spacing:23px;position:relative;min-height:100svh;background:var(--paper-bg);color:var(--paper-ink);transition:background .6s,color .6s;font-family:Helvetica,Arial,sans-serif;}
.paper[data-tone=dark]{--paper-bg:#171717;--paper-ink:#e5e5e5;--paper-muted:#aaa;--paper-rule:#343434;color-scheme:dark;}
.paper[data-tone=warm]{--paper-bg:#faf6ed;--paper-rule:#e7dfd0;}
.paper-pixels{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;}
.paper button{cursor:pointer;font:inherit;color:inherit;}
.paper button:focus-visible,.paper a:focus-visible,.paper input:focus-visible{outline:1px solid currentColor;outline-offset:6px;}

.paper .paper-skip{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:10;min-height:44px;padding:10px 18px;background:none;border:0;border-radius:0;font:400 16px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#111;box-shadow:none;animation:paper-skip-flicker 5.5s ease-in-out 1.5s infinite;}
.paper .paper-skip:hover,.paper .paper-skip:focus-visible{animation:none;opacity:1;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;}
@keyframes paper-skip-flicker{0%,70%,82%,90%,100%{opacity:1;}76%{opacity:.62;}86%{opacity:.8;}}
.paper .static-intro{background:transparent;}
.paper .static-intro-logo{filter:invert(1);width:min(70vw,620px);}
.paper .static-typewriter{font-size:clamp(12px,2.2vw,24px);color:#242424;text-shadow:none;}
.paper .type-accent{color:#111;text-shadow:none;}
.paper .static-cursor{background:#242424;}
.paper.paper-ready .static-intro{opacity:0;visibility:hidden;transition:opacity .8s,visibility .8s;}
.paper-sheet{position:relative;z-index:2;width:min(720px,calc(100% - 64px));margin:0 auto;padding:100px 0 54px;opacity:0;visibility:hidden;transition:opacity 1s;}
.paper-ready .paper-sheet{opacity:1;visibility:visible;}
.paper-sheet header{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:0 0 47px;}
.paper-brand{font-size:15px;letter-spacing:.1em;font-weight:500;}
.paper-edition{font:11px/1.5 ui-monospace,monospace;color:var(--paper-muted);}
.paper-demos{list-style:none;margin:0;padding:0;}
.paper-row{border-bottom:1px solid var(--paper-rule);}
.paper-row[hidden]{display:none;}
.paper-ready .paper-row{animation:paper-line-in .8s both;animation-delay:calc(var(--row)*100ms);}
.paper-row a{display:flex;align-items:baseline;gap:24px;padding:var(--paper-spacing) 0;color:inherit;text-decoration:none;font-size:var(--paper-type);font-weight:400;letter-spacing:-.025em;line-height:1.4;transition:padding .4s,font-size .4s;}
.paper-number{font:10px/1 ui-monospace,monospace;color:var(--paper-muted);letter-spacing:0;}
.paper-demo-title{flex:1;}
.paper-arrow{font-size:15px;opacity:.3;transition:opacity .2s,transform .2s;}
.paper-row a:hover .paper-arrow{opacity:1;transform:translate(2px,-2px);}
.paper-compose{margin:52px 0 0;}
.paper-compose label{display:block;font-size:13px;color:var(--paper-muted);margin-bottom:12px;}
.paper-input-line{display:flex;gap:10px;border-bottom:1px solid var(--paper-rule);padding:8px 0 12px;}
.paper-input-line input{width:100%;min-width:0;border:0;background:transparent;font:400 16px/1.5 Helvetica,Arial,sans-serif;color:var(--paper-ink);outline:none;}
.paper-input-line input::placeholder{color:var(--paper-muted);opacity:.65;}
.paper-input-line button{background:none;border:0;font-size:20px;padding:0 6px;}
.paper-under{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin-top:15px;color:var(--paper-muted);font:10px/1.6 ui-monospace,monospace;}
.paper-open{white-space:nowrap;background:none;border:0;padding:0;font:inherit!important;}
.paper-sheet footer{display:flex;gap:24px;margin-top:45px;}
.paper-sheet footer a{font:11px/1.5 ui-monospace,monospace;font-weight:400;color:var(--paper-muted);text-decoration:none;}
.paper-chat{width:min(560px,calc(100% - 32px));padding:26px;border:1px solid #aaa3;border-radius:10px;color:var(--paper-ink);background:color-mix(in srgb,var(--paper-bg) 83%,transparent);backdrop-filter:blur(24px);box-shadow:0 24px 100px #00000012;}
.paper-chat::backdrop{background:#8888880c;backdrop-filter:blur(3px);}
.paper-chat header{display:flex;justify-content:space-between;align-items:center;gap:15px;}
.paper-chat h2{font:400 18px/1.4 Helvetica,Arial,sans-serif;margin:0;letter-spacing:-.02em;}
.paper-close{background:none;border:0;font-size:22px!important;}
.paper-chat-note,.paper-chat-hint{font:10px/1.6 ui-monospace,monospace;color:var(--paper-muted);}
.paper-chat-note{margin:12px 0 25px;}
.paper-chat-hint{display:flex;justify-content:space-between;margin:14px 0 0;}
.paper-conversation{max-height:35vh;overflow:auto;font:13px/1.6 Helvetica,Arial,sans-serif;}
.paper-message-user{margin:12px 0 5px;color:var(--paper-ink);}
.paper-message-answer{margin:0 0 20px;color:var(--paper-muted);}
@keyframes paper-line-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@media(max-width:600px){.paper-sheet{width:calc(100% - 44px);padding-top:95px;}.paper-edition{font-size:9px;}.paper-row a{gap:14px;}.paper-compose{margin-top:38px;}.paper-chat{padding:20px;}.paper .static-intro{padding:20px;}.paper .static-typewriter{white-space:normal;line-height:1.7;}}
@media(prefers-reduced-motion:reduce){.paper *{animation:none!important;transition:none!important;}}
.paper .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.paper .paper-input-line input:focus-visible{outline:none;box-shadow:0 1px 0 currentColor;}
.paper-chat{max-height:calc(100svh - 32px);overflow-y:auto;}
/* Model-composed sections keep the chat and history controls outside the generated area. */
.paper-sheet{width:min(var(--paper-width,720px),calc(100% - 64px));}
.paper-generated{font-family:var(--paper-font,Helvetica,Arial,sans-serif);}
.paper-row a{font-family:inherit;}
.paper-generated-heading{display:block!important;margin:0 0 45px!important;}
.paper-generated-heading h1{font-family:inherit;font-size:clamp(30px,5vw,64px);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin:0 0 18px;overflow-wrap:anywhere;}
.paper-generated-heading p,.paper-section-description{color:var(--paper-muted);line-height:1.7;font-size:15px;max-width:65ch;}
.paper-generated-section + .paper-generated-section{margin-top:45px;}
.paper-generated-section h2{font-family:inherit;font-size:clamp(20px,3vw,32px);font-weight:400;letter-spacing:-.025em;margin:0 0 12px;overflow-wrap:anywhere;}
.paper-layout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--paper-spacing);}
.paper-layout-grid .paper-row{border:0;min-width:0;}
.paper-layout-featured .paper-row{padding:20px 0;}
.paper-media:empty{display:none;}
.paper-media{overflow:hidden;border-radius:var(--paper-radius,0);background:color-mix(in srgb,var(--paper-ink) 5%,var(--paper-bg));}
.paper-media img,.paper-media video{width:100%;display:block;aspect-ratio:16/9;object-fit:contain;}
.paper-media a{display:block;padding:0;}
.paper-demo-description{font:14px/1.7 var(--paper-font,Helvetica,Arial,sans-serif);color:var(--paper-muted);margin:0 0 18px;}
.paper-demo-actions{display:flex;flex-wrap:wrap;gap:12px;}
.paper-demo-actions a{font-size:11px;padding:0 0 15px;letter-spacing:0;color:var(--paper-accent,var(--paper-ink));}
.paper-history{display:flex;align-items:center;gap:15px;margin-top:25px;font:10px/1.6 ui-monospace,monospace;color:var(--paper-muted);}
.paper-history button{border:0;background:none;padding:0;font:inherit;}
.paper-history button:disabled{opacity:.35;cursor:default;}
.paper-api-state{margin-left:auto;}
.paper-input-line button:disabled{opacity:.3;cursor:wait;}
.paper[aria-busy=true] .paper-input-line{border-bottom-color:var(--paper-accent,var(--paper-ink));}
.paper{--paper-rule:color-mix(in srgb,var(--paper-ink) 13%,var(--paper-bg));}
@media(max-width:600px){.paper-sheet{width:calc(100% - 44px);}.paper-layout-grid{grid-template-columns:1fr;}.paper-history{gap:12px;}}
.paper-brand svg{width:95px;height:20px;display:block;}
.paper-freedom{margin-top:32px;max-width:100%;font:11px/1.5 ui-monospace,monospace;color:var(--paper-muted);}
.paper-freedom label{display:flex;justify-content:space-between;align-items:center;}
.paper-freedom output{color:var(--paper-ink);font-variant-numeric:tabular-nums;}
.paper-freedom input{display:block;width:100%;margin:14px 0 8px;height:3px;accent-color:var(--paper-accent,var(--paper-ink));cursor:ew-resize;}
.paper-freedom>div{display:flex;justify-content:space-between;font-size:9px;}
.paper-freedom+.paper-compose{margin-top:28px;}
.paper-chat .paper-freedom{margin:20px 0 25px;}
.paper-chat-history{display:flex;gap:15px;justify-content:flex-end;margin-bottom:16px;}
.paper-chat-history button{border:0;background:none;font:10px/1.4 ui-monospace,monospace;color:var(--paper-muted);padding:0;}
.paper-chat-history button:disabled{opacity:.3;cursor:default;}
.paper-sandbox{display:block;width:100%;height:100svh;border:0;background:var(--paper-bg);}
.paper-sandbox-staging{position:fixed;inset:0;opacity:0;pointer-events:none;z-index:-1;}
.paper-pixel-mark,.paper-floating-edit{display:none;}
.paper[data-engine=sandbox] .paper-generated{position:fixed;inset:0;z-index:4;}
.paper[data-engine=sandbox] .paper-sheet>header,.paper[data-engine=sandbox] .paper-compose,.paper[data-engine=sandbox] .paper-sheet>.paper-freedom,.paper[data-engine=sandbox] .paper-history,.paper[data-engine=sandbox] .paper-sheet>footer{display:none;}
.paper[data-engine=sandbox] .paper-sheet{padding:0;min-height:100svh;width:100%;}
.paper[data-engine=sandbox] .paper-pixel-mark{display:block;position:fixed;top:26px;left:75px;width:120px;height:24px;z-index:15;color:#fff;mix-blend-mode:difference;pointer-events:none;}
.paper[data-engine=sandbox] .paper-pixel-mark svg{width:100%;height:100%;}
.paper.paper-ready .paper-floating-edit:not([hidden]){display:block;position:fixed;bottom:22px;right:24px;width:44px;height:44px;border:1px solid #aaa6;border-radius:50%;background:#ffffffd9;color:#222;backdrop-filter:blur(14px);font:15px monospace;z-index:16;}
.paper[data-engine=sandbox] .paper-pixels{display:none;}
/* The default notebook is a diagram, three destinations, and a quiet index. */
.paper-notebook .paper-sheet{padding-top:90px;max-width:680px;}
.paper-notebook .paper-sheet>header{display:none;}
.paper-schematic{margin:0 0 48px;padding-top:20px;}
.paper-bridge{display:grid;grid-template-columns:1fr 44px 1.35fr 44px 1fr;align-items:center;gap:12px;}
.paper-world{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;font-size:13px;white-space:nowrap;}
.paper-world svg{width:40px;height:40px;margin-bottom:6px;}
.paper-world small,.paper-interpreter>span{font:10px/1.5 ui-monospace,monospace;color:var(--paper-muted);}
.paper-world small{margin-top:-6px;}
.paper-interpreter{display:flex;align-items:center;flex-direction:column;gap:12px;text-align:center;}
.paper-diagram-logo svg{display:block;width:168px;height:33px;}
.paper-connection{height:1px;position:relative;background:repeating-linear-gradient(to right,currentColor 0 2px,transparent 2px 5px);opacity:.45;}
.paper-connection:before,.paper-connection:after{content:'';position:absolute;width:4px;height:4px;top:-2px;background:currentColor;}
.paper-connection:before{left:0;}.paper-connection:after{right:0;}
.paper-usecases{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;padding-top:45px;position:relative;font:10px/1.6 ui-monospace,monospace;color:var(--paper-muted);}
.paper-usecases:before{content:'';height:21px;position:absolute;top:12px;left:50%;border-left:1px dotted #999;}
.paper-products{margin-bottom:34px;}
.paper-products h2,.paper-notebook .paper-generated-section h2{font:400 11px/1.5 ui-monospace,monospace;letter-spacing:0;color:var(--paper-muted);margin:0 0 12px;}
.paper-products nav{display:flex;gap:16px 30px;flex-wrap:wrap;}
.paper-products a{font-size:14px;color:inherit;text-decoration:none;line-height:1.8;}
.paper-products a:hover{text-decoration:underline;text-underline-offset:5px;}
.paper-notebook .paper-row{border:0;}
.paper-notebook .paper-row a{letter-spacing:0;gap:12px;}
.paper-notebook .paper-number{display:none;}
.paper-notebook .paper-arrow{font-size:11px;}
.paper-notebook .paper-demo-title{flex:initial;}
.paper-notebook .paper-freedom{margin-top:34px;}
.paper-notebook .paper-history{margin-top:18px;}
@media(max-width:600px){
 .paper-notebook .paper-sheet{padding-top:76px;}
 .paper-bridge{grid-template-columns:minmax(0,1fr) 10px minmax(0,1.25fr) 10px minmax(0,1fr);gap:5px;}
 .paper-diagram-logo{width:100%;}.paper-diagram-logo svg{width:100%;max-width:118px;height:25px;margin:auto;}
 .paper-world{font-size:10px;}.paper-world small,.paper-interpreter>span{font-size:8px;}
 .paper-usecases{gap:8px 14px;font-size:9px;}.paper-schematic{margin-bottom:36px;}
 .paper-products nav{gap:12px 22px;}.paper-products a{font-size:13px;}
}
.paper-link-directory{position:fixed;right:24px;top:26px;z-index:26;font:11px/1.6 ui-monospace,monospace;color:#333;}
.paper-link-directory summary{cursor:pointer;list-style:none;background:#fffffff2;padding:7px 12px;border:1px solid #ddd7;border-radius:3px;}
.paper-link-directory summary::-webkit-details-marker{display:none;}
.paper-link-directory nav{position:absolute;right:0;top:40px;width:min(340px,calc(100vw - 48px));max-height:65svh;overflow:auto;padding:15px;background:#fffffff5;backdrop-filter:blur(18px);border:1px solid #ddd;border-radius:4px;box-shadow:0 12px 40px #0001;}
.paper-link-directory a{display:block;padding:8px 2px;color:#242424;text-decoration:none;}
.paper-link-directory a:hover{text-decoration:underline;text-underline-offset:4px;}
.paper-generation-status{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;padding:12px 16px;background:#fffffff0;color:#444;font:11px/1.5 ui-monospace,monospace;pointer-events:none;}
.paper-generation-status:empty{display:none;}
.paper:not(.paper-ready) .paper-link-directory{display:none;}

/* One continuous cycle: input → interpretation → generation. */
.paper-schematic{--interpret-color:#557a99;--generate-color:#438a7c;}
.paper-connection{opacity:1;color:#bcbcbc;}
.paper-connection i{position:absolute;left:0;top:-2px;width:4px;height:4px;background:var(--interpret-color);opacity:0;animation:paper-signal 4.8s steps(10,end) infinite;}
.paper-connection i:nth-child(2){animation-delay:.36s;}
.paper-signal-out i{background:var(--generate-color);animation-delay:1.8s;}
.paper-signal-out i:nth-child(2){animation-delay:2.16s;}
.paper-diagram-logo rect{animation:paper-interpret 4.8s linear infinite;}
.paper-diagram-logo rect:nth-child(3n){animation-delay:.12s;}
.paper-diagram-logo rect:nth-child(3n + 1){animation-delay:.24s;}
.paper-world-build rect{fill:var(--generate-color);animation:paper-build 4.8s steps(1,end) infinite;animation-delay:calc(var(--tile)*.1s);}
.paper-usecases:after{content:'';position:absolute;left:calc(50% - 1px);top:12px;width:3px;height:3px;background:var(--generate-color);animation:paper-branch 4.8s steps(6,end) infinite;}
@keyframes paper-signal{0%{left:0;opacity:0;}4%{opacity:1;}25%{left:calc(100% - 4px);opacity:1;}29%,100%{left:calc(100% - 4px);opacity:0;}}
@keyframes paper-interpret{0%,22%,57%,100%{fill:currentColor;}32%,45%{fill:var(--interpret-color);}}
@keyframes paper-build{0%,49%{opacity:.15;}50%,88%{opacity:1;}89%,100%{opacity:.15;}}
@keyframes paper-branch{0%,65%{opacity:0;transform:translateY(0);}68%{opacity:1;}86%{opacity:1;transform:translateY(19px);}90%,100%{opacity:0;transform:translateY(19px);}}
@media(prefers-reduced-motion:reduce){.paper-connection i,.paper-usecases:after{display:none;}.paper-world-build rect{opacity:1;}}
.paper-how{border:0;padding:0;background:none;color:var(--paper-muted)!important;font:11px/1.5 ui-monospace,monospace!important;}
.paper-how:hover{text-decoration:underline;text-underline-offset:4px;}
.paper-explainer{width:min(800px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:72px 32px 56px;border:1px solid #ececec;border-radius:4px;background:#fff;color:#242424;--paper-muted:#767676;}
.paper-explainer::backdrop{background:#ffffffd9;backdrop-filter:blur(8px);}
.paper-explainer .paper-schematic{margin:0;}
.paper-explainer-close{position:absolute;top:14px;right:18px;border:0;background:none;font-size:22px!important;}
@media(max-width:600px){.paper-explainer{padding:65px 16px 42px;}}

.paper-chat .paper-feedback:empty{display:none;}
.paper-chat .paper-feedback{font:11px/1.6 ui-monospace,monospace;color:var(--paper-muted);}
.paper-author{display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;padding-bottom:36px;margin-bottom:10px;font:11px/1.4 ui-monospace,monospace;}
.paper-author svg{width:24px;height:24px;color:#927951;}
.paper-author small{font-size:9px;color:var(--paper-muted);}
.paper-author:after{content:'';position:absolute;left:50%;bottom:0;height:24px;border-left:1px dotted #927951;}
.paper-author:before{content:'';position:absolute;left:calc(50% - 2px);bottom:0;width:4px;height:4px;background:#927951;}
.paper-notebook .paper-demo-title{min-width:0;}
.paper-notebook .paper-arrow{flex-shrink:0;}
@media(max-width:600px){.paper-author{padding-bottom:30px;}.paper-author small{font-size:8px;}.paper-notebook .paper-row a{font-size:14px;line-height:1.6;}}

.paper-demos-label{display:block;margin-top:7px;text-align:center;font:400 10px/1.3 ui-monospace,monospace;letter-spacing:.16em;color:inherit;}
.paper .static-intro-logo{filter:none;position:relative;}
.paper .static-intro-logo canvas{filter:invert(1);}
.paper .static-intro-logo .paper-demos-label{position:absolute;left:auto;right:var(--logo-ink-right,0);top:calc(100% + 12px);margin:0;text-align:right;letter-spacing:0;font-size:clamp(11px,1.8vw,14px);color:#444;white-space:nowrap;opacity:0;visibility:hidden;transform:none;transition:opacity .4s ease,visibility .4s;}
.paper .paper-logo-complete .static-intro-logo .paper-demos-label{opacity:1;visibility:visible;}
@media(prefers-reduced-motion:reduce){.paper .static-intro-logo .paper-demos-label{transition:none;}}
.paper-diagram-logo .paper-demos-label{font-size:9px;}
.paper-pixel-mark .paper-demos-label{font-size:9px;}


.paper-about-link:hover{text-decoration:underline!important;text-underline-offset:4px;}

.paper-catalog-footer{margin-top:40px;}
.paper-catalog-footer .paper-about-link{color:var(--paper-muted);font:12px/1.6 ui-monospace,monospace;text-decoration:none;}
.paper-row .paper-secondary-link{font-size:12px;opacity:.8;padding-left:16px;}

/* The default catalog is six quiet, single-line entries. Other destinations stay in Explore. */
.paper-notebook[data-engine=structured] .paper-sheet{padding-top:48px;padding-bottom:16px;}
.paper-notebook[data-engine=structured] .paper-generated>.paper-schematic{margin-bottom:26px;padding-top:0;}
.paper-notebook[data-engine=structured] .paper-products{margin-bottom:22px;}
.paper-notebook[data-engine=structured] .paper-row a{padding:7px 0;white-space:nowrap;min-width:0;}
.paper-notebook[data-engine=structured] .paper-demo-title{overflow:hidden;text-overflow:ellipsis;}
.paper-notebook[data-engine=structured] .paper-arrow{flex-shrink:0;}
.paper-notebook[data-engine=structured] .paper-catalog-footer{margin-top:24px;}
@media(max-width:600px){
 .paper-notebook[data-engine=structured] .paper-sheet{padding-top:66px;}
 .paper-notebook[data-engine=structured] .paper-row a{font-size:var(--paper-mobile-type,13px);gap:8px;}
 .paper-notebook[data-engine=structured] .paper-products nav{gap:8px 16px;}
}

/* Generated content owns a separate viewport; host controls never cover it. */
.paper{--paper-toolbar-height:72px;}
.paper[data-engine=sandbox]::before{content:"";position:fixed;inset:0 0 auto;height:var(--paper-toolbar-height);background:#fff;border-bottom:1px solid #eaeaea;z-index:14;}
.paper[data-engine=sandbox] .paper-sheet{max-width:none;margin:0;padding:0;width:100%;min-height:100dvh;}
.paper[data-engine=sandbox] .paper-generated{inset:var(--paper-toolbar-height) 0 0;}
.paper-sandbox{height:calc(100dvh - var(--paper-toolbar-height));width:100%;max-width:100%;}
.paper-sandbox-staging{top:var(--paper-toolbar-height);bottom:0;left:0;right:0;}
.paper[data-engine=sandbox] .paper-pixel-mark{top:17px;left:24px;width:112px;height:22px;color:#242424;mix-blend-mode:normal;}

.paper[data-engine=sandbox] .paper-floating-edit{top:14px;bottom:auto;right:112px;width:40px;height:40px;}
.paper[data-engine=sandbox] .paper-link-directory{top:17px;right:16px;}
@media(max-width:360px){.paper[data-engine=sandbox] .paper-pixel-mark{left:16px;width:86px;height:18px;top:20px;}.paper[data-engine=sandbox] .paper-floating-edit{right:100px;}.paper[data-engine=sandbox] .paper-link-directory{right:8px;}}

.paper-ascii-loading{display:grid;justify-items:center;gap:22px;padding:24px;background:transparent;color:var(--paper-ink,#242424);text-align:center;}
.paper-ascii-loading pre{margin:0;font:12px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:3px;opacity:.65;white-space:pre;}
.paper-ascii-loading span{font:10px/1.6 ui-monospace,monospace;letter-spacing:.08em;max-width:280px;}
@media(prefers-reduced-motion:reduce){.paper-ascii-loading pre{opacity:.3;}}

/* Collapsible host chrome: the scene grows into the reclaimed viewport. */
.paper-toolbar-toggle{display:none;}
.paper[data-engine=sandbox] .paper-toolbar-toggle{display:block;position:fixed;z-index:26;top:48px;left:50%;transform:translateX(-50%);height:24px;width:44px;padding:0;border:0;border-radius:6px;background:#fff;color:#555;font:18px/1 system-ui;cursor:pointer;transition:top .7s cubic-bezier(.22,1,.36,1);}
.paper-toolbar-toggle:focus-visible{outline:2px solid #5b35e8;outline-offset:-3px;}
.paper[data-engine=sandbox]::before,.paper[data-engine=sandbox] .paper-sandbox{transition:height .7s cubic-bezier(.22,1,.36,1);}
.paper[data-engine=sandbox] .paper-generated{transition:inset .7s cubic-bezier(.22,1,.36,1);}
.paper[data-engine=sandbox] .paper-floating-edit,.paper[data-engine=sandbox] .paper-link-directory{transition:opacity .35s,transform .7s cubic-bezier(.22,1,.36,1),visibility .35s;}
.paper[data-engine=sandbox] .paper-pixel-mark{transition:top .7s,left .7s,width .7s,height .7s;}
.paper[data-engine=sandbox].paper-toolbar-collapsed{--paper-toolbar-height:32px;}
.paper[data-engine=sandbox].paper-toolbar-collapsed .paper-floating-edit,.paper[data-engine=sandbox].paper-toolbar-collapsed .paper-link-directory{opacity:0;visibility:hidden;transform:translateY(-40px);pointer-events:none;}
.paper[data-engine=sandbox].paper-toolbar-collapsed .paper-pixel-mark{top:8px;left:18px;width:80px;height:15px;}
.paper[data-engine=sandbox].paper-toolbar-collapsed .paper-demos-label{display:none;}
.paper[data-engine=sandbox].paper-toolbar-collapsed .paper-toolbar-toggle{top:4px;}
@media(prefers-reduced-motion:reduce){.paper[data-engine=sandbox]::before,.paper[data-engine=sandbox] .paper-sandbox,.paper[data-engine=sandbox] .paper-generated,.paper[data-engine=sandbox] .paper-pixel-mark,.paper[data-engine=sandbox] .paper-floating-edit,.paper[data-engine=sandbox] .paper-link-directory,.paper-toolbar-toggle{transition:none!important;}}

.paper-ascii-loading .paper-generation-elapsed{font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.16em;opacity:.65;}

/* Quiet ASCII typography, centered as one page with a deferred signature. */
.paper .paper-narrative{display:flex;align-items:safe center;justify-content:center;pointer-events:auto;overflow-y:auto;padding:32px 24px 72px;text-align:center;}
.paper-narrative-page{width:min(740px,100%);margin:auto;flex-shrink:0;}
.paper-narrative-ascii{margin:0 0 24px;font:10px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:3px;color:#777;opacity:.45;min-height:37.5px;}
.paper-narrative-copy{display:grid;gap:18px;}
.paper-narrative-line{display:grid;margin:0;font:400 clamp(13px,1.5vw,17px)/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.025em;color:#282828;}
.paper-narrative-line:first-child{font-size:clamp(19px,2.6vw,27px);font-weight:500;line-height:1.35;letter-spacing:-.055em;}
.paper-narrative-line:last-child{font-size:11px;letter-spacing:.045em;color:#737373;}
.paper-narrative-line>span{grid-area:1/1;min-width:0;}
.paper-narrative-measure{visibility:hidden;}
.paper-narrative-typed{white-space:pre-wrap;}
.paper-narrative-line.is-typing .paper-narrative-typed:after{content:'_';position:absolute;margin-left:2px;color:#888;animation:paper-caret 1s steps(1) infinite;}
@keyframes paper-caret{50%{opacity:0;}}
.paper-narrative-identity{margin-top:26px;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;}
.paper-narrative-brand{position:relative;width:160px;margin:0 auto 20px;}
.paper-narrative-brand canvas{display:block;width:100%!important;height:auto!important;aspect-ratio:720/156;filter:invert(1);}
.paper-narrative-brand .paper-demos-label{position:absolute;right:var(--logo-ink-right,0);margin:0;font-size:9px;}
.paper-narrative-caption{margin:0;font:10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em;color:#666;}
@media(max-width:600px){.paper .paper-narrative{padding:24px 24px 64px;}.paper-narrative-copy{gap:15px;}.paper-narrative-caption{font-size:9px;}.paper-narrative-ascii{margin-bottom:20px;}}
@media(prefers-reduced-motion:reduce){.paper-narrative-identity,.paper-narrative-caption{transition:none;}.paper-narrative-line.is-typing .paper-narrative-typed:after{animation:none;}}

/* Keep the four story fragments, gather them, then build the pixel signature. */
.paper-narrative-keyword{white-space:nowrap;}
.paper-narrative-prose,.paper-narrative-ascii{transition:opacity 1s ease,filter 1s ease;}
.paper-narrative.is-erasing .paper-narrative-prose,.paper-narrative.is-erasing .paper-narrative-ascii{opacity:0;filter:blur(2px);}
.paper-narrative.is-assembling .paper-narrative-keyword{opacity:0;}
.paper-narrative-caption{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:.6em;width:max-content;max-width:calc(100% - 32px);font:clamp(11px,2.2vw,19px)/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.025em;visibility:hidden;color:#333;}
.paper-narrative-destination{display:inline-block;white-space:nowrap;}
.paper-letter-accent{color:#16819a;font-weight:700;}
.paper-narrative-flight{position:fixed;display:inline-block;white-space:nowrap;transform-origin:0 0;letter-spacing:-.025em;color:#333;pointer-events:none;}
.paper-narrative.is-assembled .paper-narrative-caption{visibility:visible;}
.paper-narrative-identity{position:fixed;left:50%;bottom:calc(50% + 42px);transform:translateX(-50%);margin:0;}
.paper-narrative-brand{width:min(620px,85vw);margin:0 auto;}
.paper-narrative.is-revealing-logo .paper-narrative-identity{opacity:1;visibility:visible;}

.paper-narrative-caption{transition:opacity .65s ease,visibility .65s;}
.paper-narrative.is-inviting .paper-narrative-identity,.paper-narrative.is-inviting .paper-narrative-caption{opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;}
.paper-narrative-invitation{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:calc(100% - 40px);font:clamp(14px,2.2vw,22px)/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.025em;text-align:center;color:#282828;visibility:hidden;}
.paper-narrative.is-inviting .paper-narrative-invitation{visibility:visible;}
.paper-narrative-invitation.is-typing span:after{content:'_';position:absolute;color:#888;animation:paper-caret 1s steps(1) infinite;}

/* Quiet catalog labels reveal the meaning behind each interaction. */
.paper-demo-insight{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .25s ease,opacity .2s ease,visibility .25s;}
.paper-demo-insight-clip{overflow:hidden;min-height:0;}
.paper-demo-insight p{margin:5px 0 18px;padding:2px 0 2px 16px;border-left:2px solid #62929b;max-width:55ch;color:#303b40;font:400 16px/1.7 var(--paper-font,Helvetica,Arial,sans-serif);letter-spacing:0;}
.paper-demo-insight strong{color:#16282e;font-weight:600;text-decoration:underline;text-decoration-color:#b8d7db;text-decoration-thickness:3px;text-underline-offset:3px;text-decoration-skip-ink:auto;}
@media(max-width:600px){.paper-demo-insight p{font-size:15px;padding-left:13px;}}
.paper-row:hover .paper-demo-insight,.paper-row:focus-within .paper-demo-insight{grid-template-rows:1fr;opacity:1;visibility:visible;}
@media(hover:none){.paper-demo-insight{grid-template-rows:1fr;opacity:1;visibility:visible;}}
@media(prefers-reduced-motion:reduce){.paper-demo-insight{transition:none;}}

.paper-world .paper-modalities{white-space:normal;max-width:100%;text-wrap:balance;}

/* Brief attention cues, with a quiet pause between interpretation cycles. */
.paper-modality-signal{display:block;--signal-color:var(--interpret-color);}
.paper-response-signal{--signal-color:var(--generate-color);}
.paper-modality-signal,.paper-response-signal{animation:paper-label-shine 8s ease-in-out infinite both;animation-play-state:paused;}
.paper-ready .paper-modality-signal,.paper-ready .paper-response-signal{animation-play-state:running;}
.paper-modality-signal:nth-child(1){animation-delay:.8s;}
.paper-modality-signal:nth-child(2){animation-delay:1.7s;}
.paper-modality-signal:nth-child(3){animation-delay:2.6s;}
.paper-response-signal{animation-delay:4.2s;}
@keyframes paper-label-shine{
  0%,24%,100%{color:var(--paper-muted);text-shadow:0 0 0 transparent;}
  9%,14%{color:var(--signal-color);text-shadow:0 0 9px color-mix(in srgb,var(--signal-color) 28%,transparent);}
}

/* A shared, larger ASCII canvas sits beside the catalog, outside annotations. */
.paper-preview-catalog{width:min(920px,calc(50vw + 308px));position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);column-gap:32px;align-items:start;}
.paper-preview-catalog>h2,.paper-preview-catalog>.paper-section-description{grid-column:1/-1;}
.paper-preview-catalog>.paper-demos{min-width:0;}
.paper-preview-stage{min-width:0;height:440px;box-sizing:border-box;position:sticky;top:100px;padding-top:7px;}
.paper-hover-preview{display:block;height:100%;line-height:0;outline-offset:6px;}
.paper-hover-preview picture,.paper-hover-preview img{display:block;width:100%;height:100%;}
.paper-hover-preview img{object-fit:contain;object-position:center top;background:#fff;animation:paper-preview-in .25s ease-out;}
@keyframes paper-preview-in{from{opacity:0;}to{opacity:1;}}
@media(max-width:1100px){
 .paper-preview-catalog{width:100%;left:auto;transform:none;grid-template-columns:minmax(0,1fr);}
 .paper-preview-stage{position:static;width:min(480px,100%);height:min(440px,90vw);justify-self:center;}
}
@media(prefers-reduced-motion:reduce){.paper-hover-preview img{animation:none;}}

/* Concept progress is an overlay; candidate validation keeps the real viewport. */
.paper-concept-split::after{content:"";position:fixed;inset:0;background:var(--paper-bg,#fff);z-index:29;pointer-events:none;}
.paper-concept-split .paper-ascii-loading{left:25%;max-width:calc(50vw - 40px);}
.paper-concept-preview{position:fixed;inset:0 0 0 50%;z-index:30;display:flex;flex-direction:column;padding:32px;box-sizing:border-box;border-left:1px solid #ddd;background:var(--paper-bg,#fff);color:var(--paper-ink,#242424);}
.paper-concept-heading{font:11px/1.6 ui-monospace,monospace;letter-spacing:.04em;flex:none;}
.paper-concept-visual{position:relative;flex:1;min-height:0;margin-top:24px;}
.paper-concept-visual img,.paper-concept-visual canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
@media(max-width:600px){.paper-concept-preview{padding:12px;}.paper-concept-split .paper-ascii-loading{padding:8px;gap:12px;max-width:calc(50vw - 16px);}.paper-concept-split .paper-ascii-loading pre{font-size:6px;letter-spacing:0;}.paper-concept-split .paper-ascii-loading span{font-size:9px;}}

.paper-concept-split .paper-floating-edit{z-index:32;}

.paper-concept-heading strong{display:block;margin-top:8px;font-size:22px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--paper-ink,#242424);}
.paper-interface-heading{position:fixed;top:32px;left:24px;width:calc(50vw - 48px);z-index:31;color:var(--paper-ink,#242424);}
.paper-comparison-ready .paper-concept-preview{z-index:32;}
@media(max-width:600px){.paper-interface-heading{top:12px;left:12px;width:calc(50vw - 24px);}.paper-concept-heading strong{font-size:16px;}}

.paper-progress-log{flex:none;max-height:120px;overflow:auto;margin:20px 0 0;padding:12px 0 0;list-style:none;border-top:1px solid #ddd;font:10px/1.8 ui-monospace,monospace;color:var(--paper-ink,#242424);font-variant-numeric:tabular-nums;text-align:left;}
.paper-progress-log li{margin:0;overflow-wrap:anywhere;}
.paper-progress-log li:last-child{font-weight:600;}
.paper-progress-left{position:fixed;bottom:24px;left:24px;width:calc(100vw - 48px);z-index:31;background:var(--paper-bg,#fff);}
.paper-concept-split .paper-progress-left{width:calc(50vw - 48px);}
@media(max-width:600px){.paper-progress-log{font-size:9px;max-height:108px;}.paper-progress-left{left:12px;bottom:12px;width:calc(100vw - 24px);}.paper-concept-split .paper-progress-left{width:calc(50vw - 24px);}}
