/* Public dashboard skin. DevCon retains its existing stylesheet and layout. */
body.dashboard { color:#414447; background:radial-gradient(ellipse at 50% 53%,#f7f8f5 0%,#e3e6e3 41%,#b9bdbd 77%,#929798 100%);background-attachment:fixed;overflow-x:hidden;min-height:100vh; }
.dashboard .ribbons { display:none; }
.dashboard header.shell { width:calc(100% - 112px);max-width:none;padding-top:24px; }
.dashboard .brand { color:#5e6463;font-size:21px;gap:9px; }
.dashboard .project-mark { width:28px;height:28px;font-size:12px;background:radial-gradient(circle at 34% 24%,#bded78,#65a51b 55%,#3c7812);box-shadow:inset 0 1px 4px #fff9,0 2px 3px #0002; }
.dashboard .profile { color:#575d5c;font-size:13px; }
.dashboard .profile small { color:#747b76; }
.dashboard .avatar { background:linear-gradient(#a9d573,#5d8a35);box-shadow:0 1px 4px #3333; }
.dashboard nav { margin:42px 0 25px;padding:6px 4px 12px;gap:30px;scrollbar-width:none; }
.dashboard nav::-webkit-scrollbar { display:none; }
.dashboard nav a { font-size:34px;color:#858c8b;font-weight:300;line-height:1.3; }
.dashboard nav a[aria-current],.dashboard nav a:hover { color:#303638; }
.dashboard nav a[aria-current] { text-shadow:0 1px 0 #fff8; }
.dashboard nav a:focus-visible { outline:2px solid #6eaa18;outline-offset:5px; }
.dashboard main.shell { width:100%;max-width:none;min-height:0;margin:0;position:relative; }
.dashboard-track { display:flex;align-items:flex-start;gap:32px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative;overscroll-behavior-x:contain; }
.dashboard-track::-webkit-scrollbar { display:none; }
.dashboard-pane { flex:0 0 calc(100vw - 64px);width:calc(100vw - 64px);scroll-snap-align:start;position:relative;padding:0 28px 22px 286px; }
.dashboard-pane:last-child { margin-right:64px; }
.pane-content { width:100%;max-width:1320px;margin:0 auto; }
.dashboard-pane:not(.is-active) { opacity:.45;filter:saturate(.65); }
.dashboard .intro { color:#555e5a;gap:12px;margin:5px 0 16px;min-height:25px; }
.dashboard .intro h1 { font-size:16px;font-weight:400; }
.dashboard .intro>span { color:#717a72;font-size:11px; }
.dashboard .home-board { grid-template-columns:160px 1fr 1fr 215px;grid-template-rows:repeat(3,145px);gap:5px; }
.dashboard .tile { box-shadow:0 2px 3px #3e46351f;transition:transform .16s,box-shadow .16s;background-clip:padding-box; }
.dashboard .green { background:linear-gradient(125deg,#78b91a 0%,#58a000 75%,#4c9200); }
.dashboard .blue { background:linear-gradient(135deg,#3689ae,#236087); }
.dashboard .purple { background:linear-gradient(135deg,#816198,#5d427d); }
.dashboard .orange { background:linear-gradient(135deg,#d49833,#b47820); }
.dashboard .tile[data-nav]:hover,.dashboard .tile[data-nav]:focus-visible { transform:scale(1.035);box-shadow:0 0 0 3px #effbdc,0 0 0 5px #71a929,0 10px 24px #365c2538;z-index:4; }
.dashboard .tile-title { font-size:21px;font-weight:400; }
.dashboard .tile small { font-size:12px;line-height:1.35; }
.dashboard .tile-icon { font-size:52px; }
.dashboard .tile-icon svg { width:52px;height:52px;stroke-width:2.7;filter:drop-shadow(0 1px 0 #3d750620); }
.dashboard .left-one,.dashboard .left-two,.dashboard .left-three { padding:15px 12px; }
.dashboard .left-one small,.dashboard .left-two small,.dashboard .left-three small { display:none; }
.dashboard .home-board>.paper { background:linear-gradient(140deg,#f6f7f2,#dde1db);box-shadow:inset 0 0 0 1px #fff5;justify-content:flex-start;padding:16px 14px; }
.dashboard .right-one::before { content:"SEASON 1";letter-spacing:2px;color:#697260;font-size:10px;border-top:5px solid #70ab25;padding-top:9px;margin-bottom:18px; }
.dashboard .right-two::before { content:"PROJECT STATUS";letter-spacing:1.6px;color:#697260;font-size:10px;margin-bottom:14px; }
.dashboard .home-board>.paper .tile-title { color:#639526;font-size:23px;line-height:1.16; }
.dashboard .hero { background:#263132; }
.dashboard .hero .image-caption { background:#172124;flex-basis:72px;padding:8px 12px 29px; }
.dashboard .hero .image-caption strong { font-size:23px; }
.dashboard .hero img { height:calc(100% - 72px); }
.dashboard .image-caption { background:#1e2424d9;font-size:17px; }
.dashboard .image-tile img,.dashboard .screenshot img { object-fit:contain; }
.dashboard .page-heading { color:#464e4b;margin:4px 0 22px; }
.dashboard .page-heading h1 { font-size:36px;font-weight:300; }
.dashboard .page-heading p { color:#68716b; }
.dashboard .eyebrow { color:#6f7b6c;font-size:10px; }
.dashboard .green .eyebrow { color:white; }
.dashboard .paper { background:linear-gradient(145deg,#f7f9f3,#e5e9e0); }
.dashboard .panel { padding:25px; }
.dashboard .panel h2 { font-weight:300; }
.dashboard .feature-grid { grid-template-columns:repeat(3,1fr);gap:5px; }
.dashboard .feature-grid>.tile { min-height:195px; }
.dashboard .roadmap-grid { grid-template-columns:245px 1fr; }
.dashboard .roadmap-grid aside { position:static; }
.dashboard .phase { padding:20px; }
.dashboard .phase h2 { font-size:24px; }
.dashboard .screenshots-grid { gap:6px; }
.dashboard .screenshot { padding-bottom:50px; }
.dashboard .action { background:#5d971c; }
.dashboard .action:hover { background:#477e10; }
.dashboard .download-empty { background:#eff2e9; }
.dashboard .about-grid { grid-template-columns:1fr 2fr; }
.dashboard .credits-grid>.panel { min-height:280px; }
.avatar-stage { position:absolute;top:215px;left:36px;width:220px;height:470px;z-index:2;display:flex;align-items:center;flex-direction:column; }
.avatar-interact { width:100%;height:390px;padding:0;background:none;border:0;cursor:pointer;position:relative;z-index:2; }
.avatar-interact:focus-visible { outline:2px solid #6da123;outline-offset:3px; }
#avatar-canvas { width:100%;height:100%;display:block; }
.avatar-ground { position:absolute;bottom:76px;left:18%;width:64%;height:15px;background:radial-gradient(ellipse,#52604950,transparent 70%);filter:blur(4px); }
.avatar-tag { text-align:center;color:#5f685d;position:relative;z-index:2; }
.avatar-tag strong { display:block;font-size:16px;font-weight:400; }
.avatar-tag span { display:block;font-size:11px;margin-top:4px; }
.avatar-motion { border:0;border-bottom:1px dotted #839273;background:none;padding:5px 0;margin-top:9px;color:#718168;font-size:10px; }
.avatar-motion:focus-visible { outline:2px solid #5b971e; }
.avatar-loading { position:absolute;top:50%;left:0;width:100%;text-align:center;color:#6c7667;font-size:12px; }
.dashboard-switcher { display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:13px 85px 0 0;color:#677260;font-size:12px; }
.dashboard-switcher button { border:1px solid #b3beab;border-radius:50%;background:#eff4e69c;color:#6a8e35;width:31px;height:31px;line-height:1;font-size:25px; }
.dashboard-switcher button:disabled { opacity:.3; }
.dashboard-switcher button:focus-visible { outline:3px solid #71a729;outline-offset:2px; }
.dashboard footer.shell { width:calc(100% - 112px);max-width:none;color:#596153;padding:27px 0 22px; }
.dashboard .controls .a { background:linear-gradient(#acd35b,#6b9d2d); }
.dashboard .controls .b { background:linear-gradient(#d18c74,#aa533e); }
.dashboard .controls i { box-shadow:inset 0 1px 3px #fff9,0 1px 2px #4e542c50; }
.dashboard .disclaimer { color:#66705f; }
.dashboard dialog { background:#f4f6ed; }
@media(min-width:1700px) {
.dashboard header.shell,.dashboard footer.shell { width:calc(100% - 160px); }
.dashboard nav { margin-top:52px;margin-bottom:32px;gap:35px; }
.dashboard nav a { font-size:36px; }
.dashboard .home-board { grid-template-columns:180px 1fr 1fr 240px;grid-template-rows:repeat(3,165px); }
.dashboard-pane { padding-left:320px;padding-right:64px; }
.avatar-stage { width:250px;height:520px;left:40px;top:240px; }
.avatar-interact { height:440px; }
.dashboard footer.shell { padding-top:35px; }
}
@media(max-width:1150px) {
.dashboard header.shell,.dashboard footer.shell { width:calc(100% - 64px); }
.dashboard nav { gap:24px;margin-top:30px; }
.dashboard nav a { font-size:29px; }
.dashboard-pane { padding-left:210px;padding-right:16px;flex-basis:calc(100vw - 32px);width:calc(100vw - 32px); }
.avatar-stage { left:12px;top:210px;width:180px;height:400px; }
.avatar-interact { height:325px; }
.dashboard .home-board { grid-template-columns:125px 1fr 1fr 160px;grid-template-rows:repeat(3,135px); }
.dashboard .tile-title { font-size:18px; }
.dashboard .home-board>.paper .tile-title { font-size:19px; }
.dashboard .intro>span { display:none; }
.dashboard .roadmap-grid { grid-template-columns:200px 1fr; }
}
@media(max-width:850px) {
.dashboard header.shell,.dashboard footer.shell { width:calc(100% - 40px); }
.dashboard nav { gap:22px;margin-top:25px;margin-bottom:12px; }
.dashboard nav a { font-size:29px; }
.avatar-stage { position:relative;top:auto;left:auto;margin:-3px auto 12px;width:180px;height:260px; }
.avatar-interact { height:215px;width:180px; }
.avatar-tag { position:absolute;left:135px;top:120px;width:135px;text-align:left; }
.avatar-motion { position:absolute;top:175px;left:135px;white-space:nowrap; }
.avatar-ground { bottom:40px;left:20%;width:65%; }
.dashboard-pane { padding:0 16px 12px;flex-basis:calc(100vw - 18px);width:calc(100vw - 18px); }
.dashboard-track { gap:18px; }
.dashboard .home-board { grid-template-columns:125px 1fr 1fr;grid-template-rows:repeat(3,140px) 115px; }
.dashboard .left-one { grid-area:1/1; }.dashboard .left-two {grid-area:2/1;}.dashboard .left-three {grid-area:3/1;}
.dashboard .hero { grid-area:1/2/3/4;aspect-ratio:auto; }
.dashboard .hero-link { height:100%; }
.dashboard .hero img { flex:1;height:calc(100% - 72px);aspect-ratio:auto; }
.dashboard .hero .image-caption { flex:0 0 72px;min-height:72px; }
.dashboard .island {grid-area:3/2;}.dashboard .inventory {grid-area:3/3;}
.dashboard .right-one {grid-area:4/1;}.dashboard .right-two {grid-area:4/2;}.dashboard .right-three {grid-area:4/3;}
.dashboard .right-one::before,.dashboard .right-two::before { display:none; }
.dashboard .right-three .tile-icon { font-size:34px; }
.dashboard .right-three .tile-icon svg { width:34px;height:34px; }
.dashboard .home-board .paper { padding:12px; }
.dashboard .home-board>.paper .tile-title { font-size:17px; }
.dashboard .home-board>.paper small { font-size:10px; }
.dashboard-switcher { padding-right:30px; }
.dashboard .feature-grid { grid-template-columns:repeat(2,1fr); }
.dashboard .roadmap-grid,.dashboard .about-grid { grid-template-columns:1fr; }
}
@media(max-width:520px) {
.dashboard .profile { font-size:11px; }
.dashboard .brand { font-size:19px; }
.dashboard .home-board { grid-template-columns:repeat(3,1fr);grid-template-rows:auto 110px 160px 160px 130px; }
.dashboard .hero {grid-area:1/1/2/4; }
.dashboard .hero-link {height:auto;}
.dashboard .hero img {width:100%;height:auto;aspect-ratio:16/9;flex:none; }
.dashboard .hero .image-caption {flex:none;min-height:82px; }
.dashboard .hero .image-caption strong {font-size:22px;}
.dashboard .left-one {grid-area:2/1;}.dashboard .left-two {grid-area:2/2;}.dashboard .left-three {grid-area:2/3;}
.dashboard .island {grid-area:3/1/4/3;}.dashboard .inventory {grid-area:4/1/5/3;}
.dashboard .right-one {grid-area:3/3;}.dashboard .right-two {grid-area:4/3;}.dashboard .right-three {grid-area:5/1/6/4;align-items:center; }
.dashboard .home-board>.paper .tile-title {font-size:16px;}
.dashboard .tile-title { font-size:15px; }
.dashboard .left-one,.dashboard .left-two,.dashboard .left-three {padding:12px 8px;}
.dashboard .left-one .tile-icon svg,.dashboard .left-two .tile-icon svg,.dashboard .left-three .tile-icon svg {width:42px;height:42px;}
.dashboard .page-heading h1 {font-size:29px;}
.dashboard .panel {padding:21px;}
.dashboard .screenshot .image-caption {font-size:15px;}
.dashboard footer.shell {padding-top:25px;}
.avatar-tag {left:128px;width:125px;}
.avatar-motion {left:128px;}
}
@media(prefers-reduced-motion:reduce) {
.dashboard .tile {transition:none;}
.dashboard .tile[data-nav]:hover,.dashboard .tile[data-nav]:focus-visible {transform:none;}
}

.dashboard .profile .avatar img { width:100%;height:100%;object-fit:cover;display:block; }
@media(min-width:851px) {
  .dashboard .hero { grid-area:1/2/3/3; }
  .dashboard .island { grid-area:1/3; }
  .dashboard .inventory { grid-area:2/3; }
  .dashboard .right-one { grid-area:3/2; }
  .dashboard .right-two { grid-area:3/3; }
  .dashboard .right-three { grid-area:1/4/4/5; background:linear-gradient(180deg,#64567d 0%,#443653 100%);padding:24px 18px; }
  .dashboard .right-three::before { content:"FORTNITE S1";font-size:27px;font-weight:300;letter-spacing:1px;position:absolute;top:30px;left:18px; }
  .dashboard .right-three::after { content:"CHAPTER 1 · THE ORIGINAL ISLAND";position:absolute;left:18px;top:69px;font-size:9px;letter-spacing:1px;opacity:.7; }
  .dashboard .right-three .tile-icon { font-size:65px; }
  .dashboard .right-three .tile-icon svg { width:65px;height:65px; }
  .dashboard .home-board>.paper .tile-title { font-size:21px; }
}
.edge-preview { position:absolute;right:-74px;top:95px;width:135px;height:185px;border:0;background:linear-gradient(130deg,#8ac628,#5c9e0e);color:#fff;text-align:left;padding:115px 12px 15px;font-size:19px;font-weight:300;box-shadow:0 3px 6px #56614220; }
.edge-preview:hover { background:#77b21b; }
.edge-preview:focus-visible { outline:3px solid white;outline-offset:3px; }
@media(max-width:850px) { .edge-preview { display:none; } }
.dashboard main.shell { overflow-x:clip; }

/* The character belongs to Home; other dashboard pages use the full canvas. */
.dashboard .profile-badge { display:none; }
.dashboard:not(.home-active) .profile .avatar img { display:none; }
.dashboard:not(.home-active) .profile-badge { display:inline; }
.dashboard-pane:not([data-page="home"]) { padding-left:56px;padding-right:28px; }
.dashboard-pane:not([data-page="home"]) .pane-content { max-width:none; }
.dashboard-pane:not([data-page="home"]) .panel p { max-width:75ch; }
@media(min-width:1700px) {
  .dashboard-pane:not([data-page="home"]) { padding-left:80px;padding-right:48px; }
}
@media(max-width:1150px) {
  .dashboard-pane:not([data-page="home"]) { padding-left:32px;padding-right:16px; }
}
@media(max-width:850px) {
  .dashboard-pane:not([data-page="home"]) { padding-left:20px;padding-right:2px; }
}

.dashboard .page-loading { padding:32px 0;color:#596451; }
.dashboard-track { overflow-anchor:none; }

/* Pages change through links; scrolling is exclusively vertical. */
.dashboard-track { display:block;overflow:clip;scroll-snap-type:none;touch-action:pan-y pinch-zoom; }
.dashboard-pane { width:100%; }
.dashboard-pane:not(.is-active) { display:none; }
.dashboard-pane:not([data-page="home"]) { padding-right:56px; }
@media(min-width:1700px) { .dashboard-pane:not([data-page="home"]) { padding-right:80px; } }
@media(max-width:1150px) { .dashboard-pane:not([data-page="home"]) { padding-right:32px; } }
@media(max-width:850px) { .dashboard-pane { width:100%; } .dashboard-pane:not([data-page="home"]) { padding-right:20px; } }

/* Metro dashboard refinement: one shared tile rhythm, explicit page navigation. */
body.dashboard { background:radial-gradient(ellipse at 52% 65%,#f5f6f3 0%,#daddd8 48%,#a9aeac 100%); }
.dashboard { --tile-gap:5px;--console-green:#67a80b;--select-shadow:0 0 0 2px #f3f9e9,0 0 0 4px #7ebc30,0 9px 20px #31472836; }
.dashboard nav { padding-bottom:15px;gap:30px; }
.dashboard nav a { position:relative;color:#727b76;font-weight:300;letter-spacing:-.7px;transition:color .16s; }
.dashboard nav a[aria-current] { color:#26312b; }
.dashboard nav a[aria-current]::after { content:"";position:absolute;bottom:-10px;left:0;width:27px;height:3px;background:#72aa21; }
.dashboard nav a:hover { color:#34462e; }
.dashboard nav a:focus-visible { outline:2px solid #619d16;outline-offset:6px; }
.dashboard .page-heading { margin:5px 0 23px; }
.dashboard .page-heading h1 { font-size:clamp(29px,2.8vw,42px);letter-spacing:-1px;line-height:1.18;margin:9px 0 8px; }
.dashboard .page-heading p { margin:8px 0 0;max-width:70ch;font-size:14px;line-height:1.55; }
.dashboard .eyebrow { letter-spacing:2px;font-size:10px; }
.dashboard .intro h1 { font-size:16px;line-height:1.5; }
.dashboard .tile { border-radius:0;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease; }
.dashboard .tile[data-nav]:is(:hover,:focus) { transform:translateY(-3px) scale(1.015);box-shadow:var(--select-shadow);z-index:4;outline:0;filter:brightness(1.035); }
.dashboard .tile-title { font-size:20px;line-height:1.22; }
.dashboard .tile small { font-size:12px;line-height:1.45; }
.dashboard .panel { padding:24px; }
.dashboard .panel h2 { font-size:26px;letter-spacing:-.4px; }
.dashboard .panel p { font-size:15px;line-height:1.65; }
.dashboard .paper { background:#eef1e9;box-shadow:inset 0 1px 0 #ffffff9e; }
.dashboard .action { border-radius:0;transition:background .15s; }
.dashboard .action:focus-visible,.dashboard .close:focus-visible { outline:3px solid #80b832;outline-offset:3px; }
.dashboard .home-board { gap:var(--tile-gap); }
.dashboard .hero { background:#202a2c; }
.dashboard .hero .image-caption { background:#202a2c; }
.dashboard .image-tile img,.dashboard .screenshot img { object-fit:contain;background:#24302d; }
.dashboard .home-board>.paper { padding:20px; }
.dashboard .home-board>.paper .tile-title { font-size:22px; }
.dashboard .right-one::before,.dashboard .right-two::before { margin-bottom:16px; }
.dashboard .right-three::before,.dashboard .right-three::after { display:none; }
.dashboard .right-three { padding:18px;align-items:flex-start; }
.dashboard .right-three .tile-icon { margin:auto; }
.dashboard .right-three .tile-icon svg { width:46px;height:46px; }
.dashboard .feature-grid { gap:var(--tile-gap); }
.dashboard .feature-grid>.tile { min-height:225px;padding:24px; }
.dashboard .feature-grid .tile-icon { margin:7px 0 28px;align-self:flex-start; }
.dashboard .about-grid { grid-template-columns:.85fr 1.4fr 1fr;gap:var(--tile-gap);align-items:stretch; }
.dashboard .about-grid>.paper { grid-row:auto; }
.dashboard .about-image { min-height:320px;aspect-ratio:auto; }
.dashboard .about-image img { width:100%;height:100%;object-fit:contain; }
.dashboard .about-image .image-caption { padding:12px;font-size:13px; }
.dashboard .roadmap-grid { grid-template-columns:260px minmax(0,1fr);gap:var(--tile-gap); }
.dashboard .phases { grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tile-gap); }
.dashboard .phase { padding:23px 21px;min-height:180px;gap:18px; }
.dashboard .phase h2 { font-size:25px; }
.dashboard .phase-number { font-size:33px; }
.dashboard .phase:has(.done) { border-top:4px solid #72a82e; }
.dashboard .phase:has(.progress) { border-top:4px solid #d3aa39; }
.dashboard .phase:has(.planned) { border-top:4px solid #9ba39a; }
.dashboard .credits-grid { gap:var(--tile-gap); }
.dashboard .credits-grid>.panel { min-height:240px;border-top:4px solid #7aab42; }
.dashboard .screenshots-grid { gap:var(--tile-gap); }
.dashboard .screenshot { padding:0; }
.dashboard .screenshot .image-caption { position:static;width:100%;min-height:62px;padding:11px 15px;background:#25302e; }
.dashboard .screenshot img { aspect-ratio:16/9;width:100%;height:auto; }
.dashboard .screenshot .image-caption small { font-size:11px;color:#c3d0bf; }
.dashboard .trailer-row>.tile { min-height:100px; }
.dashboard-pane.is-active .pane-content.page-enter { animation:console-enter .22s ease-out; }
@keyframes console-enter { from { opacity:.25;transform:translateY(7px); } to { opacity:1;transform:translateY(0); } }
.avatar-stage { isolation:isolate; }
.avatar-ground { bottom:86px;left:22%;width:56%;height:13px;background:radial-gradient(ellipse,#3643335c 0%,#4a58442b 40%,transparent 72%);filter:blur(3px); }
.avatar-tag strong { font-size:17px;letter-spacing:-.3px; }
.avatar-tag span { color:#687561; }
.dashboard .downloads-grid { grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:var(--tile-gap); }
.dashboard .download-card { padding:0;min-height:315px;justify-content:flex-start;background:#edf0e7;color:#384531; }
.release-cover { height:176px;width:100%;background:linear-gradient(135deg,#668e30,#314c25);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden; }
.release-cover img { width:100%;height:100%;object-fit:contain; }
.release-cover .download-card-icon { width:70px;height:70px;margin:0;color:#f3f9e9; }
.release-cover .cover-label { position:absolute;top:12px;left:14px;color:#f4f8ee;font-size:10px;letter-spacing:1.7px; }
.release-copy { display:block;width:100%;padding:16px 18px; }
.dashboard .download-card h2 { margin:0 0 9px;font-size:21px;line-height:1.25;font-weight:400; }
.release-meta { display:flex;flex-wrap:wrap;gap:6px 14px;color:#53654c;font-size:12px;line-height:1.5; }
.release-date { display:block;margin-top:6px;font-size:12px;color:#60705a; }
.dashboard .download-button { display:block;margin-top:15px;padding-top:10px;border-top:1px solid #c7d0bf;color:#548621;font-size:14px; }
.dashboard .download-empty { padding:30px;grid-column:1/-1; }
.dashboard #gallery { width:min(1200px,94vw);max-width:94vw;max-height:94vh;padding:38px 20px 16px;background:#e8ece3;border:0;overflow:auto; }
.dashboard #gallery>img { width:100%;height:auto;max-height:calc(94vh - 200px);min-height:120px;object-fit:contain;display:block;background:#222b29; }
.dashboard .gallery-bar { padding:13px 0 10px;gap:14px;align-items:center; }
.dashboard .gallery-bar p { font-size:15px;line-height:1.4;margin:0;text-align:center; }
.dashboard .gallery-bar button { width:40px;height:34px;background:#5c9324;color:#fff;border:0;flex-shrink:0; }
.gallery-thumbnails { display:flex;gap:7px;justify-content:center;overflow-x:auto;padding:4px 4px 8px; }
.gallery-thumbnails button { flex:0 0 100px;width:100px;padding:0;background:#23312a;border:2px solid transparent;opacity:.65; }
.gallery-thumbnails img { display:block;width:100%;height:56px;object-fit:contain; }
.gallery-thumbnails button:is([aria-pressed="true"],:hover,:focus-visible) { border-color:#79ab36;opacity:1;outline:0; }
.gallery-help { text-align:center;font-size:11px;margin:5px 0 0;color:#607057; }
.dashboard .release-details { width:min(840px,94vw);max-width:94vw;padding:0;border:0;background:#edf0e7;color:#384431; }
.release-dialog-grid { display:grid;grid-template-columns:260px minmax(0,1fr); }
.release-details .release-cover { height:100%;min-height:320px; }
.release-dialog-copy { padding:32px 26px;overflow-wrap:anywhere; }
.release-dialog-copy h2 { font-size:30px;font-weight:300;line-height:1.2;margin:12px 0 20px; }
.release-dialog-copy dl { display:grid;grid-template-columns:90px 1fr;gap:10px;margin:0 0 22px;font-size:14px; }
.release-dialog-copy dt { color:#687661; }
.release-dialog-copy dd { margin:0; }
.release-dialog-copy p { font-size:14px;line-height:1.6; }
.release-dialog-copy .action { margin-top:12px; }
.release-details>.close { position:absolute;right:8px;top:6px;z-index:2; }
.dashboard dialog::backdrop { background:#182019a6;backdrop-filter:blur(3px); }
@media(min-width:851px) {
 .dashboard .home-board { grid-template-columns:150px minmax(0,1fr) minmax(0,1fr) 210px;grid-template-rows:repeat(3,148px); }
 .dashboard .hero { grid-area:1/2/3/4; }
 .dashboard .island { grid-area:3/2; }
 .dashboard .inventory { grid-area:3/3; }
 .dashboard .right-one { grid-area:1/4; }
 .dashboard .right-two { grid-area:2/4; }
 .dashboard .right-three { grid-area:3/4;background:linear-gradient(145deg,#755d8d,#4c395f); }
}
@media(min-width:1700px) {
 .dashboard .home-board { grid-template-columns:165px minmax(0,1fr) minmax(0,1fr) 230px;grid-template-rows:repeat(3,165px); }
}
@media(max-width:1150px) and (min-width:851px) {
 .dashboard .home-board { grid-template-columns:120px minmax(0,1fr) minmax(0,1fr) 150px;grid-template-rows:repeat(3,138px); }
 .dashboard .home-board>.paper { padding:14px; }
 .dashboard .home-board>.paper .tile-title { font-size:18px; }
 .dashboard .about-grid { grid-template-columns:1fr 1.5fr; }
 .dashboard .about-image { grid-column:1/-1;min-height:230px;max-height:330px; }
}
@media(max-width:850px) {
 .dashboard nav { gap:23px; }
 .dashboard nav a { font-size:28px; }
 .dashboard .about-grid,.dashboard .roadmap-grid { grid-template-columns:1fr; }
 .dashboard .about-image { min-height:220px; }
 .dashboard .phases { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dashboard .phase { min-height:0; }
 .dashboard .home-board>.paper { padding:13px; }
 .dashboard .home-board>.paper .tile-title { font-size:17px; }
 .avatar-ground { bottom:38px;height:10px; }
 .dashboard .release-dialog-grid { grid-template-columns:1fr; }
 .dashboard .release-details .release-cover { height:160px;min-height:160px; }
}
@media(max-width:520px) {
 .dashboard .page-heading { margin-bottom:20px; }
 .dashboard .feature-grid,.dashboard .phases { grid-template-columns:1fr; }
 .dashboard .feature-grid>.tile { min-height:180px; }
 .dashboard .feature-grid .tile-icon { margin:0 0 20px; }
 .dashboard .tile-title { font-size:16px; }
 .dashboard .home-board>.paper .tile-title { font-size:16px; }
 .dashboard .home-board>.paper small { font-size:11px; }
 .dashboard .credits-grid { grid-template-columns:1fr; }
 .dashboard .credits-grid>.panel { min-height:0; }
 .dashboard .downloads-grid { grid-template-columns:1fr; }
 .dashboard #gallery { padding:38px 10px 12px; }
 .dashboard .gallery-bar { gap:7px; }
 .dashboard .gallery-bar p { font-size:12px; }
 .gallery-thumbnails { gap:5px; }
 .gallery-thumbnails button { flex-basis:65px;width:65px; }
 .gallery-thumbnails img { height:37px; }
 .release-dialog-copy { padding:24px 20px; }
}
@media(prefers-reduced-motion:reduce) {
 .dashboard-pane.is-active .pane-content.page-enter { animation:none; }
 .dashboard .tile[data-nav]:is(:hover,:focus) { transform:none; }
 .dashboard nav a,.dashboard .tile { transition:none; }
}

.dashboard #gallery { color:#394730; }
.dashboard #gallery>.close { color:#394730; }
.release-cover .download-card-icon svg { display:block;width:100%;height:100%; }

.avatar-ground { top:var(--avatar-floor,82%);bottom:auto;transform:translateY(-3px); }

.dashboard .hero:is(:hover,:focus-within) { transform:translateY(-3px) scale(1.015);box-shadow:var(--select-shadow);z-index:4; }
.dashboard .hero-link:focus { outline:0; }
@media(prefers-reduced-motion:reduce) { .dashboard .hero:is(:hover,:focus-within) { transform:none; } }

.theme-toggle { display:inline-flex;align-items:center;justify-content:center;gap:7px;vertical-align:middle;margin-left:20px;min-width:112px;padding:7px 10px;border:1px solid #8a9982;background:#eff3e9;color:#36452d;font-size:12px;line-height:1.4; }
.theme-toggle span { font-size:19px;line-height:1; }
.theme-toggle:focus-visible { outline:3px solid #75a928;outline-offset:3px; }
.feedback-grid { display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.6fr);gap:5px;align-items:start; }
.feedback-grid aside small { display:block; }
#public-feedback label { display:block;font-size:14px;margin:0 0 7px; }
#public-feedback input,#public-feedback select,#public-feedback textarea { width:100%;padding:12px;border:1px solid #94a18b;border-radius:0;background:#fff;color:#293527;font:inherit;font-size:15px; }
#public-feedback input,#public-feedback select { min-height:44px; }
#public-feedback textarea { resize:vertical;min-height:150px; }
#public-feedback :is(input,select,textarea):focus { outline:3px solid #76a82d;outline-offset:1px; }
#public-feedback :is(input,textarea)::placeholder { color:#687562;opacity:1; }
#public-feedback small { display:block;color:#56664c;font-size:12px;line-height:1.5;margin:7px 0 20px; }
#public-feedback label[for="feedback-email"] { margin-top:18px; }
#public-feedback .action { margin-top:20px; }
.feedback-fields { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0; }
.field-optional { font-size:12px;color:#637458; }
.feedback-trap { position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden; }
#feedback-status { min-height:24px;font-size:14px;line-height:1.6;margin:16px 0 0;overflow-wrap:anywhere; }
#feedback-status[data-state="success"] { color:#2e6a15; }
#feedback-status[data-state="error"] { color:#9b3020; }
@media(max-width:850px) { .feedback-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .theme-toggle { display:flex;margin:16px 0 0; } .dashboard nav { margin-top:20px; } .feedback-fields { grid-template-columns:1fr; } }

/* Dark palette applies only to the public dashboard; DevCon keeps its own UI. */
html[data-theme="dark"] { color-scheme:dark; }
html[data-theme="dark"] body.dashboard { color:#e0eadb;background:radial-gradient(ellipse at 52% 60%,#39483a 0%,#263229 48%,#171e19 100%);background-attachment:fixed; }
html[data-theme="dark"] .dashboard .brand,html[data-theme="dark"] .dashboard .profile { color:#e1ecd8; }
html[data-theme="dark"] .dashboard .profile small { color:#b6c8ad; }
html[data-theme="dark"] .theme-toggle { color:#e3edd9;background:#303d2c;border-color:#8da579; }
html[data-theme="dark"] .dashboard nav a { color:#b6c6ae; }
html[data-theme="dark"] .dashboard nav a:is([aria-current],:hover) { color:#f2f8e9;text-shadow:none; }
html[data-theme="dark"] .dashboard nav a[aria-current]::after { background:#a8db56; }
html[data-theme="dark"] .dashboard .intro { color:#e0ead7; }
html[data-theme="dark"] .dashboard .intro>span { color:#b8c9ad; }
html[data-theme="dark"] .dashboard .page-heading { color:#eff5e6; }
html[data-theme="dark"] .dashboard .page-heading p { color:#bdcdb5; }
html[data-theme="dark"] .dashboard .eyebrow { color:#bed5a5; }
html[data-theme="dark"] .dashboard .green .eyebrow { color:#fff; }
html[data-theme="dark"] .dashboard .paper,html[data-theme="dark"] .dashboard .home-board>.paper { background:#2c382e;color:#e3eddb;box-shadow:inset 0 1px 0 #ffffff14; }
html[data-theme="dark"] .dashboard .home-board>.paper .tile-title { color:#c5e995; }
html[data-theme="dark"] .dashboard .home-board>.paper small { color:#d0dfc5;opacity:1; }
html[data-theme="dark"] .dashboard .right-one::before,html[data-theme="dark"] .dashboard .right-two::before { color:#bdd0ad; }
html[data-theme="dark"] .dashboard .phase-number { color:#a9c39a; }
html[data-theme="dark"] .dashboard .done { color:#b4e183; }
html[data-theme="dark"] .dashboard .progress { color:#f2ce75; }
html[data-theme="dark"] .dashboard .planned { color:#c6d1c0; }
html[data-theme="dark"] .dashboard .action { background:#598e22;color:#fff; }
html[data-theme="dark"] .dashboard .action:hover { background:#467319; }
html[data-theme="dark"] .dashboard .action.light { background:#e4efcf;color:#2a4915; }
html[data-theme="dark"] .dashboard .action.light:hover { background:#d2e4b3; }
html[data-theme="dark"] .avatar-tag { color:#e1edd7; }
html[data-theme="dark"] .avatar-tag span { color:#bdcfb1; }
html[data-theme="dark"] .avatar-motion { color:#c7dfa9;border-color:#a4bf85; }
html[data-theme="dark"] .avatar-loading { color:#c9dfb4; }
html[data-theme="dark"] .avatar-ground { background:radial-gradient(ellipse,#a9c5803b 0%,#111b1180 40%,transparent 72%); }
html[data-theme="dark"] .dashboard footer.shell { color:#c3d2b9; }
html[data-theme="dark"] .dashboard .disclaimer { color:#b9cbb0; }
html[data-theme="dark"] .dashboard .page-loading { color:#c2d4b4; }
html[data-theme="dark"] .dashboard dialog,html[data-theme="dark"] .dashboard .release-details { color:#e2edd8;background:#29352b; }
html[data-theme="dark"] .dashboard dialog .close,html[data-theme="dark"] .dashboard #gallery>.close { color:#eef7e1; }
html[data-theme="dark"] .dashboard #gallery { color:#edf5e4;background:#263329; }
html[data-theme="dark"] .gallery-help { color:#b9cfa9; }
html[data-theme="dark"] .gallery-thumbnails button[aria-pressed="true"] { border-color:#b4dd66; }
html[data-theme="dark"] .dashboard .download-card { background:#2c382e;color:#e9f0e3; }
html[data-theme="dark"] .release-meta,html[data-theme="dark"] .release-date { color:#c2d3b7; }
html[data-theme="dark"] .dashboard .download-button { color:#d0ed9f;border-color:#687e59; }
html[data-theme="dark"] .dashboard .download-empty { background:#2d3a2e;color:#dcead1; }
html[data-theme="dark"] .release-dialog-copy dt { color:#b6cda6; }
html[data-theme="dark"] .release-dialog-copy dd { color:#e9f3df; }
html[data-theme="dark"] .dashboard .release-details>.close { background:#263329;color:#f1f7e9; }
html[data-theme="dark"] #public-feedback :is(input,select,textarea) { background:#19251d;color:#edf4e6;border-color:#879c78; }
html[data-theme="dark"] #public-feedback :is(input,textarea)::placeholder { color:#b4c5ab; }
html[data-theme="dark"] #public-feedback small,html[data-theme="dark"] .field-optional { color:#bed1af; }
html[data-theme="dark"] #feedback-status[data-state="success"] { color:#c0e99c; }
html[data-theme="dark"] #feedback-status[data-state="error"] { color:#ffb8a6; }
html[data-theme="dark"] .dashboard .green { background:linear-gradient(135deg,#4a7c1b,#30610f); }
html[data-theme="dark"] .dashboard .blue { background:linear-gradient(135deg,#285e7b,#1d465c); }
html[data-theme="dark"] .dashboard .purple { background:linear-gradient(135deg,#654a7a,#423051); }
html[data-theme="dark"] .dashboard .orange { background:linear-gradient(135deg,#96621d,#704810); }
html[data-theme="dark"] .dashboard .tile small { opacity:1; }
.dashboard.notfound main.shell { padding:0 56px; }
@media(min-width:1700px) { .dashboard.notfound main.shell { padding:0 80px; } }
@media(max-width:1150px) { .dashboard.notfound main.shell { padding:0 32px; } }
@media(max-width:850px) { .dashboard.notfound main.shell { padding:0 20px; } }

.dashboard .feedback-grid>aside.green { background:linear-gradient(135deg,#4a7c1b,#30610f); }

@media(max-width:850px) { .avatar-stage { height:300px; } .avatar-tag { position:static;width:100%;text-align:center;margin-top:6px; } .avatar-motion { position:static;margin-top:7px; } }

html[data-theme="dark"] .dashboard .action { background:#47751d; }
html[data-theme="dark"] .dashboard .action:hover { background:#3a6116; }
#public-feedback .action { background:#47751d;color:#fff; }
#public-feedback .action:hover { background:#3a6116; }
