/* Shared player structure; title-specific art direction is defined below. */
.ar-library-player{--alp-ink:#f8f5f1;--alp-muted:#c3c0bc;--alp-line:#6e6b67;--alp-silver:#e5e2de;box-sizing:border-box;color-scheme:dark;position:fixed;inset:0;width:min(1540px,calc(100vw - 40px));height:min(1000px,calc(100dvh - 40px));max-width:none;max-height:none;padding:0;border:1px solid var(--alp-line);border-radius:22px;color:var(--alp-ink);background:#161411;box-shadow:0 24px 100px #000b;overflow:hidden;font:14px/1.5 Arial,sans-serif;z-index:2147482000}
.ar-library-player[open]{display:flex;flex-direction:column}.ar-library-player-surface{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:inherit}.ar-library-player::backdrop{background:#060401d9;backdrop-filter:blur(7px)}.ar-library-player *{box-sizing:border-box}.ar-library-player [hidden]{display:none!important}.ar-library-player button{appearance:none;margin:0;border:1px solid var(--alp-line);border-radius:11px;padding:10px 14px;min-height:42px;background:#2f2c28;color:var(--alp-ink);font:600 13px/1.4 Arial,sans-serif;letter-spacing:0;cursor:pointer;box-shadow:none}.ar-library-player button::after{content:none!important}.ar-library-player button:hover{background:#494642;border-color:var(--alp-silver)}.ar-library-player button:disabled{opacity:.42;cursor:wait}.ar-library-player button:focus-visible{outline:3px solid var(--alp-silver);outline-offset:3px}.ar-library-player-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 20px;background:linear-gradient(115deg,#312e2a,#181613);border-bottom:1px solid var(--alp-line);flex:0 0 auto;position:relative;z-index:4}.ar-library-player-heading{min-width:0}.ar-library-player-heading>span{display:block;color:var(--alp-silver);font:700 10px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em}.ar-library-player-heading h2{font:500 clamp(17px,2vw,23px)/1.2 Georgia,serif;color:var(--alp-ink);margin:3px 0 0}.ar-library-player-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.ar-library-frame-wrap{position:relative;flex:1 1 auto;min-height:0;background:#1b1916}.ar-library-frame-slot,.ar-library-frame{display:block;width:100%;height:100%;min-height:0;border:0}.ar-library-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:radial-gradient(ellipse at 50% 30%,#403d39,#181613);color:var(--alp-ink)}.ar-library-loading p{max-width:420px;font:18px/1.6 Georgia,serif;color:var(--alp-ink)}.ar-library-spinner{width:32px;height:32px;border:2px solid #827f7b;border-top-color:#f4f1ed;border-radius:50%;animation:ar-library-spin 1s linear infinite}.ar-library-player-surface:fullscreen{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#161411}.ar-library-player-open{overflow:hidden!important}.ar-library-player [data-player-close]{color:#f8f5f1;background:#3f3c38}
@keyframes ar-library-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.ar-library-player{width:100vw;height:100dvh;border:0;border-radius:0}.ar-library-player-top{padding:10px 12px;gap:8px}.ar-library-player-actions{gap:5px}.ar-library-player-actions>button{padding:8px 10px;font-size:18px;min-width:40px}.ar-library-player-actions>button>span{display:none}.ar-library-player-heading h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ar-library-spinner{animation:none;border-color:var(--alp-silver)}}
/* Universal launch treatment. Decorative artwork is never a readiness dependency. */
.ar-library-loading{--arl-light:#f4eee0;--arl-dust:#c7b589;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#302c25 0%,#151411 49%,#0c0c0a 100%);color:var(--arl-light)}
.ar-launch-atmosphere,.ar-launch-atmosphere>span{position:absolute;inset:0;pointer-events:none}
.ar-launch-atmosphere{z-index:-1;overflow:hidden}
.ar-launch-atmosphere .ar-launch-sigil{inset:50% auto auto 50%;width:min(70vw,570px);height:min(70vw,570px);transform:translate(-50%,-49%);background:url('./loading-sigil.webp') center/contain no-repeat;opacity:.095;filter:grayscale(.75)}
.ar-launch-fog{background:radial-gradient(ellipse at 15% 74%,#bcc8b51a 0%,transparent 34%),radial-gradient(ellipse at 88% 48%,#d4ccb412 0%,transparent 36%);filter:blur(20px);transform:scale(1.2);animation:ar-launch-fog 17s ease-in-out infinite alternate}
.ar-launch-particles{background:radial-gradient(circle at 14% 31%,var(--arl-dust) 0 1px,transparent 2px),radial-gradient(circle at 28% 74%,var(--arl-dust) 0 1px,transparent 2px),radial-gradient(circle at 43% 19%,var(--arl-dust) 0 1px,transparent 2px),radial-gradient(circle at 69% 68%,var(--arl-dust) 0 1px,transparent 2px),radial-gradient(circle at 83% 29%,var(--arl-dust) 0 1px,transparent 2px),radial-gradient(circle at 91% 81%,var(--arl-dust) 0 1px,transparent 2px);opacity:.38;animation:ar-launch-drift 12s ease-in-out infinite alternate}
.ar-launch-content{position:relative;display:flex;flex-direction:column;align-items:center;width:min(100%,440px);max-height:100%;overflow:auto;padding:6px 12px 20px;scrollbar-width:thin}
.ar-launch-knot{width:clamp(108px,22vh,180px);height:clamp(108px,22vh,180px);overflow:visible;flex:none;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ar-launch-knot-track{stroke:var(--arl-light);stroke-width:1.5;opacity:.42}
.ar-launch-knot-light{stroke:var(--arl-light);stroke-width:2.1;stroke-dasharray:8 92;filter:drop-shadow(0 0 4px var(--arl-light));animation:ar-launch-trace 3.6s linear infinite}
.ar-library-loading .ar-launch-label{margin:11px 0 0;font:400 21px/1.4 Georgia,serif;letter-spacing:.1em;color:var(--arl-light)}
.ar-library-loading .ar-launch-detail{margin:16px 0 0;font:13px/1.6 Arial,sans-serif;color:#d6d1c5;max-width:410px;min-height:42px;letter-spacing:.015em}
.ar-library-loading .ar-launch-hint{margin:12px 0 0;font:11px/1.6 Arial,sans-serif;color:#aaa89d}
.ar-library-loading [data-player-retry]{margin-top:20px;min-width:130px}
.ar-library-player[data-launch-state="loading"] .ar-library-frame-slot,.ar-library-player[data-launch-state="error"] .ar-library-frame-slot{pointer-events:none}
.ar-library-player[data-launch-state="error"] :is(.ar-launch-knot-light,.ar-launch-particles,.ar-launch-fog){animation:none}
.ar-library-player[data-launch-state="error"] .ar-launch-knot-light{stroke-dasharray:none;opacity:.45;filter:none}
@keyframes ar-launch-trace{to{stroke-dashoffset:-100}}
@keyframes ar-launch-fog{to{transform:translate(3%,-2%) scale(1.26);opacity:.65}}
@keyframes ar-launch-drift{to{transform:translate(-9px,-18px);opacity:.19}}
@media(prefers-reduced-motion:reduce){.ar-launch-knot-light,.ar-launch-fog,.ar-launch-particles{animation:none!important}.ar-launch-knot-light{stroke-dasharray:none;opacity:.6;filter:none}}
@media(forced-colors:active){.ar-launch-atmosphere{display:none}.ar-library-loading{background:Canvas!important}.ar-library-loading :is(.ar-launch-label,.ar-launch-detail,.ar-launch-hint){color:CanvasText}.ar-launch-knot-track,.ar-launch-knot-light{stroke:CanvasText;filter:none}}
@media(max-height:450px){.ar-library-loading{padding:12px}.ar-launch-knot{width:84px;height:84px}.ar-library-loading .ar-launch-label{margin-top:0;font-size:17px}.ar-library-loading .ar-launch-detail{margin-top:8px;min-height:0}.ar-library-loading .ar-launch-hint{margin-top:6px}.ar-launch-content{padding-bottom:8px}}
/* Fullscreen only: the app fills the surface; host chrome floats at its edges. */
.ar-library-player-surface{position:relative}
.ar-library-edge{position:absolute;left:0;right:0;height:12px;z-index:6;display:flex;justify-content:center;pointer-events:auto}
.ar-library-edge-top{top:0;align-items:flex-start}
.ar-library-player .ar-library-edge button{min-height:18px;height:18px;width:64px;padding:0;border-radius:0 0 8px 8px;background:#191713b8;border:1px solid #b7ae9570;color:#eee9dc;font:16px/14px Arial,sans-serif;opacity:.62;touch-action:manipulation}
.ar-library-player .ar-library-edge button:is(:hover,:focus-visible){opacity:1;background:#393327;outline-offset:-2px}
.ar-library-player[data-immersive="true"] .ar-library-player-top{position:absolute;top:0;left:0;right:0;transition:transform .22s ease;box-shadow:0 5px 20px #0005}
.ar-library-player[data-immersive="true"] .ar-library-frame-wrap{width:100%;height:100%;flex:1 1 100%}
.ar-library-player[data-immersive="true"][data-chrome-top="hidden"] .ar-library-player-top:not(:focus-within):not(:hover){transform:translateY(calc(-100% - 1px))}
.ar-library-player .ar-library-edge button:focus-visible{opacity:1!important}
@media(prefers-reduced-motion:reduce){.ar-library-player[data-immersive="true"] .ar-library-player-top{transition:none}}
@media(forced-colors:active){.ar-library-player .ar-library-edge button{color:ButtonText;background:ButtonFace;border-color:ButtonText;opacity:1}}

/* Named Aletheia Radiance launch composition. Decorative artwork is
   independent of game readiness; no download gates or extra wait time. */
.ar-library-player{
 --alp-ink:#f7f0df;--alp-muted:#c6bdaa;--alp-line:#776b55;--alp-silver:#ead5ac;
 --alp-paper:#2a251c;--alp-paper-light:#3b3428;--alp-button:#393022;--alp-button-hover:#51432d;
 --alp-runner:linear-gradient(115deg,#373025,#191711);--alp-title-font:Georgia,serif;
 --arl-light:#fff3d4;--arl-mid:#c3a877;--arl-dark:#796342;--arl-dust:#e3c993;--arl-duration:4.8s;
 --arl-art:none;--arl-art-opacity:0;--arl-sigil-filter:grayscale(.6) sepia(.18);
 --arl-veil:radial-gradient(ellipse at 50% 44%,#1c18163b,#100e0cdb 82%);
}
.ar-library-player[data-player-app="sheep"]{
 color-scheme:light;--alp-ink:#30472f;--alp-muted:#536444;--alp-line:#8c9e6c;--alp-silver:#657944;
 --alp-paper:#f5efda;--alp-paper-light:#fff8e7;--alp-button:#e4eac9;--alp-button-hover:#f3f4d7;
 --alp-runner:linear-gradient(115deg,#e8edcf,#f8f0d7 58%,#dbe5bd);--alp-title-font:Georgia,serif;
 --arl-light:#fff4cd;--arl-mid:#c7d5a0;--arl-dark:#58754d;--arl-dust:#f8edb9;--arl-duration:6.3s;
 --arl-art:url('./loading-r12/sheep-pasture-r12.webp');--arl-art-opacity:.96;
 --arl-sigil-filter:none;
 --arl-veil:radial-gradient(ellipse at 50% 53%,#173829c4 0%,#193d2e9e 39%,#153e306e 74%,#173d327e 100%);
}
.ar-library-player[data-player-app="scripture-quest"]{
 color-scheme:light;--alp-ink:#3c2b1c;--alp-muted:#6a553d;--alp-line:#a88a59;--alp-silver:#80582f;
 --alp-paper:#e6d5b5;--alp-paper-light:#f6e8cc;--alp-button:#ead8b7;--alp-button-hover:#f8e9ce;
 --alp-runner:linear-gradient(105deg,#bd9c6adb,#eddfc2f2 45%,#d1b384e8),url('../../embedded/scripture-quest/assets/scripture-landscape.png') center 52%/cover;
 --arl-light:#fff0c7;--arl-mid:#d2a464;--arl-dark:#79542d;--arl-dust:#e7c38a;--arl-duration:5.4s;
 --arl-art:url('../../embedded/scripture-quest/assets/scripture-landscape.png');--arl-art-opacity:.9;
 --arl-sigil-filter:sepia(.85) saturate(.85) brightness(1.35);
 --arl-veil:radial-gradient(ellipse at 50% 43%,#39261390,#20180cbd 85%);
}
.ar-library-player[data-player-app="gifts-of-grace"]{
 color-scheme:light;--alp-ink:#3c2b23;--alp-muted:#6e533e;--alp-line:#a4865b;--alp-silver:#7c4c31;
 --alp-paper:#e5d4b2;--alp-paper-light:#f7e9ce;--alp-button:#ead6b2;--alp-button-hover:#f5e5c7;
 --alp-runner:linear-gradient(110deg,#c3a278db,#efdfbde8 52%,#d4b383e3),url('../../embedded/gifts-of-grace/assets/art-741cedd983d8a4c0.png') center/480px auto;
 --arl-light:#ffedbf;--arl-mid:#d99c64;--arl-dark:#805432;--arl-dust:#e9bd78;--arl-duration:7.4s;
 --arl-art:url('./gifts-preview-lamplight-v1.webp');--arl-art-opacity:.85;
 --arl-sigil-filter:sepia(.9) saturate(.85) brightness(1.45);
 --arl-veil:radial-gradient(ellipse at 50% 40%,#28180bb3,#211109dc 85%);
}
.ar-library-player[data-player-app] {background:var(--alp-paper);border-color:var(--alp-line)}
.ar-library-player[data-player-app] .ar-library-player-top{
 padding:11px 18px;background:var(--alp-runner);border-bottom:1px solid var(--alp-line);
 box-shadow:inset 0 1px 0 #fff5d999,inset 0 -3px 0 #563e1612;
}
.ar-library-player[data-player-app] .ar-library-player-heading{padding-left:10px;border-left:2px solid var(--alp-line)}
.ar-library-player[data-player-app] .ar-library-player-heading>span{color:var(--alp-muted);font-size:9px;letter-spacing:.17em}
.ar-library-player[data-player-app] .ar-library-player-heading h2{color:var(--alp-ink);font-family:var(--alp-title-font);text-shadow:0 1px 0 #fff6db66}
.ar-library-player[data-player-app] button{background:linear-gradient(145deg,var(--alp-paper-light),var(--alp-button));color:var(--alp-ink);border-color:var(--alp-line);border-radius:8px;box-shadow:inset 0 1px 0 #fff9e888,0 2px 2px #26150017}
.ar-library-player[data-player-app] button:hover{background:var(--alp-button-hover);border-color:var(--alp-silver)}
.ar-library-player[data-player-app="sheep"] button{border-radius:12px;font-family:"Trebuchet MS",Arial,sans-serif;box-shadow:inset 0 2px 0 #fff9df,0 2px 0 #78915d55}
.ar-library-player[data-player-app="gifts-of-grace"] .ar-library-player-heading h2{font-style:italic}
.ar-library-player[data-player-app] :is(.ar-library-frame-wrap,.ar-library-player-surface:fullscreen){background:var(--alp-paper)}
.ar-library-player[data-loading-theme] .ar-library-loading{
 --arl-light:inherit;--arl-dust:inherit;isolation:isolate;
 background:radial-gradient(ellipse at 50% 40%,#302d22,#100f0c 82%);color:var(--arl-light);
}
/* The same composition stays recognizable across all four named directions. */
.ar-launch-atmosphere .ar-launch-art{background:var(--arl-art) center/cover no-repeat;opacity:var(--arl-art-opacity)}
.ar-launch-atmosphere .ar-launch-veil{background:var(--arl-veil)}
.ar-launch-atmosphere .ar-launch-sigil{width:min(75vw,590px);height:min(75vw,590px);opacity:.16;filter:var(--arl-sigil-filter);transform:translate(-50%,-51%)}
.ar-launch-fog{background:radial-gradient(ellipse at 12% 78%,#cdb67c1a,transparent 42%),radial-gradient(ellipse at 88% 32%,#e7d29c15,transparent 42%);animation-duration:19s}
.ar-launch-particles{opacity:.5;animation-duration:14s}
.ar-library-player[data-player-app="sheep"] .ar-launch-particles{animation-name:ar-launch-pasture;animation-duration:9s}
.ar-library-player[data-player-app="scripture-quest"] .ar-launch-particles{animation-name:ar-launch-manuscript;animation-duration:16s}
.ar-library-player[data-player-app="gifts-of-grace"] .ar-launch-fog{animation-name:ar-launch-lamplight;animation-duration:5.8s}
.ar-launch-knot{width:clamp(112px,23vh,196px);height:clamp(112px,23vh,196px);filter:drop-shadow(0 5px 9px #0006)}
.ar-knot-stop-light{stop-color:var(--arl-light)}.ar-knot-stop-mid{stop-color:var(--arl-mid)}.ar-knot-stop-dark{stop-color:var(--arl-dark)}
.ar-launch-knot-track{stroke:var(--arl-dark);stroke-width:11;opacity:.95}
.ar-launch-knot-body{stroke-width:8.5}
.ar-launch-knot-relief{stroke:var(--arl-light);stroke-width:1;opacity:.55;transform:translate(-.8px,-.8px)}
.ar-launch-knot-light{stroke:var(--arl-light);stroke-width:5;stroke-dasharray:2 3 14 81;opacity:.82;filter:drop-shadow(0 0 3px var(--arl-mid));animation:ar-launch-trace var(--arl-duration) linear infinite}
.ar-launch-knot-droplets{stroke:var(--arl-light);stroke-width:2;stroke-dasharray:.25 6 .15 27;opacity:.82;animation:ar-launch-trace calc(var(--arl-duration) * 1.5) linear infinite reverse;filter:drop-shadow(0 0 5px var(--arl-light))}
.ar-library-player[data-player-app="sheep"] .ar-launch-knot-light{stroke-dasharray:8 5 4 83;animation-timing-function:ease-in-out}
.ar-library-player[data-player-app="scripture-quest"] .ar-launch-knot-light{stroke-width:3.5;stroke-dasharray:17 5 2 76}
.ar-library-player[data-player-app="gifts-of-grace"] .ar-launch-knot-light{stroke-dasharray:1 7 19 73;stroke-width:5.5}
.ar-library-loading .ar-launch-label{color:var(--arl-light);text-shadow:0 2px 10px #000a;font-size:23px;letter-spacing:.08em}
.ar-library-loading .ar-launch-detail{color:#f0e6d1;text-shadow:0 2px 8px #000;font-size:13px}
.ar-library-loading .ar-launch-hint{color:#e0d6bd}
/* A 30 × 24px focus/touch target with only a 38 × 10px visible lip. */
.ar-library-edge{height:10px;pointer-events:none}
.ar-library-player .ar-library-edge button{
 position:relative;display:flex;justify-content:center;align-items:flex-start;width:42px;min-height:24px;height:24px;
 padding:1px 0 0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;color:var(--alp-ink);opacity:.8;pointer-events:auto;
}
.ar-library-player .ar-library-edge button::before{content:'';position:absolute;inset:0 2px auto;height:10px;border:1px solid var(--alp-line);border-top:0;border-radius:0 0 7px 7px;background:var(--alp-runner);box-shadow:0 1px 3px #0002;z-index:-1}
.ar-library-player .ar-library-edge button svg{display:block;flex:none;position:relative;z-index:1}
.ar-library-player .ar-library-edge button:is(:hover,:focus-visible){opacity:1}
.ar-library-player .ar-library-edge button:focus-visible{outline-offset:-1px}
.ar-library-player[data-immersive="true"][data-chrome-top="visible"] .ar-library-edge-top{pointer-events:none}
.ar-library-player[data-immersive="true"][data-chrome-top="visible"] .ar-library-edge-top button{opacity:0;pointer-events:none}
.ar-library-player[data-immersive="true"][data-chrome-top="visible"] .ar-library-edge-top button:focus-visible{opacity:1;pointer-events:auto}
@keyframes ar-launch-pasture{to{transform:translate(12px,-26px);opacity:.25}}
@keyframes ar-launch-manuscript{to{transform:translate(23px,-10px);opacity:.25}}
@keyframes ar-launch-lamplight{0%,100%{opacity:.4;transform:scale(1.2)}40%{opacity:.9;transform:translate(1%,-1%) scale(1.23)}64%{opacity:.65}}
@media(max-width:700px){.ar-library-player[data-player-app] .ar-library-player-top{padding:9px 10px;gap:5px}.ar-library-player[data-player-app] .ar-library-player-heading{padding-left:6px}.ar-library-player[data-player-app] .ar-library-player-heading h2{font-size:16px}.ar-library-player[data-player-app] .ar-library-player-heading>span{font-size:8px;letter-spacing:.08em}.ar-library-player[data-player-app] .ar-library-player-actions{gap:5px}}
@media(max-width:390px){.ar-library-player .ar-library-player-heading h2{font-size:14px!important}.ar-library-player .ar-library-player-actions>button{min-width:36px;padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.ar-launch-knot-droplets,.ar-launch-knot-light,.ar-launch-particles,.ar-launch-fog{animation:none!important}.ar-launch-knot-light{stroke-dasharray:none;opacity:.2}.ar-launch-knot-droplets{display:none}}
@media(forced-colors:active){.ar-library-player[data-player-app] :is(.ar-library-player-top,button){background:Canvas!important;color:CanvasText!important;border-color:CanvasText!important;box-shadow:none!important}.ar-library-player[data-player-app] .ar-library-player-heading :is(span,h2){color:CanvasText!important;text-shadow:none}.ar-launch-knot :is(path){stroke:CanvasText;filter:none}.ar-launch-knot :is(.ar-launch-knot-light,.ar-launch-knot-droplets,.ar-launch-knot-relief){display:none}.ar-library-player .ar-library-edge button::before{background:ButtonFace;border-color:ButtonText}}
@media(max-height:450px){.ar-launch-knot{width:84px;height:84px}.ar-library-loading .ar-launch-label{font-size:17px}}

.ar-library-player[data-launch-state="error"] .ar-launch-knot-droplets{animation:none;opacity:.25}


/* Review r12: painted launch artwork. Keep the approved path, tracing cadence,
   title-specific motion and readiness lifecycle; only the surface is softer. */
.ar-library-player[data-loading-theme] .ar-launch-atmosphere .ar-launch-art{
 background-position:center 48%;
}
.ar-library-player[data-player-app="sheep"] .ar-launch-atmosphere .ar-launch-sigil{
 background-image:url('./loading-r12/youth-ar-r12.webp');
 width:min(75vw,590px);height:min(75vw,590px);opacity:.13;
}
.ar-library-player[data-loading-theme] .ar-launch-particles{
 background:none;opacity:1;mix-blend-mode:screen;animation:none;
}
/* Light held along the original Trinity path: a quiet outline, diffuse flecks,
   and sparse glints. No painted ribbon, new images, timers or readiness work. */
.ar-library-player{--arl-knot-light:#f1e8d5;--arl-knot-mid:#c8baa0;--arl-duration:9.7s}
.ar-library-player[data-player-app="sheep"]{--arl-knot-light:#f0f2d6;--arl-knot-mid:#b9cfac;--arl-duration:12.6s}
.ar-library-player[data-player-app="scripture-quest"]{--arl-knot-light:#f4e6c9;--arl-knot-mid:#d0b48a;--arl-duration:10.9s}
.ar-library-player[data-player-app="gifts-of-grace"]{--arl-knot-light:#f4dfbc;--arl-knot-mid:#d6ad7f;--arl-duration:14.9s}
.ar-library-player[data-player-app="a-small-voice"]{--arl-knot-light:#eee8d5;--arl-knot-mid:#c4c3a1;--arl-duration:10.3s}
.ar-library-player[data-loading-theme] .ar-launch-knot{pointer-events:none;filter:none}
.ar-library-player[data-loading-theme] .ar-knot-stop-light{stop-color:var(--arl-knot-light)}
.ar-library-player[data-loading-theme] .ar-knot-stop-mid{stop-color:var(--arl-knot-mid)}
.ar-library-player[data-loading-theme] .ar-launch-knot-track{
 stroke:var(--arl-knot-mid);stroke-width:4;opacity:.2;filter:blur(2.2px);
}
.ar-library-player[data-loading-theme] .ar-launch-knot-body{
 stroke:var(--arl-knot-light);stroke-width:1.35;opacity:.18;filter:blur(.55px);
}
.ar-library-player[data-loading-theme] .ar-launch-knot-relief{
 stroke:var(--arl-knot-mid);stroke-width:1.05;stroke-dasharray:.08 1.4 .16 2.1 .1 3.2;
 opacity:.44;filter:blur(.22px);transform:none;
}
.ar-library-player[data-loading-theme] .ar-launch-knot-light{
 stroke:url(#ar-launch-light);stroke-width:2.8;stroke-dasharray:.7 2.4 .3 1.7 1.2 4.1 .5 3.2 .2 2.7 .9 7.1;
 opacity:.52;filter:blur(.9px);
 animation:ar-launch-trace var(--arl-duration) linear infinite,ar-launch-glimmer 7.8s ease-in-out infinite;
}
.ar-library-player[data-loading-theme] .ar-launch-knot-droplets{
 stroke:var(--arl-knot-light);stroke-width:1.25;stroke-dasharray:.05 2.3 .14 4.5 .08 1.8 .2 6.2 .06 3.8 .12 5.75;
 opacity:.54;filter:blur(.25px);
 animation:ar-launch-trace calc(var(--arl-duration) * 1.6) linear infinite reverse,ar-launch-glimmer 10.6s ease-in-out -3.1s infinite;
}
@keyframes ar-launch-glimmer{0%,100%{opacity:.36}44%{opacity:.62}72%{opacity:.44}}
.ar-library-player[data-loading-theme] .ar-launch-label{color:#fff5dc;text-shadow:0 2px 12px #08190fde}
.ar-library-player[data-loading-theme] .ar-launch-detail{color:#fff5e2;text-shadow:0 1px 5px #08190f,0 2px 12px #08190f}
.ar-library-player[data-loading-theme] .ar-launch-hint{color:#f5ead4;text-shadow:0 1px 6px #08190f}
@media(prefers-reduced-motion:reduce){
 .ar-library-player[data-loading-theme] :is(.ar-launch-knot-light,.ar-launch-knot-droplets,.ar-launch-particles,.ar-launch-fog){animation:none!important}
 .ar-library-player[data-loading-theme] .ar-launch-knot-light{stroke-dasharray:none;opacity:.14;filter:blur(.45px)}
 .ar-library-player[data-loading-theme] .ar-launch-knot-droplets{display:none}
 .ar-library-player[data-loading-theme] .ar-launch-particles{opacity:.22}
}
@media(forced-colors:active){
 .ar-library-player[data-loading-theme] .ar-launch-knot{filter:none}
 .ar-library-player[data-loading-theme] .ar-launch-knot-paint{display:none}
 .ar-library-player[data-loading-theme] .ar-launch-knot-track{stroke:CanvasText;stroke-width:2;opacity:1;filter:none}
 .ar-library-player[data-loading-theme] .ar-launch-knot-body{stroke:CanvasText;opacity:1;filter:none}
 .ar-library-player[data-loading-theme] :is(.ar-launch-label,.ar-launch-detail,.ar-launch-hint){color:CanvasText;text-shadow:none}
}

/* A Small Voice has its own cover-and-garden loading direction. */
.ar-library-player[data-player-app="a-small-voice"] .ar-library-player-heading{--alp-ink:#fff1d6;--alp-muted:#e2cda4}
.ar-library-player[data-player-app="a-small-voice"] .ar-library-player-heading h2{text-shadow:none}
.ar-library-player[data-player-app="a-small-voice"]{--alp-paper:#e9ddc2;--alp-paper-light:#fff4db;--alp-button:#eee0bf;--alp-button-hover:#fff2cf;--alp-ink:#42351e;--alp-muted:#665333;--alp-line:#a18b60;--alp-silver:#d2c6a6;--alp-title-font:Georgia,serif;--arl-art:url('../../embedded/a-small-voice/assets/endingGardenV8.webp');--arl-art-opacity:.72;--arl-light:#fff4d8;--arl-dust:#dfcda0}
.ar-library-player[data-loading-theme="a-small-voice"] .ar-launch-sigil{background-image:url('./small-voice-cover.webp');background-size:contain;opacity:.32;filter:sepia(.08);transform:translate(-50%,-50%) rotate(-5deg);width:30%;height:72%;max-width:360px}
.ar-library-player[data-loading-theme="a-small-voice"] .ar-launch-content:before{content:'A Small Voice';display:block;margin-bottom:1.1rem;font:italic clamp(20px,3vw,32px)/1.2 Georgia,serif;color:#f3e0b5;text-shadow:0 2px 12px #1d180d}
@media(forced-colors:active){.ar-library-player[data-loading-theme="a-small-voice"] .ar-launch-content:before{color:CanvasText;text-shadow:none}}

/* Player errors stay visible and announced after save controls move to Sanctuary. */
.ar-library-player .ar-library-player-note{max-width:52ch;margin:6px 0 0;color:var(--alp-ink);font:12px/1.5 Arial,sans-serif;overflow-wrap:anywhere}
.ar-library-player .ar-library-player-note[data-error="true"]{font-weight:600}

/* Static, light-touch edge shading is part of the existing decorative plane.
   Foreground art, status text and Retry stay above it; this adds no readiness work. */
.ar-launch-atmosphere::after {
 content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background:linear-gradient(180deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.14) 9%,transparent 26%),
  radial-gradient(ellipse at 50% 48%,transparent 40%,rgba(0,0,0,.08) 66%,rgba(0,0,0,.32) 100%);
}
html[data-ar-theme="simple"] .ar-launch-atmosphere::after,
.ar-simple .ar-launch-atmosphere::after{content:none;display:none}
@media(forced-colors:active){.ar-launch-atmosphere::after{content:none!important;display:none!important}}

/* A failed or dismissed launch never keeps decorative tracing alive. */
.ar-library-player[data-launch-state="error"] :is(.ar-launch-knot-light,.ar-launch-knot-droplets),
.ar-library-player:not([open]) :is(.ar-launch-knot-light,.ar-launch-knot-droplets){animation:none!important}
.ar-library-player[data-launch-state="error"] .ar-launch-knot-light{stroke-dasharray:none;opacity:.14}


/* Issues 18–19: light motes, not a fixed sparkle sheet. Original scene artwork
   stays intact. Only transform/opacity animate; 24 tiny sprites maximum. */
.ar-library-player[data-loading-theme] .ar-launch-particles{background:none;animation:none;opacity:1}
.ar-launch-mote{position:absolute;left:var(--mote-x);top:var(--mote-y);width:var(--mote-size);height:var(--mote-size);pointer-events:none;animation:ar-launch-mote-drift var(--mote-travel) ease-in-out var(--mote-phase) infinite alternate}
.ar-launch-mote i{display:block;width:100%;height:100%;border-radius:50%;background:var(--arl-dust);opacity:.12;filter:blur(.65px);animation:ar-launch-mote-shimmer var(--mote-shimmer) ease-in-out var(--mote-phase) infinite}
.ar-launch-mote-edge i{height:65%;background:radial-gradient(ellipse,var(--arl-knot-light) 0%,var(--arl-dust) 34%,transparent 76%);filter:blur(.4px);box-shadow:0 0 5px 1px color-mix(in srgb,var(--arl-dust) 12%,transparent)}
@keyframes ar-launch-mote-drift{0%{transform:translate3d(0,0,0) rotate(-13deg)}48%{transform:translate3d(calc(var(--mote-dx)*.35),calc(var(--mote-dy)*.58),0) rotate(11deg)}100%{transform:translate3d(var(--mote-dx),var(--mote-dy),0) rotate(27deg)}}
@keyframes ar-launch-mote-shimmer{0%,100%{opacity:0.0427}29%{opacity:var(--mote-dim)}57%{opacity:0.11}76%{opacity:0.207}}
/* A hidden tab freezes all decorative motion. Readiness/error/dismiss removes
   the motes synchronously; retained fog and SVG animations also stop. */
.ar-library-player[data-launch-motion="paused"] :is(.ar-launch-mote,.ar-launch-mote i,.ar-launch-fog,.ar-launch-knot-light,.ar-launch-knot-droplets){animation-play-state:paused!important}
.ar-library-player:not([open]) :is(.ar-launch-mote,.ar-launch-mote i,.ar-launch-fog,.ar-launch-knot-light,.ar-launch-knot-droplets),
.ar-library-player:not([data-launch-state="loading"]) :is(.ar-launch-mote,.ar-launch-mote i,.ar-launch-fog,.ar-launch-knot-light,.ar-launch-knot-droplets){animation:none!important}
@media(prefers-reduced-motion:reduce){
 .ar-library-player .ar-launch-mote,.ar-library-player .ar-launch-mote i{animation:none!important;transform:none}
 .ar-library-player .ar-launch-mote i{opacity:.1}
}
@media(forced-colors:active){.ar-library-player .ar-launch-particles{display:none}}

/* Sheep gameplay-only mode: independent from ordinary player fullscreen. */
.ar-library-player[data-player-app="sheep"][data-sheep-gameplay="true"]{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;padding:0!important;background:#20232b!important}
.ar-library-player[data-player-app="sheep"][data-sheep-gameplay="true"] :is(.ar-library-player-top,.ar-library-edge){display:none!important}
.ar-library-player[data-player-app="sheep"][data-sheep-gameplay="true"] :is(.ar-library-player-surface,.ar-library-frame-wrap,.ar-library-frame-slot,.ar-library-frame){margin:0!important;padding:0!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important;background:#20232b!important;transform:none!important}
/* Both Sheep views are available from the runner; other apps stay unchanged. */
.ar-library-player [data-player-sheep-exclusive]{display:none}
.ar-library-player[data-player-app="sheep"][data-launch-state="ready"] [data-player-sheep-exclusive]{display:inline-flex}
@media(max-width:600px){
 .ar-library-player[data-player-app="sheep"] .ar-library-player-actions{gap:4px}
 .ar-library-player[data-player-app="sheep"] .ar-library-player-actions button{padding-inline:8px}
 .ar-library-player[data-player-app="sheep"] [data-player-fullscreen] span,
 .ar-library-player[data-player-app="sheep"] [data-player-sheep-exclusive] span{display:none}
}

/* Standard Sheep fullscreen retains its runner as a real flex row. Its
   measured content height reserves space instead of covering game panels/HUD. */
.ar-library-player[data-player-app="sheep"][data-immersive="true"]:not([data-sheep-gameplay="true"]) .ar-library-player-top{
 position:relative;flex:0 0 auto;transform:none!important;transition:none;box-shadow:none;
}
.ar-library-player[data-player-app="sheep"][data-immersive="true"]:not([data-sheep-gameplay="true"]) .ar-library-frame-wrap{
 height:auto;flex:1 1 auto;min-height:0;
}
.ar-library-player[data-player-app="sheep"][data-immersive="true"]:not([data-sheep-gameplay="true"]) .ar-library-edge-top{display:none!important}

/* r43: edge-to-edge host controls respect phone cutouts. The existing flex
   frame, own-height immersive hiding and Sheep-exclusive ownership stay intact. */
.ar-library-player[data-player-app][data-immersive="true"] .ar-library-player-top{
 padding: max(11px,env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) 11px max(18px,env(safe-area-inset-left,0px));
}
.ar-library-player .ar-library-edge-top{
 top:env(safe-area-inset-top,0px);left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px);
}
@media(max-width:700px),(max-width:900px) and (pointer:coarse){
 .ar-library-player[data-player-app] .ar-library-player-top,
 .ar-library-player[data-player-app][data-immersive="true"] .ar-library-player-top{
  padding:max(9px,env(safe-area-inset-top,0px)) max(10px,env(safe-area-inset-right,0px)) 9px max(10px,env(safe-area-inset-left,0px));
  flex-wrap:wrap;
 }
 .ar-library-player[data-player-app] .ar-library-player-heading{flex:1 1 120px;overflow-wrap:anywhere;}
 .ar-library-player[data-player-app] .ar-library-player-actions{flex:0 1 auto;flex-wrap:wrap;max-width:100%;margin-left:auto;}
 .ar-library-player[data-player-app] .ar-library-player-actions>button{min-width:44px;min-height:44px;}
 /* Keep the approved small visible reveal lip, with an invisible 44px target. */
 .ar-library-player .ar-library-edge button{min-height:44px;height:44px;min-width:44px;}
}
