/* Public resource pages only; the admin editor keeps its existing theme. */
:root{--blue:#306c90;--blue-dark:#205477;--ink:#26445d;--line:#dbe8f1;--bg:#071a2b;scroll-padding-top:120px}
.resource-scenic{background:#071a2b;isolation:isolate;min-height:100svh}
.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:#071a2b}
.scene-poster,.scene-video,.scene-wash{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}
.scene-poster img,.scene-video{width:100%;height:100%;object-fit:cover;object-position:center}
.scene-video{opacity:1}
.scene.has-frame .scene-video{opacity:1}
/* Keep the poster underneath when Safari suspends video rendering. */
.scene-wash{background:linear-gradient(180deg,#05172530,#05172550 45%,#051725a8)}
.r-skip{position:fixed;top:8px;left:16px;transform:translateY(-160%);padding:10px 18px;border-radius:10px;background:white;z-index:50}
.r-skip:focus{transform:none}
.r-header{height:76px;top:18px;margin:18px auto 0;width:calc(100% - 64px);max-width:1450px;padding:0 26px;gap:38px;border:1px solid #e5f5ff30;border-radius:21px;background:#0c253dd9;backdrop-filter:blur(6px);box-shadow:0 12px 38px #0000001a;color:#effaff}
.r-brand{font-size:20px;gap:11px}
.r-brand img{width:39px;height:39px;border:1px solid #ffffff50}
.r-brand small{color:#a4c1d6;font-size:9px;letter-spacing:.6px}
.r-header nav a{color:#b7cedd}
.r-header nav a.active{color:#b2edee}
.r-header nav a.active:after{bottom:15px;height:2px;left:30%;right:30%;background:#99dee6}
.header-link{color:#b7cedd;white-space:nowrap}
.motion-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;min-width:38px;padding:8px 12px;border:1px solid #d3f0ff30;border-radius:11px;background:#daefff12;color:#d9effa;font-size:11px;white-space:nowrap;transition:background .2s}
.motion-toggle:hover{background:#daefff25}
.r-header>.motion-toggle{margin-left:auto}
.motion-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.motion-toggle .motion-pause,.motion-toggle[aria-pressed="true"] .motion-play{display:none}
.motion-toggle[aria-pressed="true"] .motion-pause{display:block}
.r-layout{max-width:1450px;padding:0 32px;grid-template-columns:192px minmax(0,1fr);gap:36px}
.r-sidebar{top:118px;height:calc(100svh - 142px);min-height:480px;max-height:780px;margin-top:28px;padding:22px 12px 14px;border:1px solid #d2eaff26;background:#0b253c9c;border-radius:20px}
.side-label{color:#abc6da;margin-left:13px;letter-spacing:2px}
.category-button{padding:12px 13px;color:#bed3e2;font-size:12px;gap:9px;min-height:46px}
.category-button.selected{background:#deeffb;color:#254f6b;box-shadow:0 4px 14px #0000000d}
.category-button:not(.selected):hover{color:white;background:#e3f4ff16}
.category-icon{color:#9fd6e0}
.selected .category-icon{color:#397991}
.side-note{padding:20px 13px;color:#cae2ee}
.side-note>span{color:#9ddfe2}
.side-note strong{font-size:21px;font-weight:400}
.side-note p{color:#a6c2d4}
.side-install{border-color:#d8eeff24;color:#bed5e4;padding:16px 13px 0}
.r-sidebar>.side-install{margin-top:auto}
.r-main{padding-top:28px}
.explore-hero{background:linear-gradient(110deg,#0a233964,#153c501a);border:1px solid #d9f3ff26;min-height:350px;padding:38px 38px;border-radius:24px;grid-template-columns:minmax(0,1.5fr) minmax(200px,1fr);color:#edfaff}
.explore-hero .eyebrow{color:#b0d9e3;font-size:9px;letter-spacing:2px}
.explore-hero h1{font-size:42px;line-height:1.4;letter-spacing:2px;font-weight:600;text-shadow:0 3px 20px #00112040}
.explore-hero h1 span{color:#a4e4e4}
.hero-sub{color:#c1d9e8;font-size:12px;margin:17px 0 25px}
.r-search{background:#f4fafff5;border:1px solid #ffffffcc;border-radius:13px;padding:13px 15px;color:#284d66;box-shadow:0 8px 22px #0000000a}
.r-search input{font-size:13px}
.r-search .resource-search-icon{display:block;flex:0 0 18px;width:18px;height:18px;align-self:center;fill:none;stroke:#8099b0;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.r-search input::placeholder{color:#71899c}
.r-search:focus-within{border-color:#89d6e0;box-shadow:0 0 0 3px #a3e2eb26}
.r-search kbd{background:#e9f2f9;border-color:#dce9f1;color:#668498}
.hero-art{animation:collection-float 8s ease-in-out infinite}
.art-orbit{border-color:#c1eaf94a}
.art-orbit:after{border-color:#c1eaf924}
.square-back{background:linear-gradient(150deg,#527f9eab,#75c5d99c);border:1px solid #d2f0ff40;box-shadow:0 18px 35px #00000020;color:#c9f4ff}
.square-front{background:#edf9fff0;box-shadow:0 16px 35px #00132330;border-color:#ffffffc0}
.square-front span{color:#345b74}.square-front small{color:#69879b}
.art-pill{background:#eaf8fff0;color:#447186;box-shadow:0 8px 24px #00132320}
.art-star{color:#b1e5e9}
.collection{padding-top:30px;min-height:180px}
.collection-heading{gap:18px;color:#f0faff}
.collection-heading .eyebrow{color:#acccde;letter-spacing:2px}
.collection h2{font-size:23px;font-weight:550;letter-spacing:1px}
.collection h2 span{background:#dff2fc;color:#356580;border:1px solid #ffffffc0}
.sort-label{color:#c4dce9;font-size:11px}
.sort-label select{background:#eff8fff0;color:#355c75;border-color:#ffffffb0;border-radius:10px}
.resource-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-top:21px}
.resource-card{height:80px;min-height:80px;padding:14px 17px;gap:13px;background:#f3faffed;border:1px solid #ffffffcc;border-radius:15px;box-shadow:0 6px 20px #00142614;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;animation:resource-arrive .4s ease backwards}
.resource-card:nth-child(2){animation-delay:35ms}.resource-card:nth-child(3){animation-delay:70ms}.resource-card:nth-child(4){animation-delay:105ms}
.resource-card .resource-icon{width:44px;height:44px;border-radius:12px;box-shadow:0 3px 10px #244e6910}
.resource-card h3{color:#264b64;font-weight:650;font-size:14px;line-height:21px}
.resource-card .resource-summary{color:#637c90;font-size:11px;line-height:19px;margin-top:2px}
.card-platforms{top:6px;right:11px;gap:5px}
.resource-card-copy{padding-right:2px}
@media(hover:hover){a.resource-card:hover{background:#fff;border-color:#b5edf1;box-shadow:0 12px 30px #00132335,0 0 0 2px #a0e2ed22;transform:translateY(-3px)}}
a.resource-card:active{transform:scale(.985);background:#e7f5fd}
.layout-sample:hover{transform:none;background:#f3faffed}
.layout-sample-note{color:#afcbdc}.layout-sample-note button{color:#c0eaf3}
.subcategory-tabs{gap:6px}
.subcategory-tabs button{border:1px solid transparent;border-radius:20px;padding:5px 12px;min-height:32px;color:#c6dfec;font-weight:500;font-size:12px;transition:background .2s,color .2s}
.subcategory-tabs button:after{display:none}
.subcategory-tabs button.selected{background:#d9f0ff;color:#295976;border-color:#eaffff}
.subcategory-tabs button:hover{background:#dcf3ff26;color:white}
.subcategory-tabs button.selected:hover{background:#f0fbff;color:#295976}
.collection-title-row{gap:16px;flex-wrap:nowrap;min-width:0}
.subcategory-tabs{flex:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
.subcategory-tabs::-webkit-scrollbar{display:none}
.subcategory-tabs button{flex-shrink:0;white-space:nowrap}
.collection-bottom{border-color:#ceeaff2e;background:#0b233a70;border-radius:17px;color:#c2dce9;padding:23px;margin:28px 0}
.collection-bottom>span{color:#98d4de}.collection-bottom small{color:#a0becf}
.r-footer{color:#acc7d8;border-color:#d9f0ff24;line-height:1.8}.r-footer a{color:#c0dce9}
.empty-state{background:#f1f8fff2;border:1px solid #e3f4ffbf;color:#667f94;border-radius:18px}.empty-state strong{color:#305772}
.detail-main{max-width:1180px;padding:32px 32px 0;min-height:calc(100svh - 94px)}
.back-link{color:#c8e5f4;padding:7px 0;margin-bottom:20px}
.detail-hero{background:#f3fafff0;border-color:#ffffffd0;border-radius:24px;padding:32px;box-shadow:0 12px 36px #00000012;animation:resource-arrive .4s ease backwards}
.detail-hero:before{height:3px;background:linear-gradient(90deg,#72c8d4,#d6f3ff,#91b9db)}
.detail-hero .resource-icon{width:84px;height:84px;border-radius:24px;box-shadow:0 6px 18px #31547215}
.detail-hero h1{color:#264d67;font-size:28px}.detail-hero p{color:#627e92}
.detail-meta{color:#668296;border-color:#cbdfe9;padding-top:21px;margin-top:23px;gap:10px}
.detail-meta span+span:before{color:#91aebe;margin-right:10px}
.detail-columns{grid-template-columns:minmax(0,1fr) 310px;gap:24px}
.detail-article,.download-panel{background:#f5fafff2;border-color:#ffffffcf;border-radius:21px;box-shadow:0 10px 30px #00102012}
.detail-article{padding:32px}.detail-section h2{color:#315b73}.detail-section h2:before{background:#72a9bd}
.prose{color:#5e788c;line-height:2.15}.feature-box{background:#eaf4fa;border-color:#d8e9f3;color:#54758c}.feature-box li::marker{color:#5b99b2}
.notes-box{background:#f7f4e9;border-color:#ebe5cd;color:#827447}
.download-aside{top:118px;scroll-margin-top:125px}
.download-panel{padding:25px}.download-panel .eyebrow{color:#7297ac}.download-panel h2{color:#315b73}.download-panel>p:not(.eyebrow){color:#6b869a}
.download-option{background:#fff;border-color:#dceaf3;border-radius:13px;padding:15px;transition:border-color .2s,transform .2s}
.download-option:focus-within,.download-option:hover{border-color:#8bc6d7}
.download-option a{color:#386a87;min-height:36px;font-size:13px;overflow-wrap:anywhere}
.disk-mark{background:#e7f4fa;color:#518ca4;border-radius:9px}.download-option a span:last-child{color:#6b98af}
.code-row{color:#6b879b;border-color:#dce8f0}.code-row code{color:#335f7a}.code-row button{background:#eaf4fb;color:#356e91;padding:6px 11px;min-height:30px}
.aside-note{color:#b5d0df;padding:16px 12px}.primary{border-radius:12px;background:#306c90;box-shadow:0 5px 15px #306c901a}.primary:hover{background:#205477}
.resource-scenic :is(a,button,input,select):focus-visible{outline:3px solid #81d3e4;outline-offset:4px}
.motion-paused .hero-art{animation-play-state:paused}
.motion-paused .resource-card,.motion-paused .detail-hero{animation:none}
@keyframes collection-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes resource-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.r-layout{max-width:1600px}.r-header{max-width:1536px}}
@media(max-width:1150px){.r-header{gap:23px;padding:0 20px}.r-layout{grid-template-columns:172px minmax(0,1fr);gap:24px}.explore-hero{padding:30px;grid-template-columns:minmax(0,1.5fr) minmax(150px,1fr)}.explore-hero h1{font-size:36px}.hero-art{transform:scale(.8)}.motion-toggle span{display:none}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-columns{grid-template-columns:minmax(0,1fr) 285px}}
@media(max-width:900px) and (min-width:761px){.r-layout{gap:20px;padding:0 24px;grid-template-columns:155px minmax(0,1fr)}.explore-hero{grid-template-columns:1fr}.hero-art{display:none}.resource-grid{grid-template-columns:1fr}.collection-heading{align-items:flex-start}}
@media(max-width:760px){
  .r-header>.motion-toggle{margin-left:0}
  :root{scroll-padding-top:94px}
  .r-header{top:0;margin:0;width:100%;height:72px;border-radius:0;border-width:0 0 1px;padding:0 18px;gap:14px;background:#0c253dec}
  .r-brand{font-size:18px;gap:8px}.r-brand img{width:33px;height:33px;border-radius:10px}.r-brand small{display:none}
  .r-header nav{gap:17px;margin-left:auto}.r-header nav a{font-size:11px;white-space:nowrap}.r-header nav a.active:after{bottom:15px}
  .header-link{display:none}.motion-toggle{padding:8px;min-width:34px;min-height:34px;border-radius:10px}.motion-toggle span{display:none}
  .r-layout{display:block;padding:0 20px}.r-sidebar{background:none;border:0;border-radius:0;position:static;height:auto;min-height:0;max-height:none;margin:0;padding:21px 0 0}
  .r-sidebar nav{padding-bottom:9px;gap:8px}.category-button{background:#0c2946c4;border:1px solid #dbf2ff2e;color:#c4dce9;padding:8px 13px;min-height:39px;flex-shrink:0}.category-button.selected{border-color:#e0f4ff}
  .r-main{padding-top:13px}.explore-hero{padding:27px;min-height:310px;grid-template-columns:minmax(0,1.5fr) minmax(120px,1fr);border-radius:21px}
  .explore-hero h1{font-size:33px;max-width:none;letter-spacing:1px}.hero-sub{font-size:11px;line-height:1.9}.explore-hero .r-search{min-width:0;padding:12px 14px}.r-search input{font-size:12px}.hero-art{min-width:0;transform:scale(.68)}
  .collection{padding-top:25px}.collection h2{font-size:21px}.collection-heading{gap:10px}.collection-title-row{gap:12px}.collection-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.sort-label{font-size:0;margin-top:9px}.sort-label select{font-size:11px;padding:8px}
  .subcategory-tabs{gap:4px}.subcategory-tabs button{font-size:11px;padding:4px 10px;min-height:30px}
  .resource-grid{gap:13px;margin-top:19px}.resource-card{height:80px;padding:14px 17px;gap:13px}.resource-card .resource-icon{width:44px;height:44px}.resource-card .resource-summary{font-size:12px}
  .collection-bottom{padding:22px 16px}.collection-bottom small{font-size:10px}.r-footer{margin-top:24px;padding:23px 0;font-size:10px}
  .detail-main{padding:22px 20px 0}.back-link{margin-bottom:17px}.detail-hero{padding:25px;border-radius:21px}.detail-hero-top{gap:16px}.detail-hero .resource-icon{width:65px;height:65px;border-radius:19px}.detail-hero h1{font-size:23px}.detail-hero p{font-size:12px}.detail-meta{font-size:10px;gap:8px}
  .detail-columns{grid-template-columns:1fr;gap:20px;margin-top:20px}.detail-article{padding:25px}.download-aside{position:static}.download-panel{padding:25px}.aside-note{display:block;font-size:10px}.download-option{width:calc(50% - 7px);margin-right:10px}.download-option:nth-of-type(even){margin-right:0}
}
@media(max-width:540px){.resource-grid{grid-template-columns:1fr}.explore-hero{grid-template-columns:1fr;min-height:320px;overflow:hidden}.hero-art{display:none}.explore-hero h1{font-size:34px;max-width:none}.hero-sub{max-width:none}.explore-hero .r-search{margin-top:24px}.download-option{width:100%;margin-right:0}.detail-hero .btn{width:100%;margin:5px 0 0}.detail-hero-top>div{flex-basis:calc(100% - 85px)}}
@media(max-width:360px){.r-header{padding:0 12px;gap:9px}.r-brand{font-size:16px;gap:6px}.r-brand img{width:29px;height:29px}.r-header nav{gap:10px}.r-header nav a{font-size:10px}.r-header nav a span{display:none}.r-layout{padding:0 15px}.explore-hero{padding:24px}.explore-hero h1{font-size:30px}.collection h2{font-size:19px}.subcategory-tabs{gap:3px}.subcategory-tabs button{padding:4px 7px}.detail-main{padding:20px 15px 0}}
@media(prefers-reduced-motion:reduce){.scene-video{transition:none}.hero-art,.resource-card,.detail-hero{animation:none}:root{scroll-behavior:auto}}

@media(max-width:390px){.r-header{padding:0 12px;gap:8px}.r-brand{font-size:16px;gap:6px}.r-brand img{width:28px;height:28px}.r-header nav{gap:11px}.r-header nav a{font-size:10px}.motion-toggle{min-width:30px;min-height:32px;padding:6px}}
/* Mobile resources use two compact cards per row. */
.collection-heading>.collection-actions{flex:0 0 auto}.collection-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}.request-open{border:1px solid #c7e8ef75;background:#d6eceb;color:#325c6a;min-height:36px;padding:8px 14px;border-radius:10px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.request-open:hover{background:#ecffff}.request-open:focus-visible,.request-close:focus-visible{outline:2px solid #a2dde5;outline-offset:3px}
.request-jump{display:inline-flex;font-size:11px;color:#bde3e9;margin-top:16px;text-underline-offset:4px}.request-jump:hover{text-decoration:underline}.request-resource{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:30px;padding:30px;border:1px solid #ceeaff38;border-radius:20px;background:linear-gradient(120deg,#14394edb,#0c283cdb);color:#e7f6ff;margin-top:32px;scroll-margin-top:125px}.request-resource-copy .eyebrow{color:#b0d6de;font-size:10px}.request-resource h2{font-size:25px;line-height:1.5;font-weight:550;margin:14px 0}.request-resource-copy>p:last-child{font-size:12px;line-height:1.9;color:#b7d1df}.request-resource form{display:flex;flex-direction:column;gap:14px;min-width:0}.request-resource label{display:flex;flex-direction:column;gap:7px;color:#c6dfe9;font-size:11px;min-width:0}.request-resource input,.request-resource select,.request-resource textarea{border:1px solid #e4f1ff40;background:#f0f8fd;color:#284962;border-radius:10px;font:inherit;font-size:12px;min-height:40px;min-width:0;width:100%;padding:10px 12px;resize:vertical}.request-resource input::placeholder,.request-resource textarea::placeholder{color:#7a91a1}.request-resource input:focus,.request-resource textarea:focus,.request-resource select:focus{outline:2px solid #a2dde5;outline-offset:2px}.request-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}.request-submit{display:flex;align-items:center;justify-content:space-between;border:1px solid #e0ffff57;border-radius:10px;min-height:43px;padding:11px 17px;color:#264f5d;background:#cfeae6;font:inherit;font-size:12px;cursor:pointer}.request-submit:disabled{opacity:.65;cursor:wait}.request-feedback{font-size:12px;line-height:1.7;color:#baded3;margin:0;min-height:20px}.request-feedback.is-error{color:#ffd0c1}
@media(max-width:760px){
  .collection-actions{gap:7px;align-items:center}.collection-actions .sort-label{margin:0}.request-open{font-size:11px;padding:8px 10px;min-height:34px}.collection-heading{flex-wrap:wrap}
  .collection-heading.has-subcategories{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
  .collection-heading.has-subcategories>div:first-child{display:contents}
  .collection-heading.has-subcategories .eyebrow{grid-column:1;grid-row:1}
  .collection-heading.has-subcategories .collection-actions{grid-column:2;grid-row:1}
  .collection-heading.has-subcategories .collection-title-row{grid-column:1 / -1;grid-row:2;margin-top:0}
  .request-resource{grid-template-columns:1fr;padding:23px 20px;gap:15px}.request-resource h2{font-size:23px}
  .resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .resource-grid .resource-card{flex-direction:row;align-items:center;justify-content:flex-start;height:70px;min-height:70px;padding:13px 10px 11px;gap:8px;min-width:0;border-radius:11px}
  .resource-grid .resource-card .resource-icon{width:33px;height:33px;min-width:33px;border-radius:8px}
  .resource-grid .resource-card-copy{flex:1;width:auto;padding:0;min-width:0}
  .resource-grid .resource-card h3{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .resource-grid .resource-card .resource-summary{font-size:12px;line-height:18px;white-space:nowrap;display:block;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
  .resource-grid .card-platforms{top:6px;right:8px;gap:3px;max-width:calc(100% - 16px);height:10px;flex-wrap:nowrap;justify-content:flex-end}
  .resource-grid .platform-symbol,.resource-grid .platform-symbol svg{width:10px;height:10px}
}
.request-dialog:not([open]){display:none}.request-dialog[open]{display:block}.request-dialog{position:fixed;width:min(500px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow-y:auto;margin:auto;padding:32px;background:linear-gradient(145deg,#183c50,#102a3e);border:1px solid #9ac7d966;box-shadow:0 25px 90px #00101d80;z-index:20}.request-dialog::backdrop{background:#00121fb8;backdrop-filter:blur(5px)}.request-dialog .request-resource-copy{padding-right:18px;margin-bottom:23px}.request-dialog h2{font-size:24px;margin:10px 0}.request-close{position:absolute;top:10px;right:12px;width:34px;height:34px;display:grid;place-items:center;background:#ffffff0a;border:1px solid #d1ebf229;border-radius:9px;color:#d0e6f0;font-size:25px;line-height:1;cursor:pointer}.request-private-note{color:#abc6d5;font-size:10px;line-height:1.6}.request-dialog .request-feedback:empty{display:none}@media(max-width:540px){.request-dialog{padding:26px 21px}.request-dialog h2{font-size:23px}.request-dialog input,.request-dialog select,.request-dialog textarea{font-size:16px}}

.scenic-home>.page-shell,.scenic-home>.site-footer,.resource-scenic>.r-layout,.resource-scenic>.detail-main,.resource-scenic>.nest-main{position:relative;z-index:1}
