.fde-page{max-width:1160px;margin:0 auto;padding:28px clamp(18px,4vw,56px) 100px;color:var(--ink-2);font-family:var(--font-body);font-size:1rem;line-height:1.65}
.fde-page *{box-sizing:border-box}.fde-page [hidden]{display:none!important}.fde-page h1,.fde-page h2,.fde-page h3{color:var(--ink-1);line-height:1.16;letter-spacing:-.025em;font-family:var(--font-display);font-weight:650}
.fde-page h1{font-size:clamp(2.5rem,4.8vw,4.7rem);margin:0 0 18px}.fde-page h2{font-size:clamp(1.75rem,3vw,2.6rem);margin:0 0 16px}.fde-page h3{font-size:1.2rem;margin:24px 0 12px}.fde-page p{margin:0 0 18px;max-width:76ch}.fde-page a{color:var(--text-accent)}
.fde-page .path-breadcrumb{margin-bottom:34px;font-size:.9rem}.fde-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:20px;margin-bottom:28px}.fde-lead{font-size:1.2rem;color:var(--ink-3);max-width:32ch!important}.fde-hero-action{display:flex;align-items:flex-start;gap:12px;flex-direction:column;margin:26px 0 14px}.fde-hero-action>span,.fde-progress-label{font-size:.875rem;color:var(--ink-3)}
.fde-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;gap:10px;border:1px solid var(--border-strong);border-radius:5px;color:var(--ink-1)!important;background:var(--paper-1);font:600 .9rem/1.4 var(--font-body);text-decoration:none!important;cursor:pointer}.fde-button:hover{background:var(--paper-2)}.fde-button--primary{background:var(--tape-orange-lo);color:#fff!important;border-color:var(--tape-orange-lo)}.fde-button--primary:hover{background:#a9320b}.fde-text-link{display:inline-block;font-weight:600;min-height:44px;padding:10px 0;text-underline-offset:4px}.fde-page :is(a,button,input,summary):focus-visible{outline:3px solid var(--text-accent);outline-offset:4px}
.fde-art{margin:0;min-width:0}.fde-art button{position:relative;display:block;padding:0;width:100%;border:0;background:#fff;cursor:zoom-in;border-radius:6px;overflow:hidden;color:#1a1613}.fde-art img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain}.fde-art button>span{position:absolute;bottom:9px;right:12px;font-size:.75rem;background:rgba(255,255,255,.94);border-radius:3px;padding:3px 6px}.fde-hero .fde-art img{mix-blend-mode:multiply}.fde-art--wide{margin-top:36px;max-width:760px}.fde-orientation{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;padding:22px 0;border-top:1px solid var(--border-soft);font-size:.9375rem}.fde-orientation p{margin-bottom:6px}.fde-orientation details>summary{color:var(--text-accent);font-weight:600;cursor:pointer;min-height:44px;padding:4px 0}.fde-orientation details p{margin:12px 0}
.fde-tabs{display:flex;gap:clamp(8px,2vw,28px);border-bottom:1px solid var(--border-strong);margin:0 0 28px;overflow-x:auto;scrollbar-width:thin}.fde-tabs button{position:relative;flex:none;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:15px 5px 12px;font:600 .95rem/1.4 var(--font-body);color:var(--ink-3);cursor:pointer;min-height:48px}.fde-tabs button[aria-selected=true]{color:var(--text-accent);border-bottom-color:var(--text-accent)}
.fde-role-workspace{display:grid;grid-template-columns:195px 1fr;gap:30px;align-items:start}.fde-role-list{display:flex;flex-direction:column;border:1px solid var(--border-soft);border-radius:5px;overflow:hidden}.fde-role-list button{display:flex;justify-content:space-between;gap:8px;min-height:47px;text-align:left;background:var(--paper-1);color:var(--ink-2);padding:13px 14px;border:0;border-bottom:1px solid var(--border-soft);border-left:3px solid transparent;font:500 .9375rem/1.3 var(--font-body);cursor:pointer}.fde-role-list button:last-child{border-bottom:0}.fde-role-list button[aria-pressed=true]{border-left-color:var(--text-accent);color:var(--text-accent);background:var(--paper-2)}.fde-role-list button:hover{background:var(--paper-2)}.fde-role-content{min-width:0}.fde-role-heading{display:flex;align-items:flex-start;gap:15px;justify-content:space-between}.fde-role-heading .fde-button{white-space:nowrap;font-size:.8125rem}.fde-role-heading h2{font-size:2rem}.fde-role-heading p{font-size:1rem}.fde-question{padding-left:15px;border-left:2px solid var(--text-accent);color:var(--ink-1);font-size:1.1rem}.fde-role-progress{font-size:.875rem;display:flex;flex-direction:column;gap:7px;color:var(--ink-3);margin:20px 0}.fde-role-progress progress{width:100%;height:5px;accent-color:var(--moss)}
.fde-lessons{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-soft)}.fde-lessons li{margin:0;border-bottom:1px solid var(--border-soft)}.fde-lessons a{display:grid;grid-template-columns:35px 1fr auto 14px;gap:13px;align-items:center;padding:15px 4px;text-decoration:none;color:var(--ink-2)}.fde-lessons a:hover{background:var(--paper-2)}.fde-lessons strong{font-size:.97rem;font-weight:550}.fde-lessons small{display:block;color:var(--ink-3);font-size:.875rem;line-height:1.55;margin-top:4px}.fde-lesson-id{font: .78rem var(--font-mono);color:var(--ink-3)}.fde-lesson-time{font-size:.78rem;color:var(--ink-3);white-space:nowrap}.fde-evidence{border-left:3px solid var(--moss);padding:4px 0 0 20px;margin:28px 0}.fde-evidence h3{margin-top:0}.fde-evidence ul{margin:0 0 14px;padding-left:18px}.fde-evidence li{margin:7px 0;font-size:.9375rem}.fde-evidence p{font-size:.9375rem}.fde-details{margin:24px 0}.fde-details summary{min-height:44px;padding:8px 0;font-weight:600;cursor:pointer}.fde-details p{margin-top:12px}.fde-role-intro{max-width:850px;margin-bottom:36px}.fde-role-page>.fde-role-heading{display:none}.fde-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--border-soft);margin-top:42px;padding-top:25px;font-size:.9rem}.fde-footer p{margin:0;max-width:52ch}.fde-footer a{white-space:nowrap}
.fde-section-head{display:flex;justify-content:space-between;gap:26px;align-items:flex-start;margin-bottom:26px}.fde-section-head .fde-button{flex:none}.fde-search{display:grid;grid-template-columns:1fr auto;gap:8px 22px;margin-bottom:25px;align-items:center}.fde-search label{font-size:.9rem;grid-column:1/-1;font-weight:600}.fde-search input{width:100%;min-height:48px;background:var(--paper-1);border:1px solid var(--border-strong);border-radius:4px;padding:12px;color:var(--ink-1);font:1rem var(--font-body)}.fde-search p{margin:0;font-size:.875rem}.fde-phase{border-top:1px solid var(--border-soft)}.fde-phase:last-child{border-bottom:1px solid var(--border-soft)}.fde-phase>summary{display:grid;grid-template-columns:30px 1fr auto;gap:16px;align-items:center;cursor:pointer;list-style:none;padding:21px 3px;min-height:60px}.fde-phase>summary::-webkit-details-marker{display:none}.fde-phase>summary>span{color:var(--text-accent);font-family:var(--font-mono);font-size:.8125rem}.fde-phase h3{margin:0;font-size:1.2rem}.fde-phase summary small{font-size:.8125rem;color:var(--ink-3)}.fde-phase>div{padding:0 0 28px 46px}.fde-phase-gate{font-size:.9375rem;max-width:80ch}.fde-empty{padding:24px;border:1px solid var(--border-soft)}
.fde-lab-index{margin:26px 0}.fde-lab-index>a{display:grid;grid-template-columns:35px 1fr 20px;gap:20px;border-top:1px solid var(--border-soft);padding:24px 5px;color:var(--ink-1);text-decoration:none}.fde-lab-index>a:hover{background:var(--paper-2)}.fde-lab-index h3{margin:0 0 8px;font-size:1.25rem}.fde-lab-index p{margin:0;color:var(--ink-3);font-size:.95rem}.fde-lab-index>a>span{color:var(--text-accent);font: .875rem var(--font-mono);padding-top:4px}.fde-lab-intro{margin-bottom:30px;max-width:800px}.fde-lab-intro h1{font-size:clamp(2.3rem,4vw,3.5rem)}.fde-lab-switcher{margin-top:32px;display:flex;gap:12px 24px;flex-wrap:wrap;border-top:1px solid var(--border-soft);padding-top:24px}.fde-lab-switcher a{font-size:.875rem;min-height:44px;padding:10px 0}.fde-lab-switcher a[aria-current]{font-weight:700;color:var(--ink-1)}.fde-inline-lab{margin:40px 0}
.fde-studio-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;margin-bottom:32px}.fde-studio-feature h3{font-size:1.75rem;margin-top:0}.fde-studio-list>article{display:grid;grid-template-columns:35px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--border-soft)}.fde-studio-list>article>span{font-family:var(--font-mono);color:var(--text-accent);padding-top:4px}.fde-studio-list h3{margin-top:0;font-size:1.4rem}.fde-studio-list p{font-size:.9375rem;color:var(--ink-3)}.fde-review{margin-top:35px;padding-top:20px;border-top:2px solid var(--text-accent)}.fde-review>.fde-button{margin:12px 12px 0 0}.fde-table-wrap{max-width:100%;overflow-x:auto;margin:18px 0}.fde-table-wrap table{width:100%;border-collapse:collapse;font-size:.9375rem;text-align:left}.fde-table-wrap caption{text-align:left;margin-bottom:10px;color:var(--ink-3)}.fde-table-wrap :is(th,td){padding:12px;border-bottom:1px solid var(--border-soft);vertical-align:top}.fde-table-wrap thead{background:var(--paper-2)}
@media(min-width:1100px){.fde-page .fde-hero{min-height:320px}.fde-role-list{position:sticky;top:90px}}
@media(max-width:780px){.fde-page{padding-top:18px}.fde-hero{grid-template-columns:1fr .75fr;gap:4px}.fde-page h1{font-size:2.5rem}.fde-hero .fde-art button>span{display:none}.fde-lead{font-size:1.05rem}.fde-orientation{grid-template-columns:1fr;gap:10px}.fde-role-workspace{grid-template-columns:1fr;gap:22px}.fde-role-list{display:flex;flex-direction:row;overflow-x:auto;border:0;border-bottom:1px solid var(--border-soft);border-radius:0;gap:4px;padding-bottom:8px}.fde-role-list button{flex:none;border:1px solid var(--border-soft);border-radius:4px;white-space:nowrap;font-size:.875rem;min-height:44px;padding:10px 14px}.fde-role-list button[aria-pressed=true]{border:1px solid var(--text-accent)}.fde-role-list button>span:last-child{display:none}.fde-role-heading h2{font-size:1.8rem}.fde-role-heading{flex-wrap:wrap}.fde-section-head{flex-direction:column;gap:10px}.fde-studio-feature{gap:20px}.fde-footer{align-items:flex-start;flex-direction:column;gap:15px}}
@media(max-width:520px){.fde-page h1{font-size:2.65rem}.fde-hero{grid-template-columns:1fr}.fde-hero .fde-art{max-width:310px;justify-self:center;order:2;margin-top:-6px}.fde-hero .fde-art img{max-height:195px}.fde-hero-action{margin-top:20px}.fde-hero-action>span{font-size:.85rem}.fde-progress-label{font-size:.8125rem}.fde-hero{margin-bottom:12px}.fde-page .path-breadcrumb{margin-bottom:22px;flex-wrap:wrap}.fde-tabs{gap:14px;margin-bottom:22px}.fde-tabs button{font-size:.875rem}.fde-role-heading .fde-button{width:100%;justify-content:space-between}.fde-lessons a{grid-template-columns:29px 1fr 12px;gap:10px;padding:14px 2px}.fde-lessons strong{font-size:.9375rem}.fde-lessons .fde-lesson-time{display:none}.fde-phase>summary{grid-template-columns:25px 1fr;gap:8px 13px}.fde-phase summary small{grid-column:2}.fde-phase>div{padding-left:0}.fde-phase h3{font-size:1.125rem}.fde-search{grid-template-columns:1fr}.fde-search label{grid-column:auto}.fde-studio-feature{grid-template-columns:1fr}.fde-studio-feature .fde-art{max-width:350px}.fde-review>.fde-button{width:100%;margin-right:0}.fde-lab-index>a{gap:12px;grid-template-columns:26px 1fr 14px}.fde-role-intro h1{font-size:2.4rem}.fde-table-wrap th,.fde-table-wrap td{padding:10px 8px}}
@media(prefers-reduced-motion:no-preference){.fde-role-list button,.fde-button{transition:background .16s ease,color .16s ease}.fde-art img{transition:transform .35s ease}.fde-art button:hover img{transform:scale(1.025)}}
:root[data-motion="off"] .fde-art img,:root[data-motion="reduced"] .fde-art img{transition:none;transform:none}
@media print{.fde-page{max-width:none;padding:0}.fde-page [role=tabpanel][hidden]{display:block!important}.fde-tabs,.fde-role-list,.fde-button,.fde-art,.fde-footer{display:none!important}.fde-page{color:#111;background:#fff}.fde-role-workspace{display:block}.fde-phase{break-inside:avoid}}
