@font-face{font-family:'Noto Sans Arabic';src:url('assets/fonts/arabic.ttf') format('truetype');font-weight:100 900;font-display:block}
@font-face{font-family:'Nunito Sans';src:url('assets/fonts/latin.ttf') format('truetype');font-weight:200 1000;font-display:block}
:root{color-scheme:light;--presentation-ink:#12344a;--presentation-ground:#075365;--presentation-accent:#ffd15b;--paper:#fff9ed;--muted:#5a7781;--line:#c9dad7;--active:#cceef1}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--presentation-ground);color:var(--presentation-ink);font-family:'Noto Sans Arabic','Nunito Sans',sans-serif}
[hidden]{display:none!important}
#presentation{width:100%;height:100%;display:flex;flex-direction:column;position:relative;background:radial-gradient(at 18% 5%,#16879044,transparent 60%),var(--presentation-ground)}
#presenter-header{height:76px;display:flex;align-items:center;gap:22px;padding:10px 22px;color:#fff;direction:ltr;flex:none}
#brand{width:85px;height:58px;object-fit:contain}
#lesson-title{font-size:18px;font-weight:750;direction:rtl;flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#header-controls .uvs-node-row{gap:6px}
#workspace{display:flex;direction:ltr;flex:1;min-height:0;min-width:0;padding:0 10px;gap:10px}
#slide-area{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden}
#viewport{position:relative;flex:none;overflow:hidden;isolation:isolate;border-radius:14px;box-shadow:0 20px 50px #001e2940;touch-action:none}
#scene-plane{position:absolute;left:0;top:0;transform-origin:top left}
#text-annotations{position:absolute;inset:0;z-index:4;pointer-events:none;cursor:text}
#text-annotations>.uvs-node-container,#text-annotations>div{position:absolute;inset:0}
#viewport[data-tool=pan] #stage{cursor:grab}
#viewport[data-tool=pan]:active #stage{cursor:grabbing}
#stage{position:absolute;left:0;top:0;transform-origin:top left;direction:ltr;cursor:default;isolation:isolate}
#stage .uvs-node-text{font-synthesis:none;text-rendering:optimizeLegibility;pointer-events:none}
#stage .uvs-node-image{max-width:none;max-height:none;pointer-events:none}
#stage button{padding:0;cursor:pointer;transition:box-shadow .15s;background:transparent}
#stage button:hover{box-shadow:0 0 0 5px #00a5b055,0 8px 24px #00293a24}
#stage button:focus-visible{outline:6px solid #1980ce;outline-offset:5px}
#stage button[data-response=selected]{box-shadow:inset 0 0 0 8px #2686d2}
#stage button[data-response=correct]{box-shadow:inset 0 0 0 8px #218452}
#stage button[data-response=incorrect]{box-shadow:inset 0 0 0 8px #c4423e}
#stage button[data-response=correct]::after,#stage button[data-response=incorrect]::after{position:absolute;left:8px;top:4px;font-size:36px;font-weight:900;content:'✓';color:#218452}
#stage button[data-response=incorrect]::after{content:'×';color:#c4423e}
#ink{position:absolute;inset:0;width:100%;height:100%;z-index:3;touch-action:none;pointer-events:none}
#ink[data-mode=pen],#ink[data-mode=highlighter],#ink[data-mode=trail]{cursor:crosshair}
#ink[data-mode=eraser]{cursor:cell}
#speaker-notes{width:310px;flex:none;overflow:auto;direction:rtl;background:linear-gradient(145deg,#f0faf5,var(--paper));border-radius:16px;padding:22px 24px;scrollbar-width:thin}
#speaker-notes h2{font-size:21px;margin:0 0 20px;font-weight:850}
#note-content>.uvs-node-column{padding:16px 0;border-top:1px solid var(--line);gap:8px}
#note-content [data-uvs-node-id^=label]{color:#087583;font-size:15px;font-weight:800}
#note-content [data-uvs-node-id^=body]{font-size:17px;line-height:1.9}
#note-source{font-size:12px;color:var(--muted);margin:22px 0}
#cue-status{border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:12px}
#cue-progress{font-family:'Nunito Sans';direction:ltr;display:block;font-size:17px;color:#087583;font-weight:800}
#controls{min-height:64px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 12px;margin:8px 10px 10px;border-radius:14px;background:var(--paper);direction:ltr;flex:none}
#controls>.uvs-node-row{gap:6px;align-items:center}
#controls button,#header-controls button,#inspector button{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:8px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--presentation-ink);font-size:14px;cursor:pointer}
#header-controls button{color:#f8f8ed;width:38px;height:38px;min-width:38px}
#controls button:hover,#inspector button:hover{background:#d9eeec}
#header-controls button:hover{background:#ffffff1a}
#controls button:focus-visible,#header-controls button:focus-visible,#inspector button:focus-visible{outline:2px solid #2686d2;outline-offset:3px}
#controls button[aria-pressed=true],#inspector button[aria-pressed=true]{background:var(--active);border-color:#78cfd3;color:#076978}
#header-controls button[aria-pressed=true]{background:#ffffff20}
#controls button:disabled{opacity:.28;cursor:default}
#controls [data-uvs-node-id=next]{background:#008b9e;color:white}
#controls [data-uvs-node-id=position]{min-width:74px;text-align:center;font-family:'Nunito Sans';font-size:18px;font-weight:800;direction:ltr}
#controls [data-uvs-node-id=slides]{width:auto!important;min-width:100px;font-size:13px;white-space:nowrap;direction:rtl}
#controls [data-uvs-node-id=zoom-reset]{width:auto;min-width:94px;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
dialog{border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--presentation-ink);padding:18px;box-shadow:0 20px 90px #001e2955}
dialog::backdrop{background:#002b3eaa;backdrop-filter:blur(5px)}
#slide-selector{width:min(900px,94vw);max-height:86vh}
#slide-selector-controls,#lab-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;font-size:22px;font-weight:800}
dialog button{font:inherit;cursor:pointer;background:transparent;border:1px solid var(--line);border-radius:12px;padding:10px;color:inherit}
dialog button:hover{background:var(--active)}
dialog button:focus-visible{outline:3px solid #2686d2;outline-offset:3px}
#slide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px}
#slide-grid button{display:flex;flex-direction:column;gap:10px;text-align:right;font-size:14px;background:#fffef9;min-height:150px}
#slide-grid button[aria-pressed=true]{border:2px solid #138b8d;background:var(--active)}
#slide-grid img{width:100%;height:110px;object-fit:contain}
#slide-grid .uvs-node-text{font-weight:750}
#lab-dialog{width:96vw;height:94vh;max-width:1500px;max-height:96vh;overflow:hidden}
#lab-dialog[open]{display:flex;flex-direction:column}
#lab-frame{width:100%;flex:1;min-height:0;border:0;border-radius:12px;background:var(--paper)}
.audience #lab-controls{display:none}
.embedded-exhibit #presenter-header,.embedded-exhibit #speaker-notes{display:none}
.embedded-exhibit #workspace{padding-top:8px}
.embedded-exhibit #controls{min-height:48px;padding:4px 12px;margin:4px 8px}
.embedded-exhibit #ink-tools,.embedded-exhibit [data-uvs-node-id=ink-tools]{display:none}
.embedded-exhibit #slide-area{flex:1;height:auto}
@media(max-width:720px){#slide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#slide-grid button{font-size:12px}#slide-grid img{height:85px}#lab-dialog{padding:8px;width:98vw;height:96vh}#lab-controls{font-size:15px}#controls [data-uvs-node-id=slides]{min-width:92px}}
.glyph{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
#controls [data-uvs-node-id=highlighter]{color:#a56d00}
#inspector{position:absolute;inset:4% 24% 4% 3%;z-index:5;border-radius:18px;padding:18px 24px;background:linear-gradient(145deg,#fffdf6b8,#e5f3ed99);backdrop-filter:blur(18px);box-shadow:0 12px 60px #06273424;overflow:auto;font-size:16px;border:1px solid #ffffff99}
#viewport[data-inspecting=true] #stage>.uvs-node>.uvs-node:not([data-uvs-node-id$=':presentation_backdrop']){filter:blur(5px) opacity(.13)}
#viewport[data-inspecting=true] #ink,#viewport[data-inspecting=true] #text-annotations{filter:blur(5px) opacity(.13)}
#inspector-content{display:flex;flex-direction:column;height:100%;gap:10px}
#inspector [data-uvs-node-id=inspect-heading]{justify-content:space-between;align-items:center;flex:none}
#inspector [data-uvs-node-id=inspect-title]{font-size:26px;font-weight:850}
#inspector [data-uvs-node-id=inspect-tabs]{gap:6px;flex:none;flex-wrap:wrap}
#inspector [data-uvs-node-id=inspect-tabs] button{padding:4px 16px;background:#ffffff99}
#inspector [data-uvs-node-id=inspect-photo]{width:100%;flex:1;min-height:0;max-height:58%;background:transparent;border-radius:10px}
#inspector [data-uvs-semantic-kind='tour.viewport']{flex:1;min-height:180px;cursor:grab;border-radius:12px}
#inspector [data-uvs-semantic-kind='tour.viewport']:active{cursor:grabbing}
#inspector [data-uvs-semantic-kind='tour.hotspot']{width:64px;height:64px;border-radius:50%;border:2px solid #12888a;background:#fff7ddeb;color:#075b63;font-size:25px;box-shadow:0 0 0 6px #ffc95c44,0 3px 12px #043d4455}
#inspector [data-uvs-node-id=tour-controls]{justify-content:center;flex-wrap:wrap;gap:6px;flex:none}
#inspector [data-uvs-node-id=tour-controls] button{border:1px solid #138b8d33;background:#fff9ed99;padding:5px 12px}
#inspector [data-uvs-node-id=tour-hint]{font-size:12px;text-align:center;color:#476c71;flex:none}
#inspector [data-uvs-node-id=inspect-caption]{font-size:17px;font-weight:750;line-height:1.6}
#inspector [data-uvs-node-id=inspect-idea]{font-size:14px;line-height:1.6}
#inspector [data-uvs-node-id=credit],#inspector [data-uvs-node-id=license]{font-size:10px;color:var(--muted);direction:ltr;align-self:flex-start}
#question-feedback{position:absolute;bottom:2%;left:5%;right:27%;z-index:4;border-radius:12px;background:#fff9ede8;border-inline-start:5px solid #b95a36;padding:10px 18px;font-size:clamp(10px,1.4vw,19px);box-shadow:0 4px 20px #00293622}
#question-feedback[data-correct=true]{border-color:#218452;color:#17613c}
#status{position:absolute;top:85px;left:50%;transform:translateX(-50%);background:#fff9edef;padding:8px 18px;border-radius:12px;font-size:13px;z-index:10}
#status:empty{display:none}
#help{position:absolute;bottom:88px;left:20px;right:20px;padding:14px 22px;background:#fff9edf5;border:1px solid var(--line);border-radius:14px;font-size:13px;z-index:10}
.notes-hidden #speaker-notes{display:none}
.clean #controls,.clean #help,.clean #presenter-header,.clean #speaker-notes{display:none}
.clean #workspace{padding:0;gap:0;width:100%}
.clean #viewport{box-shadow:none;border-radius:0}
.audience #inspector button,.audience #ink{pointer-events:none}
@media(max-width:1000px){#speaker-notes{width:260px;padding:16px}#note-content [data-uvs-node-id^=body]{font-size:15px}}
@media(max-width:720px){
 #presenter-header{height:60px;padding:6px 12px;gap:10px}#brand{width:63px;height:46px}#lesson-title{display:none}
 #header-controls{margin-left:auto}#header-controls .uvs-node-row{gap:0}
 #header-controls button{min-width:34px;width:34px;height:36px}
 #workspace{flex-direction:column;padding:0 6px;gap:8px}
 #slide-area{flex:none;height:calc((100vw - 12px)*.5625)}
 #speaker-notes{width:100%;flex:1;padding:16px}
 #speaker-notes h2{font-size:17px;margin:0 0 8px}#note-content>.uvs-node-column{padding:10px 0}
 #controls{padding:6px;gap:2px;flex-wrap:wrap;margin:6px;justify-content:center;min-height:90px}
 #controls>.uvs-node-row{gap:1px}#controls button{height:36px;min-width:36px;width:36px;padding:6px}
 #controls [data-uvs-node-id=position]{min-width:56px;font-size:15px}
 #inspector{position:fixed;inset:65px 8px 108px;padding:16px;border-radius:14px}#inspector-content{gap:10px}
 #inspector [data-uvs-node-id=inspect-title]{font-size:19px}#inspector [data-uvs-node-id=inspect-tabs] button{height:34px;min-width:0;padding:3px 9px;font-size:13px}
 #inspector [data-uvs-node-id=inspect-caption]{font-size:15px}#inspector [data-uvs-node-id=inspect-idea]{font-size:14px}
 #inspector [data-uvs-node-id=credit],#inspector [data-uvs-node-id=license]{font-size:10px}
 .clean #slide-area,.notes-hidden #slide-area{flex:1;height:auto}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
