:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24302c;background:#f6f7f4;font-size:14px;--purple:#61446e;--pale:#f3edf6;--line:#e2e6df;--muted:#707c75;--green:#396351}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:white;color:inherit;min-height:42px}button:hover{background:#f4f5f1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #aa81bf;outline-offset:2px}button.primary{background:var(--purple);color:white;border-color:var(--purple)}button.primary:hover{background:#4e355a}button.quiet{border-color:transparent;background:transparent}button.small{padding:6px 10px;min-height:36px;font-size:12px}button:disabled{opacity:.45;cursor:default}a{color:var(--purple)}h1,h2,h3,p{margin:0}h1{font-size:23px;font-weight:620;letter-spacing:-.7px}h2{font-size:18px;letter-spacing:-.35px}h3{font-size:14px}small,.muted{color:var(--muted)}.loading{padding:60px}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:18px 30px;display:flex;gap:14px;align-items:center}.brandmark{width:36px;height:36px;background:var(--purple);color:white;display:grid;place-items:center;border-radius:10px;font-weight:700}.topbar .title p{font-size:11px;color:var(--muted);margin-top:4px}.spacer{flex:1}.save{font-size:12px;color:var(--green);display:flex;align-items:center;gap:6px}.dot{height:6px;width:6px;background:currentColor;border-radius:50%;display:inline-block}.badge{font-size:11px;border:1px solid var(--line);border-radius:5px;padding:4px 7px;color:var(--muted);font-weight:500}.nav{display:flex;align-items:center;gap:6px;padding:10px 30px;background:#fff;border-bottom:1px solid var(--line)}.nav button{background:transparent;border:0;color:var(--muted);border-radius:6px}.nav button.active{background:var(--pale);color:var(--purple);font-weight:650}.nav .sub{font-size:11px;margin-left:auto;color:var(--muted)}.workspace{max-width:1600px;margin:auto;padding:28px 30px}.heading{display:flex;align-items:center;gap:12px;margin-bottom:19px}.eyebrow{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:650;margin-bottom:7px}.heading p{font-size:12px;color:var(--muted);margin-top:6px}.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.layout.with-editor{grid-template-columns:minmax(0,1fr) 365px}.paper{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.summary{display:flex;align-items:center;gap:18px;padding:15px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap;font-size:12px}.summary b{font-size:10px;letter-spacing:.6px;color:var(--muted);display:block;margin-bottom:4px;font-weight:500}.summary button{margin-left:auto}.profile{padding:15px 18px;border-bottom:1px solid var(--line)}summary{cursor:pointer;min-height:35px;list-style:none;display:flex;align-items:center;gap:8px;font-weight:600}summary::-webkit-details-marker{display:none}summary:before{content:'›';font-size:20px;line-height:20px;color:var(--muted)}details[open]>summary:before{transform:rotate(90deg)}summary .muted{font-size:11px;font-weight:400;margin-left:auto}.chart{width:100%;height:184px;display:block;overflow:visible}.chart text{font-family:inherit;font-size:10px;fill:var(--muted)}.chart .point{cursor:pointer}.chart-note{font-size:10px;color:#94723e;display:flex;gap:10px;margin-top:2px}.tools{display:flex;align-items:center;gap:8px;padding:13px 18px;border-bottom:1px solid var(--line)}.tools input{max-width:220px;font-size:12px;padding:9px 10px;background:#f9faf7}.tools label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);white-space:nowrap}.table-scroll{overflow:auto;max-height:none}.lesson-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.lesson-table thead{background:#fafbf8;color:var(--muted);font-size:10px;letter-spacing:.5px}.lesson-table th{font-weight:550;text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.lesson-table th:first-child,.lesson-table td:first-child{padding-left:18px}.lesson-table td{padding:13px 8px;vertical-align:top;border-bottom:1px solid #edf0e9;line-height:1.55}.lesson-table tbody tr{cursor:pointer}.lesson-table tbody tr:hover{background:#fcfafc}.lesson-table tr.selected{background:#f8f3fa}.lesson-table tr.selected td:first-child{box-shadow:inset 3px 0 var(--purple)}.lesson-table .time{color:#59665f;font-variant-numeric:tabular-nums;font-size:11px}.lesson-table .m{color:var(--purple);font-weight:650}.lesson-table .ref{font-size:10px;color:var(--muted);white-space:pre-line}.lesson-table .com{font-size:10px;color:#59665f}.lesson-table .mode{text-align:center;color:var(--purple)}.lesson-title{font-weight:620;font-size:12px;display:block}.lesson-title small{font-size:10px;margin-right:7px}.subrow .lesson-title{padding-left:12px}.scenario{font-size:11px;color:#536057;margin-top:6px;white-space:pre-line}.annotation{margin-top:7px;display:flex;gap:6px;font-size:10px;line-height:1.5;white-space:pre-line}.annotation b{font-weight:500;white-space:nowrap}.annotation.private{color:#945a4d}.annotation.atc{color:#3e6e89}.parameterline{font-size:10px;color:var(--muted);margin-top:6px}.table-end{padding:10px 15px;display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.table-end span{margin-left:auto}.editor{background:#fff;border:1px solid var(--line);border-radius:12px;position:sticky;top:12px;max-height:calc(100dvh - 24px);overflow:auto}.editor-head{padding:19px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:start}.editor-head .eyebrow{margin-bottom:6px}.editor-head h2{font-size:16px;line-height:1.35}.editor-head button{margin-left:auto;min-height:30px;padding:3px 8px}.edit-nav{display:flex;gap:3px;padding:8px 13px;border-bottom:1px solid var(--line);overflow:auto}.edit-nav button{font-size:11px;min-height:36px;padding:7px 10px;border:0;background:transparent;color:var(--muted)}.edit-nav button.active{background:var(--pale);color:var(--purple)}.edit-body{padding:18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;font-size:11px;min-width:0}.field>span{color:#67736b}.field .hint{font-size:10px;color:var(--muted);line-height:1.45}.field textarea{resize:vertical;min-height:78px;line-height:1.55}.field input,.field select,.field textarea{width:100%;border:1px solid #dce2d8;border-radius:7px;padding:10px;background:#fff;color:#27342c;min-height:41px}.field input[type=checkbox]{width:18px;min-height:18px}.field.check{flex-direction:row;align-items:center}.field.check span{color:inherit}.field.private>span{color:#945a4d}.field.private textarea{background:#fffaf6;border-color:#eddccf}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}.full{grid-column:1/-1}.mode-switch{display:flex;gap:8px;margin:10px 0 18px}.mode-switch label{display:flex;align-items:center;gap:6px;padding:11px 14px;border:1px solid var(--line);border-radius:7px;font-size:12px;flex:1}.mode-switch input{accent-color:var(--purple);width:17px;height:17px}.editor-actions{padding:12px 15px;border-top:1px solid var(--line);display:flex;gap:4px;flex-wrap:wrap;background:#fafbf8}.danger{color:#9d433b}.notice{padding:12px 14px;background:#f7f5ee;color:#807043;border:1px solid #eae5d5;font-size:11px;line-height:1.6;border-radius:7px;margin-bottom:17px}.sectioncard{padding:23px;margin-bottom:20px}.sectioncard h2{margin-bottom:20px}.setup{max-width:1100px}.sectioncard>p{margin-bottom:20px}.sectioncard details{border-top:1px solid var(--line);padding:12px 0}.sectioncard details summary{font-size:13px}.sectioncard details .grid2{margin-top:16px}.tolerances{width:100%;border-collapse:collapse;font-size:12px}.tolerances td,.tolerances th{border-bottom:1px solid var(--line);padding:12px;text-align:left}.tolerances textarea,.tolerances input{width:100%;border:1px solid var(--line);padding:8px;border-radius:5px;min-height:40px}.tolerances textarea{min-height:70px}.filecard{display:flex;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;margin:10px 0;gap:8px;font-size:12px}.filecard a{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filecard button{margin-left:auto}.pointcard{padding:14px;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.pointcard .field{margin-bottom:10px}.pointcard h3{margin-bottom:13px;font-size:12px}dialog{border:1px solid var(--line);border-radius:14px;padding:26px;width:min(94vw,800px);max-height:90dvh;color:inherit;box-shadow:0 20px 80px #18211b2b}dialog::backdrop{background:#15201d66;backdrop-filter:blur(3px)}dialog h2{margin-bottom:12px}dialog p{font-size:13px;line-height:1.7;margin:10px 0}dialog .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:22px}dialog iframe{width:100%;height:64dvh;border:1px solid var(--line);border-radius:6px}.pdfbar{display:flex;gap:8px;align-items:center;margin:16px 0}.pdfbar span{margin-left:auto;font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#24352d;color:white;padding:13px 20px;border-radius:9px;box-shadow:0 5px 25px #0002;font-size:12px;z-index:20;display:none;max-width:90vw}.empty{padding:40px;color:var(--muted);text-align:center}.foot{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:20px 1px;gap:15px}.profilepoint-empty{font-size:12px;color:var(--muted);line-height:1.7;margin:12px 0}.backdrop{display:none}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){.layout.with-editor{grid-template-columns:minmax(0,1fr) 400px}}@media(max-width:1100px){.layout.with-editor{grid-template-columns:minmax(0,1fr) 330px}.workspace{padding:22px 18px}.topbar{padding:16px 18px}.nav{padding:8px 18px}.lesson-table{min-width:680px}.chart{height:165px}}@media(max-width:850px){.layout.with-editor{display:block}.editor{position:fixed;right:0;bottom:0;top:8dvh;max-height:92dvh;width:430px;max-width:100%;z-index:5;border-radius:16px 16px 0 0;box-shadow:0 0 80px #0003}.backdrop.visible{display:block;position:fixed;inset:0;background:#18231a44;z-index:4}.topbar .save{margin-left:auto}.topbar{flex-wrap:wrap;gap:9px}.topbar .title{flex:1}.topbar>.spacer{display:none}.topbar .primary{font-size:12px}.nav .sub{display:none}.heading h1{font-size:22px}.grid3{grid-template-columns:repeat(2,1fr)}.summary{gap:12px;font-size:11px}.summary b{font-size:9px}.summary button{margin-left:0}.foot{flex-wrap:wrap}}@media(max-width:500px){.brandmark{display:none}.topbar{padding:13px 16px}.topbar .title strong{font-size:14px}.topbar .title p{font-size:10px}.topbar .badge{display:none}.save{font-size:10px}.topbar .primary{padding:8px 10px;min-height:37px}.nav{padding:7px 12px}.nav button{font-size:12px;padding:8px 12px}.workspace{padding:22px 12px}.heading{flex-wrap:wrap;gap:9px;margin-bottom:14px}.heading>.spacer{display:none}.heading .actions{margin-left:auto}.heading h1{font-size:21px}.heading p{font-size:11px}.summary{padding:13px;gap:12px}.profile{padding:12px}.chart{height:150px}.chart-note{font-size:9px}.tools{padding:10px;gap:5px;flex-wrap:wrap}.tools input{flex:1;min-width:100px;width:100px}.tools label{font-size:10px}.tools .spacer{display:none}.table-end{padding:8px;flex-wrap:wrap}.table-end span{margin:0 0 0 6px;font-size:9px}.sectioncard{padding:17px}.grid3{grid-template-columns:1fr}.editor{width:100%}.tolerances{min-width:620px}.heading>.badge{display:none}}
.tools input[type=search],.tools input[type=text],.tools #search{border:1px solid var(--line);border-radius:6px;min-height:36px;outline-offset:2px}.tools label input{width:15px;min-width:15px;flex:none;accent-color:var(--purple)}
@media(max-width:500px){.topbar .title p{white-space:nowrap;font-size:9px}.topbar{gap:7px}.topbar .save{font-size:9px}.topbar .quiet{padding:4px;min-width:22px}.topbar .primary{padding:8px;font-size:11px}.tools{flex-wrap:nowrap}.tools #search{width:90px;min-width:70px;max-width:130px}.tools label{gap:5px}.tools .small{padding:5px;min-width:26px}.table-scroll{overflow:visible}.lesson-table{min-width:0;display:block;table-layout:auto}.lesson-table colgroup{display:none}.lesson-table thead{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.lesson-table tbody{display:block}.lesson-table tbody tr{display:grid;grid-template-columns:45px repeat(3,minmax(0,1fr));padding:14px 12px;border-bottom:1px solid var(--line);gap:6px 8px}.lesson-table td,.lesson-table th:first-child,.lesson-table td:first-child{display:block;border:0;padding:0;min-width:0}.lesson-table tr.selected td:first-child{box-shadow:none}.lesson-table tr.selected{box-shadow:inset 3px 0 var(--purple)}.lesson-table td:nth-child(1){grid-column:1;grid-row:1}.lesson-table td:nth-child(2){grid-column:1;grid-row:2}.lesson-table td:nth-child(3){grid-column:2/-1;grid-row:2;white-space:normal}.lesson-table td:nth-child(3):before{content:'FCL  ';font-weight:600}.lesson-table td:nth-child(4){grid-column:2/-1;grid-row:1}.lesson-table td:nth-child(5){grid-column:2/-1;grid-row:3}.lesson-table td:nth-child(5) br{display:none}.lesson-table td:nth-child(5) br:after{content:' '}.lesson-table td:nth-child(6){grid-column:2;grid-row:4}.lesson-table td:nth-child(7){grid-column:3;grid-row:4}.lesson-table td:nth-child(8){grid-column:4;grid-row:4}.lesson-table td.mode{text-align:left;font-size:11px;background:#fafbf8;padding:5px 7px;border-radius:4px;min-height:26px}.lesson-table td.mode:before{font-size:9px;color:var(--muted);margin-right:7px}.lesson-table td:nth-child(6):before{content:'AP'}.lesson-table td:nth-child(7):before{content:'FD'}.lesson-table td:nth-child(8):before{content:'A/T'}.lesson-table .com{display:flex;gap:5px}.lesson-title{font-size:12px;line-height:1.5}.lesson-table .subrow .lesson-title{padding:0}.scenario{font-size:11px}.parameterline{overflow-wrap:anywhere}.annotation{display:block}.annotation b{display:block}.tolerances{display:table;min-width:600px}.sectioncard>.table-scroll{overflow:auto}.profile summary{font-size:12px}.profile summary .muted{font-size:9px}.chart{height:170px}.chart-note{display:block;line-height:1.7}.chart-note span{display:block}}
@media(max-width:500px){.topbar{flex-wrap:nowrap}.topbar .title{min-width:0;flex:1 1 90px}.topbar .title p{max-width:96px;overflow:hidden;text-overflow:ellipsis}.topbar .title strong{white-space:nowrap}.topbar .save{white-space:nowrap;flex-shrink:0}.topbar>.primary{white-space:nowrap;flex-shrink:0}.topbar>.quiet{flex-shrink:0}}
/* The same fixed-aspect chart artwork is shown on screen and embedded in PDFs. */
.profile-chart-scroll{overflow:auto;overscroll-behavior-x:contain}.chart.source-profile{display:block;width:100%;height:auto;aspect-ratio:1000/560;min-height:0}.chart.source-profile .point:focus{outline:none}.chart.source-profile .point:focus circle:first-of-type{stroke:#61446e;stroke-width:4}
@media(max-width:500px){.chart.source-profile{min-width:660px;width:100%;height:auto}.profile summary .muted{max-width:155px;text-align:right}}
.profile-pan-hint{display:none}@media(max-width:500px){.profile-pan-hint{display:block;font-size:10px;color:var(--muted);margin:8px 0}}
.chart.source-profile{aspect-ratio:auto}.profile summary{margin-bottom:12px}.milestone-card{cursor:pointer}.milestone-card:hover .milestone-card-bg{stroke:#a994b8;stroke-width:1.5}.chart.source-profile .milestone-card:focus-visible{outline:none}.chart.source-profile .milestone-card:focus-visible .milestone-card-bg{stroke:#745687;stroke-width:2}
@media(max-width:500px){.chart.source-profile{min-width:720px}}
/* Background and surface hierarchy apply to the whole application. */
:root{background:#f1eef5;--line:#ded8e5;--muted:#77707f}
body{min-height:100dvh;background:#f1eef5;background-attachment:fixed}
.topbar{border-bottom:1px solid #dcd5e4;box-shadow:0 2px 9px #49335505}.nav{background:#faf9fc;border-bottom-color:#ded7e6}
.workspace{padding-top:24px}.heading{background:#ffffffdc;border:1px solid #ded7e6;border-radius:12px;padding:18px 20px;box-shadow:0 2px 10px #49335503}
.paper,.editor{border-color:#d9d1e2;box-shadow:0 4px 20px #46314f05;background:#fff}.summary{background:#f9f7fb;border-bottom-color:#e0d8e8}.profile{background:#fff;padding:16px 18px}.profile>summary{border:1px solid #e5dfeb;border-radius:8px;background:#faf9fc;padding:8px 12px;margin-bottom:14px;min-height:42px}.profile>summary .muted{color:#8a8191}
.tools{background:#f8f6fb;border-top:1px solid #ece7f1;border-bottom-color:#ded7e6}.lesson-table thead{background:#f6f3f9}.lesson-table td{border-bottom-color:#eee9f3}.editor-head{background:#faf9fc;border-bottom-color:#e3dcea}.edit-nav,.editor-actions{background:#f9f7fb}.edit-body{background:#fff}.foot{padding:13px 16px;border:1px solid #e0d9e8;border-radius:9px;background:#ffffffb8;margin-top:18px}
.profile-callout:hover .profile-label-box,.profile-callout:focus-visible .profile-label-box{stroke:#8c749d;stroke-width:1.7}.chart.source-profile .profile-callout:focus-visible{outline:none}
@media(max-width:500px){.workspace{padding:16px 12px}.heading{padding:15px 14px}.profile{padding:12px}.profile>summary{padding:7px 10px}.foot{padding:12px;line-height:1.6}}
.chart.source-profile{max-width:1000px;margin-inline:auto}

/* Authoring hierarchy: navigation → lesson → session context → exercises. */
.nav{padding:0 28px;min-height:62px;gap:24px;align-items:center;background:#ffffffd9;border-bottom:1px solid #ded9e5}
.nav-tabs{display:flex;align-self:stretch;gap:28px}
.nav .nav-tabs button{position:relative;border:0;border-radius:0;padding:19px 1px 17px;background:transparent;color:#706779;font-size:14px;font-weight:500;white-space:nowrap}
.nav .nav-tabs button.active{color:#5f3d74;font-weight:700;background:transparent}
.nav .nav-tabs button.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#705582;border-radius:3px 3px 0 0}
.nav-context{margin-left:auto;text-align:right;color:#42374d;font-size:11px;font-weight:700;letter-spacing:.06em}
.nav-context span{display:block;color:#8a8190;font-size:10px;font-weight:400;letter-spacing:0;margin-top:3px}
.topbar .pdf-preview{background:white;color:#5f3d74;border-color:#cfc4da;font-weight:600}
.heading{padding:24px;align-items:center;gap:24px;background:#fff;box-shadow:none;margin-bottom:20px}
.lesson-context{font-size:11px;letter-spacing:.05em;font-weight:700;color:#675774;margin-bottom:10px}
.lesson-context span{font-weight:400;letter-spacing:0;color:#89808f;margin-left:6px}
.heading .lesson-title{display:flex;align-items:center;gap:14px}
.lesson-title h1{font-size:30px;line-height:1.15;letter-spacing:-.8px;color:#2e2636;margin:0}
.pf-badge{display:inline-block;color:#654b77;background:#f0eaf6;border:1px solid #e5dcee;border-radius:6px;font-size:12px;font-weight:600;padding:5px 9px}
.heading p{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:#786f80;margin:12px 0 0}
.heading p span+span{border-left:1px solid #ddd6e4;padding-left:18px}
.heading .actions{margin-left:auto;gap:8px;display:flex;align-items:center}
.heading .actions button{font-size:13px;border-radius:7px;padding:11px 14px}
.summary{display:block;padding:0;background:#fcfbfe;border-bottom:1px solid #e3dce9}
.setup-overview{display:flex;align-items:center;gap:24px;padding:21px 22px}
.session-route{min-width:128px}
.section-label,.setup-metric dt{display:block;font-size:10px;color:#81768b;line-height:1.4;font-weight:500;letter-spacing:.01em;text-transform:none;margin:0 0 7px}
.session-route strong{font-size:17px;letter-spacing:-.3px;white-space:nowrap;line-height:1.2;color:#342b3e;font-weight:650}
.setup-metrics{display:grid;grid-template-columns:repeat(5,minmax(60px,1fr));gap:20px;flex:1;border-left:1px solid #e4ddea;padding-left:24px;margin:0}
.setup-metric dd{font-size:17px;line-height:1.2;font-variant-numeric:tabular-nums;font-weight:600;margin:0;color:#382e42;white-space:nowrap}
.setup-metric dd small{font-size:11px;font-weight:400;color:#8a8093;margin-left:4px}
.setup-toggle{font-size:12px;white-space:nowrap;background:white;border-radius:6px;padding:9px 11px;border:1px solid #dcd3e5;color:#654b77}
.setup-toggle span{margin-left:8px}
.quick-setup{padding:18px 22px;background:#fff;border-top:1px solid #e5dfeb}
.quick-setup[hidden]{display:none}
.quick-setup-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.quick-setup-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#857b8e;font-size:11px;margin-top:12px}
.profile{padding:18px 20px 12px}
.profile>summary{background:transparent;border:0;border-radius:0;padding:4px 0 14px;font-size:15px;color:#342b3d}
.profile>summary .muted{font-size:11px;color:#8c8195;font-weight:400}
.tools{gap:12px;padding:14px 20px;flex-wrap:wrap;border-top:1px solid #e5deeb;background:#faf8fc}
.exercise-search{display:flex;align-items:center;gap:12px}
.exercise-search input{width:205px;min-height:38px;background:#fff;border-radius:6px}
#result-count{font-size:11px;color:#81758a;white-space:nowrap;font-variant-numeric:tabular-nums}
.detail-switch{display:flex;border:1px solid #ded5e7;border-radius:6px;background:#fff;padding:3px;gap:2px}
.detail-switch button{font-size:11px;border:0;background:transparent;border-radius:4px;padding:6px 9px;min-height:29px;color:#81738c}
.detail-switch button[aria-pressed=true]{background:#ede5f4;color:#624775;font-weight:600}
.profile-callout:hover .profile-label-box,.profile-callout:focus .profile-label-box{fill:#eee7f5;stroke:#705582}
@media(max-width:1150px){.setup-overview{flex-wrap:wrap;gap:18px}.setup-metrics{order:3;width:100%;flex-basis:100%;border-left:0;border-top:1px solid #e4ddea;padding:16px 0 0;gap:16px}.setup-toggle{margin-left:auto}.heading .actions button{padding:10px 12px}}
@media(max-width:850px){.nav{padding:0 20px;min-height:55px}.nav-tabs{gap:25px}.nav-context{display:none}.heading{padding:20px}.heading .actions{margin-left:0}.lesson-title h1{font-size:27px}.tools>.spacer{display:none}.exercise-search{flex:1;min-width:240px}.exercise-search input{flex:1;min-width:130px}.quick-setup-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.nav{padding:0 16px;gap:0}.nav-tabs{width:100%;justify-content:space-between;gap:14px}.nav .nav-tabs button{font-size:12px;padding:17px 0 14px}.heading{padding:18px;gap:18px}.lesson-title h1{font-size:26px}.heading p{gap:7px 10px;font-size:11px}.heading p span+span{padding-left:10px}.heading .actions{width:100%}.heading .actions button{flex:1}.setup-overview{padding:18px;gap:17px}.setup-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px}.setup-metric dt{font-size:9px;margin-bottom:5px}.setup-metric dd{font-size:17px}.setup-toggle{padding:9px;font-size:11px}.session-route strong{font-size:17px}.profile{padding:14px 12px 10px}.profile>summary{font-size:14px}.profile>summary .muted{font-size:9px}.tools{padding:12px;gap:10px}.exercise-search{min-width:100%;gap:8px}.detail-switch{margin-right:auto}.quick-setup{padding:14px}.quick-setup-fields{gap:12px}.quick-setup-footer{align-items:flex-start;flex-direction:column}.topbar .pdf-preview{padding:9px 10px;font-size:12px}.topbar .badge{display:none}}
.profile-event-active .profile-label-box{fill:#ede5f5;stroke:#705582;stroke-width:1.5}
.profile-marker.profile-event-active circle{stroke:#4e2c69;stroke-width:3}
.profile-callout:focus-visible{outline:none}
.profile-callout:focus-visible .profile-label-box{stroke:#4e2c69;stroke-width:2.5}
.profile-source-review{margin-top:12px;padding:10px 12px;border:1px solid #e3d9eb;background:#faf8fc;border-radius:6px;font-size:11px;color:#7c6b88}
.profile-source-review>summary{font-size:11px;min-height:26px;gap:8px}
.profile-source-review>summary span{margin-left:auto;font-weight:400;color:#8c7e96;text-align:right}
.profile-source-review p{line-height:1.65;margin:8px 0;max-width:1000px}
.profile-provenance{font-size:10px;line-height:1.6;color:#8b7c95;margin:8px 0 14px}
.chart.source-profile{max-width:1200px}
/* Shared Carlito typography; profile graphics use a monochrome hierarchy. */
:root{font-family:'Lesson Carlito',Carlito,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.chart.source-profile .point:focus circle:first-of-type,.profile-marker.profile-event-active circle{stroke:#000;stroke-width:3}
.profile-callout:hover .profile-label-box,.profile-callout:focus .profile-label-box,.profile-event-active .profile-label-box,.profile-callout:focus-visible .profile-label-box{stroke:#000;fill:#fff;stroke-width:1.7}

/* Readable authoring typography. Exported PDF typography is independent. */
:root{font-size:16px}
.topbar .title p,.save,.badge,.nav-context,.nav-context span{font-size:13px}
button.small,.heading .actions button,.setup-toggle,.detail-switch button{font-size:14px}
.nav .nav-tabs button{font-size:16px}
.lesson-context,.eyebrow{font-size:12px}
.heading p{font-size:15px;line-height:1.5}
.pf-badge{font-size:14px}
.section-label,.setup-metric dt{font-size:13px}
.session-route strong,.setup-metric dd{font-size:21px}
.setup-metric dd small{font-size:14px}
.profile>summary{font-size:18px}
.profile>summary .muted,.profile-pan-hint,.profile-source-review,.profile-source-review>summary,.profile-provenance{font-size:13px}
.tools input,.tools label,#result-count,.table-end,.foot{font-size:14px}
.lesson-table{font-size:15px}
.lesson-table thead{font-size:12px}
.lesson-table .time,.lesson-table .ref,.lesson-table .com{font-size:14px}
.lesson-table .lesson-title{font-size:16px;line-height:1.45}
.lesson-title small{font-size:13px}
.scenario{font-size:15px;line-height:1.55}
.annotation,.parameterline{font-size:14px;line-height:1.55}
.editor-head h2{font-size:21px}
.edit-nav button,.field,.mode-switch label,.filecard,.notice,.profilepoint-empty{font-size:15px}
.field .hint,.quick-setup-footer,.pdfbar span{font-size:13px}
.field input,.field select,.field textarea{font-size:16px}
.pointcard h3,.sectioncard details summary,.tolerances{font-size:15px}
/* The dark row identifies the exercise currently open for editing. */
.lesson-table tr.selected,.lesson-table tbody tr.selected:hover{background:#273447;color:#fff}
.lesson-table tr.selected td:first-child{box-shadow:inset 4px 0 #b6cce8}
.lesson-table tr.selected .time,.lesson-table tr.selected .ref,.lesson-table tr.selected .com,.lesson-table tr.selected .scenario,.lesson-table tr.selected .parameterline,.lesson-table tr.selected .lesson-title small{color:#e0e7f0}
.lesson-table tr.selected .m,.lesson-table tr.selected .mode{color:#fff}
.lesson-table tr.selected .annotation.atc{color:#9bcaff}
.lesson-table tr.selected .annotation.private{color:#ffb6ac}
@media(max-width:1100px){.lesson-table{min-width:760px}}
@media(max-width:500px){
 .topbar .title strong{font-size:17px}.topbar .title p,.topbar .save{font-size:12px}.topbar .pdf-preview{font-size:14px}
 .nav .nav-tabs button{font-size:15px}.heading p{font-size:14px}.setup-metric dt{font-size:12px}.setup-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .profile>summary{font-size:17px;flex-wrap:wrap}.profile>summary .muted{font-size:12px}
 .lesson-table{min-width:0}.lesson-table tbody tr{grid-template-columns:50px repeat(3,minmax(0,1fr));padding:18px 14px;gap:9px}
 .lesson-table td.mode{font-size:14px}.lesson-table td.mode:before{font-size:12px}
 .lesson-table tr.selected{box-shadow:inset 4px 0 #b6cce8}.lesson-table tr.selected td:first-child{box-shadow:none}
 .lesson-table tr.selected td.mode{background:#3a4b62;color:#fff}.lesson-table tr.selected td.mode:before{color:#d9e4f2}
 .tools{flex-wrap:wrap}.exercise-search{flex-wrap:wrap}.tools input{max-width:none}.foot{font-size:12px}
}

/* Thai Airways inspired shell: deep purple, warm gold, quiet reading surfaces. */
:root{--purple:#54266d;--pale:#f1eaf6;background:#251033}
body{min-height:100vh;/* taste-skill-ignore: user explicitly requested purple gradient app background */ background:radial-gradient(ellipse at 100% 0%,#64317766,transparent 58%),linear-gradient(145deg,#361444 0%,#251033 60%,#1c0b28 100%);background-attachment:fixed}
.topbar{background:#2c103d;color:#fff;border-bottom:1px solid #ffffff1c}
.brandmark{background:#54266d;border:1px solid #cda45e;color:#f4d49a}
.topbar .title p{color:#d1c0dc}.topbar .badge{color:#eadff1;border-color:#775889;background:#ffffff09}
.topbar .save{color:#cfe6da}.topbar .quiet:hover{background:#ffffff14}
.topbar .pdf-preview{background:#f2d8a4;border-color:#f2d8a4;color:#351443}
.topbar .pdf-preview:hover{background:#ffe7bb;border-color:#ffe7bb}
.nav{background:#351646;border-bottom:1px solid #b792583d}
.nav .nav-tabs button{color:#d4c2df}.nav .nav-tabs button.active{color:#fff}
.nav .nav-tabs button.active:after{background:#e0b969}
.nav .nav-tabs button:hover{color:#fff;background:#ffffff08}
.nav-context{color:#efdbb4}.nav-context span{color:#c9b5d6}
.heading{background:#351745;border-color:#79508b;color:#fff;box-shadow:0 8px 28px #10061924}
.heading .lesson-context{color:#e9c98e}.heading .lesson-context span{color:#d6c2e0}
.heading .lesson-title h1{color:#fff}.heading p{color:#e2d3e9}
.heading p span+span{border-color:#ffffff30}
.heading .pf-badge{background:#ffffff12;color:#f4dfb5;border-color:#bf9c6559}
.heading .actions button{background:transparent;border-color:#a280b3;color:#fff}
.heading .actions button:hover{background:#ffffff12}
.heading .actions button.primary{background:#f2d8a4;border-color:#f2d8a4;color:#351443}
.heading .actions button.primary:hover{background:#ffe7bb}
.paper,.editor{box-shadow:0 12px 35px #13071c26}
.lesson-table tr.selected,.lesson-table tbody tr.selected:hover{background:#422054}
.lesson-table tr.selected td:first-child{box-shadow:inset 4px 0 #e0b969}
.foot{color:#ddcce8}.foot a{color:#f2d8a4}
@media(max-width:500px){.lesson-table tr.selected{box-shadow:inset 4px 0 #e0b969}.lesson-table tr.selected td:first-child{box-shadow:none}.lesson-table tr.selected td.mode{background:#5c366e}.lesson-table tr.selected td.mode:before{color:#eadcf1}}

/* Exercise hierarchy: 22px titles over 15px body / 18px elapsed time. */
.lesson-table .lesson-title{font-size:22px;font-weight:700;line-height:1.3}
.lesson-table .lesson-title small{font-size:18px;font-weight:600}
.lesson-table td.time{font-size:18px;font-weight:700;vertical-align:middle;white-space:nowrap;line-height:1.3;font-variant-numeric:tabular-nums}
@media(max-width:500px){.lesson-table tbody tr{grid-template-columns:56px repeat(3,minmax(0,1fr))}.lesson-table td.time{align-self:center}}

/* Clear exercise boundaries in both table and phone card layouts. */
.lesson-table tbody td{border-bottom:2px solid #c4b3cf}
@media(max-width:500px){.lesson-table tbody tr{border-bottom:2px solid #c4b3cf}.lesson-table tbody td{border-bottom:0}}
