@font-face{font-family:"Cormorant Garamond";src:url('assets/fonts/CormorantGaramond-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}:root{--top:13.5673vh;--bottom:21.0526vh;--ink:#f4e4bd;--gold:#e7c271;--deep:#0c0810}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--deep);font-family:Georgia,"Times New Roman",serif;color:var(--ink)}body{overflow:hidden}.shell{position:relative;width:100vw;height:100vh;min-height:640px;overflow:hidden;background:var(--deep)}.skip{position:fixed;top:-5rem;left:1rem;z-index:99;background:#fff;color:#111;padding:.6rem}.skip:focus{top:1rem}:focus-visible{outline:3px solid #fff0a8;outline-offset:-4px}.top{position:absolute;z-index:5;inset:0 0 auto;height:var(--top);background:url('assets/shell/top.png') center/100% 100% no-repeat}.home{position:absolute;left:0;top:0;width:36%;height:100%}.world{position:absolute;top:var(--top);bottom:var(--bottom);left:0;right:0;overflow:hidden;background:#08070a}.world img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}.bottom{position:absolute;z-index:6;left:0;right:0;bottom:0;height:var(--bottom);display:grid;grid-template-columns:repeat(6,1fr);background:url('assets/shell/bottom.png') center/100% 100% no-repeat}.bottom a{position:relative;text-decoration:none;color:transparent}.bottom a span{position:absolute;left:0;right:0;bottom:5.5%;text-align:center;color:transparent;pointer-events:none}.bottom a.replace:before{content:"";position:absolute;left:12%;right:12%;top:5%;bottom:19%;border-radius:45%;background:radial-gradient(ellipse at center,rgba(17,10,20,.94) 0%,rgba(17,10,20,.86) 46%,rgba(17,10,20,.2) 72%,rgba(17,10,20,0) 100%)}.bottom a.replace img{position:absolute;z-index:2;left:50%;top:39%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:58%;max-height:69%;object-fit:contain;pointer-events:none}.bottom a[href="#backpack"] img{max-width:55%;max-height:68%}.bottom a[href="#starlit-codex"] img{max-width:49%;max-height:70%}.bottom a[href="#settings"] img{max-width:54%;max-height:68%}.bottom a:focus-visible{outline:3px solid #fff0a8;outline-offset:-5px}.identity{position:absolute;z-index:8;right:.8%;top:2%;width:35.8%;height:94%;display:flex;align-items:center;color:#f4e6c8;text-shadow:0 1px 2px #000,0 0 4px #000;background:none;border-radius:0;padding-right:.8%}.avatar{position:relative;flex:0 0 auto;height:100%;aspect-ratio:1;background:url('assets/identity/avatar-frame.png') center/contain no-repeat;display:grid;place-items:center}.avatar span{font-size:clamp(7px,.55vw,10px);line-height:1.05;text-align:center;text-transform:uppercase;color:#dcccad}.who{display:flex;flex-direction:column;min-width:0;margin-left:-1%;width:36%}.who b{font-size:clamp(13px,1.15vw,22px);white-space:nowrap}.who i,.who span{font-size:clamp(8px,.7vw,13px);white-space:nowrap}.who small{font-size:clamp(7px,.5vw,9px)}.money{display:flex;align-items:center;gap:clamp(8px,.7vw,14px);flex:1}.money>div{display:flex;align-items:center;gap:5px;min-width:0}.money img{width:clamp(30px,2.2vw,42px);height:clamp(30px,2.2vw,42px);object-fit:contain}.money span{display:flex;flex-direction:column}.money b{font-size:clamp(7px,.55vw,10px);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.money em{font-style:normal;font-size:clamp(11px,.8vw,15px)}@media(max-width:800px){.shell{min-height:560px}.identity{width:42%}.who{width:34%}.money b{display:none}}

/* STEP 04M.2: visual duplicate cleanup. The approved player identity is already rendered in the locked top-shell artwork; retain equivalent semantic identity content for assistive technology without drawing a second visual plaque. */
.identity-semantic{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;background:none!important;text-shadow:none!important;}

/* STEP 05A.6F-D REAL SITE VISUAL TEST — exact PNG, 550px visible width, raised 60px. */
.top{
  background:url('assets/shell/top-structural-clean.png') center/100% 100% no-repeat;
  overflow:visible;
}
.test-logo{
  position:absolute;
  z-index:7;
  /* Native alpha bounds 16..2158 = 2142px visible width.
     Canvas display width 557.703px gives exactly ~550px visible artwork width. */
  width:30.310vw; /* Exact shared placement used by Pokket and Backpack. */
  height:auto;
  left:1.299vw;   /* ~23.9px canvas left => ~28px visible left */
  top:0.35vh; /* Stream preview: keep the crescent and upper florals visible at narrower viewports. */
  pointer-events:none;
  user-select:none;
}
.identity-existing-visual{
  position:absolute;
  z-index:6;
  right:0;
  top:0;
  height:100%;
  width:auto;
  pointer-events:none;
  user-select:none;
}
.home{
  z-index:9;
  width:33%;
}


/* STEP 05A.7U — clean top-right player identity recomposition. */
.identity-existing-visual{display:none!important;}
.identity-semantic{
  position:absolute!important;z-index:8!important;right:.8%!important;top:2%!important;
  width:35.8%!important;height:94%!important;display:flex!important;align-items:center!important;
  padding:0 .8% 0 0!important;margin:0!important;overflow:visible!important;clip:auto!important;
  white-space:normal!important;border:0!important;background:none!important;
  color:#f4e6c8!important;text-shadow:0 1px 2px #000,0 0 4px #000!important;
}

/* STEP 05A.7U.1 — player identity text spacing calibration only. */
.who{
  margin-left:2.8%;
  width:32.2%;
}
.who b{line-height:1.08;margin:0 0 1px 0;}

.who i,.who span{line-height:1.08;margin:0 0 1px 0;}
.who small{line-height:1.08;margin:0;}
/* STEP 05A.7U.2 — dynamic identity + currency overflow safety only. */
.identity-semantic{overflow:hidden!important;}
.who{flex:0 0 32.2%;max-width:32.2%;min-width:0;overflow:hidden;}
.who b,.who i,.who span,.who small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.money{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);column-gap:clamp(6px,.55vw,10px);align-items:center;overflow:hidden;}
.money>div.currency{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;min-width:0;overflow:hidden;}
.money>div.currency>span{display:flex;flex-direction:column;min-width:0;overflow:hidden;}
.money .currency b{overflow:hidden;text-overflow:clip;white-space:nowrap;}
.money .currency em{display:block;max-width:100%;overflow:visible;white-space:nowrap;font-size:clamp(9px,.8vw,15px);line-height:1.05;font-variant-numeric:tabular-nums;}
/* Controlled value-only fallback; labels/icons and neighboring territories do not move. */
.money .currency em.value-long{font-size:clamp(8px,.68vw,13px);letter-spacing:-.02em;}
.money .currency em.value-very-long{font-size:clamp(7px,.60vw,11px);letter-spacing:-.035em;}

/* STEP 05A.7V — clean six-nav footer recomposition only. */
.bottom.footer-clean{
  background:#100b14 url('assets/footer/clean-footer.png') center/100% 100% no-repeat;
  overflow:hidden;
}
.bottom.footer-clean .nav-link{position:relative;display:block;width:100%;height:100%;text-decoration:none;color:#e6c77e;overflow:hidden;isolation:isolate;}
.bottom.footer-clean .nav-art{position:absolute;z-index:2;left:50%;bottom:24%;transform:translateX(-50%);display:block;width:auto;height:auto;max-width:58%;max-height:58%;object-fit:contain;pointer-events:none;}
.bottom.footer-clean .nav-support{position:absolute;z-index:1;left:50%;bottom:19%;transform:translateX(-50%);display:block;width:auto;height:auto;max-width:68%;max-height:74%;object-fit:contain;pointer-events:none;}
.bottom.footer-clean .nav-link[data-nav="my-angler"] .my-angler-botanicals{max-width:76%;max-height:86%;bottom:18.5%;}
.bottom.footer-clean .nav-link[data-nav="my-angler"] .my-angler-key{max-width:65%;max-height:88%;bottom:17.5%;transform:translateX(-50%);transform-origin:50% 50%;}
.bottom.footer-clean .nav-link[data-nav="backpack"] .nav-art{max-width:72%;max-height:70%;bottom:23%;}
.bottom.footer-clean .nav-link[data-nav="pokket"] .nav-art{max-width:72%;max-height:67%;bottom:23%;}
.bottom.footer-clean .nav-link[data-nav="curious-catch"] .nav-art{max-width:75%;max-height:72%;bottom:20.5%;}
.bottom.footer-clean .nav-link[data-nav="starlit-codex"] .nav-art{max-width:90%;max-height:96%;bottom:11.5%;}
.bottom.footer-clean .nav-link[data-nav="settings"] .nav-art{max-width:72%;max-height:70%;bottom:20.5%;}
.bottom.footer-clean .nav-rail{position:absolute;z-index:3;left:10%;right:10%;bottom:22%;height:1px;background:linear-gradient(90deg,transparent 0%,#9e742f 6%,#e0b85f 48%,#e0b85f 52%,#9e742f 94%,transparent 100%);box-shadow:0 1px 0 rgba(28,15,10,.85),0 0 4px rgba(209,166,81,.2);pointer-events:none;}
.bottom.footer-clean .nav-rail::before{content:"";position:absolute;left:50%;top:50%;width:clamp(5px,.42vw,8px);height:clamp(5px,.42vw,8px);transform:translate(-50%,-50%) rotate(45deg);border:1px solid #d8aa50;background:#38203f;box-shadow:inset 0 0 0 1px rgba(255,218,119,.16),0 0 3px rgba(214,160,70,.28);}
.bottom.footer-clean .nav-rail::after{content:"";position:absolute;left:50%;top:50%;width:clamp(2px,.14vw,3px);height:clamp(2px,.14vw,3px);transform:translate(-50%,-50%) rotate(45deg);background:#b82978;}
.bottom.footer-clean .nav-label{position:absolute;z-index:3;left:1%;right:1%;bottom:5.5%;display:block;text-align:center;color:#e8c977;font-family:Georgia,"Times New Roman",serif;font-size:clamp(11px,1.02vw,19px);font-weight:600;letter-spacing:.015em;line-height:1;text-transform:uppercase;text-shadow:0 1px 1px #09060b,0 2px 3px #09060b,0 0 7px rgba(190,135,70,.3);white-space:nowrap;pointer-events:none;}
.bottom.footer-clean .nav-link:hover .nav-art{filter:brightness(1.06);}
.bottom.footer-clean .nav-link:hover .nav-label,.bottom.footer-clean .nav-link.is-active .nav-label{color:#f6dc96;text-shadow:0 1px 1px #09060b,0 2px 3px #09060b,0 0 9px rgba(233,188,96,.42);}
.bottom.footer-clean .nav-link.is-active .nav-rail{filter:brightness(1.12);}
.bottom.footer-clean .nav-link:focus-visible{outline:3px solid #fff0a8;outline-offset:-5px;}
@media(max-width:900px){.bottom.footer-clean .nav-label{font-size:clamp(9px,1.55vw,14px);letter-spacing:0}.bottom.footer-clean .nav-rail{left:8%;right:8%}}

/* Stream-preview landing notices and intentionally closed navigation shells. */
.landing-notices{position:absolute;z-index:4;left:50%;top:5%;width:min(92%,760px);transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr;gap:14px;pointer-events:none}
.landing-notices[hidden]{display:none}
.landing-notices article{padding:14px 18px 15px;border:1px solid rgba(235,196,116,.74);border-radius:14px;background:linear-gradient(145deg,rgba(31,15,37,.94),rgba(15,32,46,.92));box-shadow:0 7px 24px rgba(0,0,0,.5),0 0 16px rgba(176,90,190,.22);text-align:center;text-shadow:0 1px 2px #08040b}
.landing-notices span{display:block;color:#e9c878;font-size:clamp(8px,.62vw,12px);font-weight:700;letter-spacing:.13em}
.landing-notices strong{display:block;margin:5px 0 3px;color:#fff0cf;font-size:clamp(15px,1.24vw,24px)}
.landing-notices p{margin:0;color:#dfd7e3;font-size:clamp(10px,.72vw,14px);line-height:1.35}
.landing-notices .festival-note{position:relative;z-index:2;overflow:hidden;transform:scale(1.025);border:1px solid rgba(202,156,205,.88);background:radial-gradient(ellipse at 76% 8%,rgba(101,87,143,.38),transparent 32%),radial-gradient(ellipse at 20% 110%,rgba(42,120,128,.22),transparent 44%),linear-gradient(155deg,rgba(49,22,49,.98),rgba(20,20,39,.98) 55%,rgba(11,38,48,.97));box-shadow:0 10px 30px rgba(0,0,0,.68),0 0 18px rgba(138,95,160,.34),inset 0 0 0 1px rgba(237,203,143,.18),inset 0 0 26px rgba(9,7,20,.65);animation:gloamPulse 4.6s ease-in-out infinite}
.landing-notices .festival-note strong{position:relative;z-index:3;color:#f3ddb1;font-size:clamp(18px,1.38vw,27px);letter-spacing:.025em;text-shadow:0 1px 2px #100811,0 0 11px rgba(166,119,173,.5)}
.landing-notices .festival-note>span{position:relative;z-index:3;color:#d8bd88;text-shadow:0 1px 2px #0e0911;letter-spacing:.13em}
.landing-notices .festival-note p{position:relative;z-index:3;color:#ddd4dc}
.landing-notices .festival-note::before,.landing-notices .festival-note::after{content:"";position:absolute;top:8px;width:5px;height:23px;border-radius:3px 3px 5px 5px;background:linear-gradient(90deg,#a77862,#e0ba82 48%,#7d5365);box-shadow:0 -5px 7px 1px rgba(237,176,95,.65),0 0 13px rgba(217,139,106,.32)}
.landing-notices .festival-note::before{left:16px}.landing-notices .festival-note::after{right:16px}
.gloam-cobweb{position:absolute;z-index:1;left:-23px;top:-28px;width:92px;height:92px;border-radius:50%;opacity:.25;background:repeating-radial-gradient(circle at 0 0,transparent 0 12px,rgba(226,216,225,.55) 13px 14px),repeating-conic-gradient(from 0deg at 0 0,rgba(226,216,225,.46) 0 1deg,transparent 1deg 20deg)}
.gloam-moon{position:absolute;z-index:1;right:42px;top:13px;width:35px;height:35px;border-radius:50%;background:radial-gradient(circle at 38% 42%,#eadbbd 0 48%,#a9919c 65%,transparent 69%);filter:drop-shadow(0 0 9px rgba(209,187,185,.45));opacity:.42}
.gloam-moon::after{content:"";position:absolute;left:11px;top:-2px;width:34px;height:34px;border-radius:50%;background:#252036}
.gloam-bat{position:absolute;z-index:2;width:14px;height:5px;background:#100d18;border-radius:50%;opacity:.66;filter:drop-shadow(0 1px 1px #61506b)}
.gloam-bat::before,.gloam-bat::after{content:"";position:absolute;top:-3px;width:9px;height:8px;background:#100d18;border-radius:70% 20% 70% 15%;transform-origin:bottom center}.gloam-bat::before{right:7px;transform:rotate(22deg)}.gloam-bat::after{left:7px;transform:scaleX(-1) rotate(22deg)}
.bat-one{right:93px;top:27px;transform:rotate(-8deg) scale(.9)}.bat-two{right:70px;top:39px;transform:rotate(9deg) scale(.62);opacity:.48}
.gloam-mist{position:absolute;z-index:1;left:7%;right:5%;bottom:-12px;height:34px;border-radius:50%;background:radial-gradient(ellipse,rgba(120,130,153,.21),transparent 68%);filter:blur(5px)}
@keyframes gloamPulse{0%,100%{filter:brightness(1);box-shadow:0 10px 30px rgba(0,0,0,.68),0 0 15px rgba(138,95,160,.27),inset 0 0 0 1px rgba(237,203,143,.18),inset 0 0 26px rgba(9,7,20,.65)}50%{filter:brightness(1.035);box-shadow:0 10px 30px rgba(0,0,0,.68),0 0 23px rgba(138,95,160,.43),inset 0 0 0 1px rgba(237,203,143,.24),inset 0 0 30px rgba(9,7,20,.58)}}
@media(prefers-reduced-motion:reduce){.landing-notices .festival-note{animation:none}}

/* Painterly Gloamwater frame: generated as a transparent storybook-realism asset. */
.landing-notices .festival-note{min-height:132px;padding:25px 54px 22px;border:0;background-image:url('assets/gloamwater/gloamwater-festival-frame-v1.png'),radial-gradient(ellipse at 74% 8%,rgba(100,83,137,.35),transparent 36%),linear-gradient(155deg,rgba(40,20,43,.97),rgba(14,29,40,.96));background-size:100% 100%,auto,auto;background-position:center;background-repeat:no-repeat;box-shadow:0 10px 30px rgba(0,0,0,.7),0 0 20px rgba(119,90,149,.34);animation:gloamPulse 4.8s ease-in-out infinite}

/* The Starlit Codex — Angler's Guide */
.codex-stage{position:absolute;inset:0;z-index:1;overflow:auto;padding:clamp(26px,4vw,72px) clamp(18px,6vw,112px) clamp(190px,19vh,245px);background:radial-gradient(circle at 50% 4%,rgba(118,84,170,.2),transparent 31%),linear-gradient(rgba(10,7,23,.9),rgba(13,9,25,.96)),url('assets/canonical/overlook.png') center/cover fixed;color:#3a2131;scroll-behavior:smooth}.codex-stage[hidden]{display:none}.codex-glow{position:fixed;inset:18% 22% 24%;pointer-events:none;background:radial-gradient(ellipse,rgba(184,122,225,.18),transparent 68%);filter:blur(26px)}
.guide-book{position:relative;max-width:1120px;margin:auto;padding:clamp(28px,4vw,64px);border:2px solid #9b6638;border-radius:28px 12px 30px 14px;background:linear-gradient(90deg,rgba(92,52,39,.13) 0 1px,transparent 1px 49.7%,rgba(92,52,39,.22) 49.9% 50.1%,transparent 50.3%),radial-gradient(circle at 15% 12%,rgba(255,255,255,.34),transparent 25%),linear-gradient(105deg,#dcc18e,#f1dfb1 48%,#d5b67e);box-shadow:0 20px 60px #05030b,inset 0 0 42px rgba(72,39,25,.45),inset 0 0 0 8px rgba(86,45,31,.14);font-family:'EB Garamond',Georgia,serif}.guide-book:before,.guide-book:after{content:'✦';position:absolute;color:#7b416c;font-size:28px;text-shadow:0 1px #f8dfa9}.guide-book:before{left:22px;top:18px}.guide-book:after{right:22px;bottom:16px}
.guide-heading{text-align:center;border-bottom:1px solid rgba(104,54,53,.55);padding-bottom:20px}.guide-heading span{display:block;color:#704263;font-weight:800;letter-spacing:.16em;font-size:clamp(11px,.8vw,14px)}.guide-heading h1{margin:.15em 0;color:#55243f;font-family:'Berkshire Swash',Georgia,serif;font-size:clamp(38px,4.6vw,68px);font-weight:400;text-shadow:0 1px #fff0c8}.guide-heading p{margin:.2em auto 0;max-width:650px;font-size:clamp(17px,1.3vw,22px);font-style:italic}
.guide-index{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 20px;margin:24px 0 34px;padding:18px 22px;border:1px solid rgba(113,61,68,.38);border-radius:12px;background:rgba(91,52,76,.08)}.guide-index a{color:#5b2946;text-decoration:none;font-weight:700;font-size:clamp(14px,1.05vw,18px)}.guide-index a:hover,.guide-index a:focus{text-decoration:underline;color:#7e315c}
.guide-index a{display:block;padding:10px 12px;border:1px solid transparent;border-radius:10px;line-height:1.12}.guide-index a:hover,.guide-index a:focus{border-color:rgba(114,61,89,.3);background:rgba(255,244,211,.34);text-decoration:none}.guide-index a strong{display:block;margin-bottom:4px}.guide-index a small{display:block;color:#593f49;font-size:clamp(12px,.82vw,15px);font-weight:500;line-height:1.2}
.guide-index-intro{max-width:620px;margin:44px auto 22px;padding:28px;text-align:center;border:1px solid rgba(113,61,68,.34);border-radius:52% 48% 12px 12px;background:rgba(255,244,208,.24);font-size:clamp(17px,1.25vw,21px)}.guide-index-intro strong{display:block;color:#632b49;font-family:'Berkshire Swash',Georgia,serif;font-size:clamp(25px,2vw,34px);font-weight:400}.guide-index-intro p{margin:.45em 0 0}
.guide-pages{display:grid;grid-template-columns:1fr 1fr;gap:34px 60px}.guide-pages section{position:relative;padding:0 0 24px 44px;border-bottom:1px solid rgba(105,61,47,.25);scroll-margin-top:28px}.guide-number{position:absolute;left:0;top:-5px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #8b5439;border-radius:50%;color:#722e52;background:rgba(255,238,190,.55);font-weight:800}.guide-pages h2{margin:0 0 8px;color:#592640;font-family:'Berkshire Swash',Georgia,serif;font-size:clamp(24px,2.1vw,34px);font-weight:400}.guide-pages p{margin:0;font-size:clamp(17px,1.25vw,21px);line-height:1.45}.guide-pages code{padding:.05em .35em;border:1px solid rgba(103,55,70,.4);border-radius:6px;background:rgba(92,40,71,.1);color:#68224d;font-family:Georgia,serif;font-weight:800}.guide-pages aside{margin-top:12px;padding:9px 12px;border-left:3px solid #96577d;background:rgba(111,57,83,.08);font-size:clamp(14px,1vw,17px);font-style:italic}.guide-footer{margin-top:30px;padding-top:20px;border-top:1px solid rgba(104,54,53,.55);text-align:center;color:#69334f;font-size:clamp(16px,1.2vw,20px);font-style:italic;font-weight:700}
.guide-pages section[hidden]{display:none}.guide-book:not(.chapter-view) .guide-pages{display:none}.guide-book.chapter-view .guide-index,.guide-book.chapter-view .guide-index-intro{display:none}.guide-book.chapter-view .guide-heading{margin-bottom:38px}.guide-book.chapter-view .guide-pages{display:block;max-width:760px;min-height:280px;margin:0 auto}.guide-book.chapter-view .guide-pages section{padding:18px 24px 34px 62px;border:1px solid rgba(105,61,47,.28);border-radius:18px;background:rgba(255,245,213,.22);box-shadow:inset 0 0 24px rgba(102,57,38,.1)}.guide-book.chapter-view .guide-number{left:17px;top:18px}.guide-book.chapter-view .guide-pages h2{font-size:clamp(32px,3vw,48px)}.guide-book.chapter-view .guide-pages p{font-size:clamp(19px,1.5vw,24px)}.guide-chapter-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin:30px 0 0;padding-top:20px;border-top:1px solid rgba(104,54,53,.4)}.guide-chapter-nav[hidden]{display:none}.guide-chapter-nav a{color:#622b49;font-size:clamp(14px,1vw,18px);font-weight:800;text-decoration:none}.guide-chapter-nav a:last-child{text-align:right}.guide-index-return{text-align:center}.guide-chapter-nav a:hover,.guide-chapter-nav a:focus{text-decoration:underline;color:#8b3766}
@media(max-width:760px){.codex-stage{padding:22px 12px 165px}.guide-book{padding:32px 22px}.guide-index{grid-template-columns:1fr 1fr}.guide-pages{grid-template-columns:1fr;gap:24px}.guide-pages section{padding-left:40px}}
.landing-notices .festival-note::before,.landing-notices .festival-note::after,.festival-note .gloam-cobweb,.festival-note .gloam-moon,.festival-note .gloam-bat,.festival-note .gloam-mist{display:none}
.landing-notices .festival-note strong{font-size:clamp(17px,1.3vw,25px);text-shadow:0 1px 3px #07050a,0 0 9px rgba(141,116,164,.52)}
.landing-notices .festival-note p{max-width:88%;margin-left:auto;margin-right:auto;text-shadow:0 1px 3px #07050a}
.bottom.footer-clean .nav-disabled{cursor:default;filter:saturate(.68) brightness(.78)}
.bottom.footer-clean .nav-disabled .nav-label{color:#ae9870}
.bottom.footer-clean .nav-disabled::after{content:"SOON";position:absolute;z-index:5;right:10%;top:8%;padding:2px 5px;border:1px solid rgba(231,194,113,.45);border-radius:999px;background:rgba(18,10,23,.86);color:#d9bd7b;font-size:clamp(6px,.48vw,9px);letter-spacing:.08em}
.codex-bookmark.is-disabled{cursor:default;opacity:.72}
@media(max-width:760px){.landing-notices{top:3%;grid-template-columns:1fr;gap:8px}.landing-notices article{padding:9px 12px}.landing-notices .construction-note p{display:none}}

/* Individual Angler's Guide chapter personalities */
.guide-index-intro{position:relative;max-width:760px;min-height:210px;padding:48px 250px 34px 34px;text-align:left;border-radius:20px 52% 18px 28px;background:linear-gradient(90deg,rgba(255,244,208,.3),rgba(255,244,208,.12)),radial-gradient(circle at 17% 22%,rgba(151,73,115,.13),transparent 45%);overflow:visible}.guide-index-intro:after{content:"";position:absolute;right:14px;bottom:-22px;width:230px;height:230px;background:url('assets/footer/nav/starlit-codex.png') center/contain no-repeat;filter:drop-shadow(0 8px 8px rgba(54,21,36,.38))}
.guide-book.chapter-view .guide-pages{max-width:920px;min-height:330px}.guide-book.chapter-view .guide-pages section{position:relative;min-height:300px;padding:30px 260px 38px 70px;overflow:hidden;background:var(--chapter-paper,rgba(255,245,213,.22));box-shadow:inset 0 0 28px var(--chapter-shadow,rgba(102,57,38,.12)),0 8px 22px rgba(58,27,38,.12)}.guide-book.chapter-view .guide-pages section:after{content:"";position:absolute;right:28px;top:50%;width:190px;height:190px;transform:translateY(-50%);border:2px solid var(--chapter-frame,#9c673c);border-radius:50% 46% 50% 44%;background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:0 8px 18px rgba(53,22,38,.35),inset 0 0 0 5px rgba(239,201,126,.62),0 0 22px var(--chapter-glow,rgba(127,61,134,.22))}.guide-book.chapter-view .guide-number{left:22px;top:30px}.guide-book.chapter-view .guide-pages h2{font-size:clamp(32px,3vw,48px);color:var(--chapter-ink,#592640)}.guide-book.chapter-view .guide-pages aside{border-left-color:var(--chapter-accent,#96577d);background:var(--chapter-note,rgba(111,57,83,.08))}
#guide-cast{--chapter-paper:radial-gradient(circle at 86% 40%,rgba(85,67,148,.19),transparent 34%),rgba(255,245,213,.24);--chapter-accent:#7659a7;--chapter-glow:rgba(109,88,190,.4)}#guide-cast:after{background-image:url('assets/identity/moonlit-angler-sigil.png')}
#guide-catch{--chapter-paper:radial-gradient(circle at 86% 40%,rgba(37,126,151,.18),transparent 34%),rgba(255,245,213,.24);--chapter-accent:#347f91;--chapter-ink:#315970;--chapter-glow:rgba(57,179,195,.35)}#guide-catch:after{background-image:url('assets/folio/moonfin.png'),radial-gradient(circle,#3b315b,#151127);background-size:78%,cover}
#guide-keep{--chapter-paper:radial-gradient(circle at 86% 40%,rgba(170,82,102,.17),transparent 34%),rgba(255,245,213,.24);--chapter-accent:#a04c67;--chapter-ink:#71324b;--chapter-glow:rgba(190,72,112,.34)}#guide-keep:after{background-image:url('assets/footer/nav/starlit-codex.png'),radial-gradient(circle,#6b294b,#28142b);background-size:94%,cover}
#guide-backpack{--chapter-paper:radial-gradient(circle at 86% 40%,rgba(145,91,46,.2),transparent 34%),rgba(255,245,213,.24);--chapter-accent:#9a6536;--chapter-ink:#70472d;--chapter-glow:rgba(180,112,52,.34)}#guide-backpack:after{background-image:url('assets/footer/nav/backpack.png'),radial-gradient(circle,#754332,#25152b);background-size:98%,cover}
#guide-rarity{--chapter-paper:radial-gradient(circle at 86% 40%,rgba(82,75,166,.2),transparent 34%),rgba(255,245,213,.24);--chapter-accent:#6458a5;--chapter-ink:#4f477e;--chapter-glow:rgba(103,89,205,.38)}#guide-rarity:after{background-image:url('assets/folio/moonray.png'),radial-gradient(circle,#493b6d,#171027);background-size:82%,cover}
#guide-angler{--chapter-paper:radial-gradient(circle at 86% 40%,rgba(151,73,126,.18),transparent 36%),rgba(255,245,213,.24);--chapter-accent:#9a4e7c;--chapter-ink:#6f3155;--chapter-glow:rgba(199,85,153,.32)}#guide-angler:after{background-image:url('assets/destinations/my-angler/moonlit-nook.png');background-position:50% 48%}
#guide-pokket{--chapter-paper:radial-gradient(circle at 86% 40%,rgba(191,61,107,.16),transparent 36%),rgba(255,245,213,.24);--chapter-accent:#a7486c;--chapter-ink:#75334e;--chapter-glow:rgba(215,77,130,.34)}#guide-pokket:after{background-image:url('assets/footer/nav/pokket.png'),radial-gradient(circle,#6c294b,#28142b);background-size:95%,cover}
#guide-curious{--chapter-paper:radial-gradient(circle at 86% 40%,rgba(70,130,119,.18),transparent 36%),rgba(255,245,213,.24);--chapter-accent:#417a70;--chapter-ink:#3d675f;--chapter-glow:rgba(75,165,144,.34)}#guide-curious:after{background-image:url('assets/footer/nav/curious-catch.png'),radial-gradient(circle,#385c59,#161f2c);background-size:96%,cover}
#guide-settings{--chapter-paper:radial-gradient(circle at 86% 40%,rgba(104,91,142,.18),transparent 36%),rgba(255,245,213,.24);--chapter-accent:#665b8c;--chapter-ink:#514870;--chapter-glow:rgba(116,98,170,.34)}#guide-settings:after{background-image:url('assets/footer/nav/settings.png'),radial-gradient(circle,#51456b,#171326);background-size:96%,cover}
#guide-coming{--chapter-paper:radial-gradient(circle at 86% 40%,rgba(66,88,125,.2),transparent 36%),linear-gradient(120deg,rgba(255,245,213,.26),rgba(215,215,202,.28));--chapter-accent:#506b86;--chapter-ink:#40566f;--chapter-glow:rgba(80,126,163,.36)}#guide-coming:after{width:205px;height:180px;border-radius:24px;background-image:url('assets/canonical/overlook.png');background-size:cover;background-position:center}
.guide-steps{margin:14px 0 16px;padding-left:1.35em;font-size:clamp(17px,1.25vw,21px);line-height:1.38}.guide-steps li{margin:.35em 0;padding-left:.2em}.guide-facts{margin:14px 0 16px}.guide-facts div{display:grid;grid-template-columns:minmax(118px,.42fr) 1fr;gap:12px;padding:8px 10px;border-bottom:1px solid rgba(100,57,63,.2);font-size:clamp(16px,1.16vw,20px);line-height:1.28}.guide-facts dt{font-weight:800;color:var(--chapter-ink,#592640)}.guide-facts dd{margin:0}
@media(max-width:760px){.guide-index-intro{padding:28px 24px 205px;text-align:center}.guide-index-intro:after{right:50%;bottom:-8px;transform:translateX(50%);width:205px;height:205px}.guide-book.chapter-view .guide-pages section{padding:28px 24px 230px 58px}.guide-book.chapter-view .guide-pages section:after{right:50%;top:auto;bottom:20px;transform:translateX(50%);width:170px;height:170px}.guide-chapter-nav{grid-template-columns:1fr 1fr}.guide-index-return{grid-column:1/3;grid-row:1}.guide-chapter-nav a:last-child{text-align:right}}

/* STEP 05A.8L — clean Backpack information hierarchy only. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.inventory-map{position:absolute;z-index:7;left:7.1%;top:29.8%;width:47.1%;height:40.8%;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,1fr);gap:1.8% 1.25%;list-style:none}.inventory-slot{position:relative;min-width:0;min-height:0}.inventory-catch{position:absolute;inset:3%;width:94%;height:94%;padding:5%;overflow:hidden;border:1px solid rgba(231,183,99,.48);border-radius:12%;background:radial-gradient(circle at 50% 42%,rgba(142,73,149,.28),rgba(32,9,24,.7) 68%);box-shadow:inset 0 0 9px rgba(255,203,116,.18),0 0 7px rgba(103,48,120,.22);color:#f8d991}.inventory-catch:hover,.inventory-catch:focus-visible,.inventory-catch.is-selected{outline:2px solid #f4cc73;outline-offset:-3px;box-shadow:inset 0 0 14px rgba(255,216,139,.28),0 0 10px rgba(225,122,213,.58)}.inventory-catch img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px #130812)}.inventory-sigil{display:grid;place-items:center;width:100%;height:100%;font-size:clamp(18px,2vw,38px);color:#dba6ea;text-shadow:0 0 10px #9c44ba}.inventory-quantity{position:absolute;right:5%;bottom:4%;min-width:28%;padding:1px 4px;border-radius:10px;background:rgba(30,8,23,.86);color:#ffe3a3;font-size:clamp(8px,.62vw,12px);font-weight:700;text-align:center}
.backpack-stage{position:absolute;inset:0;overflow:hidden;background:#120a10 url('assets/destinations/backpack/backpack-keep-max-approved.png') center/100% 100% no-repeat;color:#f8e9c8;isolation:isolate}.backpack-stage button,.backpack-stage input,.backpack-stage select{font:inherit}.backpack-stage button{cursor:pointer}.backpack-stage button:disabled{cursor:default;opacity:.82}
.filter-clasp{position:absolute;z-index:8;left:37.7%;top:11.2%;min-width:9.3%;padding:.42% 1.15%;border:2px ridge #d7a34a;border-radius:40% 18% 38% 16%;color:#f5d886;background:linear-gradient(#8f5829,#372016 47%,#6f3d20 52%,#24140f);box-shadow:inset 0 0 0 2px #6e3c20,0 3px 5px #12080a;text-shadow:0 1px #18090b;font-weight:700;font-size:clamp(10px,.8vw,15px)}
.filter-popover{position:absolute;z-index:20;left:10%;top:18%;width:31%;padding:2.2% 2.1% 1.5%;display:grid;grid-template-columns:1fr 1fr;gap:.65rem;background:linear-gradient(120deg,rgba(86,42,32,.98),rgba(43,17,31,.98));border:3px solid #b47a38;border-radius:8% 12% 22% 10%;clip-path:polygon(1% 2%,97% 0,100% 8%,98% 96%,89% 100%,4% 97%,0 88%,2% 11%);box-shadow:0 12px 25px #080407,inset 0 0 25px rgba(232,161,73,.13)}.filter-popover[hidden]{display:none}.filter-popover:before{content:"";position:absolute;inset:8px;border:1px dashed rgba(231,183,91,.55);pointer-events:none}.filter-popover label{position:relative;z-index:1;display:grid;gap:.2rem;color:#f0cf91;font-weight:700;font-size:clamp(10px,.72vw,14px)}.filter-popover input,.filter-popover select{width:100%;min-width:0;color:#f8e6c2;background:#2c1520;border:1px solid #c59247;border-radius:10px;padding:.42rem}.filter-popover .filter-check{display:flex;align-items:center;gap:.45rem}.filter-check input{width:auto}.filter-close{position:absolute;z-index:3;right:2.3%;top:3%;border:0;background:none;color:#f4d083;font-size:1.5rem}.filter-apply{grid-column:2;justify-self:end;position:relative;z-index:2;border:1px solid #e0b15a;border-radius:50% 18% 48% 22%;padding:.45rem 1.3rem;background:#5b2636;color:#ffe6ad;font-weight:700}
.selected-belonging{position:absolute;z-index:4;left:55.7%;top:38.2%;width:20.9%;height:45%;text-shadow:0 2px 3px #190911}.selected-art-focus{position:absolute;left:3%;top:5%;width:51%;height:42%;border-radius:50%;background:radial-gradient(ellipse,rgba(181,72,145,.075),rgba(87,45,156,.045) 45%,transparent 72%);filter:blur(1px)}.selected-copy{position:absolute;right:0;top:12%;width:45%;padding:1% 2% 4%;background:linear-gradient(90deg,transparent,rgba(28,5,22,.24) 22%,rgba(28,5,22,.38) 70%,transparent)}.selected-copy h2{margin:0;color:#f0c66e;font-size:clamp(14px,1.2vw,23px);line-height:1.04}.selected-rarity{margin:.18rem 0 .5rem;color:#e9cfed;font-style:italic;font-size:clamp(9px,.69vw,13px)}.selected-copy dl{margin:0}.selected-copy dl div{display:flex;justify-content:space-between;gap:.35rem;margin:.14rem 0}.selected-copy dt,.selected-copy dd{margin:0;font-size:clamp(8px,.59vw,11px)}.selected-copy dt{color:#ddb66f}.selected-copy dd{color:#fff0cf;text-align:right}.selected-copy dl div:last-child{display:block;margin-top:.38rem}.selected-copy dl div:last-child dd{text-align:left;margin-top:.08rem}
.protect-clasp{position:absolute;right:1.5%;bottom:13%;min-width:29%;padding:.43rem .3rem;border:2px solid #e5b253;border-radius:42% 18% 40% 17%;background:linear-gradient(90deg,#70401f,#a2642c,#542819);color:#fff0c2;font-weight:700;font-size:clamp(9px,.65vw,13px);box-shadow:inset 0 0 5px #421d13,0 3px 5px #17090d}.protect-clasp:before{content:"";display:inline-block;width:.75em;height:.75em;margin-right:.4em;border:2px solid #f0c15f;border-radius:45% 45% 25% 25%;vertical-align:-.12em}.codex-bookmark{position:absolute;left:19%;bottom:-2%;width:67%;padding:.42rem .6rem .72rem;color:#efc86d;background:linear-gradient(90deg,rgba(66,16,45,.95),rgba(101,27,66,.92));border-top:2px solid #d2a354;text-align:center;text-decoration:none;font-size:clamp(8px,.59vw,12px);font-weight:700;clip-path:polygon(0 0,100% 0,100% 75%,88% 100%,76% 78%,0 86%)}
.release-station{position:absolute;z-index:5;inset:0;pointer-events:none}.stardust-fill{position:absolute;left:81.65%;top:39%;width:9.8%;height:26%;overflow:hidden;border-radius:47%;pointer-events:none;clip-path:ellipse(45% 47% at 50% 50%)}.stardust-fill:before{content:"";position:absolute;left:0;right:0;bottom:0;height:52%;background:linear-gradient(to top,rgba(71,28,153,.88),rgba(169,55,181,.68),rgba(255,135,211,.25));box-shadow:inset 0 12px 18px rgba(255,129,227,.18),0 0 12px #8f3fd0}.stardust-fill i{position:absolute;z-index:2;width:4px;height:4px;border-radius:50%;background:#fff1ff;box-shadow:0 0 6px #e687ff}.stardust-fill i:nth-child(1){left:27%;bottom:19%}.stardust-fill i:nth-child(2){left:57%;bottom:38%}.stardust-fill i:nth-child(3){left:73%;bottom:16%}.stardust-fill i:nth-child(4){left:41%;bottom:48%}.stardust-tag{position:absolute;right:1.2%;top:49%;min-width:8.2%;padding:.48rem .55rem;border:1px solid #d6a04a;border-radius:12% 38% 16% 32%;background:linear-gradient(110deg,#431126,#6a2340);color:#f5d98f;text-align:center;font-weight:700;font-size:clamp(9px,.72vw,14px);box-shadow:inset 0 0 0 2px rgba(100,48,31,.7),0 3px 5px #10070a;pointer-events:auto}.release-controls{position:absolute;left:77.8%;top:69.5%;width:19%;display:grid;grid-template-columns:repeat(4,1fr);gap:.28rem;align-items:center;pointer-events:auto}.release-controls button,.release-controls output{min-height:clamp(23px,2vw,38px);display:grid;place-items:center;border:1px solid #d8a24c;background:linear-gradient(#4e1b31,#230d1a);color:#fae1a2;border-radius:48% 20% 46% 22%;font-weight:700;font-size:clamp(8px,.62vw,12px);box-shadow:inset 0 0 3px #9b5a32}.release-controls .release-value{grid-column:1/3;border-radius:18%}.release-controls .release-button{grid-column:3/5;border-radius:18% 38% 16% 32%;padding:0 .4rem}
@media(max-width:1100px){.filter-popover{width:40%}.selected-copy{width:47%}.codex-bookmark{width:72%;left:14%}.release-controls{gap:.15rem}}

/* BACKPACK RECOVERY R1 — approved KEEP/MAX artwork is supplied by the
   untouched N13C background. Preserve the existing semantic nodes for later
   interaction work while suppressing only their obsolete duplicate visuals. */
.protect-clasp{visibility:hidden;pointer-events:none}
.protect-clasp:before{display:none}
.release-controls>.release-max{visibility:hidden;pointer-events:none}

/* BACKPACK RECOVERY R4A — the approved painterly INVENTORY wordmark is baked
   into the Backpack destination artwork. The sole live heading remains
   screen-reader-only through the shared .sr-only utility. */
.vessel-well-controls{
  position:absolute;
  z-index:7;
  inset:0;
  pointer-events:none;
}
.vessel-well-controls .well-control{
  position:absolute;
  top:80.79179%;
  width:clamp(36px,2.25vw,46px);
  height:clamp(36px,2.25vw,46px);
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  color:#421722;
  -webkit-text-stroke:.65px #b87332;
  text-shadow:-1px -1px 0 #e8bd68,1px 1px 0 #6b321f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(17px,1.18vw,24px);
  font-weight:700;
  line-height:1;
  opacity:1;
  filter:none;
  pointer-events:auto;
}
.vessel-well-controls .well-minus{left:83.98438%}
.vessel-well-controls .well-quantity{left:87.15820%}
.vessel-well-controls .well-plus{left:90.33203%}
.vessel-well-controls .well-control:focus-visible{
  outline:2px solid #ffe08a;
  outline-offset:-5px;
}

/* BACKPACK RECOVERY R3 — remove obsolete prototype panels while retaining
   their source nodes as deferred interaction hooks. */
.filter-clasp,
.codex-bookmark,
.stardust-tag,
.release-controls>.release-value,
.release-controls>.release-button{
  visibility:hidden;
  pointer-events:none;
}
.selected-copy{
  background:none;
  box-shadow:none;
}

/* Disconnected/unregistered is a genuinely empty, dormant vessel. Future
   registered data selects one of the locked named visual bands below. */
.release-station{--stardust-fill:0%;--stardust-light:0}
.release-station[data-stardust-state="unavailable"],
.release-station[data-stardust-state="empty"]{--stardust-fill:0%;--stardust-light:0}
.release-station[data-stardust-state="faint"]{--stardust-fill:5%;--stardust-light:.25}
.release-station[data-stardust-state="low"]{--stardust-fill:18%;--stardust-light:.42}
.release-station[data-stardust-state="quarter-half"]{--stardust-fill:38%;--stardust-light:.62}
.release-station[data-stardust-state="half-three-quarter"]{--stardust-fill:63%;--stardust-light:.78}
.release-station[data-stardust-state="nearly-full"]{--stardust-fill:88%;--stardust-light:.9}
.release-station[data-stardust-state="full"]{--stardust-fill:100%;--stardust-light:1}
.stardust-fill:before{
  height:var(--stardust-fill);
  opacity:var(--stardust-light);
  transition:none;
}
.stardust-fill i{
  opacity:var(--stardust-light);
  transition:none;
}

/* BACKPACK RECOVERY R4B — Candidate 05 CODEX lettering is part of the locked
   painterly background. This node is the transparent semantic interaction
   surface only; it draws no browser typography or permanent panel. */
.codex-bookmark{
  visibility:visible;
  pointer-events:auto;
  z-index:9;
  left:96.08%;
  top:86.83%;
  bottom:auto;
  width:15.65%;
  height:36.82%;
  min-width:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  clip-path:polygon(8% 0,92% 0,88% 76%,50% 100%,12% 78%);
  background:none;
  box-shadow:none;
  color:transparent;
  font-size:0;
  line-height:0;
  text-shadow:none;
}
.codex-bookmark:focus-visible{
  outline:2px solid #fff0a8;
  outline-offset:1px;
}


/* R4C — user-approved Candidate 06 is baked into the locked artwork.
   Retain accessible quantity controls without duplicate browser glyphs. */
.vessel-well-controls .well-control{
  color:transparent;
  -webkit-text-stroke:0 transparent;
  text-shadow:none;
  font-size:0;
}

/* Owned catches use the Backpack artwork's existing wooden slot; no extra tile frame. */
.inventory-catch{inset:5%;width:90%;height:90%;padding:8%;border:0!important;background:transparent!important;box-shadow:none!important}
.inventory-catch:hover,.inventory-catch:focus-visible,.inventory-catch.is-selected{outline:0!important;box-shadow:none!important;filter:brightness(1.12) drop-shadow(0 0 5px rgba(225,122,213,.55))}


/* Default identity artwork until custom avatar creation is available. */
.avatar{background-image:url('assets/identity/avatar-frame.png'),url('assets/identity/moonlit-angler-sigil.png')!important;background-position:center,center!important;background-size:contain,68% 68%!important;background-repeat:no-repeat,no-repeat!important}
.avatar span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Fill the complete portrait opening beneath the ornate frame. */
.avatar{background-size:contain,94% 94%!important}


/* Cover the portrait baked into the legacy frame while retaining its jeweled rim. */
.avatar{background-image:url('assets/identity/avatar-frame.png')!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}
.avatar::before{content:'';position:absolute;z-index:2;left:50%;top:50%;width:68.5%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:url('assets/identity/moonlit-angler-sigil.png') center/cover no-repeat;box-shadow:inset 0 0 7px rgba(255,220,155,.28)}


/* Measured from the 138x128 source: center the 76x78 portrait opening and crop past the sigil's dark outer wreath. */
.avatar::before{left:50%!important;top:50%!important;width:56.5%!important;aspect-ratio:1!important;background-size:162% 162%!important;background-position:50% 49%!important;background-repeat:no-repeat!important}


/* Full-opening avatar: sigil fills the portrait well; the legacy image contributes only its jeweled outer frame. */
.avatar{background:none!important;overflow:visible!important}
.avatar::before{content:''!important;position:absolute!important;z-index:1!important;left:50%!important;top:50%!important;width:76%!important;aspect-ratio:1!important;transform:translate(-50%,-50%)!important;border-radius:50%!important;background:url('assets/identity/moonlit-angler-sigil.png') center/118% 118% no-repeat!important;box-shadow:none!important}
.avatar::after{content:'';position:absolute;z-index:2;inset:0;background:url('assets/identity/avatar-frame.png') center/contain no-repeat;mask-image:radial-gradient(circle at 50% 50%,transparent 0 32%,#000 33%);-webkit-mask-image:radial-gradient(circle at 50% 50%,transparent 0 32%,#000 33%);pointer-events:none}


/* The portrait well is centered at x=58 in the 138px source (42%), not at the image midpoint. */
.avatar::before{left:42%!important;top:50%!important;width:64%!important;background-size:132% 132%!important;background-position:50% 49%!important}
.avatar::after{mask-image:radial-gradient(circle at 42% 50%,transparent 0 31.5%,#000 32.5%)!important;-webkit-mask-image:radial-gradient(circle at 42% 50%,transparent 0 31.5%,#000 32.5%)!important}


/* Final baked default avatar: portrait fully replaced inside the original jeweled frame. */
.avatar{background:url('assets/identity/moonlit-angler-default-avatar.png') center/contain no-repeat!important}
.avatar::before,.avatar::after{display:none!important}


.avatar{background-image:url('assets/identity/moonlit-angler-default-avatar.png?v=2')!important}


.avatar{background-image:url('assets/identity/moonlit-angler-default-avatar.png?v=3')!important}


.avatar{background-image:url('assets/identity/moonlit-angler-default-avatar-exact.png')!important}


.avatar{background-image:url('assets/identity/moonlit-angler-default-avatar-large.png')!important}


.avatar{background-image:url('assets/identity/moonlit-angler-default-avatar-full.png')!important}


.avatar{background-image:url('assets/identity/moonlit-angler-avatar-clean.png')!important}


/* Clean Mistralune avatar: no legacy portrait/frame image is rendered. */
.avatar{position:relative!important;border-radius:50%!important;background:url('assets/identity/moonlit-angler-sigil.png') center/cover no-repeat!important;box-shadow:0 0 0 2px #4b2417,0 0 0 4px #d7a94f,0 0 0 6px #6d341c,0 0 11px rgba(204,94,221,.55)!important}
.avatar::before{display:block!important;content:''!important;position:absolute!important;inset:3%!important;border:1px solid rgba(255,226,151,.86)!important;border-radius:50%!important;pointer-events:none!important;background:none!important;transform:none!important;width:auto!important;aspect-ratio:auto!important;left:3%!important;top:3%!important;z-index:2!important}
.avatar::after{display:block!important;content:'◆'!important;position:absolute!important;left:50%!important;top:-7%!important;transform:translateX(-50%)!important;width:auto!important;height:auto!important;inset:auto!important;color:#cc69df!important;font-size:clamp(8px,.72vw,13px)!important;line-height:1!important;text-shadow:0 0 3px #ffb7ff!important;background:none!important;mask-image:none!important;-webkit-mask-image:none!important;z-index:3!important}


/* Keep the pure Mistralune avatar entirely inside its allotted plaque circle. */
.avatar{background:none!important;box-shadow:none!important;border-radius:0!important}
.avatar::before{display:block!important;content:''!important;position:absolute!important;inset:9%!important;left:9%!important;top:9%!important;width:auto!important;aspect-ratio:1!important;transform:none!important;border:2px solid #d7a94f!important;border-radius:50%!important;background:url('assets/identity/moonlit-angler-sigil.png') center/cover no-repeat!important;box-shadow:inset 0 0 0 2px #5b2d1a,0 0 0 2px #6d341c,0 0 7px rgba(204,94,221,.45)!important;z-index:1!important}
.avatar::after{left:50%!important;top:5%!important}


.avatar::before{inset:15%!important;left:15%!important;top:15%!important;border-width:1px!important;box-shadow:inset 0 0 0 1px #5b2d1a,0 0 0 1px #6d341c,0 0 5px rgba(204,94,221,.38)!important}
.avatar::after{top:11%!important;font-size:clamp(6px,.58vw,10px)!important}


/* Approved avatar placement. */
.avatar::before{inset:9%!important;left:9%!important;top:9%!important;border:2px solid #d7a94f!important;box-shadow:inset 0 0 0 2px #5b2d1a,0 0 0 2px #6d341c,0 0 7px rgba(204,94,221,.45)!important}
.avatar::after{top:5%!important;font-size:clamp(8px,.72vw,13px)!important}


/* Keep the complete crescent, florals, and wordmark inside the header. */
.test-logo{top:.35vh!important}


/* Twitch clasp — sized for the identity plaque. */
#twitch-connect{align-self:flex-start;margin-top:3px;max-width:100%;padding:3px 10px 4px;border:1px solid #e0b763;border-radius:12px;background:linear-gradient(180deg,#6e315e 0%,#401a3d 48%,#241124 100%);box-shadow:inset 0 0 0 1px rgba(255,225,158,.2),0 1px 4px #0c0610,0 0 7px rgba(202,91,221,.24);color:#ffe9b4;font:700 clamp(7px,.53vw,10px)/1.05 'Cormorant Garamond',Georgia,serif;letter-spacing:.025em;text-shadow:0 1px 2px #170716;white-space:nowrap;cursor:pointer}
#twitch-connect:hover:not(:disabled),#twitch-connect:focus-visible{background:linear-gradient(180deg,#814071,#51234d 48%,#2c142c);box-shadow:inset 0 0 0 1px rgba(255,231,171,.3),0 1px 4px #0c0610,0 0 10px rgba(218,119,235,.48)}
#twitch-connect:disabled{opacity:.82;cursor:default}

/* Pokket — creator destination */
.pokket-stage{position:absolute;inset:0;display:grid;grid-template-columns:minmax(330px,40%) 1fr;overflow:auto;background:radial-gradient(circle at 22% 26%,rgba(119,57,132,.34),transparent 34%),linear-gradient(135deg,#130d18 0%,#25142d 48%,#111827 100%);color:#43253b}
.pokket-stage[hidden]{display:none}
.pokket-portrait{position:sticky;top:0;align-self:start;height:100%;min-height:0;overflow:hidden;display:grid;place-items:center;border-right:3px double #c79b51;box-shadow:18px 0 40px rgba(5,2,9,.48);background:radial-gradient(circle at 50% 32%,rgba(128,66,139,.4),transparent 35%),linear-gradient(160deg,#201329,#0d1727)}
.pokket-scene-art{position:relative;width:100%;height:auto;aspect-ratio:3/2}
.pokket-portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center top;filter:saturate(.96) contrast(1.02);background:#0e0b14}
.pokket-scene-link{position:absolute;z-index:3;display:block;border-radius:18%;cursor:pointer}
.pokket-scene-link:hover{background:rgba(255,221,139,.08);box-shadow:0 0 18px rgba(255,210,121,.5)}
.pokket-scene-link:focus-visible{outline:3px solid #fff0a8;outline-offset:3px;background:rgba(255,221,139,.1)}
.pokket-subscribe-link{left:78.5%;top:12.5%;width:16%;height:13%}
.pokket-tip-link{left:84.5%;top:85%;width:12.5%;height:12.5%}
.pokket-book{align-self:center;margin:16px clamp(16px,2.2vw,34px);padding:clamp(20px,2vw,31px) clamp(24px,2.4vw,38px);max-height:calc(100% - 32px);overflow:auto;max-width:900px;background:linear-gradient(100deg,rgba(247,225,177,.97),rgba(231,199,145,.96));border:1px solid #a7783f;border-radius:8px 32px 32px 8px;box-shadow:0 20px 60px #08040a,inset 0 0 55px rgba(128,73,42,.16);font-family:Georgia,serif}
.pokket-kicker{display:block;color:#87534d;letter-spacing:.2em;font-size:clamp(.62rem,.58vw,.74rem);font-weight:700;text-transform:uppercase}
.pokket-book h1{margin:.22em 0 .16em;color:#633456;font-size:clamp(2.2rem,3.8vw,3.65rem);line-height:.95;font-weight:700}
.pokket-book h2{margin:1.15em 0 .3em;color:#6b3a58;font-size:clamp(1rem,1.12vw,1.2rem);font-style:italic;letter-spacing:.015em}
.pokket-book p{font-size:clamp(.9rem,.9vw,1.02rem);line-height:1.52;margin:.5em 0;text-wrap:pretty}
.pokket-lede{font-size:clamp(1rem,1.12vw,1.18rem)!important;font-style:italic;color:#563047}
.pokket-rule{text-align:center;color:#8e5271;letter-spacing:.7em;margin:.72em 0}
.pokket-rule+p::first-letter{float:left;margin:.04em .12em 0 0;color:#7d3f67;font-size:3.15em;line-height:.78;font-weight:700}
.pokket-book blockquote{margin:1em 0;padding:.75em 1em;border-left:3px solid #9b5e81;background:rgba(115,55,88,.07);font-style:italic;font-size:.94rem;line-height:1.4}.pokket-book cite{display:block;margin-top:.4em;text-align:right;font-size:.88em}
.pokket-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.pokket-links .pokket-codex-link{margin-top:0}
.pokket-notes{display:grid;gap:.5em}.pokket-notes div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid rgba(101,60,59,.25);padding:.35em 0}.pokket-notes dt{font-weight:700;color:#743f62}.pokket-notes dd{margin:0}
.pokket-codex-link{display:inline-block;margin-top:1.4em;padding:.7em 1.05em;color:#fff4d1;background:#673455;border:1px solid #d4a955;border-radius:999px;text-decoration:none;font-weight:700}
@media(max-width:820px){.pokket-stage{grid-template-columns:1fr;inset-bottom:92px}.pokket-portrait{position:relative;height:100%;min-height:0;border-right:0;border-bottom:3px double #c79b51}.pokket-scene-art{width:auto;height:100%;max-width:100%;aspect-ratio:3/2}.pokket-book{margin:20px 14px}.pokket-notes div{grid-template-columns:1fr}}
.pokket-columns{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(24px,2.6vw,42px);text-align:left}.pokket-columns section{min-width:0}.pokket-columns section+section{padding-left:clamp(18px,2vw,30px);border-left:1px solid rgba(125,72,82,.2)}.pokket-columns h2{margin-top:.7em}.pokket-columns .pokket-notes div{grid-template-columns:104px 1fr;font-size:.91rem;line-height:1.3}@media(max-width:1050px){.pokket-columns{grid-template-columns:1fr}.pokket-columns section+section{padding-left:0;border-left:0}}
