.tf-workbench{--tf-ink:#202936;--tf-muted:#626d7c;--tf-line:#d6dde6;--tf-a:#59718c;--tf-a-deep:#334f6e;--tf-b:#c09a50;--tf-b-deep:#7d5e22;padding:0!important;background:#fff!important;border:1px solid #d3dbe5!important;border-radius:22px!important;overflow:hidden;box-shadow:0 8px 25px #20334d06!important;color:var(--tf-ink);text-align:left!important}
.tf-workbench *{box-sizing:border-box}
.tf-heading{display:flex;justify-content:space-between;align-items:start;gap:25px;padding:28px 30px;border-bottom:1px solid var(--tf-line);background:#f8f9fb}
.tf-kicker{display:block;font:600 10px/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--tf-muted)}
.tf-heading h2{font:400 clamp(28px,3vw,38px)/1.1 var(--serif);letter-spacing:-.025em;margin:10px 0 12px}
.tf-heading p{font-size:14px;line-height:1.7;margin:0;max-width:62ch;color:var(--tf-muted)}
.tf-capacity{font:500 11px/1.6 var(--sans);padding:8px 12px;border:1px solid var(--tf-line);border-radius:8px;white-space:nowrap;color:var(--tf-muted)}
.tf-topbar{display:flex;flex-wrap:wrap;align-items:end;gap:16px 20px;padding:20px 30px;border-bottom:1px solid var(--tf-line)}
.tf-field{display:block;min-width:0;font-size:12px;line-height:1.6}
.tf-field>span{display:block;font-size:11px;font-weight:600;margin-bottom:7px;color:#3c495b}
.tf-field :is(input,select){display:block;width:100%;min-height:43px;border:1px solid #b5c0ce;background:#fff;border-radius:9px;padding:9px 11px;font:13px var(--sans);color:var(--tf-ink);max-width:100%}
.tf-field select[multiple]{min-height:135px;padding:6px}
.tf-field select[multiple] option{padding:7px;border-radius:4px;margin:2px 0;font-size:12px}
.tf-topbar>.tf-field{min-width:160px}
.tf-history,.tf-export{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tf-export{margin-left:auto}
.tf-workbench button{font:500 12px/1.5 var(--sans);color:var(--tf-ink);border:1px solid #b7c3d2;border-radius:9px;background:#fff;padding:10px 13px;min-height:42px;cursor:pointer;text-align:left;text-decoration:none;transition:background .15s ease,border-color .15s ease}
.tf-workbench button:hover:not(:disabled){background:#eef2f7;border-color:#8296b1}
.tf-workbench button:disabled{color:#8994a4;opacity:.65;cursor:default}
.tf-workbench :is(button,select,input):focus-visible{outline:3px solid #76619f;outline-offset:3px}
.tf-history button:first-child,.tf-history button:nth-child(2){min-width:61px;text-align:center}
.tf-export>button{border-color:transparent;background:transparent;font-size:11px;padding-inline:6px}
.tf-export>button:hover:not(:disabled){border-color:#c4ccd7;background:#f6f7fa}
.tf-guidance{margin:22px 30px 0;padding:22px 24px;border:1px solid #d6dce7;border-left:3px solid #6f82a2;border-radius:0 14px 14px 0;background:#f7f9fc;display:flex;align-items:start;justify-content:space-between;gap:25px}
.tf-guidance h3{font:400 clamp(23px,2.2vw,29px)/1.2 var(--serif);letter-spacing:-.02em;margin:10px 0 12px}
.tf-guidance p{font-size:13px;line-height:1.8;margin:0;max-width:60ch}
.tf-guide-actions{display:flex;align-items:end;justify-content:end;gap:9px;flex-wrap:wrap;max-width:440px;flex:0 0 42%}
.tf-guide-actions>.tf-field{min-width:130px}
.tf-guide-actions>button[data-tf-action=next]{background:#26364b;border-color:#26364b;color:#fff}
.tf-guide-actions>button[data-tf-action=next]:hover:not(:disabled){background:#3a4e6b}
.tf-challenge{margin:22px 30px 0;border:1px solid #d3c8a8;background:#fbf9f2;padding:23px 25px;border-radius:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 25px;align-items:start}
.tf-challenge h3{font:400 29px/1.15 var(--serif);margin:10px 0 12px}
.tf-challenge p{font-size:14px;line-height:1.75;margin:0;max-width:70ch}
.tf-challenge>button{justify-self:start;grid-column:1/-1;background:#fff}
.tf-challenge>[data-tf-challenge-feedback]{grid-column:1/-1;border-top:1px solid #ded4b9;padding-top:15px;font-size:14px}
.tf-challenge>[data-tf-challenge-feedback]:empty{display:none}
.tf-current-state{font-size:13px!important;line-height:1.8!important;margin:0!important;padding:21px 30px!important;color:#44536a;max-width:none!important}
.tf-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);border-top:1px solid var(--tf-line);min-width:0}
.tf-output{padding:25px 25px 30px;min-width:0;align-self:start}
.tf-viewbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.tf-viewbar>[data-tf-action="3d"]{background:#26364b;border-color:#26364b;color:#fff}
.tf-viewbar>[data-tf-action="3d"]:hover:not(:disabled){background:#3a4e6b}
.tf-viewbar>span{font-size:11px;line-height:1.7;color:var(--tf-muted);flex-basis:100%}
.tf-controls-jump{display:none;font-size:12px}
.tf-flat{min-width:0}
.tf-frames{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;align-items:start;margin:0!important;padding:0!important;max-width:none!important}
.tf-frames.tf-frame-count-1{grid-template-columns:minmax(0,1fr);max-width:540px!important;margin-inline:auto!important}
.tf-frame{min-width:0;background:#f0eeea;border:1px solid #c7c2b9;padding:14px;border-radius:12px;margin:0!important;box-shadow:0 2px 0 #b9b4ac24}
.tf-frame>header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:10px;line-height:1.6;color:#615d57}
.tf-frame>header strong{font-size:10px;font-weight:600;white-space:nowrap}
.tf-frame-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));border-top:1px solid #b3ac9f;border-left:1px solid #b3ac9f;background:#fcfcfa;border-radius:4px;overflow:visible}
.tf-workbench .tf-slot,.tf-print-slot{display:grid;place-items:center;min-width:0;width:100%;min-height:38px;aspect-ratio:1;padding:4px;border:0;border-right:1px solid #b3ac9f;border-bottom:1px solid #b3ac9f;border-radius:0;background:transparent;position:relative;box-shadow:none}
.tf-workbench .tf-slot:hover:not(:disabled){background:#e6e9ed;border-color:#b3ac9f}
.tf-slot-marker{width:20%;aspect-ratio:1;border:1px solid #cfd2d5;border-radius:50%;opacity:.65}
.tf-counter-face{display:grid;place-items:center;aspect-ratio:1;width:83%;border-radius:50%;font:600 clamp(8px,.8vw,12px)/1 var(--sans);border:1px solid #334b67;color:#fff;box-shadow:inset 0 1px 0 #ffffff59,0 1px 1px #263f5f25;pointer-events:none;user-select:none}
.tf-quantity-a{background:#617c99}
.tf-quantity-b{color:#3c2f14;border-color:#86682b;background:repeating-linear-gradient(135deg,#dbbb77 0,#dbbb77 4px,#c4a15e 4px,#c4a15e 6px)}
.tf-workbench .tf-slot.is-selected{outline:3px solid #493d6b;outline-offset:-3px;z-index:1;background:#ede9f4}
.tf-slot.is-drop-target,.tf-tray.is-drop-target{outline:3px solid #65517f;outline-offset:-3px;background:#ece8f5!important}
.tf-touch-move [data-tf-counter]{touch-action:none}
.tf-tray{margin-top:19px;padding:15px;border:1px dashed #bdc7d4;border-radius:11px;min-height:94px;background:#f7f9fc}
.tf-tray>header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:11px;line-height:1.6;color:#4c5b70}
.tf-tray>header small{font-size:10px;color:#788495}
.tf-tray-counters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:13px}
.tf-tray-counters>p{font-size:11px!important;line-height:1.7!important;color:#788495;margin:0!important}
.tf-workbench .tf-tray-counter,.tf-print-sheet .tf-tray-counter{width:39px;height:39px;min-height:39px;border-radius:8px;padding:4px;display:grid;place-items:center;border:1px solid transparent;background:transparent}
.tf-workbench .tf-tray-counter.is-selected{border-color:#5d4d7e;background:#eae5f1}
.tf-equation-panel{padding:26px 0;border-bottom:1px solid var(--tf-line);margin-top:8px}
.tf-equation{font:400 clamp(30px,3vw,43px)/1.2 var(--serif)!important;letter-spacing:-.025em;color:#26364b;text-align:left!important;margin:0 0 15px!important}
.tf-equation-panel>[data-tf-decomposition]{font-size:13px!important;line-height:1.8!important;margin:0!important;color:#58667a}
.tf-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:19px}
.tf-legend>span{display:flex;align-items:center;gap:8px;font-size:10px;color:#627086;line-height:1.6}
.tf-legend i{display:block;width:11px;height:11px;border-radius:50%;border:1px solid #455b77;background:#617c99}
.tf-legend .tf-key-b{border-color:#86682b;background:repeating-linear-gradient(135deg,#dbbb77 0,#dbbb77 3px,#b78d40 3px,#b78d40 4px)}
.tf-inventory{padding-top:23px}
.tf-inventory table{width:100%;border-collapse:collapse;font-size:12px}
.tf-inventory caption{text-align:left;font-weight:600;color:#506078;font-size:11px;line-height:1.7;padding:0 0 15px}
.tf-inventory th,.tf-inventory td{font-size:12px!important;text-align:left;font-weight:400;border-bottom:1px solid #d8dfe9;padding:10px 5px;line-height:1.6}
.tf-inventory thead th{font-weight:600;font-size:10px!important;color:#758195;text-transform:uppercase;letter-spacing:.04em}
.tf-inventory .tf-inventory-total :is(th,td){font-weight:600;border-bottom:0;color:#26364b;padding-top:15px}
.tf-controls{padding:25px 24px 30px;background:#f8f9fb;border-left:1px solid var(--tf-line);min-width:0;scroll-margin-top:120px}
.tf-control-section{margin:0!important;padding:0 0 24px!important;border-bottom:1px solid #dce2eb;margin-bottom:24px!important}
.tf-control-section:last-child{margin-bottom:0!important;border-bottom:0;padding-bottom:0!important}
.tf-control-section>.tf-kicker{margin-bottom:17px}
.tf-control-section>.tf-field{margin-top:18px}
.tf-control-section>button{margin-top:13px;max-width:100%}
.tf-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;align-items:start}
.tf-hint{font-size:11px!important;line-height:1.7!important;color:#718096;margin:14px 0!important;max-width:none!important}
.tf-quantity-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}
.tf-quantity-choice>button{font-size:11px;padding:10px;text-align:center}
.tf-quantity-choice>button[aria-pressed=true]{background:#e7edf5;border-color:#7f94ad;color:#253d5b}
.tf-small-actions,.tf-direction-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tf-small-actions>button,.tf-direction-controls>button{font-size:11px;padding:9px 11px;min-height:40px}
.tf-status{font-size:13px!important;line-height:1.75!important;margin:0!important;padding:0 30px 22px!important;max-width:none!important;color:#405571}
.tf-status:empty{padding:0!important}
.tf-status.is-error{color:#8e3232}
[data-tf-copy-fallback]{padding:0 30px}
[data-tf-copy-fallback]:empty{padding:0}
[data-tf-copy-fallback]>textarea{width:100%;min-height:130px;border:1px solid #aab7c9;border-radius:10px;padding:14px;font:13px/1.6 var(--sans);margin-bottom:22px}
.tf-all-steps{padding:25px 30px;border-top:1px solid var(--tf-line);background:#fafbfc}
.tf-all-steps h3{font:400 29px/1.2 var(--serif);margin:0 0 18px}
.tf-all-steps li{font-size:14px;line-height:1.8;margin-top:12px}
.tf-footer{padding:23px 30px;border-top:1px solid var(--tf-line);background:#fff}
.tf-footer summary{font-size:12px;font-weight:600;cursor:pointer;min-height:30px}
.tf-footer details>p{font-size:12px;line-height:1.8;color:var(--tf-muted);margin:17px 0 0}
.tf-spatial{width:100%;min-height:500px;border:1px solid #d5dce6;border-radius:14px;overflow:hidden;margin-bottom:22px;background:#eef1f5}
.tf-spatial canvas{max-width:100%;display:block}
.tf-drag-ghost{position:fixed!important;z-index:200!important;transform:translate(-50%,-70%)!important;pointer-events:none!important;width:48px!important;height:48px!important;padding:0!important;border:0!important;background:transparent!important;opacity:.9!important;filter:drop-shadow(0 8px 5px #1b304333)}
.tf-drag-ghost .tf-counter-face{width:100%;height:100%}
.tf-print-sheet{display:none}
@media(min-width:1800px){.tf-heading{padding:35px 38px}.tf-workspace{grid-template-columns:minmax(0,1.8fr) minmax(350px,1fr)}.tf-output{padding:34px}.tf-controls{padding:34px}.tf-frame{padding:20px}.tf-frame>header,.tf-frame>header strong{font-size:12px}.tf-counter-face{font-size:14px}.tf-spatial{min-height:720px}.tf-workbench button,.tf-field :is(input,select){font-size:14px}.tf-control-section>.tf-kicker{font-size:11px}.tf-heading h2{font-size:44px}}
@media(max-width:1050px){.tf-topbar{padding:20px 22px}.tf-heading{padding:24px 22px}.tf-capacity{font-size:10px}.tf-export{margin-left:0;flex-basis:100%;gap:15px}.tf-guidance{margin-inline:22px;display:block}.tf-guide-actions{margin-top:20px;max-width:none;justify-content:start}.tf-current-state{padding-inline:22px!important}.tf-workspace{grid-template-columns:minmax(0,1.25fr) minmax(250px,1fr)}.tf-output{padding:22px 19px}.tf-controls{padding:22px 18px}.tf-frame{padding:10px}.tf-frames{gap:12px}.tf-frame>header{display:block}.tf-frame>header strong{display:block;margin-top:5px}.tf-workbench .tf-slot{min-height:30px}.tf-challenge{margin-inline:22px}.tf-small-actions>button,.tf-direction-controls>button{font-size:10px;padding:9px}.tf-two-fields{gap:9px}}
@media(max-width:850px){.tf-workspace{grid-template-columns:1fr}.tf-output{padding:23px}.tf-controls{border-left:0;border-top:1px solid var(--tf-line);padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.tf-control-section{min-width:0}.tf-control-section:last-child{grid-column:1/-1}.tf-control-section:nth-child(2){border-bottom:0;margin-bottom:0!important}.tf-controls-jump{display:inline-block}.tf-frame>header{display:flex}.tf-frame>header strong{margin-top:0}.tf-workbench .tf-slot{min-height:43px}.tf-capacity{white-space:normal;text-align:right}.tf-spatial{min-height:520px}}
@media(max-width:600px){.tf-workbench{border-radius:16px!important}.tf-heading{display:block;padding:23px 19px}.tf-heading h2{font-size:31px}.tf-heading p{font-size:13px}.tf-capacity{display:inline-block;margin-top:17px;font-size:10px;text-align:left;padding:6px 9px}.tf-topbar{padding:18px;gap:14px}.tf-topbar>.tf-field{min-width:145px;flex:1}.tf-history{justify-content:start;gap:7px}.tf-history button{font-size:11px;padding:9px 11px}.tf-export{gap:7px 15px}.tf-export>button{font-size:11px;min-height:36px;padding-block:5px}.tf-guidance{margin:18px 18px 0;padding:18px}.tf-guidance h3{font-size:27px}.tf-guidance p{font-size:13px}.tf-guide-actions{gap:8px}.tf-guide-actions>.tf-field{flex-basis:100%}.tf-guide-actions>.tf-field select{max-width:180px}.tf-guide-actions>button{font-size:11px}.tf-challenge{margin:18px 18px 0;padding:19px;grid-template-columns:1fr;gap:17px}.tf-challenge h3{font-size:28px}.tf-current-state{padding:18px!important;font-size:12px!important}.tf-output{padding:19px 18px 25px}.tf-viewbar>button{font-size:11px;padding:10px 12px}.tf-viewbar>span{font-size:10px}.tf-frames{grid-template-columns:1fr;gap:17px}.tf-frame{padding:13px}.tf-frame>header,.tf-frame>header strong{font-size:11px}.tf-workbench .tf-slot{min-height:43px}.tf-counter-face{font-size:11px;width:79%}.tf-tray{padding:14px}.tf-tray>header{display:block}.tf-tray>header small{display:block;margin-top:4px}.tf-equation{font-size:35px!important}.tf-equation-panel>[data-tf-decomposition]{font-size:12px!important}.tf-controls{display:block;padding:24px 19px}.tf-control-section:nth-child(2){border-bottom:1px solid #dce2eb;margin-bottom:24px!important}.tf-two-fields{gap:12px}.tf-field>span{font-size:11px}.tf-control-section>.tf-kicker{font-size:10px}.tf-workbench button{min-height:44px}.tf-small-actions>button,.tf-direction-controls>button{font-size:11px;padding:10px 12px}.tf-status{padding:0 19px 20px!important;font-size:12px!important}.tf-all-steps{padding:23px 20px}.tf-all-steps li{font-size:13px}.tf-footer{padding:22px 20px}.tf-spatial{min-height:470px;border-radius:11px}.tf-inventory th,.tf-inventory td{font-size:12px!important}[data-tf-copy-fallback]{padding-inline:19px}}
@media(max-width:360px){.tf-heading,.tf-topbar,.tf-output,.tf-controls{padding-inline:15px}.tf-guidance,.tf-challenge{margin-inline:15px;padding:16px}.tf-workbench .tf-slot{min-height:38px}.tf-counter-face{font-size:10px}.tf-history{gap:5px}.tf-history button{padding-inline:9px}.tf-direction-controls{gap:6px}.tf-guide-actions>button{padding-inline:10px}.tf-quantity-choice>button{font-size:10px}.tf-two-fields{gap:9px}}
@media(prefers-reduced-motion:reduce){.tf-workbench button{transition:none}}
@media print{body.tf-print-mode>*:not(.tf-print-sheet){display:none!important}body.tf-print-mode>.tf-print-sheet{display:block!important;padding:12mm;color:#111;background:#fff;font:12pt/1.6 Arial,sans-serif}.tf-print-sheet h1{font-size:25pt;margin:0 0 20px}.tf-print-sheet h2{font-size:20pt;margin:24px 0 17px}.tf-print-sheet .tf-frames{display:grid!important;grid-template-columns:1fr 1fr;gap:25px;max-width:650px!important;margin:25px auto!important}.tf-print-sheet .tf-frame{padding:15px;background:#fff;border:1px solid #777;break-inside:avoid}.tf-print-sheet .tf-frame-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #777}.tf-print-sheet .tf-slot{min-height:40px}.tf-print-sheet .tf-counter-face{min-height:25px;background:#8798ab!important;print-color-adjust:exact;font:10pt Arial,sans-serif}.tf-print-sheet .tf-quantity-b{background:#d8bc7c!important;color:#111}.tf-print-sheet .tf-tray{max-width:650px;margin:20px auto}.tf-print-sheet table{width:100%;border-collapse:collapse;margin-top:20px}.tf-print-sheet th,.tf-print-sheet td{text-align:left;border-bottom:1px solid #bbb;padding:8px;font-weight:400}.tf-print-sheet caption{text-align:left;font-weight:600;margin-bottom:10px}.tf-print-sheet .tf-tray-counters{display:flex;gap:8px}.tf-print-sheet .tf-frame>header{display:flex;font-size:10pt}.tf-print-sheet .tf-frame>header strong{font-size:10pt}}
