/* Shared Devoralabs visual language; motion stays in owned child layers. */
:root{font-family:'Be Vietnam Pro',Arial,sans-serif;color:#191a19;background:#f8f7f4;font-synthesis:none;--paper:#f8f7f4;--ink:#191a19;--muted:#686b6b;--line:#dddbd5;--red:#bd2034;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button{background:none;border:0}a,button,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:5px}[hidden]{display:none!important}::selection{background:#ecd1d4}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.22;letter-spacing:-.045em}h1{font-size:clamp(42px,4.3vw,66px);font-weight:700}h2{font-size:30px}h3{font-size:19px}.red{color:var(--red)}.page-width{width:min(1360px,calc(100% - 112px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:8px;left:15px;z-index:99;background:var(--ink);color:white;padding:10px 20px;transform:translateY(-150%)}.skip:focus{transform:none}.reading-progress{height:2px;position:fixed;inset:0 auto auto 0;background:var(--red);width:100%;transform:scaleX(0);transform-origin:left;z-index:70;pointer-events:none}
.site-header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 30px;height:89px;border-bottom:1px solid var(--line);background:#ffffffed;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:20px;letter-spacing:-.055em;line-height:1.2;width:max-content}.brand small{display:block;font-weight:500;font-size:9px;letter-spacing:.11em;margin-top:7px}.brand img{border-radius:9px}.main-nav{display:flex;height:100%;gap:14px}.main-nav a{position:relative;display:flex;align-items:center;padding:0 17px;font-size:12px;color:#606363;white-space:nowrap}.main-nav a.active{color:var(--ink);font-weight:600}.main-nav a:after{content:'';position:absolute;bottom:13px;left:17px;right:17px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.main-nav a.active:after,.main-nav a:hover:after{transform:scaleX(1)}.main-nav span{margin-left:7px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px;font-size:11px}.motion-toggle{display:flex;align-items:center;gap:8px;font-size:10px;min-height:44px;padding:5px 0}.motion-toggle>span:first-child{font-size:16px;letter-spacing:-.2em;width:15px}.repo-link{white-space:nowrap}.motion-notice{position:relative;z-index:35;background:#f2e5d8;border-bottom:1px solid #e3cbb4;display:flex;gap:24px;justify-content:center;align-items:center;padding:12px 30px;font-size:11px;color:#574b3c}.motion-notice strong{margin-right:6px}.motion-notice button{font-size:24px;min-width:36px;min-height:36px}
.hero{display:flex;align-items:center;justify-content:space-between;gap:70px;padding:67px 0 52px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:.15em;color:var(--red)}.hero .eyebrow{margin-bottom:24px}.line-mask{display:block;overflow:hidden;padding:0 0 .12em;margin-bottom:-.12em}.line-mask>span{display:block;animation:line-in 1s var(--ease) both}.line-mask:nth-child(2)>span{animation-delay:.12s}.hero-copy{font-size:13px;line-height:1.95;color:var(--muted);margin-top:25px}.hero-links{display:flex;gap:26px;margin-top:23px;align-items:center}.text-link{font-size:11px;padding:0;display:inline-flex;align-items:center;gap:16px;min-height:30px}.text-link span{display:inline-block;transition:transform .25s var(--ease)}.text-link:hover span{transform:translate(3px,-3px)}.hero-summary{border-left:1px solid var(--line);padding-left:42px;flex:0 0 252px;align-self:center}.hero-summary strong{display:block;font-size:92px;font-weight:600;line-height:1;letter-spacing:-.085em;font-variant-numeric:tabular-nums}.hero-summary>span{font-size:12px;display:block;margin-top:17px}.hero-summary small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.summary-dots{display:flex;align-items:center;gap:6px;height:25px;margin-top:8px}.summary-dots i{width:5px;height:5px;background:var(--red);border-radius:50%;animation:dot-breathe 2.4s ease-in-out infinite}.summary-dots i:nth-child(2){animation-delay:.15s}.summary-dots i:nth-child(3){animation-delay:.3s}.summary-dots i:nth-child(4){animation-delay:.45s}.summary-dots i:nth-child(5){animation-delay:.6s}
.library-toolbar{display:flex;gap:20px;align-items:center;border-block:1px solid var(--line);padding:17px 0}.collection-filters{display:flex;align-items:center;gap:4px;overflow:auto;scrollbar-width:thin;flex:1;padding:3px 0}.collection-filters button{white-space:nowrap;font-size:10px;padding:10px 12px;min-height:40px;border-radius:5px;transition:background .2s,color .2s}.collection-filters button:hover{background:#eeece6}.collection-filters button.active{background:var(--ink);color:white}.collection-filters button small,.saved-filter span{font-size:9px;padding:1px 4px;margin-left:6px;border-radius:3px;background:#e8e6df;color:#545652}.collection-filters button.active small{background:#454641;color:white}.search-box{border:1px solid #d5d1c9;display:flex;align-items:center;gap:9px;padding:0 12px;background:white;border-radius:6px;flex:0 0 252px;height:42px;color:#787972}.search-box input{width:100%;min-width:0;border:0;outline:0;background:none;font-size:10px;color:var(--ink)}.search-box:focus-within{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.search-box input:focus-visible{outline:0}.search-box kbd{font-size:10px;color:#9a9993;font-family:inherit}.search-box svg{flex-shrink:0}.library-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:14px 0 36px;font-size:9px;color:var(--muted)}.library-tools{display:flex;align-items:center;gap:19px}.saved-filter{font-size:10px;min-height:34px}.saved-filter[aria-pressed=true]{color:var(--red)}.category-filter select{border:0;background:transparent;max-width:185px;font-size:10px;color:var(--muted);padding:8px 20px 8px 0}.preview-hint{display:flex;align-items:center;gap:7px;font-size:9px;white-space:nowrap}.preview-hint i{width:5px;height:5px;background:#65846b;border-radius:50%}.motion-group{margin-bottom:47px}.group-heading{display:flex;gap:24px;margin-bottom:22px;align-items:flex-start}.group-number{font-size:9px;color:var(--red);padding-top:10px;border-top:2px solid var(--red);min-width:27px}.group-title{display:flex;align-items:center;gap:12px;margin-bottom:8px}.group-title h2{font-size:24px}.group-title small{border:1px solid var(--line);border-radius:50%;font-size:9px;min-width:23px;height:23px;display:grid;place-items:center;color:var(--muted)}.group-heading p{font-size:10px;color:var(--muted);max-width:75ch;line-height:1.8}.motion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.motion-card{position:relative;border:1px solid #dcd9d2;border-radius:12px;overflow:hidden;background:#fff;transition:box-shadow .3s var(--ease),border-color .3s;content-visibility:auto;contain-intrinsic-size:auto 300px}.motion-card:hover{border-color:#b6b1a7;box-shadow:0 10px 28px #21201c09}.preview{position:relative;aspect-ratio:366/200;background:#111619;margin:9px;border-radius:6px;overflow:hidden}.preview>a{display:block;width:100%;height:100%}.preview canvas{width:100%;height:100%;display:block;object-fit:contain}.preview-id{position:absolute;top:11px;left:11px;color:#c2c9cb;font-size:8px;letter-spacing:.08em;pointer-events:none}.preview-play{position:absolute;right:9px;bottom:8px;display:grid;place-items:center;background:#ffffff12;border:1px solid #ffffff24;color:#eef0ed;border-radius:50%;width:31px;height:31px;font-size:12px;line-height:1;backdrop-filter:blur(4px)}.preview-play:hover{background:#ffffff30}.preview-marker{position:absolute;left:11px;bottom:12px;font-size:7px;color:#7e8e97;letter-spacing:.09em;pointer-events:none}.card-copy{padding:8px 19px 16px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-title-row h3{font-size:15px;font-weight:600;letter-spacing:-.04em}.card-title-row a{padding-block:5px}.save-button{font-size:20px;line-height:1;min-width:32px;min-height:32px;color:#8c8c85}.save-button[aria-pressed=true]{color:var(--red)}.card-copy p{font-size:10px;color:var(--muted);margin-top:1px}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:10px;border-top:1px solid #efede8;font-size:8px;color:#898981}.card-bottom a{color:#424640;display:flex;align-items:center;gap:14px}.card-bottom a span{display:inline-block;transition:transform .2s}.motion-card:hover .card-bottom a span{transform:translate(2px,-2px)}.card-entry{animation:card-enter .6s var(--ease) both;animation-delay:var(--delay,0ms)}.empty-state{text-align:center;padding:90px 20px 120px}.empty-state>span{font-size:10px;color:var(--red)}.empty-state h2{margin:14px 0}.empty-state p{font-size:12px;color:var(--muted);margin-bottom:25px}
.button{border:1px solid #d1cdc4;background:#fff;border-radius:5px;min-height:43px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:11px;transition:transform .2s var(--ease),background .2s}.button:hover{background:#f0eee8}.button:active{transform:scale(.97)}.button.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.button.dark:hover{background:#343630}.button.full{width:100%;margin-top:11px;justify-content:space-between}.square-button{width:40px;height:40px;border:1px solid var(--line);border-radius:5px;background:var(--paper);font-size:17px;flex-shrink:0}.back-link{font-size:10px;color:var(--muted)}.section-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.lab-page,.practice-page{padding-top:35px}.lab-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:31px}.lab-heading h1{font-size:clamp(35px,4vw,54px);margin:10px 0}.lab-heading>div>p:last-child{font-size:12px;color:var(--muted)}.lab-picker label{display:block;font-size:9px;color:var(--muted);margin-bottom:7px}.lab-picker>div{display:flex;gap:8px}.lab-picker select{max-width:265px;border:1px solid var(--line);background:white;padding:9px 15px;font-size:11px;border-radius:5px}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:35px;align-items:start}.lab-demo{min-width:0}.stage-tabs{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-bottom:0;background:white;border-radius:9px 9px 0 0;padding:9px 14px;font-size:9px;color:var(--muted)}.stage-tabs button{padding:8px 10px;font-size:10px;color:var(--muted);border-radius:4px}.stage-tabs button.active{color:var(--ink);background:#eeece6}.lab-stage{position:relative;background:#111619;aspect-ratio:1.9;display:flex;align-items:center;justify-content:center;overflow:hidden}.lab-stage canvas{width:100%;height:auto;display:block}.lab-stage img{height:100%;max-width:100%;object-fit:contain}.stage-note{position:absolute;left:22px;bottom:16px;color:#74858d;font-size:7px;letter-spacing:.15em;pointer-events:none}.playback-buttons{display:flex;align-items:center;gap:10px;padding:15px 0}.playback-buttons .button{min-width:92px;min-height:38px;padding:8px 13px}.speed-control{display:flex;gap:8px;align-items:center;margin-left:auto;font-size:9px;color:var(--muted)}.speed-control select{background:white;border:1px solid var(--line);font-size:11px;padding:7px;border-radius:4px}.playback-buttons output{font-size:10px;min-width:66px;text-align:right;font-variant-numeric:tabular-nums}.scrub-label{display:flex;align-items:center;gap:20px;font-size:9px;color:var(--muted)}input[type=range]{accent-color:var(--red);min-height:30px}.scrub-label input{flex:1;min-width:0}.demo-disclosure{font-size:9px;color:var(--muted);line-height:1.9;margin-top:15px}.recipe-panel{background:#efede6;border:1px solid #e1ded5;border-radius:9px;padding:25px}.recipe-panel h2{font-size:24px;margin:13px 0 16px}.recipe-panel>p:not(.eyebrow){font-size:12px;color:#5d625e}.recipe-note,.recipe-timing{margin-top:23px;padding-top:20px;border-top:1px solid #d6d2c7}.recipe-note>span,.recipe-timing>span{font-size:8px;letter-spacing:.12em;color:var(--muted)}.recipe-note p,.recipe-timing p{font-size:10px;margin-top:7px;line-height:1.9;color:#555c56}.download-link{display:flex;justify-content:space-between;margin:16px 1px 0;font-size:10px}.recipe-panel .recipe-footnote{font-size:9px!important;margin-top:22px;line-height:1.9}.lab-bottom{margin:65px 0 60px;display:flex;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding:32px 0;gap:25px}.lab-bottom h2{margin:10px 0;font-size:28px}.lab-bottom p{font-size:11px;color:var(--muted)}
.site-footer{border-top:1px solid var(--line);padding-block:29px;display:flex;align-items:center;gap:30px;margin-top:42px;font-size:9px;color:var(--muted)}.footer-brand{font-size:18px;color:var(--ink);gap:0}.site-footer>div{display:flex;gap:23px;margin-left:auto;align-items:center}.site-footer .text-link{font-size:9px}dialog{border:1px solid var(--line);border-radius:12px;padding:42px;max-width:550px;width:calc(100% - 36px);background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0002}dialog::backdrop{background:#171b1b80;backdrop-filter:blur(7px)}dialog h2{margin:17px 0;font-size:34px}dialog p:not(.eyebrow){font-size:12px;color:var(--muted)}dialog pre{font:11px/1.8 monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#ebe8df;padding:18px;margin:20px 0}dialog .text-link{margin-left:15px}dialog small{display:block;font-size:9px;color:var(--muted);margin-top:24px}.dialog-close{position:absolute;top:15px;right:15px;border:0;background:none}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);background:#191a19;color:white;border-radius:6px;font-size:11px;padding:11px 23px;opacity:0;pointer-events:none;transition:opacity .2s,transform .3s var(--ease);z-index:99;max-width:calc(100% - 30px)}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* The working interface uses the same catalog vocabulary, with real DOM state. */
.practice-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;margin:50px 0 65px}.practice-intro h1{margin:18px 0 22px;font-size:clamp(38px,4.5vw,65px)}.practice-intro p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:53ch}.practice-intro .button{margin-top:25px}.practice-art{perspective:900px;min-height:280px;display:grid;place-items:center;background:#eeeae0;border-radius:12px;position:relative;overflow:hidden}.orbit-ring{position:absolute;border:1px solid #b8b7ac;width:280px;height:170px;border-radius:50%;transform:rotate(-24deg);pointer-events:none}.orbit-ring:after{content:'';width:12px;height:12px;border-radius:50%;background:var(--red);position:absolute;top:23px;left:20px}.tilt-card{background:#fff;width:218px;border:1px solid #d5d0c6;border-radius:8px;padding:24px;box-shadow:0 15px 25px #2f322311;transform:rotate(-6deg);will-change:transform;transform-style:preserve-3d;transition:transform .3s var(--ease)}.tilt-card small{font-size:8px;letter-spacing:.1em;color:var(--red)}.tilt-card strong{display:block;font-size:31px;line-height:1.2;letter-spacing:-.055em;margin:13px 0}.tilt-card>span{font-size:9px;color:var(--muted)}.tilt-lines{display:flex;gap:6px;margin-top:23px}.tilt-lines i{height:6px;width:30px;background:var(--red);border-radius:3px}.tilt-lines i:nth-child(2){background:#5178de;width:70px}.tilt-lines i:nth-child(3){background:#adc174;width:20px}.inspect-chip{display:inline-flex;align-items:center;gap:7px;font-size:8px;color:var(--muted);border:1px solid var(--line);padding:4px 8px;border-radius:20px;background:#fff9}.inspect-chip:hover{color:var(--red);border-color:#ba8e95}.art-inspect{position:absolute;bottom:15px;right:15px}.practice-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.practice-section-head h2{margin-top:9px}.practice-section-head p:not(.eyebrow){font-size:10px;color:var(--muted);max-width:43ch}.workflow{margin-bottom:60px}.workflow-svg{width:100%;height:76px;display:block;overflow:visible}.workflow-svg path{fill:none;stroke:var(--red);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1}.workflow-svg.drawn path{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--ease)}.workflow-svg circle{fill:var(--paper);stroke:var(--red);stroke-width:1.5}.practice-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:0;margin:0}.practice-steps li{border-top:1px solid #bdbab1;padding:18px 0}.practice-steps li>span{font-size:10px;color:var(--red)}.practice-steps h3{font-size:16px;margin:20px 0 12px}.practice-steps p{font-size:10px;color:var(--muted)}.practice-steps .inspect-chip{margin-top:15px}.workspace{border:1px solid #d9d5ca;border-radius:12px;overflow:hidden;background:white;margin-bottom:55px}.workspace-top{padding:20px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:17px}.workspace-dot{width:29px;height:29px;display:grid;place-items:center;background:#e9eadd;border-radius:7px}.workspace-top h3{font-size:14px}.workspace-top p{font-size:8px;color:var(--muted)}.workspace-top .workspace-label{margin-left:auto;color:var(--red);font-size:8px;letter-spacing:.08em}.workspace-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:330px}.project-area{padding:23px 25px}.project-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:20px}.project-tabs{display:flex;gap:6px}.project-tabs button{padding:6px 10px;border-radius:4px;font-size:9px}.project-tabs button.active{background:#f0eee7;color:var(--red)}.project-tools{display:flex;gap:9px}.project-tools select{font-size:9px;border:1px solid var(--line);border-radius:4px;padding:6px;background:white}.task-list{display:grid;gap:9px}.task{display:flex;align-items:center;gap:12px;border:1px solid #e3e0d8;border-radius:5px;padding:12px 14px;min-height:51px}.task input{accent-color:var(--red);width:15px;height:15px;flex-shrink:0}.task>div{flex:1}.task strong{font-weight:500;font-size:10px}.task p{font-size:8px;color:var(--muted)}.task:has(input:checked) strong{text-decoration:line-through;color:#8d9288}.task-label{font-size:8px;padding:3px 7px;background:#f0eee5;border-radius:3px;color:#7c8072}.workspace-side{padding:25px;background:#f2f1eb;border-left:1px solid var(--line)}.workspace-side .eyebrow{font-size:8px}.completion-count{font-size:43px;font-weight:600;letter-spacing:-.06em;line-height:1.2;margin:15px 0 3px;font-variant-numeric:tabular-nums}.workspace-side>p:not(.eyebrow){font-size:9px;color:var(--muted)}.completion-track{height:5px;background:#e2e1d7;border-radius:4px;margin:19px 0}.completion-track span{display:block;height:100%;background:var(--red);border-radius:4px;transition:width .5s var(--ease)}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin-top:24px;font-size:10px}.toggle-switch{width:36px;height:22px;background:#c9c9bd;border-radius:30px;padding:3px;transition:background .2s}.toggle-switch:after{content:'';display:block;width:16px;height:16px;border-radius:50%;background:white;transform:translateX(0);transition:transform .25s var(--ease)}.toggle-switch[aria-checked=true]{background:var(--red)}.toggle-switch[aria-checked=true]:after{transform:translateX(14px)}.workspace-side .inspect-chip{margin-top:19px}.activity-row{border-bottom:1px solid var(--line);padding:16px 0;font-size:10px}.activity-row small{display:block;font-size:8px;color:var(--muted)}.practice-credits{display:flex;gap:7px;flex-wrap:wrap;padding:0 25px 20px}.practice-end{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:65px}.practice-end h2{font-size:35px;margin:12px 0 19px}.practice-end p{font-size:11px;color:var(--muted);max-width:47ch}.accordion-item{border-top:1px solid var(--line)}.accordion-item:last-child{border-bottom:1px solid var(--line)}.accordion-trigger{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;padding:18px 0;font-size:12px}.accordion-trigger>span{transition:transform .25s}.accordion-trigger[aria-expanded=true]>span{transform:rotate(45deg)}.accordion-content{overflow:hidden}.accordion-content p{padding-bottom:19px;font-size:10px}.practice-footnote{font-size:9px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:25px}
@keyframes line-in{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes card-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes dot-breathe{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-4px);opacity:1}}
html[data-reduced=true]{scroll-behavior:auto}html[data-reduced=true] *,html[data-reduced=true] *:before,html[data-reduced=true] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.line-mask>span,.card-entry{will-change:auto}
@media(min-width:1700px){.page-width{width:min(1440px,calc(100% - 180px))}.hero{padding-top:64px;padding-bottom:49px}.hero h1{font-size:58px}.hero-summary{flex-basis:200px;padding-left:38px}.hero-summary strong{font-size:88px}.collection-filters button{padding-inline:14px}}
@media(max-width:1200px){.page-width{width:calc(100% - 70px)}.site-header{padding-inline:22px;gap:15px}.header-actions{gap:15px}.main-nav{gap:0}.main-nav a{padding-inline:14px}.hero{gap:40px}.hero-summary{flex-basis:215px;padding-left:30px}.library-toolbar{flex-wrap:wrap}.collection-filters{order:2;flex-basis:100%}.search-box{margin-left:auto;flex-basis:280px}.library-toolbar{position:relative}.library-toolbar:before{content:'FIND YOUR NEXT MOVE';font-size:9px;color:var(--muted);letter-spacing:.1em}.lab-layout{gap:24px;grid-template-columns:minmax(0,1fr) 290px}.lab-picker select{max-width:220px}.workspace-body{grid-template-columns:minmax(0,1fr) 235px}}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:auto;min-height:80px;row-gap:0;padding-top:15px}.main-nav{order:3;grid-column:1/-1;justify-content:center;height:46px;margin-top:7px}.main-nav a:after{bottom:0}.header-actions .repo-link{display:none}.hero{padding-top:47px}.hero-summary{flex-basis:175px;padding-left:25px}.hero-summary strong{font-size:72px}.hero-summary small{max-width:135px}.motion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.preview-hint{display:none}.lab-heading{align-items:flex-start;flex-direction:column}.lab-picker{width:100%}.lab-picker>div{width:100%}.lab-picker select{max-width:none;flex:1;min-width:0}.lab-layout{grid-template-columns:1fr}.recipe-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}.recipe-panel>.eyebrow,.recipe-panel>h2,.recipe-panel>#recipe-text{grid-column:1/-1}.recipe-panel h2{margin:0}.recipe-note,.recipe-timing{margin-top:0}.recipe-panel .recipe-footnote{margin-top:0}.practice-intro{gap:35px}.practice-art{min-height:250px}.practice-steps{grid-template-columns:repeat(2,1fr)}.workflow-svg{height:45px}.workspace-body{grid-template-columns:1fr 230px}.site-footer{flex-wrap:wrap;gap:14px}.site-footer>div{flex-basis:100%;margin-left:0;justify-content:space-between}.site-footer>p{margin-left:auto}.practice-end{gap:35px}}
@media(max-width:600px){body{font-size:13px}.page-width{width:calc(100% - 36px)}.site-header{padding-inline:18px;min-height:74px;padding-top:13px}.brand{font-size:18px;gap:9px}.brand img{width:34px;height:34px}.brand small{font-size:7px;margin-top:5px}.main-nav{height:44px}.main-nav a{font-size:10px;padding-inline:17px}.motion-toggle{font-size:9px;gap:6px}.header-actions{gap:0}.hero{display:block;padding:37px 0 29px}.hero .eyebrow{font-size:8px;margin-bottom:21px}.hero h1{font-size:clamp(35px,9vw,47px);letter-spacing:-.055em}.hero-copy{font-size:11px;margin-top:21px}.hero-links{margin-top:17px;gap:22px}.hero-links .text-link{font-size:9px;gap:10px}.hero-summary{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center;border:0;border-top:1px solid var(--line);padding:22px 0 0;margin-top:27px}.hero-summary strong{grid-row:1/3;font-size:52px;line-height:1}.hero-summary>span{margin:0;font-size:11px;align-self:end}.hero-summary small{margin:0;max-width:none;align-self:start;font-size:9px}.summary-dots{display:none}.library-toolbar{gap:12px;padding:12px 0}.library-toolbar:before{font-size:8px}.search-box{flex-basis:100%;margin:0;order:0;height:41px}.collection-filters{margin-right:-18px;padding-right:18px}.collection-filters button{font-size:9px;padding:9px 11px}.library-meta{display:block;margin:12px 0 28px}.library-tools{justify-content:space-between;margin-top:7px;gap:10px}.category-filter select{font-size:9px}.group-heading{gap:14px;margin-bottom:17px}.group-title h2{font-size:22px}.group-heading p{font-size:9px}.group-number{font-size:8px;min-width:22px}.motion-grid{grid-template-columns:1fr;gap:20px}.motion-group{margin-bottom:38px}.motion-card{contain-intrinsic-size:auto 325px}.preview{aspect-ratio:366/190}.card-title-row h3{font-size:16px}.card-copy p{font-size:11px}.card-bottom{font-size:9px}.card-copy{padding-bottom:17px}.preview-id{font-size:9px}.preview-play{width:35px;height:35px}.section-topline{margin-bottom:27px;gap:10px}.section-topline .eyebrow{font-size:7px}.back-link{font-size:9px}.lab-page,.practice-page{padding-top:24px}.lab-heading h1{font-size:37px}.lab-heading{gap:22px;margin-bottom:21px}.lab-picker select{font-size:10px;padding-inline:7px}.lab-stage{aspect-ratio:1.5}.stage-tabs{padding:8px}.stage-tabs button{font-size:9px}.stage-note{bottom:11px;left:13px;font-size:6px}.playback-buttons{gap:7px;flex-wrap:wrap}.playback-buttons .button{min-width:78px;font-size:10px}.speed-control{font-size:8px;gap:5px}.playback-buttons output{font-size:9px;min-width:59px}.scrub-label{gap:14px;font-size:8px}.recipe-panel{display:block;padding:22px}.recipe-panel h2{margin:13px 0}.recipe-note,.recipe-timing{margin-top:21px}.recipe-panel .recipe-footnote{margin-top:19px}.lab-bottom{margin-top:35px;display:block}.lab-bottom h2{font-size:26px}.lab-bottom .button{margin-top:20px}.practice-intro{grid-template-columns:1fr;gap:30px;margin:30px 0 40px}.practice-intro h1{font-size:42px}.practice-art{min-height:270px}.practice-section-head{display:block}.practice-section-head p:not(.eyebrow){margin-top:12px}.practice-section-head h2{font-size:25px}.practice-steps{gap:16px}.practice-steps h3{font-size:14px}.practice-steps p{font-size:9px}.workflow{margin-bottom:32px}.workspace-top{padding:17px;gap:10px}.workspace-top .workspace-label{font-size:6px}.workspace-body{grid-template-columns:1fr}.project-area{padding:17px}.project-toolbar{gap:8px}.project-tabs button{padding:6px 8px;font-size:8px}.project-tools select{font-size:8px;max-width:112px}.workspace-side{border-left:0;border-top:1px solid var(--line);padding:20px}.completion-count{font-size:34px}.practice-credits{padding:17px}.practice-end{grid-template-columns:1fr;gap:26px;margin-bottom:40px}.practice-end h2{font-size:32px}.site-footer{margin-top:25px;padding-block:23px}.site-footer>p{font-size:8px;max-width:160px;text-align:right}.site-footer>div{gap:12px;font-size:8px}.site-footer .text-link{font-size:8px}dialog{padding:30px 23px}dialog h2{font-size:28px}dialog .text-link{display:flex;margin:10px 0 0}.motion-notice{font-size:10px;padding:10px 18px;gap:9px}.empty-state h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.magnetic-visual{display:inline-flex;align-items:center;gap:18px;transition:transform .2s var(--ease)}.project-toolbar{flex-wrap:wrap}.task{position:relative}.task input{appearance:none;border:1px solid #bbbdb2;border-radius:3px;background:#fff;transition:background .2s,border-color .2s}.task input:checked{background:var(--red);border-color:var(--red)}.task-check{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:13px;height:13px;pointer-events:none}.task-check path{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .3s var(--ease)}.task input:checked+.task-check path{stroke-dashoffset:0}

#main:focus{outline:none}

/* Stable grid anchors; only the child surface enters. Hover moves artwork, not links. */
.motion-card{background:none;border:0;overflow:visible;content-visibility:visible;isolation:isolate}
.motion-card:hover{box-shadow:none;border:0}
.card-surface{position:relative;height:100%;min-width:0;border:1px solid #dcd9d2;border-radius:12px;overflow:hidden;background:#fff;transform:none;opacity:1;clip-path:none;transition:box-shadow .3s var(--ease),border-color .3s}
.motion-card:hover .card-surface{border-color:#b6b1a7;box-shadow:0 10px 28px #21201c09}
.motion-card:focus-within .card-surface{border-color:var(--red)}
.preview canvas{transition:transform .28s var(--ease);transform-origin:50% 50%}
.card-word{display:inline-block}
.group-title{flex-wrap:wrap;row-gap:6px}
.group-motion-label{font-size:8px;color:#8b8478;background:#eeece5;border-radius:4px;padding:3px 7px;letter-spacing:.01em}
.card-decoration{position:absolute;inset:0;pointer-events:none;z-index:3;border-radius:11px;overflow:hidden}
.card-outline{position:absolute;inset:1px;width:calc(100% - 2px);height:calc(100% - 2px);opacity:0;overflow:visible}
.card-outline rect{fill:none;stroke:var(--red);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.card-sweep{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#ffffff85 50%,transparent 70%);opacity:0}
.card-frame-bar{position:absolute;left:9px;right:9px;height:22%;background:var(--paper);opacity:0}
.card-frame-bar.top{top:9px;transform-origin:50% 0%}.card-frame-bar.bottom{bottom:9px;transform-origin:50% 100%}
.card-accent{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:0 50%;opacity:0}
.card-spotlight{position:absolute;inset:0;border-radius:11px;background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,40%),#fff9 0%,#e8b9a72a 24%,transparent 65%);box-shadow:inset 0 0 0 2px #bd203477;opacity:0;transition:opacity .2s}
.card-particles{position:absolute;inset:0;pointer-events:none}
.card-particles i{position:absolute;left:50%;top:40%;width:5px;height:5px;border-radius:50%;background:var(--dot-color);opacity:0}
@media(max-width:600px){.group-motion-label{font-size:7px}.card-bottom{gap:12px}.card-bottom>span{font-size:8px}}

.motion-grid{overflow:clip;overflow-clip-margin:14px}

.main-nav{gap:2px}.main-nav a{padding-inline:12px}.main-nav a:after{left:12px;right:12px}
.portfolio-demo-view{display:flex;flex-direction:column;height:calc(100dvh - 89px);min-height:350px}
.portfolio-demo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 30px;border-bottom:1px solid var(--line);background:var(--paper);flex-shrink:0}
.portfolio-demo-toolbar h1{font-size:18px;letter-spacing:-.045em;white-space:nowrap}
.portfolio-demo-toolbar h1 small{display:block;color:var(--muted);font-size:9px;letter-spacing:0;font-weight:400;margin-top:5px}
.portfolio-demo-controls{display:flex;align-items:center;gap:20px}.portfolio-demo-controls label{display:grid;gap:3px;font-size:8px;color:var(--muted)}
.portfolio-demo-controls select{background:#fff;border:1px solid var(--line);border-radius:4px;font-size:10px;color:var(--ink);padding:7px 26px 7px 9px;min-height:34px;max-width:240px}
.portfolio-demo-controls .text-link{font-size:9px}.portfolio-demo-stage{position:relative;flex:1;min-height:0;background:var(--paper)}
.portfolio-demo-stage iframe{border:0;width:100%;height:100%;display:block;background:var(--paper)}.demo-loading{position:absolute;inset:20px;pointer-events:none;font-size:12px;color:var(--muted)}
.portfolio-mode{overflow:hidden}.portfolio-mode .site-footer{display:none}.portfolio-mode .reading-progress{display:none}.portfolio-mode .motion-notice:not([hidden])~main .portfolio-demo-view{height:calc(100dvh - 155px)}
@media(max-width:1100px){.site-header{gap:10px;padding-inline:20px}.header-actions{gap:14px}.main-nav a{font-size:10px;padding-inline:10px}.main-nav a:after{left:10px;right:10px}.repo-link{font-size:9px}.portfolio-demo-toolbar{padding-inline:20px}}
@media(max-width:900px){.portfolio-demo-view{height:calc(100dvh - 122px)}.portfolio-mode .motion-notice:not([hidden])~main .portfolio-demo-view{height:calc(100dvh - 195px)}.main-nav{width:100%;justify-content:center}.main-nav a{padding-inline:15px}.portfolio-demo-controls{gap:12px}.portfolio-demo-toolbar h1 small{max-width:130px;white-space:normal}}
@media(max-width:600px){.main-nav{overflow-x:auto;justify-content:space-between;gap:0;scrollbar-width:thin}.main-nav a{font-size:9px;padding-inline:9px;flex-shrink:0}.main-nav a:after{left:9px;right:9px}.main-nav a span{display:none}.portfolio-demo-view{height:calc(100dvh - 109px)}.portfolio-demo-toolbar{padding:10px 14px;gap:10px;align-items:center}.portfolio-demo-toolbar h1{font-size:15px}.portfolio-demo-toolbar h1 small{font-size:7px;max-width:85px}.portfolio-demo-controls{gap:7px;flex-wrap:wrap;justify-content:flex-end}.portfolio-demo-controls select{font-size:9px;max-width:148px;padding:7px 18px 7px 6px}.portfolio-demo-controls label{font-size:7px}.portfolio-demo-controls .text-link{font-size:8px;flex-basis:100%;justify-content:flex-end;min-height:20px}.portfolio-mode .motion-notice:not([hidden])~main .portfolio-demo-view{height:calc(100dvh - 209px)}}
