body{margin:0;background:#faf9f6;color:#292925;font-size:14px}a{color:inherit;text-decoration:none}.study{max-width:1280px;margin:auto;padding:27px 40px 28px}.study-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #e5e4dc}.wordmark{display:flex;align-items:center;gap:8px;font-size:18px;letter-spacing:-.6px;font-weight:550}.wordmark svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.library-link{font-size:10px;color:#77776d}.study-intro{padding:31px 0 27px;display:flex;align-items:center;justify-content:space-between;gap:20px}.kicker{font-size:8px;letter-spacing:1.6px;color:#88877a;margin:0 0 11px}h1{font-size:32px;letter-spacing:-1.25px;font-weight:450;margin:0}.study-controls{display:flex;gap:15px;align-items:center}.state-switch{display:flex;background:#efeee8;padding:3px;border-radius:7px}.state-switch button{border:0;background:transparent;padding:7px 12px;font-size:10px;border-radius:5px;color:#77776e}.state-switch [aria-pressed=true]{background:white;color:#292925;box-shadow:0 1px 3px #25251b08}.quiet-button,.reset-button{border:0;background:transparent;color:#77776e;font-size:10px;padding:7px}.quiet-button span{margin-left:12px}.workspace{position:relative;border:1px solid #dfded5;border-radius:15px;background:white;overflow:hidden}.browser-chrome{height:39px;background:#f4f3ef;border-bottom:1px solid #e5e4dc;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8b8a7d;padding:0 18px}.window-dots{display:flex;gap:5px}.window-dots i{width:6px;height:6px;border-radius:50%;background:#d0cfc5}.reset-button{font-size:9px}.page-preview{position:relative;min-height:580px;padding:27px 42px 118px}.page-nav{display:flex;justify-content:space-between;align-items:center;color:#8a897d;font-size:9px}.atelier{font-family:Georgia,serif;font-style:italic;font-size:22px;color:#49493e}.bag{font-size:9px}.page-content{max-width:830px;margin:32px auto 0;display:grid;grid-template-columns:1fr 340px;gap:70px;align-items:center}.page-eyebrow{font-size:8px;letter-spacing:1.45px;color:#8b8a7d;margin:0 0 20px}.copy-block h2{font-family:Georgia,serif;font-size:45px;line-height:1.08;letter-spacing:-1.9px;font-weight:400;display:table;margin:0 0 20px;padding:0}.page-description{font-size:11px;line-height:1.85;color:#858478;margin:0 0 40px}.page-footnote{font-size:9px;color:#999789}.product{max-width:340px;position:relative}.object-scene{height:250px;position:relative;border-radius:6px;background:#f2f1eb}.object-scene>svg{width:100%;height:100%;display:block}.product-info{display:flex;justify-content:space-between;align-items:start;padding:18px 0;font-size:11px}.product-info h3{font-size:12px;font-weight:500;margin:0 0 6px}.product-info div>span{font-size:9px;color:#858478}.shop-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:4px;background:#eeede7;padding:13px 15px;font-size:10px}.selectable{cursor:crosshair;position:relative}.selection-surface,.drawing-surface,.selection-pins{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.selection-surface{z-index:2}.selection-pins{z-index:5}.drawing-surface{z-index:4;touch-action:none}.workspace[data-mode=region] .drawing-surface{pointer-events:auto;cursor:crosshair}.organic-fill{fill:url(#mark-gradient);opacity:.06}.organic-edge-bloom{fill:none;stroke:url(#mark-gradient);stroke-width:9;filter:url(#edge-bloom);opacity:.45}.organic-edge{fill:none;stroke:url(#mark-gradient);stroke-width:3.5;filter:url(#edge-soft);opacity:.65}.organic-cloud{fill:url(#mark-gradient);filter:url(#cloud);opacity:.08}.mark-group.past{opacity:.33}.hover-group{opacity:.68}.gesture{fill:#8b73a60a;stroke:#8b73a6;stroke-width:1;stroke-opacity:.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3 4}.mark-pin{position:absolute;pointer-events:auto;display:grid;place-items:center;width:19px;height:19px;border:2px solid white;border-radius:50%;background:#45443a;color:white;padding:0;font-size:8px;box-shadow:0 1px 4px #25251b15}.mark-pin:hover{background:#25251b}.mark-pin.past{background:#a9a79b}.dock{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);z-index:10;max-width:calc(100% - 24px)}.session-toolbar{display:flex;align-items:center;gap:4px;border:1px solid #deddd4;padding:6px;border-radius:12px;background:#ffffffed;box-shadow:0 8px 25px #25251b0b,0 2px 6px #25251b04;backdrop-filter:blur(14px);white-space:nowrap}.selection-switch{display:flex;align-items:center;gap:2px}.mode-button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;font-size:10px;padding:9px 10px;border-radius:7px;color:#77766a;min-height:34px}.mode-button[aria-pressed=true]{background:#eeede6;color:#36352d}.mode-button:hover,.icon-button:hover,.voice-control:hover{background:#f4f3ee}.mode-button svg,.icon-button svg,.voice-control svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.icon-button{display:flex;align-items:center;justify-content:center;gap:6px;width:33px;height:34px;background:transparent;border:0;border-radius:7px;color:#77766a;padding:7px}.region-options{width:21px;padding:4px}.region-options svg{width:11px;height:11px}.toolbar-rule{height:17px;width:1px;background:#e4e3db;margin:0 4px}.voice-control{display:flex;align-items:center;gap:12px;background:transparent;border:0;border-radius:7px;color:#77766a;padding:7px 8px;height:34px}.voice-control[aria-pressed=true]{color:#34332b}.voice-bars{display:flex;gap:2px;align-items:center;height:17px}.voice-bars i{width:2px;height:4px;border-radius:2px;background:#aaa89b}.voice-bars i:nth-child(2){height:10px}.voice-bars i:nth-child(3){height:15px}.voice-bars i:nth-child(4){height:7px}.voice-bars i:nth-child(5){height:5px}[aria-pressed=true] .voice-bars i{background:#4e4c40;animation:wave .8s ease-in-out infinite alternate}[aria-pressed=true] .voice-bars i:nth-child(2n){animation-delay:.3s}.marks-button{width:auto;min-width:40px}.mark-count{font-size:9px;color:#656356}.finish-button:not(:disabled){color:#36352d}.feedback-popover{position:absolute;bottom:61px;left:50%;transform:translateX(-50%);width:350px;max-width:calc(100vw - 50px);border:1px solid #e2e0d6;border-radius:14px;background:#fffffff7;backdrop-filter:blur(18px);box-shadow:0 12px 40px #25251b10,0 2px 8px #25251b05;padding:15px 17px;max-height:370px;overflow:auto}.popover-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.mark-tabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mark-tab{width:23px;height:23px;border:0;border-radius:50%;background:#f1f0ea;font-size:9px;color:#8a877a;padding:0}.mark-tab[aria-selected=true]{background:#45443a;color:white}.target-label{font-size:10px;color:#858174;margin-left:5px}.popover-top .icon-button{width:25px;height:25px;padding:5px}.feedback-input{width:100%;resize:vertical;border:0;background:transparent;color:#35342c;font-size:12px;line-height:1.85;min-height:93px;padding:0 0 5px}.feedback-input::placeholder{color:#aaa698}.popover-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.suggestion-row{display:flex;flex-wrap:wrap;gap:5px;flex:1}.suggestion{border:1px solid #e8e5da;background:#faf9f5;border-radius:5px;font-size:9px;color:#777264;padding:5px 7px;min-height:26px}.suggestion:hover{background:#eeece3}.popover-icons{display:flex;gap:1px;align-items:center}.popover-icons .icon-button{width:27px;height:28px;padding:6px}.popover-tools{display:flex;justify-content:space-between;border-top:1px solid #ece9df;padding-top:8px;margin-top:12px;font-size:9px}.text-button{border:0;background:transparent;color:#8a8577;padding:5px 0;font-size:9px}.region-menu{position:absolute;bottom:61px;left:105px;min-width:160px;background:#fffffff7;border:1px solid #e2e0d6;padding:5px;border-radius:9px;box-shadow:0 8px 24px #25251b0b}.region-menu button{width:100%;border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:10px;padding:9px;border-radius:5px;font-size:10px;color:#77766a}.region-menu button[aria-checked=true]{background:#f0eee7;color:#35342b}.region-menu svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.region-menu span:last-child{margin-left:auto;font-size:9px}.study-caption{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-size:9px;color:#918d80;line-height:1.8}kbd{font:inherit;font-size:8px;border:1px solid #e2dfd4;border-radius:3px;padding:1px 3px}.review-text{min-height:125px;max-height:220px}.review-targets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.review-targets button{font-size:9px;background:#f4f2eb;color:#777264;border:0;border-radius:4px;padding:5px 8px}.review-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ece9df;padding-top:8px;margin-top:10px}.review-footer>div{display:flex;gap:12px}.empty-feedback{font-size:12px;color:#8a8577;padding:8px 0;line-height:1.7}.review-state .mark-group{opacity:.5}.review-state .mark-group:hover{opacity:1}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}[hidden]{display:none!important}@media(max-width:820px){.study{padding:22px}.page-preview{padding:25px 28px 110px;min-height:560px}.page-content{gap:32px;grid-template-columns:1fr 280px}.copy-block h2{font-size:36px}.object-scene{height:225px}.product{max-width:280px}.study-caption>span:last-child{display:none}}@media(max-width:620px){.study{padding:15px}.study-header{padding-bottom:17px}.wordmark{font-size:16px}.study-intro{padding:23px 0}.study-intro h1{font-size:25px}.kicker{font-size:7px}.quiet-button{display:none}.state-switch button{padding:6px 9px;font-size:9px}.page-nav>span:nth-child(2){display:none}.page-preview{padding:23px 27px 115px;min-height:690px}.page-content{grid-template-columns:1fr;gap:24px;max-width:290px;margin-top:30px}.copy-block h2{font-size:34px;margin-bottom:12px}.page-description{font-size:10px;margin-bottom:0}.page-footnote{display:none}.page-eyebrow{margin-bottom:12px}.product{max-width:290px}.object-scene{height:200px}.mode-button{font-size:9px;padding:8px 7px;gap:5px}.mode-button svg{width:14px;height:14px}.session-toolbar{gap:1px;padding:5px}.toolbar-rule{margin:0 2px}.voice-control{gap:7px;padding:7px 5px}.voice-bars{gap:1px}.voice-bars i{width:1.5px}.icon-button{width:27px;padding:5px}.region-options{width:16px;padding:2px}.marks-button{min-width:31px}.feedback-popover{width:310px}.region-menu{left:70px}.dock{bottom:20px}.browser-chrome{font-size:8px}.mark-count{font-size:8px}}

/* Component bounds stay exact; region and highlighter contours remain organic. */
.component-outline .organic-fill{opacity:.025}
.component-outline .organic-edge-bloom{stroke-width:4;opacity:.2}
.component-outline .organic-edge{stroke-width:1.2;filter:none;opacity:.65}
.component-outline .organic-cloud{display:none}
.workspace[data-mode=draw] .drawing-surface{pointer-events:auto;cursor:crosshair}
.markup{fill:none;stroke:#555247;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.markup.draw-highlight{stroke:url(#mark-gradient);stroke-width:12;stroke-opacity:.25;filter:url(#edge-soft)}
.draw-wash{fill:url(#mark-gradient);fill-opacity:.04;stroke:none}
.markup .pin-tether,.pin-tether{stroke:#777165;stroke-width:1;fill:none;filter:none;opacity:.6}
.markup.draw-highlight .pin-tether{stroke-width:1;opacity:1}
.mark-paths.has-pin-focus .mark-group{opacity:.13}
.mark-paths.has-pin-focus .mark-group.pin-focus{opacity:1}
.mark-pin{width:20px;height:20px}
.mark-pin:hover,.mark-pin:focus-visible{background:#25251b;outline:2px solid #d4d0c3;outline-offset:2px}
.session-toolbar kbd{font-size:8px;line-height:13px;min-width:12px;text-align:center;border:0;background:#f1f0e9;color:#9b978a;padding:0 2px;border-radius:3px;pointer-events:none}
.session-toolbar .tool-button{width:auto;min-width:48px;gap:6px;padding:7px}
.tool-button[aria-pressed=true]{background:#eeede6;color:#36352d}
.mode-button{gap:6px;padding:9px 8px}
.session-toolbar .mode-button kbd{margin-left:2px}
.session-toolbar .finish-button{border-left:1px solid #ebe8df;border-radius:0 7px 7px 0;padding-left:10px}
.icon-button.copied{background:#e8e6dc;color:#302e26}
.region-menu kbd{margin-left:auto;font-size:8px;color:#9b978a}
@media(max-width:820px){.session-toolbar{gap:1px}.voice-control{gap:6px}.voice-bars{display:none}.mode-button{padding:8px 6px}.toolbar-rule{margin:0 2px}.session-toolbar .tool-button{min-width:40px;padding:6px;gap:4px}}
@media(max-width:620px){.mode-label{display:none}.session-toolbar .mode-button{gap:4px;padding:8px 5px}.session-toolbar .tool-button{min-width:34px;gap:3px;padding:5px}.session-toolbar kbd{font-size:7px;min-width:9px}.toolbar-rule{margin:0 1px}.voice-control{padding:7px 4px;gap:3px}.session-toolbar .finish-button{padding-left:6px}.region-options{width:13px}.marks-button{gap:3px;min-width:32px}.selection-switch{gap:0}#region-menu{left:20px}}
@media(prefers-reduced-motion:reduce){.voice-bars i{animation:none!important}}
@media(max-width:420px){.session-toolbar kbd{display:none}.session-toolbar .tool-button{min-width:27px;padding:5px}.session-toolbar .mode-button{padding:7px 5px}.session-toolbar .voice-control{padding:6px}.session-toolbar .finish-button{padding-left:7px}.session-toolbar{gap:0}.marks-button{min-width:30px}.region-options{width:12px}}

.session-toolbar .finish-button{border:0;border-left:1px solid #ebe8df;background:transparent;padding:8px 10px;gap:7px;min-width:74px;color:#36352d}
.session-toolbar .finish-button:hover{background:#f4f3ee}
@media(max-width:620px){.session-toolbar .finish-button{min-width:60px;padding:7px 8px}}
.markup.draw-stroke.past{opacity:.58}
.brush-wash{stroke:url(#mark-gradient);stroke-width:22;stroke-opacity:.18;filter:url(#edge-soft);fill:none}
/* Crisp ink dots fade outside organic contours; element bounds stay untextured. */
.ink-halftone{opacity:1;pointer-events:none;filter:none}
.draw-selection .organic-edge,.mark-group:not(.component-outline)>.organic-edge{opacity:.5}
.draw-selection .organic-edge-bloom,.mark-group:not(.component-outline)>.organic-edge-bloom{opacity:.32}

/* Density changes locally; the distant wash has its own irregular silhouette. */
.organic-aura{fill:none;stroke:url(#mark-gradient);stroke-width:24;stroke-linecap:round;stroke-linejoin:round;opacity:.24;filter:url(#organic-plume)}
.draw-selection .organic-edge-bloom,.mark-group:not(.component-outline)>.organic-edge-bloom{opacity:.17}
.draw-selection .organic-edge,.mark-group:not(.component-outline)>.organic-edge{opacity:.4}
.markup.draw-highlight{filter:none}
.markup.draw-highlight>path:not(.draw-wash){filter:url(#edge-soft)}

.organic-aura.stroke-aura{stroke-width:18;opacity:.14;filter:url(#edge-bloom)}

/* A separate floating voice level; only selection and completion live in the bar. */
.chalk-logo{display:block;flex:none}
.session-toolbar{padding:4px;gap:2px;border-radius:10px}
.session-toolbar .mode-button{min-height:32px;padding-top:7px;padding-bottom:7px}
.floating-voice{position:absolute;bottom:58px;left:50%;transform:translateX(-50%);height:40px;padding:9px 13px;gap:10px;border:1px solid #e3e1d8;border-radius:22px;background:#fffffff5;box-shadow:0 3px 13px #25251b0b;backdrop-filter:blur(14px)}
.floating-voice .voice-bars{display:flex;gap:2px}
.floating-voice .voice-bars i{width:2px}
.floating-voice kbd{border:0;background:#f1f0e9;color:#9b978a;font-size:8px}
.feedback-popover{bottom:112px}
.region-menu{bottom:108px;left:90px}
.mode-button.copied{background:#e8e6dc}
/* Chalk is dry, narrow pigment with a few loose grains; no soft marker pools. */
.markup .brush-wash{stroke-width:9;stroke-opacity:.07;filter:none}
.markup .chalk-line{stroke:url(#mark-gradient);stroke-width:4;stroke-opacity:.85;fill:none;filter:url(#chalk-grain)}
.markup.draw-highlight>.chalk-line{stroke-width:4;filter:url(#chalk-grain);stroke-opacity:.65}
.markup .chalk-arrow{stroke-width:3}
.chalk-dust{fill:#777066;stroke:none;opacity:.24}
.draw-selection .organic-edge,.mark-group:not(.component-outline)>.organic-edge{filter:url(#chalk-grain);stroke-width:3.2;opacity:.58}
@media(max-width:620px){.region-menu{left:15px}.floating-voice{padding:9px 12px;gap:10px}.session-toolbar .finish-button{min-width:62px}}

/* A single first-use surface: two clicks to start, practice is optional. */
.onboarding{width:440px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:25px 30px 17px;border:1px solid #e1dfd7;border-radius:22px;background:#faf9f6;color:#292925;box-shadow:0 20px 100px #2929251c;overflow:auto}
.onboarding::backdrop{background:#38372f24;backdrop-filter:blur(5px)}
.onboarding-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.onboarding-brand{display:flex;align-items:center;gap:7px;font-size:14px;letter-spacing:-.5px;font-weight:550}
.onboarding-close{display:grid;place-items:center;width:28px;height:28px;padding:6px;border:0;border-radius:50%;background:transparent;color:#88857b}
.onboarding-close:hover{background:#efeee7}
.onboarding svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;fill:none}
.onboarding h2{font-size:31px;line-height:1.14;letter-spacing:-1.1px;font-weight:450;margin:25px 0 13px}
.onboarding #onboarding-description{font-size:13px;line-height:1.75;color:#7a786f;margin:0 0 25px;max-width:310px}
.onboarding-illustration{position:relative;height:174px;background:#f1f0e9;border:1px solid #e9e7df;border-radius:14px;padding:19px 20px;overflow:hidden}
.onboarding-ghost-line{height:4px;width:90px;border-radius:3px;background:#dddbd1;margin-bottom:8px}
.onboarding-ghost-line.short{width:60px;opacity:.6}
.onboarding-outline{position:absolute;top:55px;left:56px;right:36px;padding:17px 20px 15px;border:1px solid #9e9a8c;border-radius:9px;background:#fffdf8;box-shadow:0 0 0 4px #dfd9e01a}
.onboarding-target-pin{position:absolute;right:-9px;top:14px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#4b4940;color:white;border:2px solid #faf9f6;font-size:8px}
.onboarding-tiny-heading,.onboarding-tiny-copy,.onboarding-tiny-button{display:block;text-align:left}
.onboarding-tiny-heading{font-size:13px;color:#424139;font-weight:500;letter-spacing:-.2px}
.onboarding-tiny-copy{font-size:9px;color:#8e8a80;line-height:1.7;margin-top:6px}
.onboarding-tiny-button{font-size:8px;background:#efede5;color:#777266;border-radius:3px;width:132px;padding:6px 8px;margin-top:11px}
.onboarding-voice-bubble{position:absolute;bottom:12px;left:28px;display:flex;align-items:center;gap:10px;background:#fffefbee;border:1px solid #e3e0d6;border-radius:22px;padding:9px 12px;box-shadow:0 4px 10px #35322608;color:#6b675c}
.onboarding-mini-wave{display:flex;gap:2px;align-items:center;height:17px}.onboarding-mini-wave i{background:#777165;width:2px;border-radius:3px;height:5px}.onboarding-mini-wave i:nth-child(2){height:11px}.onboarding-mini-wave i:nth-child(3){height:17px}.onboarding-mini-wave i:nth-child(4){height:9px}
.onboarding-actions{display:flex;flex-direction:column;gap:5px}
.onboarding-primary{width:100%;min-height:43px;padding:12px 16px;background:#34342e;border:1px solid #34342e;color:#faf9f6;border-radius:9px;font-size:12px}
.onboarding-primary:hover{background:#48473e}
.onboarding-secondary{min-height:35px;padding:9px;background:transparent;border:0;color:#8a8578;font-size:11px;border-radius:7px}
.onboarding-secondary:hover{background:#efeee7;color:#535047}
.onboarding-local{font-size:10px;line-height:1.7;color:#969184;text-align:center;margin:14px 0 21px}
.onboarding-progress{display:flex;justify-content:center;gap:5px;margin:20px 0 0}.onboarding-progress i{width:5px;height:5px;border-radius:50%;background:#ddd9cd}.onboarding-progress .current{width:16px;border-radius:6px;background:#7f7a6b}
.onboarding-preview-note{text-align:center;color:#aaa597;font-size:8px;letter-spacing:.2px;margin:13px 0 0}
.onboarding-step-top{margin:23px 0 0}.onboarding-connection{display:inline-flex;align-items:center;gap:7px;color:#7b776a;font-size:10px}.onboarding-connection svg{width:14px;height:14px}
.onboarding-practice{padding:17px;background:#f0efe8;border:1px solid #e6e3d9;border-radius:13px;margin-bottom:17px}
.onboarding-practice-target{position:relative;display:block;width:100%;padding:22px 19px 17px;background:#fffef9;border:1px solid #e2dfd4;border-radius:8px;text-align:left}
.onboarding-practice-target[aria-pressed=true]{border-color:#999485;box-shadow:0 0 0 3px #ded7e331}
.onboarding-practice-hint{display:block;color:#a29c8e;font-size:9px;margin-top:18px}
.onboarding-practice-feedback{margin:16px 2px 0}.onboarding-practice-status{display:block;color:#9a9284;font-size:9px;margin-bottom:8px}.onboarding-practice-feedback textarea{width:100%;border:0;background:transparent;resize:vertical;font-family:inherit;font-size:12px;line-height:1.8;color:#4c473e;min-height:46px;padding:0}
.onboarding-shortcuts{display:flex;justify-content:center;gap:16px;margin:0 0 25px;color:#8b8578;font-size:9px}.onboarding-shortcuts span{display:flex;align-items:center;gap:5px}.onboarding-shortcuts kbd{font-size:9px;background:#f0eee6;padding:2px 5px;color:#827b6b;border:0}
.onboarding-problem-symbol{display:grid;place-items:center;width:48px;height:48px;background:#efede5;border-radius:50%;color:#7c7565;margin-top:28px}.onboarding-problem-symbol svg{width:22px;height:22px}
.onboarding-help{font-size:11px;line-height:1.8;color:#858073;margin:-9px 0 23px}.onboarding-help summary{cursor:pointer}.onboarding-help p{padding:0 9px}
.onboarding button:focus-visible,.onboarding textarea:focus-visible{outline:2px solid #9c9789;outline-offset:3px}
@media(max-width:620px){.study-controls .setup-launch{display:block}.onboarding{padding:21px 23px 16px}.onboarding h2{font-size:28px}.onboarding-outline{left:40px;right:22px}.onboarding-shortcuts{gap:12px}}
@media(prefers-reduced-motion:no-preference){.onboarding[open]{animation:onboarding-enter .2s cubic-bezier(.22,1,.36,1)}@keyframes onboarding-enter{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}}

.onboarding-practice-feedback textarea{font:inherit;font-size:12px;line-height:1.8}
.onboarding-sequence-key{display:flex;flex-direction:column;align-items:center;gap:8px;color:#8b8578;font-size:10px;margin-bottom:25px}
.onboarding-sequence-key kbd{background:#eeece3;border:1px solid #e2dfd4;border-radius:6px;padding:7px 13px;color:#615c4f;font-size:13px;letter-spacing:2px}
.handoff-layers{position:absolute;inset:0;pointer-events:none;z-index:18;overflow:hidden}
.handoff-layer{position:absolute;left:0;top:0;height:112px;padding:16px;background:#fffef9;border:1px solid #dfdcd1;border-radius:10px;box-shadow:0 7px 26px #29251c15;transform-origin:0 0;opacity:0}
.handoff-layer strong{display:block;font-size:10px;font-weight:500;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.handoff-layer p{font-size:8px;line-height:1.7;color:#969080;margin:10px 0 0;max-height:27px;overflow:hidden}
.handoff-layer-number{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:16px;height:16px;background:#555044;color:#fffdf6;border-radius:50%;font-size:7px}
.handoff-layer-lines{margin-top:13px;display:flex;flex-direction:column;gap:4px}.handoff-layer-lines i{width:78%;height:3px;border-radius:2px;background:#e8e4d8}.handoff-layer-lines i:nth-child(2){width:64%}.handoff-layer-lines i:nth-child(3){width:45%}
.sequence-staging .dock{opacity:0;pointer-events:none;transition:opacity .15s}.sequence-staged .dock{display:none}
.agent-composer{position:absolute;z-index:14;bottom:24px;left:50%;transform:translateX(-50%);width:520px;max-width:calc(100% - 36px);padding:14px 16px 10px;background:#fffefbf7;border:1px solid #dfddd3;border-radius:15px;box-shadow:0 7px 26px #29251c0b;backdrop-filter:blur(16px)}
.agent-composer.receiving{opacity:.65}
.composer-attachment{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid #ece8dd}
.composer-attachment button{border:0;background:#eeece3;padding:7px 9px;border-radius:6px;display:flex;gap:7px;align-items:center;color:#625c4f;font-size:10px}
.composer-attachment-note{font-size:9px;color:#a29b8b}
.agent-composer svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
#composer-text{width:100%;border:0;background:transparent;resize:vertical;color:#4c473e;font-family:inherit;font-size:12px;line-height:1.75;min-height:43px;max-height:105px;padding:0}
.composer-footer{display:flex;align-items:center;justify-content:space-between;margin-top:5px}
#new-sequence{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#928977;font-size:9px;padding:5px 0}
#new-sequence kbd{font-size:8px;color:#a49c8b;border:0;background:#f1eee5}
.composer-send{display:grid;place-items:center;width:27px;height:27px;padding:5px;border:0;border-radius:50%;background:#e9e5d9;color:#99917f;opacity:.65}
@media(max-width:620px){.agent-composer{padding:11px 13px;bottom:18px}.composer-attachment-note{font-size:8px}.handoff-layer{padding:13px}}

.sequence-staging .page-preview{pointer-events:none}
.sequence-staged .drawing-surface{pointer-events:none}
.handoff-layer-preview{height:34px;margin-top:8px;background:#f0eee6;border-radius:4px;overflow:hidden}
.handoff-layer-preview svg{display:block;width:100%;height:100%}
.handoff-layer:has(.handoff-layer-preview) p{margin-top:5px;max-height:14px}
.handoff-layer-wave{flex-direction:row;align-items:center;justify-content:center;height:28px;gap:4px}
.handoff-layer-wave i{width:4px!important;height:14px;background:#bdb6a4;border-radius:3px}
.handoff-layer-wave i:nth-child(2){height:26px}.handoff-layer-wave i:nth-child(3){height:18px}

/* Paper stays a single packet through compression and the curved insertion. */
.handoff-stack{position:absolute;left:0;top:0;transform-origin:50% 50%;will-change:transform;isolation:isolate}
.handoff-stack .handoff-layer{height:112px;transform-origin:50% 50%;border-radius:10px;background:#fffef9;will-change:transform,opacity}
.handoff-stack .handoff-transcript{background:#f9f7f0}
.handoff-stack .handoff-transcript .handoff-layer-lines{display:none}
.handoff-stack .handoff-transcript p{font-size:10px;line-height:1.8;max-height:57px;margin-top:13px;color:#807867;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.handoff-stack .handoff-layer-number{background:#eee9dc;color:#7f7561;font-size:8px;min-width:17px;width:auto;padding:0 3px}
.agent-composer.receiving{opacity:1}
.composer-attachment{border-radius:7px}
.composer-attachment button{background:#f0ece1;padding:5px 9px 5px 5px;gap:9px}
.composer-slot{position:relative;display:block;width:32px;height:28px;flex:none;isolation:isolate}
.composer-slot i{position:absolute;left:5px;top:5px;width:22px;height:17px;background:#fffdf7;border:1px solid #c6bdab;border-radius:3px;box-shadow:0 1px 2px #4c443508}
.composer-slot i:nth-child(1){transform:translate(-2px,3px) rotate(-7deg)}
.composer-slot i:nth-child(2){transform:translate(1px,1px) rotate(4deg)}
.composer-slot i:nth-child(3){transform:translate(0,-1px)}
.composer-slot i:nth-child(3)::after{content:'';display:block;margin:5px;width:11px;height:2px;background:#d7cebb;box-shadow:0 4px #e4ddcf}
.attachment-file-icon{display:none}
.receiving .composer-slot{opacity:.18}
.receiving #attachment-label,.receiving .composer-attachment-note{opacity:.25}
.receiving #new-sequence{pointer-events:none;opacity:.35}
@media(max-width:820px){#preview-insert{display:block;font-size:9px;padding:6px}.study-controls{gap:8px}#preview-insert span{margin-left:3px}}
@media(max-width:620px){#preview-insert{font-size:0;padding:6px}#preview-insert span{font-size:15px;margin:0}.study-controls{gap:5px}.study-intro{gap:10px}}

/* A listening mic stays quiet until speech actually has activity. */
.voice-control .voice-bars i{animation:none!important}
.voice-control[data-speaking=true] .voice-bars i{animation:wave .8s ease-in-out infinite alternate!important}
.voice-control[data-state=ready] .voice-bars i{background:#b7b1a3}
.voice-control[data-state=paused] .voice-bars{opacity:.4}
.voice-control::after{content:attr(data-state);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);font-size:9px;color:#8d8575;opacity:0;pointer-events:none;text-transform:capitalize}
.voice-control:hover::after,.voice-control:focus-visible::after{opacity:1}
.study-links{display:flex;align-items:center;gap:18px}.study-links button{border:0;background:none;padding:0;font-family:inherit;cursor:pointer}
.recent-sequences{position:absolute;bottom:112px;left:50%;transform:translateX(-50%);width:310px;max-width:calc(100vw - 40px);padding:13px;background:#fefefcf7;border:1px solid #dbdbd9;border-radius:13px;box-shadow:0 12px 35px #2e2e2c12;backdrop-filter:blur(16px)}
.recent-heading{display:flex;justify-content:space-between;align-items:center;color:#81817f;font-size:10px;margin-bottom:10px}.recent-heading button{border:0;background:transparent;color:#8e8e8c;font-size:19px;line-height:1;padding:0 3px}
.recent-current,.recent-all{border:0;background:#ebebe9;border-radius:7px;width:100%;padding:11px;font-size:10px;color:#60605e;text-align:left;display:flex;justify-content:space-between}.recent-current span{color:#969694;font-size:9px}.recent-all{margin-top:9px;background:transparent;color:#81817f}
.recent-row{display:flex;width:100%;gap:10px;text-align:left;padding:10px 4px;border:0;border-bottom:1px solid #ebebe9;background:transparent;align-items:center}.recent-row img{width:47px;height:36px;object-fit:contain;border:1px solid #dddddb;border-radius:5px;background:#f1f1ef}.recent-row strong{font-size:10px;color:#575755;display:block;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:450}.recent-row small{font-size:8px;color:#929290;display:block;margin-top:4px}
.library-dialog{width:940px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 36px);padding:27px 31px 17px;background:#f9f9f7;border:1px solid #dadad8;border-radius:21px;color:#353533;box-shadow:0 20px 90px #28282620;overflow:auto}
.library-dialog::backdrop{background:#33333124;backdrop-filter:blur(5px)}
.library-header,.library-header>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.library-header{padding-bottom:21px;border-bottom:1px solid #e0e0de;margin-bottom:22px}.library-header h2{font-size:18px;font-weight:450;letter-spacing:-.5px;margin:0}
.library-text-button{border:0;background:transparent;color:#80807e;padding:6px 0;font-size:10px;font-family:inherit;cursor:pointer}.library-text-button:hover{text-decoration:underline}.library-dialog .danger{color:#81817f}
.library-toolbar{display:flex;gap:13px;margin-bottom:20px}.library-toolbar input{flex:1;min-width:0}.library-toolbar input,.library-toolbar select{border:1px solid #dadad8;border-radius:8px;background:#fdfdfb;padding:12px;color:#6b6b69;font-size:11px}
.library-list{min-height:190px}.sequence-row{display:flex;align-items:center;text-align:left;width:100%;padding:16px 0;gap:18px;border:0;border-bottom:1px solid #e2e2e0;background:transparent;color:#8a8a88;cursor:pointer}.sequence-row:hover{background:#ededeb}.sequence-thumbnail{width:91px;height:67px;flex:none;border-radius:8px;overflow:hidden;background:#eaeae8;border:1px solid #dededc}.sequence-thumbnail img{width:100%;height:100%;object-fit:contain}.sequence-row-copy{flex:1;min-width:0}.sequence-row-copy strong{font-size:13px;line-height:1.5;color:#4c4c4a;font-weight:450;display:block}.sequence-row-copy span{display:block;font-size:10px;color:#898987;margin-top:5px}.sequence-row-copy small{display:block;font-size:9px;color:#a1a19f;margin-top:6px}.sequence-row-state{font-size:9px;color:#989896}.library-group-heading{font-size:11px;font-weight:450;color:#838381;margin:23px 0 5px}.library-empty{font-size:13px;color:#949492;text-align:center;padding:60px 0}
.library-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #dcdcda;margin-top:23px;padding-top:14px;font-size:9px;color:#989896;min-height:25px}
.sequence-detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sequence-title-input{border:0;background:transparent;width:100%;font-family:inherit;font-weight:450;font-size:25px;line-height:1.35;color:#474745;letter-spacing:-.6px;padding:0;margin-bottom:9px}.sequence-meta{font-size:10px;line-height:1.8;color:#959593}.sequence-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:27px}.sequence-assets{display:grid;grid-template-columns:1fr 1fr;gap:17px;align-content:start}.archived-mark{min-width:0}.archived-image{height:119px;position:relative;border:1px solid #d5d5d3;border-radius:9px;background:#eaeae8;overflow:hidden}.archived-image img{width:100%;height:100%;object-fit:contain}.archived-image>span{position:absolute;top:9px;right:9px;background:#545452;color:#f8f8f6;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:8px}.archived-mark h3{font-size:10px;font-weight:500;margin:12px 0 7px;color:#585856}.archived-mark p{font-size:10px;line-height:1.8;color:#878785;margin:0 0 8px}.archived-mark small{display:block;font-size:9px;color:#989896;margin-top:10px}
.sequence-detail-copy textarea{width:100%;min-height:245px;font-family:inherit;font-size:12px;line-height:1.85;background:#fdfdfb;border:1px solid #d9d9d7;border-radius:10px;padding:16px;color:#575755;resize:vertical}.sequence-detail-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.sequence-detail-actions .ct-button{font-size:10px;padding:10px 11px}.sequence-options{margin-top:21px;font-size:10px;color:#8d8d8b;line-height:1.8}.sequence-options summary{cursor:pointer}.sequence-options label{display:flex;align-items:center;gap:10px;margin:13px 0}.sequence-options input{flex:1;border:1px solid #d3d3d1;border-radius:6px;padding:8px;background:#fcfcfa;font-size:10px;color:#6c6c6a}.sequence-options>div{display:flex;gap:16px;flex-wrap:wrap}
.library-view-title{font-size:27px;font-weight:450;letter-spacing:-.6px;margin:12px 0;color:#343432}.progression-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:19px;margin-top:24px}.reusable-note{margin-top:28px;padding:21px;border:1px solid #e1e1df;border-radius:11px;background:#f4f4f2}.reusable-note h3{font-size:14px;font-weight:450;color:#545452;margin:0 0 7px}.reusable-note p{font-size:11px;color:#898987;line-height:1.7}.reusable-note textarea{width:100%;min-height:80px;background:#fefefc;border:1px solid #dbdbd9;border-radius:7px;font-family:inherit;font-size:12px;line-height:1.8;padding:12px;margin-bottom:10px;color:#535351}.reusable-note>div{display:flex;gap:14px;align-items:center}
.storage-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.storage-metrics>div{padding:20px;border:1px solid #e2e2e0;border-radius:10px}.storage-metrics strong{font-size:24px;font-weight:400;color:#434341;display:block;letter-spacing:-.7px}.storage-metrics span{font-size:10px;color:#878785;display:block;margin-top:7px}.storage-option{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e5e5e3;padding:19px 0}.storage-option strong{font-size:12px;font-weight:450;color:#535351}.storage-option p{font-size:10px;line-height:1.8;color:#878785;margin:6px 0 0}.storage-option .ct-button{font-size:10px;flex:none;padding:10px}.storage-check{color:#80807e}.storage-confirm{padding:15px;background:#ececea;border-radius:8px;font-size:12px;color:#727270}.storage-confirm .ct-button{margin-right:9px;font-size:10px}.library-footnote{font-size:9px;line-height:1.8;color:#91918f;margin-top:20px}
@media(max-width:620px){.library-dialog{padding:21px 18px 15px}.sequence-detail-grid{grid-template-columns:1fr;gap:21px}.sequence-row{gap:11px}.sequence-thumbnail{width:65px;height:53px}.sequence-row-state{display:none}.sequence-row-copy strong{font-size:12px}.library-toolbar{gap:7px}.library-toolbar input{padding:10px}.storage-metrics>div{padding:12px}.storage-metrics strong{font-size:20px}.storage-option{gap:12px}.library-header h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){.voice-control[data-speaking=true] .voice-bars i{animation:none!important}}

/* 017 · End, carry, attach. Quiet paper follows the pointer; saved work stays put. */
.surface-switch{display:flex;gap:2px;margin-right:auto;margin-left:19px;align-items:center}.surface-switch button{border:0;background:transparent;border-radius:5px;color:#94948a;font:inherit;padding:5px 11px;cursor:pointer}.surface-switch [aria-pressed=true]{background:#fffefb;color:#41413a;box-shadow:0 1px 3px #26261d06}.browser-chrome #preview-address{margin:auto;font-size:9px}.browser-chrome #reset{margin-left:auto}
.session-toolbar .finish-button:not(:disabled){background:#41413a;color:#fffef9;padding:9px 12px;margin-left:3px}.session-toolbar .finish-button:not(:disabled) kbd{color:#d9d9cf;background:transparent;border:0}.session-toolbar .finish-button:hover:not(:disabled){background:#282822}
.selection-dimmer{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0;transition:opacity 160ms ease;overflow:visible}.selection-dimmer.visible{opacity:1}.focus-shade{fill:#23231d;opacity:.065}
.sequence-ended .dock{display:block}.sequence-ended .session-toolbar,.sequence-ended .floating-voice{display:none}.sequence-ended .page-preview{pointer-events:none}.sequence-ended .selection-dimmer{opacity:0}.sequence-ended .feedback-popover{bottom:58px}
.chat-preview{position:relative;min-height:580px;background:#fdfdfa;padding:30px 37px 174px}.chat-example-brand{font-size:14px;font-weight:450;color:#55554e;display:flex;gap:9px;align-items:center}.chat-example-brand span{font-size:8px;font-weight:400;letter-spacing:.4px;color:#adada2}.chat-empty{position:absolute;left:50%;top:39%;transform:translate(-50%,-50%);width:90%;text-align:center}.chat-empty img{opacity:.66}.chat-empty h2{line-height:1.3;font-family:inherit;font-size:29px;font-weight:450;letter-spacing:-.9px;margin:16px 0 10px;color:#53534a}.chat-empty p{font-size:11px;color:#a0a095;margin:0}.workspace[data-surface=chat] .agent-composer{bottom:87px;width:580px}.workspace[data-surface=page] .agent-composer{display:none}
.carry-actions{position:absolute;z-index:16;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:3px;white-space:nowrap;background:#fffffcf0;border:1px solid #e3e3d9;border-radius:10px;padding:5px 8px 5px 13px;box-shadow:0 4px 16px #29291f06;backdrop-filter:blur(14px)}.carry-actions>span:first-child{font-size:9px;color:#97978b;margin-right:5px}.carry-action-rule{height:12px;width:1px;background:#e8e8df;margin:0 4px}.carry-actions button{background:transparent;border:0;border-radius:5px;padding:8px 9px;color:#5d5d53;font-family:inherit;font-size:10px;cursor:pointer}.carry-actions button:hover{background:#f0f0e9}.carry-actions button:disabled{opacity:.4;cursor:default}.carry-actions #carry-new{font-size:18px;padding:2px 8px;color:#96968b}.carry-actions #carry-dismiss{font-size:17px;padding:3px 7px;color:#abab9f}
.carry-ghost{position:fixed;left:0;top:0;z-index:1005;width:156px;height:118px;pointer-events:none;will-change:transform;filter:drop-shadow(0 5px 10px #30302709);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.carry-sheets{position:relative;width:132px;height:82px;isolation:isolate}.carry-sheet{position:absolute;left:9px;top:7px;width:99px;height:64px;display:block;border:1px solid #d9d9cbbf;border-radius:7px;background:#fffefaeb;box-shadow:0 2px 7px #27271e06;transform:translate(calc(var(--sheet)*4px),calc(var(--sheet)*-3px)) rotate(calc(-9deg + var(--sheet)*5deg));overflow:hidden;backdrop-filter:blur(5px)}.carry-sheet img{width:100%;height:100%;object-fit:contain;opacity:.8}.carry-text-sheet{left:29px;top:18px;width:86px;height:53px;padding:8px 10px;background:#fffff3eb}.carry-text-sheet span{font-size:13px;letter-spacing:-.6px;color:#77776c;display:block}.carry-text-sheet i{display:block;width:47px;height:2px;margin-top:5px;background:#d9d9cd;border-radius:1px}.carry-text-sheet i:last-child{width:33px}.carry-label{display:inline-block;border:1px solid #deded5ca;border-radius:6px;padding:6px 8px;background:#fffef9e6;color:#626257;font-size:9px;line-height:1;white-space:nowrap;backdrop-filter:blur(12px)}.carry-escape{display:block;font-size:8px;color:#b5b5a9;padding:4px 8px}.carry-flight-layer{position:fixed;inset:0;z-index:1004;pointer-events:none}.carry-flight-layer .handoff-layer-preview img{width:100%;height:100%;object-fit:contain}.carry-drop-proxy{position:fixed;left:0;top:0;width:132px;height:86px;z-index:1004;pointer-events:none;transform-origin:50% 50%;will-change:transform,opacity}
.composer-prompt{position:absolute;bottom:calc(100% + 12px);left:15px;border:0;background:#fffef8;padding:7px 9px;border-radius:6px;box-shadow:0 1px 6px #29291f05;color:#8d8d7f;font-family:inherit;font-size:10px;cursor:pointer}.composer-prompt kbd{font-size:8px;background:#f0f0e7;border:0;color:#9c9c8f;margin-left:9px}.agent-composer.carry-target{border-color:#bcbcad;box-shadow:0 0 0 3px #dddcd233,0 7px 24px #29291f07;cursor:pointer}.agent-composer.carry-target textarea{cursor:pointer}.agent-composer.carry-uploading{border-color:#d5d5c7}.agent-composer.carry-uploading textarea{pointer-events:none}.composer-attachment{position:relative}#upload-progress{position:absolute;right:0;bottom:4px;width:73px;height:3px;border:0;border-radius:2px;appearance:none;accent-color:#7d7d70;background:#eeeeE5}#upload-progress::-webkit-progress-bar{background:#eeeee5;border-radius:2px}#upload-progress::-webkit-progress-value{background:#88887b;border-radius:2px;transition:width 150ms ease}
.carry-menu{position:fixed;z-index:1010;width:220px;padding:5px;border:1px solid #e1e1d5;border-radius:9px;background:#fffffcf5;box-shadow:0 6px 24px #29291f10;backdrop-filter:blur(16px)}.carry-menu button{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;padding:10px;border:0;background:transparent;border-radius:5px;color:#67675a;font-family:inherit;font-size:11px}.carry-menu button:hover,.carry-menu button:focus-visible{background:#f1f1e9}.carry-menu kbd{font-size:8px;color:#a4a497;background:transparent;border:0}
.review-summary-label{font-size:10px;color:#87877b}.review-summary{font-size:13px;line-height:1.8;min-height:92px}.review-notes{border-top:1px solid #ecece2;padding-top:11px;margin-top:8px}.review-notes>summary{font-size:10px;color:#929284;cursor:pointer;padding-bottom:7px}.review-notes .review-targets{margin:4px 0 9px}.review-notes .review-text{font-size:11px;min-height:106px}.review-footer>div{display:flex;gap:13px}.review-footer .text-button{font-size:9px}.review-footer{margin-top:11px}
@media(max-width:620px){.surface-switch{margin-left:9px}.surface-switch button{padding:4px 8px}.browser-chrome #preview-address{display:none}.carry-actions{gap:0;padding-left:7px;max-width:calc(100% - 18px)}.carry-actions>span:first-child{font-size:8px;margin-right:3px}.carry-actions button{font-size:9px;padding:8px 7px}.carry-ghost{width:140px}.carry-label{font-size:8px}.chat-preview{padding:24px 20px 174px}.chat-empty h2{font-size:25px}.composer-prompt{font-size:9px;left:0}.sequence-ended .feedback-popover{max-width:calc(100vw - 36px)}}
@media(max-width:400px){.carry-actions>span:first-child{display:none}.carry-action-rule{display:none}.carry-actions button{padding:8px 10px}.session-toolbar .finish-button:not(:disabled){padding:8px}.session-toolbar .finish-button kbd{display:none}}
@media(prefers-reduced-motion:reduce){.selection-dimmer,#upload-progress::-webkit-progress-value{transition:none}}

/* 019 · bounded gradient mesh, atmospheric hover, continuous highlighter. */
.session-toolbar,.floating-voice,.carry-actions,.feedback-popover{background:linear-gradient(140deg,#fffefae8,#f8f7f0ca);border-color:#d9d8cecc;box-shadow:inset 0 1px 0 #fffffff2,0 6px 22px #2828190b;backdrop-filter:blur(18px) saturate(1.15)}
.mark-group.past{opacity:.42}.hover-group{opacity:1}.highlight-pigment{fill:none;stroke:url(#selection-pigment);stroke-width:28;stroke-opacity:.74;stroke-linecap:round;stroke-linejoin:round}
.gesture-markup .highlight-pigment{stroke-opacity:.66}.hover-atmosphere,.pigment-smear,.selection-ripple{position:absolute;inset:0;pointer-events:none;mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.hover-atmosphere{z-index:1;background:radial-gradient(circle 120px at var(--hover-x,50%) var(--hover-y,50%),#3155f526,transparent 80%);opacity:0;transition:opacity 160ms}.hover-atmosphere.visible{opacity:1}
.pigment-smear{z-index:1;backdrop-filter:blur(3.5px) saturate(1.14)}.selection-ripple{z-index:3;overflow:hidden}.selection-ripple span{position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,transparent 43%,#3451ef05 53%,#556af340 61%,#3d5cf20a 71%,transparent 78%);transform-origin:center}
.sequence-ended .hover-atmosphere,.sequence-ended .pigment-smear,.sequence-ended .selection-ripple{display:none}.mark-pin{transition:background 140ms,box-shadow 140ms}.mark-pin:hover{box-shadow:0 0 0 3px #3c55ed12}
@media(prefers-reduced-motion:reduce){.hover-atmosphere,.mark-pin{transition:none}}

/* Keep the whole desktop study and its floating controls in view. */
@media(min-width:621px){.study{padding:16px 32px 20px}.study-header{padding-bottom:16px}.study-intro{padding:20px 0 18px}.browser-chrome{height:32px}.page-preview{padding:20px 38px 96px;min-height:max(455px,calc(100dvh - 232px))}.page-content{margin-top:24px;gap:58px}.object-scene{height:210px}.product-info{padding:13px 0}.dock{bottom:18px}}
@media(min-width:621px) and (max-height:740px){.study-intro{padding:12px 0}.page-preview{min-height:455px;padding-bottom:89px}.page-content{margin-top:19px}.object-scene{height:195px}.copy-block h2{font-size:41px}.page-description{margin-bottom:26px}}
@media(max-width:620px){.study-header{gap:12px}.study-links a{display:none}.study-intro{flex-wrap:wrap;gap:12px}.study-intro>div:first-child{width:100%}.study-controls{width:100%;justify-content:space-between;gap:6px}.study-controls #preview-insert{display:none}.study-controls #play-demo{display:inline-flex;align-items:center}.study-controls .setup-launch{display:inline-flex}}

/* 020 · one Select tool, complete hit testing and an optional shortcut guide. */
.workspace[data-mode=component] .drawing-surface{pointer-events:auto;cursor:crosshair}.shortcut-help{position:absolute;z-index:25;bottom:68px;left:50%;transform:translateX(-50%);width:292px;max-width:calc(100vw - 32px);padding:14px 16px;background:#fffefaf5;backdrop-filter:blur(18px);border:1px solid #d9d8ce;border-radius:12px;box-shadow:0 8px 26px #2828190d}.shortcut-help header{font-size:11px;font-weight:500;padding-bottom:8px}.shortcut-help dl{margin:0}.shortcut-help dl>div{display:grid;grid-template-columns:65px 1fr;gap:8px;align-items:center;padding:5px 0}.shortcut-help dt,.shortcut-help dd{margin:0;font-size:11px;color:#77766a}.shortcut-help kbd{font:inherit;font-size:10px;color:#4e4d44;background:#f0efe6;border-radius:3px;padding:2px 4px}.session-toolbar #keyboard-help{font-size:12px}.selectable[data-selection-container=true]{cursor:crosshair}

/* One active contour per shared target; earlier feedback stays on its pins. */
.repeated-target-outline>g{display:none}.repeated-target-outline.pin-focus>g{display:block}

.carry-actions #carry-new{font-size:10px;padding:8px 9px;color:#5d5d53}
@media(max-width:400px){.carry-actions button{padding:8px 7px}}

.carry-actions #carry-dismiss{font-size:10px;padding:8px 7px;color:#77776b}

/* Numerals occupy a widened bay in the SVG edge band. Buttons are only hit areas. */
.mark-pin,.mark-pin.past,.mark-pin:hover,.mark-pin:focus-visible{
  height:16px;min-width:24px;border:0;border-radius:0;background:none;outline:none;
  color:#17203b;font:650 10px/1 system-ui;font-variant-numeric:tabular-nums;
  box-shadow:none;cursor:pointer;transition:color 140ms;
}
.mark-pin.past{opacity:.7}.mark-pin:hover,.mark-pin:focus-visible{opacity:1;color:#080f29;box-shadow:none}
.mark-pin:focus-visible{outline:none;text-decoration:underline;text-underline-offset:2px}

/* 022: joined tool controls and menus anchored eight pixels above their source. */
.selection-switch{gap:6px}.tool-cluster{display:flex;align-items:center;border-radius:7px;background:transparent}
.tool-cluster:has(.mode-button[aria-pressed=true]){background:#eeede6}
.tool-cluster .mode-button,.tool-cluster .mode-button[aria-pressed=true]{background:transparent;border-radius:7px 0 0 7px;padding-right:7px}
.tool-cluster .region-options{width:22px;height:34px;padding:5px;border-radius:0 7px 7px 0;flex-shrink:0}
.tool-cluster .region-options[aria-expanded=true]{background:#e6e4dc}
.dock .tool-options-menu{z-index:24;box-sizing:border-box;width:174px;min-width:0;padding:4px;left:0;bottom:48px;border-radius:10px;background:#fffefaf5;backdrop-filter:blur(18px)}
.tool-options-menu button{height:34px;padding:7px 9px;gap:9px;font-size:11px;line-height:1}
.tool-options-menu svg{width:15px;height:15px;flex-shrink:0}.tool-options-menu span:last-child{font-size:10px;color:#888679}
.floating-voice{transition:bottom 160ms cubic-bezier(.22,1,.36,1)}.dock.tools-open .floating-voice{bottom:var(--menu-mic-bottom,164px)}
.markup .pencil-line,.markup .arrow-head{fill:none;stroke:#4b4b43;stroke-width:2.4;stroke-opacity:.94;stroke-linecap:round;stroke-linejoin:round;filter:none}
.markup-arrow .pencil-line,.markup-arrow .arrow-head{stroke-width:2.8}
@media(max-width:620px){.selection-switch{gap:5px}.tool-cluster .region-options{width:18px;padding:4px}.tool-cluster .mode-button{padding-right:3px}.session-toolbar{gap:2px}.dock .tool-options-menu{width:162px}}
@media(prefers-reduced-motion:reduce){.floating-voice{transition:none}}

.snapshot-gesture{fill:none;stroke:#4656cb;stroke-width:1;stroke-dasharray:4 3;stroke-opacity:.75}

/* 024: stable Select, separate Snapshot, and always-available markup choices. */
.snapshot-tool{flex-shrink:0}.snapshot-tool[aria-pressed=true]{background:#eeede6;color:#36352d}.snapshot-label{font-size:10px}
.floating-voice{bottom:calc(var(--toolbar-height,46px) + 12px)}
.dock.tools-open .floating-voice{bottom:var(--menu-mic-bottom,164px)}
@media(max-width:760px){.snapshot-label{display:none}}
@media(max-width:620px){
  .session-toolbar{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 60px);row-gap:3px}
  .selection-switch{width:100%;justify-content:center;gap:6px}
  #component-mode .mode-label{display:inline;font-size:9px}
  .snapshot-tool{padding:7px 6px;gap:4px}
  .session-toolbar .toolbar-rule{display:none}
  .dock .tool-options-menu{max-width:100%;width:162px}
}

/* 025: thin boundary; white numerals in the stronger purple band bay. */
.mark-group.past,.review-state .mark-group{opacity:1}
.mark-group.past .highlight-pigment,.mark-group.past .pencil-line,.mark-group.past .arrow-head{opacity:.42}
.mark-pin,.mark-pin.past,.mark-pin:hover,.mark-pin:focus-visible{color:#fff;opacity:1;font-size:11px;font-weight:650}
.mark-pin.unbounded,.mark-pin.unbounded:hover,.mark-pin.unbounded:focus-visible{color:#40413e}
