/* Remaining existing tools: shared local emerald/gold presentation, no engines. */
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-layout>form{margin:0;padding:22px;background:var(--brand-soft);border:1px solid var(--line);border-radius:18px;min-width:0}
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-side{position:static;min-width:0}
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-aside{background:radial-gradient(ellipse at 0 0,#42866655,transparent 65%),var(--brand-dark);color:#fff;border-color:var(--brand-dark);border-radius:20px;padding:28px;min-height:240px}
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-aside :is(p,small){color:#e3eee6}
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-aside>.category-icon{width:60px;height:60px;background:#ffffff12;color:var(--experience-gold);border-color:#ffffff29}
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-aside h3{font-size:23px;margin-block:18px 10px}
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .result-surface{max-height:none;overflow:visible;padding:24px;border-color:#bdd2c3;background:#f8fbf6;min-width:0}
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-layout [type=submit]{width:100%;min-height:52px;font-size:16px}
.tool-experience .utility-fieldset{border-color:#bdcfbf;border-radius:14px;padding:16px;min-width:0;background:#fff}
.tool-experience .utility-fieldset legend{padding-inline:8px;color:var(--brand);font-weight:700}
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media,.experience-party,.experience-spy,.experience-typing,.experience-invoice) .utility-notice{background:var(--experience-gold-soft);border:1px solid #e5d8b7;color:#635226;border-radius:14px;padding:15px 18px;font-size:13px;line-height:2;margin-block:0 22px}
.tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-output{background:white;border-color:#bdcfbf;border-radius:13px;min-height:105px;font-size:17px;overflow-wrap:anywhere}
.tool-experience input[type=file]{padding:14px;border-style:dashed;background:white;font-size:13px;max-width:100%}
.tool-experience input[type=file]::file-selector-button{font:inherit;color:var(--brand);background:var(--brand-soft);border:1px solid #b6c9ba;border-radius:8px;padding:8px 12px;margin-inline-end:12px;cursor:pointer}
.tool-experience :is([data-workshop-result],[data-practice-result],[data-expedition-result],[data-compress-result],[data-media-player],[data-party-board],[data-spy-board],[data-typing-board],[data-typing-result],[data-invoice-sheet]){scroll-margin-block:0 90px}
.tool-experience .finance-values{max-width:none;margin-block:18px;display:grid;gap:10px}
.tool-experience .finance-values>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;background:white;padding:14px;border:1px solid var(--line);border-radius:12px}
.tool-experience .finance-values dt{font-size:13px;color:var(--muted)}.tool-experience .finance-values dd{font-size:17px;font-weight:700;overflow-wrap:anywhere;margin:0}
.tool-experience .table-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:14px;overscroll-behavior:contain;scrollbar-gutter:stable}
.tool-experience .table-scroll th{background:var(--brand-soft);color:var(--brand)}
/* Calculator is mathematical LTR inside a Persian workspace. */
.experience-workshop [data-workshop=calculator] #w-expression{font-size:25px;min-height:64px;background:#fff;direction:ltr;text-align:left}
.experience-workshop .workshop-keypad{direction:ltr;gap:9px;padding:14px;background:#e2ece1;border:1px solid #c0d1bf;border-radius:17px}
.experience-workshop .workshop-keypad .button{min-height:53px;background:#fff;font-size:20px;color:var(--brand-dark);border-color:#b6c9ba}
.experience-workshop .workshop-keypad [data-calc-back]{background:var(--experience-gold-soft);color:#66501e}
.experience-workshop [data-workshop=calculator] [data-workshop-result]{background:var(--brand-dark);border-color:var(--brand-dark);color:white}
.experience-workshop [data-workshop=calculator] [data-workshop-result] :is(h3,p,label){color:#e3eee6}
.experience-workshop [data-workshop=calculator] #workshop-output{height:112px;min-height:112px;max-height:300px;font-size:36px;color:var(--ink);background:#fffaf0;line-height:1.8}
@media(min-width:761px){.experience-workshop [data-workshop=calculator] .utility-side{position:sticky;top:24px;align-self:start}}
.experience-workshop .workshop-preview{background:#edf3ed;border-radius:16px;padding:12px;min-width:0}
.experience-workshop .workshop-preview canvas{max-width:100%;height:auto;display:block;margin-inline:auto}
.experience-workshop .workshop-crop{border:1px solid #b8cebe;border-radius:14px;overflow:hidden}
.experience-workshop [data-workshop-result] .workbench-actions{gap:10px}
.experience-workshop [data-workshop=image] .utility-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.experience-workshop [data-workshop=qrscan] video{width:100%;max-height:350px;border-radius:14px;background:#111}
.experience-workshop [data-workshop=ielts] .form-grid{gap:16px}
.experience-practice .date-entry{align-items:center;gap:10px}.experience-practice .date-entry label{flex:1;min-width:0}
.experience-practice #q-amount{font-size:26px;min-height:60px;background:#fff}
/* Rate cache remains read-only. Source age and manual assumptions stay visible. */
.experience-expedition .market-strip{border:1px solid #c2d5c6;background:linear-gradient(115deg,var(--brand-soft),var(--experience-gold-soft));border-radius:18px;padding:20px;margin-bottom:24px;gap:12px}
.experience-expedition .market-strip .workbench-actions{margin-top:12px}.experience-expedition .market-strip :is(p,small){line-height:1.9}
.experience-expedition :is(#x-amount,#x-weight){font-size:26px;min-height:60px;background:white}
.experience-expedition .expedition-plate-list{max-height:480px;border:1px solid var(--line);border-radius:14px;background:#fff}
.experience-expedition .expedition-plate-list th{background:var(--brand-soft)}
.experience-expedition .speed-progress{height:16px;border:1px solid #aac4b1;border-radius:20px;overflow:hidden;background:#e5eee5}
.experience-expedition [data-speed-progress]{accent-color:var(--brand);max-width:100%}
.experience-expedition [data-expedition-links]{display:grid;gap:12px;margin-block:18px}.experience-expedition [data-expedition-links] .button{width:100%}
.experience-expedition [data-expedition=instagram] #x-url{font-size:14px}
/* Reading studio: do not replace the source text or imply a prediction. */
.experience-studio [data-studio=hafez] .hafez-verses{padding:20px;background:#fffaf0;border:1px solid #e7d6ac;border-radius:16px;color:#3d3524;line-height:2.5;gap:6px 22px}
.experience-studio [data-studio=hafez] .hafez-verses :is(p,span){color:#3d3524}
.experience-studio [data-studio=hafez] [data-studio-result] a:not(.button){color:#f5d995;text-decoration:underline;text-underline-offset:4px}
.experience-studio [data-studio=hafez] .hafez-meaning{background:#fff;color:var(--ink);border-radius:14px;padding:18px;line-height:2}
/* Games: settings can close after preparation, without concealing errors or secrets with CSS. */
.experience-game-settings{border:1px solid var(--line);background:#f5f9f2;border-radius:18px;padding:0 22px;margin-bottom:24px}
.experience-game-settings>summary{display:list-item;cursor:pointer;min-height:56px;padding-block:14px;color:var(--brand);font-weight:700;font-size:17px}
.experience-game-settings>.editor-form{margin-block:8px 22px}
.tool-experience:is(.experience-party,.experience-spy,.experience-typing) [type=submit]{min-height:54px;width:100%;font-size:17px}
.experience-party .party-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.experience-party .party-categories .check-field{min-height:44px;background:#f5f9f2;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:13px;align-items:center;margin:0}
.tool-experience:is(.experience-party,.experience-spy) :is(.party-stage,.spy-card,.spy-discussion){background:radial-gradient(ellipse at 0 0,#42866655,transparent 65%),var(--brand-dark);color:#fff;border:1px solid var(--brand-dark);border-radius:22px;padding:28px;margin-block:18px}
.tool-experience:is(.experience-party,.experience-spy) :is(.party-stage,.spy-card,.spy-discussion) .muted{color:#dfebe2}
.experience-party .party-stage>[data-party-turn]{color:var(--experience-gold);font-size:19px;font-weight:700}
.tool-experience:is(.experience-party,.experience-spy) :is(.party-timer,.spy-timer){font-size:clamp(52px,8vw,76px);line-height:1.3;color:var(--experience-gold);font-variant-numeric:tabular-nums;display:block;margin-block:16px}
.experience-party .party-card{background:#fffaf0;border:1px solid #e6ce92;color:#2d392d;border-radius:18px;padding:24px;margin-block:18px}
.experience-party .party-card strong{font-size:clamp(28px,4vw,40px);overflow-wrap:anywhere}
.experience-party .party-card small{color:#67572f;margin-top:10px;display:block}
.experience-party .party-cover{padding:24px;background:#ffffff0d;border:1px dashed #ffffff66;border-radius:16px;color:#fff}
.experience-party .party-scoreboard{gap:12px;margin-bottom:22px}.experience-party .party-scoreboard>div{border:1px solid #c2d4c6;background:var(--brand-soft);border-radius:14px;padding:16px}
.experience-party [data-party-history]{border-top:1px solid var(--line);padding-top:18px;margin-block:24px}
.experience-party [data-party-correct]{background:var(--brand);min-height:55px}.experience-party [data-party-skip]{background:var(--experience-gold-soft)}
.tool-experience:is(.experience-party,.experience-spy) .workbench-actions{gap:12px;align-items:stretch}
.experience-spy .spy-card strong{font-size:28px;line-height:1.8}.experience-spy .spy-card .category-icon{background:#ffffff12;color:var(--experience-gold);border-color:#ffffff29}
.experience-spy .spy-card p{font-size:15px;line-height:2}.experience-spy [data-spy-ended]{padding:24px;background:#f5f9f2;border-color:#bcd0c2}
.experience-spy [data-spy-roles]{padding-inline-start:24px;line-height:2.2}
.experience-typing .typing-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-block:22px}
.experience-typing .typing-stats>div{background:var(--brand-dark);color:#fff;border:1px solid var(--brand-dark);border-radius:16px;padding:18px}
.experience-typing .typing-stats dt{font-size:12px;color:#e3eee6;line-height:1.9}.experience-typing .typing-stats dd{font-size:30px;color:var(--experience-gold);margin:6px 0 0}
.experience-typing .typing-reference{background:#f5f9f2;border:1px solid #bdd0c2;border-radius:17px;padding:24px;font-size:25px;line-height:2.2;max-height:300px;overflow:auto}
.experience-typing #k-answer{font-size:22px;line-height:2.1;background:white;border-width:2px;min-height:180px}
.experience-typing [data-typing-result]{padding:26px;margin-top:24px;background:#f8fbf6;border-color:#bcd0c2}
.experience-typing .typing-chart{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;margin-block:20px}
.experience-typing .typing-chart figcaption{font-size:13px;line-height:1.9}
/* Media and PDF have real progress/cancellation, not decorative scores. */
.experience-media [data-media-player]{padding:24px;border:1px solid #bdd0c2;border-radius:20px;background:#f5f9f2;margin-top:24px}
.experience-media video{display:block;width:100%;max-height:70vh;background:#101713;border-radius:15px}
.experience-media .media-playlist{padding:0;list-style:none;display:grid;gap:10px;margin-block:18px}.experience-media .media-playlist .button{width:100%;justify-content:start}
.experience-compress :is(progress,[data-compress-progress]){width:100%;accent-color:var(--brand);margin-block:16px;min-height:12px}
.experience-compress [data-compress-result] [data-compress-download]{width:100%;min-height:52px;margin-block:14px}
.experience-compress [data-compress-preview]{max-width:100%;height:auto;border-radius:12px}
/* Screen-only: the existing direct-child invoice/A4 print contract is unchanged. */
@media screen{
 .experience-invoice [data-invoice-form]{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--brand-soft)}
 .experience-invoice .invoice-edit-row{gap:12px;padding:16px;background:#fff;border:1px solid #bfd0c3;border-radius:14px;margin-block:12px;align-items:end}
 .experience-invoice .invoice-edit-row label{min-width:0}.experience-invoice [data-invoice-actions]{background:var(--experience-gold-soft);border:1px solid #e3d5b1;padding:18px;border-radius:16px;margin-block:22px;gap:12px}
 .experience-invoice [data-invoice-sheet]{border:1px solid #bdd0c2;border-radius:18px;padding:28px;margin-top:24px;background:white;overflow:auto;max-width:100%}
 .experience-invoice [data-invoice-form]>.workbench-actions{gap:12px;margin-top:24px}.experience-invoice [data-invoice-form] [type=submit]{min-height:52px}
}
@media(max-width:1000px){.experience-party .party-categories{grid-template-columns:repeat(3,minmax(0,1fr))}.experience-typing .typing-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-layout,.experience-workshop [data-workshop=image] .utility-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 .tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .utility-layout>form{padding:18px 14px}
 .tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) :is(.utility-aside,.result-surface){padding:22px 18px;min-height:0}
 .tool-experience .finance-values>div{grid-template-columns:minmax(0,1fr);gap:5px}
 .tool-experience:is(.experience-workshop,.experience-practice,.experience-expedition,.experience-compress,.experience-media) .workbench-actions>*{flex:1 1 45%;min-width:0}
 .experience-game-settings{padding-inline:14px}.experience-game-settings>summary{font-size:16px}
 .experience-party .party-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tool-experience:is(.experience-party,.experience-spy) :is(.party-stage,.spy-card,.spy-discussion){padding:22px 16px}
 .tool-experience:is(.experience-party,.experience-spy) .workbench-actions>*{flex:1 1 45%;min-width:0;font-size:14px}
 .experience-typing .typing-stats{gap:10px}.experience-typing .typing-stats>div{padding:14px}.experience-typing .typing-stats dd{font-size:27px}
 .experience-typing .typing-reference{padding:18px;font-size:22px}.experience-typing #k-answer{font-size:20px}
 .experience-typing [data-typing-result],.experience-media [data-media-player]{padding:20px 14px}
 .experience-typing .workbench-actions>*{flex:1 1 45%;font-size:13px}
 .experience-studio [data-studio=hafez] .hafez-verses{grid-template-columns:minmax(0,1fr);padding:16px}
 .experience-expedition .market-strip{padding:16px}.experience-expedition .market-strip .button{width:100%;font-size:13px}
 .experience-workshop .workshop-keypad{padding:10px;gap:7px}.experience-workshop .workshop-keypad .button{padding-inline:8px;min-height:50px}
}
@media screen and (max-width:760px){
 .experience-invoice [data-invoice-form]{padding:18px 12px}.experience-invoice .invoice-edit-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 10px;gap:12px}
 .experience-invoice .invoice-edit-row>label:first-child{grid-column:1/-1}.experience-invoice .invoice-edit-row .icon-button{justify-self:end}
 .experience-invoice [data-invoice-sheet]{padding:18px 12px}.experience-invoice [data-invoice-actions]>*{flex:1 1 45%;min-width:0;font-size:13px}
}
