/*! (c) 2026 BBReports (bugbountyreports.com). All rights reserved. Proprietary and confidential: no license is granted to copy, modify, redistribute or reuse this code. */
:root{--parchment:#e9e1cf;--sand:#ded3bc;--paper:#f6f1e6;--rope:#ccbea0;--ink:#2b2620;--ink-soft:#685d4c;--sea:#1f5668;--sea-deep:#153d4a;--deck:#242f38;--gold:#cd942c;--gold-deep:#966816;--rust:#b0422d;--ember:#c46834;--moss:#3f7d4e;--night:#1b2430;--night-band:#222d3b;--night-line:rgb(203 214 226 / 0.14);--signal:#88cc14;--signal-soft:rgb(136 204 20 / 0.12);--brand:var(--sea);--brand-ink:var(--paper);--on-dark:#f6f1e6;--on-accent:#f6f1e6;--on-gold:#2b2620;--page-glow:rgb(255 255 255 / 0.4);--page-vignette:rgb(150 110 50 / 0.12);--grid-line:rgb(43 38 32 / 0.03);--grid-on-dark:rgb(246 241 230 / 0.05);--stars:none;--cloud:rgb(250 247 240 / 0.97);--heat-0:var(--sand);--heat-1:#b9d3a8;--heat-2:#84b37a;--heat-3:#4f8f55;--heat-4:#2f6b3c;--font-display:"Fredoka",ui-rounded,system-ui,sans-serif;--font-body:"Nunito",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--radius:1rem;color-scheme:light}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--ink);background-color:var(--parchment);background-image:radial-gradient(circle at 15% 0%,var(--page-glow),transparent 45%),radial-gradient(circle at 90% 100%,var(--page-vignette),transparent 50%),url("/static/v/becfde1810de/img/hacker-pattern.svg"),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:auto,auto,360px 360px,36px 36px,36px 36px;transition:background-color 0.3s,color 0.3s;background-attachment:fixed;-webkit-font-smoothing:antialiased}::selection{background:#ecd3a0;color:#2b2620}button,.btn,.nav,.tag,.chip,.sev,.pager,.settings-tab,.nav-icon,.staff-badge,.beta,.switch,.switch-row,summary,label:has(>input[type="checkbox"]),label:has(>input[type="radio"]){-webkit-user-select:none;user-select:none}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.2}p{margin:0}button,input,select{font:inherit;color:inherit}[hidden]{display:none!important}.container{max-width:72rem;margin:0 auto;padding:0 1rem}.main{padding-top:2rem;padding-bottom:4rem}.stack>* + *{margin-top:1.5rem}.row{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem}.spread{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem}.grow{flex:1;min-width:0}.muted{color:var(--ink-soft)}.mono{font-family:var(--font-mono)}.small{font-size:0.875rem}.tiny{font-size:0.75rem}.eyebrow{font-family:var(--font-mono);font-size:0.72rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold-deep)}.title{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700}.icon{display:inline-block;vertical-align:-0.2em;flex-shrink:0}.character{display:block;flex-shrink:0}.nav{background:var(--deck);color:var(--on-dark);border-bottom:4px solid rgb(205 148 44 / 0.7);box-shadow:0 2px 8px rgb(0 0 0 / 0.15)}.nav-inner{display:flex;align-items:center;gap:1.5rem;padding:0.4rem 1rem;max-width:72rem;margin:0 auto;font-size:0.9rem}.brand{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-display);font-size:1.3rem;font-weight:700}.brand span{color:var(--gold)}.nav-link{font-weight:700;color:rgb(246 241 230 / 0.8)}.nav-link:hover,.nav-link[aria-current="page"]{color:var(--on-dark)}.nav-links{display:flex;align-items:center;gap:1.5rem;white-space:nowrap}.nav-right{margin-left:auto;display:flex;align-items:center;gap:0.75rem}.nav-user{display:inline-flex;align-items:center;gap:0.4rem;border-radius:999px;background:rgb(246 241 230 / 0.12);padding:0.15rem 0.75rem 0.15rem 0.2rem;font-weight:700}.nav-user .character{border-radius:50%;background:rgb(246 241 230 / 0.15)}.beta{align-self:flex-start;margin-top:0.15rem;padding:0.05rem 0.4rem;border-radius:0.4rem;border:1.5px solid var(--gold);background:rgb(205 148 44 / 0.18);font-family:var(--font-mono);font-size:0.6rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);line-height:1.4}.nav-plain{background:none;border:0;cursor:pointer;font-weight:700;color:rgb(246 241 230 / 0.7)}@media (max-width:640px){.nav-inner{gap:0.9rem;flex-wrap:wrap}.brand-text{display:none}}.card{background:var(--paper);border:2px solid var(--rope);border-radius:var(--radius);box-shadow:0 4px 0 0 var(--rope)}.pad{padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;border:0;border-bottom:4px solid transparent;border-radius:0.75rem;padding:0.5rem 1rem;font-family:var(--font-display);font-weight:600;letter-spacing:0.02em;cursor:pointer;transition:transform 0.1s,filter 0.15s}.btn:active{transform:translateY(2px);border-bottom-width:2px}.btn:disabled{opacity:0.55;pointer-events:none}.btn-sea{background:var(--sea);color:var(--on-accent);border-color:var(--sea-deep)}.btn-gold{background:var(--gold);color:var(--on-gold);border-color:var(--gold-deep)}.btn-ghost{background:var(--paper);color:var(--ink);border:2px solid var(--rope);border-bottom-width:4px}.btn-sea:hover,.btn-gold:hover{filter:brightness(1.08)}.btn-ghost:hover{background:var(--sand)}.btn-done{background:rgb(63 125 78 / 0.15);color:var(--moss);border-color:rgb(63 125 78 / 0.6)}.btn-dev{background:none;border:2px dashed rgb(150 104 22 / 0.6);border-radius:0.75rem;padding:0.5rem 1rem;font-family:var(--font-mono);font-size:0.75rem;font-weight:700;color:var(--gold-deep);cursor:pointer}.btn-dev:hover{background:rgb(205 148 44 / 0.1)}.chip{display:inline-flex;align-items:center;gap:0.25rem;border-radius:999px;padding:0.1rem 0.6rem;font-size:0.75rem;font-weight:700;white-space:nowrap}.chip-sea{background:rgb(31 86 104 / 0.1);color:var(--sea)}.chip-sand{background:var(--sand);color:var(--ink-soft);font-family:var(--font-mono)}.chip-gold{background:rgb(205 148 44 / 0.28);color:var(--gold-deep)}.sev{text-transform:capitalize}.sev-critical{background:var(--rust);color:var(--on-accent)}.sev-high{background:var(--ember);color:var(--on-accent)}.sev-medium{background:var(--gold);color:var(--on-gold)}.sev-low{background:rgb(31 86 104 / 0.14);color:var(--sea);box-shadow:inset 0 0 0 1px rgb(31 86 104 / 0.3)}.sev-none{background:rgb(43 38 32 / 0.1);color:var(--ink-soft)}.field{border:2px solid var(--rope);border-radius:0.75rem;background:var(--paper);padding:0.5rem 0.75rem}.field:focus{outline:none;border-color:var(--sea)}.field:disabled{background:color-mix(in srgb,var(--sand) 60%,transparent);color:var(--ink-soft);cursor:not-allowed}.toast{font-family:var(--font-display);font-weight:600;color:var(--gold-deep);animation:pop 0.25s ease-out}.ok{color:var(--moss);font-weight:700}.err{color:var(--rust);font-weight:700}.link{color:var(--sea);font-weight:700;text-decoration:underline;text-decoration-color:rgb(31 86 104 / 0.3);text-underline-offset:4px}.link:hover{text-decoration-color:var(--sea)}.hero{display:grid;gap:2rem;align-items:center;padding:1.5rem 0}@media (min-width:860px){.hero{grid-template-columns:1fr auto}}.hero h1{font-size:clamp(2.2rem,5vw,3.2rem);margin-top:0.5rem}.hero h1 em{font-style:normal;color:var(--sea)}.hero .lead{margin-top:1rem;max-width:36rem;font-size:1.1rem;color:var(--ink-soft)}.hero-actions{margin-top:1.5rem;gap:0.75rem}.crew{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:0.75rem;margin-top:1rem;padding:0;list-style:none}.crew a{display:flex;flex-direction:column;align-items:center;padding:0.5rem 0.5rem 0.75rem;text-align:center;transition:transform 0.15s}.crew a:hover{transform:translateY(-4px)}.crew strong{font-family:var(--font-display)}.crew-item{position:relative}.crew-pop{position:absolute;z-index:20;bottom:calc(100% + 10px);left:50%;width:17rem;padding:0.85rem 1rem;border:2px solid var(--ink);border-radius:var(--radius);background:var(--deck);color:var(--on-dark);box-shadow:0 6px 0 0 rgb(0 0 0 / 0.25),0 10px 24px rgb(0 0 0 / 0.2);text-align:left;line-height:1.45;display:none;pointer-events:none;transform:translate(-50%,0)}.crew-pop::after{content:"";position:absolute;top:100%;left:50%;margin-left:-8px;border:8px solid transparent;border-top-color:var(--ink)}.crew-item:hover .crew-pop,.crew-item:focus-within .crew-pop{display:block;animation:crew-pop-in 0.16s ease-out both}@keyframes crew-pop-in{from{opacity:0;margin-bottom:-6px}}.crew-item.pop-left .crew-pop{left:0;transform:none}.crew-item.pop-left .crew-pop::after{left:3rem}.crew-item.pop-right .crew-pop{left:auto;right:0;transform:none}.crew-item.pop-right .crew-pop::after{left:auto;right:3rem}.crew-pop-code{font-size:0.68rem;font-weight:700;letter-spacing:0.1em;color:#3ddc84}.crew-pop-title{margin:0.15rem 0 0.35rem;font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--gold)}.crew-pop-cta{margin-top:0.5rem;font-weight:800;color:rgb(246 241 230 / 0.7)}.char-led{animation:led 1.6s steps(2,jump-none) infinite}@keyframes led{50%{opacity:0.35}}.tip{display:flex;align-items:flex-end;gap:0.75rem}.bubble{position:relative;margin-bottom:1.5rem;padding:0.75rem 1rem;background:var(--paper);border:2px solid var(--rope);border-radius:var(--radius);box-shadow:0 3px 0 0 var(--rope);font-size:0.9rem;max-width:28rem}.bubble::before{content:"";position:absolute;left:-9px;bottom:1rem;width:1rem;height:1rem;background:var(--paper);border-left:2px solid var(--rope);border-bottom:2px solid var(--rope);transform:rotate(45deg)}.bubble-name{font-family:var(--font-display);font-weight:600;color:var(--sea)}.filters{display:flex;flex-wrap:wrap;gap:0.75rem}.filters input[type="search"]{flex:1;min-width:14rem}.sort-select{font-weight:700;cursor:pointer}.archive-tabs{margin-bottom:-0.5rem}.archive-tabs .seg{padding:0.4rem 0.9rem;font-size:0.85rem}.report-card.is-read{background:color-mix(in srgb,var(--sand) 70%,var(--ink) 8%);border-color:rgb(63 125 78 / 0.45);box-shadow:0 4px 0 0 rgb(63 125 78 / 0.35)}.report-card.is-read .report-title,.report-card.is-read .chip,.report-card.is-read .bounty{opacity:0.6}.report-card.is-read .character{filter:grayscale(0.7) brightness(0.85)}.report-card.is-read .chip-read{opacity:1}.chip-read{background:var(--moss);color:var(--on-accent)}.tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.75rem}.tag{border:2px solid var(--rope);border-bottom-width:3px;border-radius:999px;background:var(--paper);padding:0.2rem 0.75rem;font-size:0.75rem;font-weight:700;text-transform:capitalize;color:var(--ink-soft);cursor:pointer}.tag:hover{color:var(--ink)}.tag[aria-pressed="true"].tag-gold{background:var(--gold);border-color:var(--gold-deep);color:var(--on-gold)}.tag[aria-pressed="true"].tag-sea{background:var(--sea);border-color:var(--sea-deep);color:var(--on-accent)}.archive-sub{display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem 0.9rem;margin-top:0.3rem}#app .stack>[role="status"]:empty{display:none}.week-reads{display:inline-flex;align-items:center;gap:0.4rem;padding:0.2rem 0.7rem 0.2rem 0.55rem;border:1px solid color-mix(in srgb,var(--moss) 35%,var(--rope));border-radius:999px;background:color-mix(in srgb,var(--moss) 8%,transparent);font-size:0.8rem;color:var(--ink-soft);animation:fade-up 0.35s ease-out both}.week-reads .mono{font-weight:700;color:var(--ink)}.week-reads-dot{position:relative;width:0.45rem;height:0.45rem;border-radius:50%;background:var(--moss)}.week-reads-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--moss);animation:live-ping 2.4s ease-out infinite}@keyframes live-ping{0%{transform:scale(1);opacity:0.55}70%,100%{transform:scale(2.6);opacity:0}}@keyframes fade-up{from{opacity:0;transform:translateY(3px)}}.filter-panel{padding:0.9rem 1rem 1rem;border:1px solid color-mix(in srgb,var(--rope) 85%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--paper) 72%,transparent);box-shadow:0 1px 2px rgb(0 0 0 / 0.05),0 8px 24px -16px rgb(0 0 0 / 0.25)}.filter-panel .owasp-tags{margin-top:0.85rem}.filter-group{display:grid;grid-template-columns:6.5rem minmax(0,1fr);align-items:start;gap:0.75rem;margin-top:0.8rem;padding-top:0.8rem;border-top:1px solid color-mix(in srgb,var(--rope) 55%,transparent)}.filter-label{padding-top:0.3rem;font-family:var(--font-mono);font-size:0.68rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft)}.filter-body{min-width:0}.filter-body>.tags{margin-top:0;align-items:center;gap:0.4rem}.filter-panel .tag{border-width:1px 1px 2px;padding:0.22rem 0.7rem;transition:background-color 0.15s ease,border-color 0.15s ease,color 0.15s ease,transform 0.15s ease}.filter-panel .tag:hover{border-color:color-mix(in srgb,var(--sea) 55%,var(--rope));transform:translateY(-1px)}.filter-panel .tag:active{transform:none}.tag-count{opacity:0.6;font-weight:500}.tag-gold::before{content:"";display:inline-block;width:0.5rem;height:0.5rem;margin-right:0.4rem;border-radius:50%;vertical-align:0.02em;background:var(--sev-dot,var(--rope))}.tag-sev-critical{--sev-dot:var(--rust)}.tag-sev-high{--sev-dot:var(--ember)}.tag-sev-medium{--sev-dot:var(--gold)}.tag-sev-low{--sev-dot:var(--sea)}.tag-sev-none{--sev-dot:color-mix(in srgb,var(--ink-soft) 60%,transparent)}.tag[aria-pressed="true"].tag-gold::before{box-shadow:0 0 0 2px color-mix(in srgb,var(--on-gold) 25%,transparent)}.type-search{display:inline-flex;align-items:center;gap:0.35rem;width:10.5rem;padding:0.1rem 0.6rem;border:1px dashed color-mix(in srgb,var(--sea) 40%,var(--rope));border-radius:999px;color:var(--ink-soft);cursor:text;transition:border-color 0.15s ease,width 0.2s ease,background-color 0.15s ease}.type-search:focus-within{width:13rem;border-style:solid;border-color:var(--sea);background:var(--paper)}.type-search-input{flex:1;min-width:0;padding:0.15rem 0;border:0;outline:0;background:none;font-size:0.75rem;font-weight:700}.type-search-input::placeholder{color:var(--ink-soft);opacity:0.85}.type-search-input::-webkit-search-cancel-button{cursor:pointer}.type-search-none{padding-left:0.25rem}@media (max-width:640px){.archive-tabs:not([hidden]){display:flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}.archive-tabs .seg{flex:1 1 auto;padding:0.4rem 0.5rem;font-size:0.78rem;white-space:nowrap}.filter-panel{padding:0.75rem}.filter-group{grid-template-columns:minmax(0,1fr);gap:0.4rem;margin-top:0.65rem;padding-top:0.65rem}.filter-label{padding-top:0}.type-search,.type-search:focus-within{width:11rem}}@media (prefers-reduced-motion:reduce){.week-reads-dot::after{animation:none}}.report-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0.75rem;padding:0;margin:0;list-style:none}.report-card{display:flex;align-items:center;gap:1rem;padding:0.75rem 1rem;transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease}.report-card:hover{transform:translateY(-2px);border-color:rgb(31 86 104 / 0.5);box-shadow:0 4px 0 0 var(--rope),0 12px 24px -14px rgb(0 0 0 / 0.35)}.report-card:focus-visible{outline:3px solid rgb(31 86 104 / 0.45);outline-offset:2px}.report-card:hover .character{transform:rotate(-4deg)}.report-card .character{transition:transform 0.15s}.report-title{margin-top:0.25rem;font-family:var(--font-display);font-size:1.1rem;font-weight:600;line-height:1.3}.report-meta{display:flex;flex-wrap:wrap;gap:0.25rem 1rem;margin-top:0.15rem;font-family:var(--font-mono);font-size:0.75rem;color:var(--ink-soft)}.bounty{display:flex;align-items:center;gap:0.25rem;font-family:var(--font-mono);font-weight:700;font-size:0.9rem;color:var(--gold-deep)}@media (max-width:640px){.report-card .bounty{display:none}}.empty{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:2.5rem;text-align:center;border-style:dashed}.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0.5rem}.pager-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.5rem 1rem}.pager-bar .pager{justify-content:flex-end}.pager-step{padding:0.35rem 0.8rem;font-size:0.9rem}.pager-step:disabled{opacity:0.4}.pager-pages{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0.25rem}.pager-num{min-width:2.1rem;height:2.1rem;padding:0 0.45rem;border:2px solid var(--rope);border-bottom-width:3px;border-radius:0.6rem;background:var(--paper);font-family:var(--font-mono);font-size:0.8rem;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:transform 0.1s}.pager-num:hover{color:var(--ink);transform:translateY(-1px)}.pager-num[aria-current="page"]{background:var(--sea);border-color:var(--sea-deep);color:var(--on-accent);cursor:default}.branded .pager-num[aria-current="page"]{background:var(--brand);border-color:color-mix(in srgb,var(--brand) 70%,#000000);color:var(--brand-ink)}.pager-gap{padding:0 0.15rem;color:var(--ink-soft)}#app .is-loading{opacity:0.5;pointer-events:none;transition:opacity 0.15s}.rating-chips{display:inline-flex;gap:0.6rem}.rate b{color:var(--ink)}.crew-ratings{display:grid;gap:0.6rem}.crew-rating{display:grid;grid-template-columns:minmax(0,1fr) minmax(5rem,9rem) auto;align-items:center;gap:0.75rem;font-size:0.9rem;font-weight:700}.crew-meter{height:0.6rem;border-radius:999px;background:var(--sand);box-shadow:inset 0 0 0 1px var(--rope);overflow:hidden}.crew-meter-fill{display:block;height:100%;width:0;border-radius:999px;transition:width 0.7s ease-out}.crew-hard .crew-meter-fill{background:linear-gradient(90deg,var(--gold),var(--ember),var(--rust))}.crew-fun .crew-meter-fill{background:linear-gradient(90deg,var(--sea),var(--moss))}.narrow{max-width:48rem;margin:0 auto}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;overflow:hidden;background:var(--rope);margin:0}@media (min-width:640px){.facts{grid-template-columns:repeat(4,1fr)}}.facts div{background:var(--paper);padding:0.75rem 1rem}.facts dt{font-family:var(--font-mono);font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft)}.facts dd{margin:0.15rem 0 0;font-weight:700;font-size:0.9rem}.notes{position:relative;overflow:hidden}.notes::after{content:"";position:absolute;top:0;right:0;width:2rem;height:2rem;background:linear-gradient(225deg,var(--sand) 50%,var(--paper) 50%);box-shadow:-2px 2px 0 0 var(--rope)}.notes p{margin-top:0.5rem;white-space:pre-line;line-height:1.65}.learn-head{text-align:center;margin-bottom:1.5rem}.learn-head .muted{max-width:36rem;margin:0.5rem auto 0}.tp{display:grid;gap:2rem}@media (min-width:1024px){.tp{grid-template-columns:360px 1fr}.tp-panel{position:sticky;top:1.5rem}}.tp-progress{display:flex;align-items:center;gap:0.75rem;padding:0.5rem 1rem;margin-bottom:1rem}.track{flex:1;height:0.8rem;overflow:hidden;border-radius:999px;background:var(--sand);box-shadow:inset 0 0 0 1px var(--rope)}.track-fill{height:100%;width:0;border-radius:999px;background:var(--gold);transition:width 0.6s ease-out}.tp-map{position:relative;margin:0 auto}.tp-map>svg{position:absolute;inset:0}.tp-seg{fill:none;stroke:rgb(104 93 76 / 0.45);stroke-width:4;stroke-linecap:round;stroke-dasharray:1 12}.tp-seg.is-walked{stroke:rgb(31 86 104 / 0.8);stroke-width:6;stroke-dasharray:none}.tp-node{position:absolute;display:flex;flex-direction:column;align-items:center;width:120px;padding:0;border:0;background:none;cursor:pointer;animation:pop 0.4s cubic-bezier(0.34,1.56,0.64,1) both;transition:transform 0.15s}.tp-node:hover{transform:scale(1.06)}.tp-island{position:absolute;top:70px;width:96px;height:28px;border-radius:50%;border:2px solid var(--rope);background:var(--sand)}.tp-node .character{position:relative}.tp-node.is-done .tp-island{background:rgb(31 86 104 / 0.25);border-color:rgb(21 61 74 / 0.4)}.tp-node.is-current .tp-island{background:rgb(205 148 44 / 0.4);border-color:rgb(150 104 22 / 0.5)}.tp-node.is-current .tp-island::after{content:"";position:absolute;inset:-6px -10px;border-radius:50%;border:2px solid var(--gold);animation:pulse 1.8s ease-out infinite}.tp-node.is-current .character{animation:bob 2.4s ease-in-out infinite}.tp-node.is-locked .character{filter:grayscale(1);opacity:0.6}.tp-node.is-selected .tp-island{box-shadow:0 0 0 4px rgb(31 86 104 / 0.35)}.tp-badge{position:absolute;top:4px;right:8px}.tp-badge>*{display:none}.tp-node.is-done .tp-badge .badge-done,.tp-node.is-locked .tp-badge .badge-locked{display:block}.tp-code{position:relative;margin-top:-0.25rem;border:2px solid var(--rope);background:var(--paper);color:var(--ink-soft);font-family:var(--font-mono)}.tp-node.is-current .tp-code{background:var(--gold);border-color:var(--gold-deep);color:var(--on-gold)}.tp-chest{position:absolute;display:flex;flex-direction:column;align-items:center;width:120px;font-family:var(--font-display);font-weight:600;font-size:0.85rem;color:var(--ink-soft)}.chest{opacity:0.7}.chest .chest-coins,.chest .chest-lid-open{display:none}.tp.is-complete .chest{opacity:1}.tp.is-complete .chest .chest-coins,.tp.is-complete .chest .chest-lid-open{display:inline}.tp.is-complete .chest .chest-lid-closed{display:none}.tp-panel{height:fit-content;animation:slide-in 0.25s ease-out}.tp-panel-head{display:flex;align-items:flex-start;gap:1rem}.tp-panel-head .character{animation:bob 2.4s ease-in-out infinite}.quote{margin:0;padding:0.5rem 1rem;border-left:4px solid var(--gold);border-radius:0.75rem;background:color-mix(in srgb,var(--sand) 60%,transparent);font-size:0.9rem;font-style:italic}.case-list{display:grid;gap:0.5rem;padding:0;margin:0.5rem 0 0;list-style:none}.case-list a{display:flex;align-items:center;gap:0.75rem;padding:0.4rem 0.75rem 0.4rem 0.4rem;border:2px solid var(--rope);border-radius:0.75rem;background:var(--paper);font-size:0.875rem}.case-list a:hover{border-color:rgb(31 86 104 / 0.5)}.signin-prompt{gap:0.5rem}.auth{display:grid;gap:1.5rem;max-width:30rem;margin:0 auto}.auth-card .title{font-size:1.8rem}.auth-field{display:grid;gap:0.25rem;font-size:0.875rem;font-weight:700;color:var(--ink-soft)}.auth-field .field{width:100%;font-weight:400;color:var(--ink)}.auth-field .field:user-invalid{border-color:rgb(176 66 45 / 0.6)}.import-errors{margin:0.25rem 0 0;padding-left:1.25rem;color:var(--ink-soft)}.feedback .rating-row{display:grid;gap:0.35rem}.rating-label{font-weight:800;font-size:0.9rem}.rating{width:2.2rem;height:2.2rem;border:2px solid var(--rope);border-bottom-width:4px;border-radius:0.6rem;background:var(--paper);font-family:var(--font-display);font-weight:700;cursor:pointer}.rating:hover{background:var(--sand)}.rating[aria-pressed="true"]{background:var(--gold);border-color:var(--gold-deep)}textarea.field{width:100%;resize:vertical;min-height:4.5rem;font:inherit}.questions,.answers{display:grid;gap:0.75rem;padding:0;margin:0;list-style:none}.qa-body{white-space:pre-line;overflow-wrap:anywhere}.question-body{font-weight:700}.answers{border-left:3px solid var(--rope);padding-left:0.9rem}.answer{display:grid;gap:0.25rem}.answer.is-accepted{border-left:3px solid var(--gold);margin-left:-1.1rem;padding-left:0.9rem}.btn-link{border:0;background:none;padding:0;font-size:0.75rem;font-weight:800;color:var(--sea);cursor:pointer}.btn-link.danger{color:var(--rust)}.portals{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:0;margin:0;list-style:none}.portal-card{display:flex;flex-direction:column;align-items:center;gap:0.35rem;padding:1rem 1rem 1.1rem;text-align:center;animation:pop 0.4s cubic-bezier(0.34,1.56,0.64,1) both;transition:transform 0.15s,border-color 0.15s}.portal-card:hover{transform:translateY(-4px);border-color:rgb(31 86 104 / 0.5)}.portal-card .track{width:100%;height:0.5rem;margin-top:0.25rem}.portal-title{font-family:var(--font-display);line-height:1.2}.portal-cleared{display:inline-flex;align-items:center;gap:0.3rem;font-size:0.75rem;font-weight:800;color:var(--moss)}.portal{position:relative;display:grid;place-items:end center;width:132px;height:132px}.portal-ring{position:absolute;inset:4px 10px 14px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--paper) 95%,transparent) 45%,transparent 72%),conic-gradient(from 0deg,#1f5668,#4fb0c6,#cd942c,#8e6cc4,#1f5668);box-shadow:0 0 0 3px var(--ink),0 0 18px rgb(79 176 198 / 0.45);animation:swirl 6s linear infinite}.portal-card:hover .portal-ring{animation-duration:1.6s}.portal-card.is-cleared .portal-ring{background:radial-gradient(closest-side,color-mix(in srgb,var(--paper) 95%,transparent) 45%,transparent 72%),conic-gradient(from 0deg,#cd942c,#f2c94c,#3f7d4e,#cd942c)}.portal-guard{position:relative;animation:bob 2.4s ease-in-out infinite}.small-ring{inset:0 4px 10px}@keyframes swirl{to{transform:rotate(360deg)}}.map-gate{position:absolute;display:grid;place-items:end center;width:90px;height:90px}.stop{position:absolute;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:3px solid var(--ink);border-bottom-width:6px;background:var(--paper);cursor:pointer;animation:pop 0.4s cubic-bezier(0.34,1.56,0.64,1) both;transition:transform 0.15s}.stop:hover{transform:scale(1.08)}.stop-number{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.stop-coin{display:none}.stop.is-read{background:var(--gold)}.stop.is-read .stop-number{display:none}.stop.is-read .stop-coin{display:block}.stop.is-next{background:var(--sea);color:var(--on-accent);box-shadow:0 0 0 4px rgb(205 148 44 / 0.5);animation:pop 0.4s both,bob 2.4s ease-in-out 0.4s infinite}.stop.is-selected{outline:4px solid rgb(31 86 104 / 0.35);outline-offset:3px}.map-chest{width:160px;gap:0.35rem;text-align:center}.profile-head{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}.avatar{position:relative}.level-coin{position:absolute;right:-4px;bottom:-4px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;border:2px solid var(--ink);background:var(--gold);box-shadow:0 3px 0 0 var(--gold-deep);line-height:1}.level-coin small{font-size:0.5rem;font-weight:800;text-transform:uppercase}.level-coin b{font-family:var(--font-display);font-size:1.1rem}.xp-labels{display:flex;justify-content:space-between;margin-bottom:0.25rem;font-family:var(--font-mono);font-size:0.75rem;font-weight:700;color:var(--ink-soft)}.xp-bar{height:1rem;box-shadow:inset 0 0 0 2px var(--rope)}.xp-bar .track-fill{border-bottom:4px solid rgb(150 104 22 / 0.5)}.stats{display:grid;grid-template-columns:repeat(2,minmax(6.5rem,auto));gap:0.75rem;margin:0;text-align:center}.stats div{padding:0.5rem 1rem;border:2px solid var(--rope);border-radius:0.75rem;background:color-mix(in srgb,var(--sand) 50%,transparent)}.stats dd{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:700}.stats dt{font-size:0.75rem;font-weight:700;color:var(--ink-soft)}.profile-grid{display:grid;gap:1.5rem}.profile-grid>*{min-width:0}@media (min-width:1024px){.profile-grid{grid-template-columns:1fr 380px}}.profile-id{min-width:16rem}.socials{margin-top:0.5rem}.social{display:inline-flex;align-items:center;gap:0.3rem;padding:0.15rem 0.65rem;border:2px solid var(--rope);border-bottom-width:3px;border-radius:999px;background:var(--paper);font-size:0.75rem;font-family:var(--font-mono);color:var(--ink-soft);transition:transform 0.12s,border-color 0.12s}.social b{font-family:var(--font-body);color:var(--ink)}.social:hover{transform:translateY(-1px);border-color:var(--sea)}.social-h1 b{color:#3d3d3d}.social-bc b{color:#c4500f}.social-web b{color:var(--sea)}.staff-badge{display:inline-flex;align-items:center;gap:0.25rem;padding:0.1rem 0.55rem 0.1rem 0.35rem;border-radius:999px;background:var(--sea);color:var(--on-accent);font-family:var(--font-display);font-size:0.75rem;font-weight:600;letter-spacing:0.04em;box-shadow:0 2px 0 0 var(--sea-deep);vertical-align:middle}.author{display:inline-flex;align-items:center;gap:0.35rem}.author .character{border-radius:50%;background:var(--sand)}.author .staff-badge{font-size:0.65rem}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:0.75rem;background:var(--sand);box-shadow:inset 0 0 0 1px var(--rope)}.seg{border:0;border-radius:0.55rem;background:none;padding:0.25rem 0.6rem;font-size:0.75rem;font-weight:800;color:var(--ink-soft);cursor:pointer}.seg:hover{color:var(--ink)}.seg[aria-pressed="true"]{background:var(--paper);color:var(--ink);box-shadow:0 2px 0 0 var(--rope)}.heatmap{overflow-x:auto}.heatmap-gutter,.heatmap-days{width:24px;flex-shrink:0}.heatmap-days{display:flex;flex-direction:column;gap:3px}.heatmap-days span{height:11px;font-family:var(--font-mono);font-size:9px;line-height:11px;color:var(--ink-soft)}.cell.out{visibility:hidden}.strip{display:grid;gap:4px}.strip-day{display:grid;justify-items:center;gap:0.3rem;min-width:0}.strip .cell{display:grid;place-items:center;width:100%;height:auto;aspect-ratio:1;border-radius:6px;font-family:var(--font-mono);font-size:0.85rem;font-weight:700;color:var(--on-accent);animation:pop 0.3s cubic-bezier(0.34,1.56,0.64,1) both}.strip .h1,.strip .h2{color:var(--ink)}.strip--week .cell{max-height:5.5rem;border-radius:10px}.strip-label{display:grid;justify-items:center;min-height:1rem;font-family:var(--font-mono);font-size:0.65rem;line-height:1.2;white-space:nowrap;color:var(--ink-soft)}.strip--week .strip-label{font-size:0.75rem}.heatmap-strip .heatmap-legend{margin-top:0.75rem}.heatmap-inner{display:inline-flex;flex-direction:column;gap:4px}.heatmap-months,.heatmap-weeks{display:flex;gap:3px}.heatmap-months span{width:11px;overflow:visible;white-space:nowrap;font-family:var(--font-mono);font-size:10px;color:var(--ink-soft)}.heatmap-week{display:flex;flex-direction:column;gap:3px}.cell{width:11px;height:11px;border-radius:2px}.h0{background:var(--heat-0);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rope) 60%,transparent)}.h1{background:var(--heat-1)}.h2{background:var(--heat-2)}.h3{background:var(--heat-3)}.h4{background:var(--heat-4)}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:0.5rem;font-size:10px;color:var(--ink-soft)}.radar-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.radar-panel{position:relative;border-radius:var(--radius);background:radial-gradient(circle at 50% 45%,#263446,var(--night) 70%);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 0.05),0 4px 0 0 #121820;padding:0.5rem;overflow:hidden}.radar{display:block;width:100%;max-width:360px;margin:0 auto}.radar-band{stroke:var(--night-line);stroke-width:1;transform-origin:50% 50%;transform-box:view-box;opacity:0}.radar-band.even{fill:var(--night-band)}.radar-band.odd{fill:var(--night)}.radar-axis{stroke:var(--night-line);stroke-dasharray:2 3;transition:stroke 0.15s}.radar-axis.is-active{stroke:var(--signal);stroke-dasharray:none}.is-live .radar-band{animation:radar-ring 0.45s ease-out both}.radar-area{stroke:var(--signal);stroke-width:2;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgb(136 204 20 / 0.55))}.radar-stop-inner{stop-color:var(--signal);stop-opacity:0.15}.radar-stop-outer{stop-color:var(--signal);stop-opacity:0.45}.radar-dot{fill:var(--night);stroke:var(--signal);stroke-width:2.5;cursor:pointer;transition:r 0.15s}.radar-dot.is-active{r:7;fill:var(--signal)}.is-done .radar-dot{animation:radar-dot 2.4s ease-in-out infinite}.radar-label text{font-family:var(--font-mono);font-weight:700;transition:fill 0.15s}.radar-code{font-size:12px;fill:#cbd6e2}.radar-pct{font-size:10px;fill:rgb(203 214 226 / 0.55)}.radar-label.is-active .radar-code,.radar-label.is-active .radar-pct{fill:var(--signal)}.radar-legend{display:grid;grid-template-columns:minmax(0,1fr);gap:0.2rem;padding:0;margin:0;list-style:none}.radar-legend-row{display:flex;align-items:center;gap:0.5rem;padding:0.2rem 0.4rem;border-radius:0.5rem;font-size:0.78rem;cursor:default;outline:none}.radar-legend-row.is-active{background:rgb(136 204 20 / 0.14)}.radar-legend-code{font-weight:700;color:var(--ink-soft)}.radar-legend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radar-meter{width:4.5rem;height:0.4rem;border-radius:999px;background:var(--sand);overflow:hidden}.radar-meter-fill{display:block;height:100%;width:0;border-radius:999px;background:var(--moss);transition:width 0.9s cubic-bezier(0.34,1.56,0.64,1)}.radar-legend-pct{width:2.6rem;text-align:right;font-size:0.72rem}@keyframes radar-ring{from{opacity:0;transform:scale(0.6)}to{opacity:1;transform:scale(1)}}@keyframes radar-dot{0%,100%{filter:drop-shadow(0 0 0 rgb(136 204 20 / 0))}50%{filter:drop-shadow(0 0 5px rgb(136 204 20 / 0.9))}}@media (prefers-reduced-motion:reduce){.radar-band{opacity:1}}.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0.75rem;padding:0;margin:0;list-style:none}.badge{display:flex;flex-direction:column;align-items:center;gap:0.2rem;padding:0.75rem 0.5rem;border:2px dashed var(--rope);border-radius:var(--radius);text-align:center;opacity:0.6;filter:grayscale(1)}.badge.is-earned{border-style:solid;border-color:var(--gold-deep);background:rgb(205 148 44 / 0.12);opacity:1;filter:none}.badge-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--sand);font-size:1.4rem}.badge.is-earned .badge-icon{background:var(--gold);box-shadow:0 3px 0 0 var(--gold-deep)}.community{display:grid;gap:1.5rem}@media (min-width:860px){.community{grid-template-columns:1fr 1fr}}.feed,.reading-log{display:grid;gap:0.6rem;padding:0;margin:0;list-style:none}.feed li{padding:0.6rem 0.75rem;border-left:3px solid var(--rope);background:color-mix(in srgb,var(--sand) 35%,transparent);border-radius:0 0.6rem 0.6rem 0}.log-row{display:flex;align-items:center;gap:0.75rem;padding:0.4rem 0;border-bottom:1px dashed var(--rope)}.form{display:grid;gap:1rem;max-width:32rem}.form label{display:grid;gap:0.25rem;font-size:0.875rem;font-weight:700;color:var(--ink-soft)}.settings-grid{display:grid;gap:1.5rem}@media (min-width:860px){.settings-grid{grid-template-columns:1fr 1fr}}.avatar-wrap{position:relative}.avatar-trigger{display:block;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}.avatar-trigger .character{transition:transform 0.15s}.avatar-trigger:hover .character,.avatar-trigger:focus-visible .character{transform:translateY(-3px) rotate(-3deg)}.avatar-trigger:focus-visible{outline:3px solid rgb(31 86 104 / 0.45);outline-offset:4px}.avatar-ask{position:absolute;z-index:15;top:calc(100% + 12px);left:0;width:15rem;display:grid;gap:0.35rem;padding:0.85rem 1rem;border:2px solid var(--rope);border-radius:var(--radius);background:var(--paper);box-shadow:0 4px 0 0 var(--rope),0 10px 22px rgb(0 0 0 / 0.12);animation:pop 0.2s cubic-bezier(0.34,1.56,0.64,1) both}.avatar-ask::before{content:"";position:absolute;top:-9px;left:2.5rem;width:1rem;height:1rem;background:var(--paper);border-left:2px solid var(--rope);border-top:2px solid var(--rope);transform:rotate(45deg)}.avatar-ask-title{font-family:var(--font-display);font-weight:600;font-size:1.05rem}.avatar-ask .row{margin-top:0.25rem;gap:0.75rem}.avatar-row{gap:1rem}.avatar-thumb .character{border-radius:50%;background:var(--sand)}.avatar-editor{animation:slide-in 0.25s ease-out}.avatar-builder{display:grid;gap:1.5rem}@media (min-width:860px){.avatar-builder{grid-template-columns:200px 1fr;align-items:start}.avatar-stage{position:sticky;top:1rem}}.avatar-stage{display:grid;justify-items:center;gap:0.75rem;padding:1rem;border-radius:var(--radius);background:radial-gradient(circle at 50% 40%,rgb(255 255 255 / 0.6),transparent 70%),var(--sand);box-shadow:inset 0 0 0 2px var(--rope)}.avatar-presets{display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:0.4rem}.preset{padding:0.15rem;border:2px solid var(--rope);border-bottom-width:4px;border-radius:0.75rem;background:var(--paper);cursor:pointer;transition:transform 0.12s}.preset:hover{transform:translateY(-2px);border-color:var(--sea)}.avatar-slots{display:grid;gap:0.9rem}.avatar-slot{display:grid;gap:0.35rem}.avatar-slot .tags,.avatar-slot .row{gap:0.35rem}.swatch{width:1.9rem;height:1.9rem;border:3px solid var(--paper);border-radius:50%;box-shadow:0 0 0 2px var(--rope);cursor:pointer}.swatch[aria-pressed="true"]{box-shadow:0 0 0 3px var(--ink);transform:scale(1.08)}.cta-wrap{display:flex;justify-content:center;padding:0.5rem 0}.cta{position:relative;gap:0.9rem;padding:1rem 2rem 1rem 1.5rem;border-bottom-width:6px;border-radius:1.1rem;font-size:1.25rem;box-shadow:0 8px 22px rgb(150 104 22 / 0.35);animation:cta-glow 2.8s ease-in-out infinite;transition:transform 0.12s,filter 0.15s,box-shadow 0.15s}.cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 28px rgb(150 104 22 / 0.45)}.cta:active{transform:translateY(3px);border-bottom-width:3px}.cta-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;background:rgb(255 255 255 / 0.35);font-size:1.5rem}.cta-text{display:grid;text-align:left;line-height:1.2}.cta-text small{font-family:var(--font-mono);font-size:0.72rem;font-weight:700;color:rgb(43 38 32 / 0.7)}@keyframes cta-glow{0%,100%{box-shadow:0 8px 22px rgb(150 104 22 / 0.3)}50%{box-shadow:0 8px 30px rgb(205 148 44 / 0.6)}}.read-row{display:flex;justify-content:flex-end;margin-top:0.75rem!important}.similar-list{display:grid;gap:0.6rem;padding:0;margin:0;list-style:none}@media (min-width:720px){.similar-list{grid-template-columns:1fr 1fr}}.similar-card{display:flex;align-items:flex-start;gap:0.75rem;height:100%;padding:0.75rem;transition:transform 0.15s,border-color 0.15s}.similar-card:hover{transform:translateY(-2px);border-color:rgb(31 86 104 / 0.5)}.similar-title{margin:0.3rem 0 0.15rem;font-family:var(--font-display);font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.programs-btn{white-space:nowrap}.programs-btn-ring{width:1.1rem;height:1.1rem;border-radius:50%;background:radial-gradient(closest-side,var(--sea) 45%,transparent 50%),conic-gradient(#4fb0c6,#cd942c,#8e6cc4,#4fb0c6);animation:swirl 3s linear infinite}.carousel-tools .field{flex:1;max-width:24rem}.carousel{display:flex;align-items:center;gap:0.5rem}.carousel-arrow{flex-shrink:0;width:2.6rem;height:2.6rem;border:2px solid var(--rope);border-bottom-width:4px;border-radius:50%;background:var(--paper);font-family:var(--font-display);font-size:1.5rem;line-height:1;cursor:pointer}.carousel-arrow:disabled{opacity:0.4;cursor:default}.carousel-track{flex:1;display:flex;gap:0.75rem;margin:0;padding:1.5rem 40%;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;outline:none}.carousel-track:focus-visible{box-shadow:inset 0 0 0 3px rgb(31 86 104 / 0.35);border-radius:var(--radius)}.carousel-item{flex:0 0 auto;scroll-snap-align:center}.pcard{display:flex;flex-direction:column;align-items:center;gap:0.3rem;width:9.5rem;padding:0.75rem 0.5rem;border:2px solid var(--rope);border-bottom-width:4px;border-radius:var(--radius);background:var(--paper);text-align:center;cursor:pointer;opacity:0.6;transform:scale(0.88);transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),opacity 0.2s,border-color 0.2s}.pcard:hover{opacity:0.9}.is-selected .pcard{opacity:1;transform:scale(1.08);border-color:var(--brand);box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 35%,transparent)}.pcard-portal{position:relative;display:grid;place-items:center;width:92px;height:92px}.pcard-ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--paper) 95%,transparent) 58%,transparent 74%),conic-gradient(from 0deg,var(--brand),color-mix(in srgb,var(--brand) 40%,#ffffff),var(--brand));box-shadow:0 0 0 3px var(--ink)}.is-selected .pcard-ring{animation:swirl 4s linear infinite;box-shadow:0 0 0 3px var(--ink),0 0 20px color-mix(in srgb,var(--brand) 60%,transparent)}.pcard-name{font-family:var(--font-display);font-weight:600;line-height:1.2;overflow-wrap:anywhere}.program-icon{position:relative;display:inline-grid;place-items:center;flex-shrink:0;overflow:hidden;border:2px solid var(--ink);border-radius:22%;background:var(--brand);color:var(--brand-ink)}.program-icon img{position:absolute;inset:0;width:100%;height:100%;padding:12%;object-fit:contain;background:#ffffff}.program-initial{font-family:var(--font-display);font-size:1.6em;font-weight:700}.program-detail{border-top:6px solid var(--brand);transition:opacity 0.2s}.program-detail.is-loading{opacity:0.55}.programs-layout{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);align-items:start;gap:1.25rem}.programs-layout .program-detail{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.programs-layout .program-detail-head{flex-direction:column;align-items:flex-start}.programs-layout .pstat-grid{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.programs-main{min-width:0}@media (max-width:900px){.programs-layout{grid-template-columns:minmax(0,1fr)}.programs-layout .program-detail{position:static;max-height:none;order:1}}.program-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem}.btn-brand{background:var(--brand);color:var(--brand-ink);border-color:color-mix(in srgb,var(--brand) 70%,#000000)}.btn-brand:hover{filter:brightness(1.08)}.program-stats{display:grid;gap:1rem}.pstat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:0.75rem;margin:0}.pstat{padding:0.75rem 1rem;border-radius:0.75rem;background:color-mix(in srgb,var(--brand) 9%,var(--paper));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand) 22%,var(--rope))}.pstat dt{font-family:var(--font-mono);font-size:0.66rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft)}.pstat dd{margin:0.2rem 0 0}.pstat-big{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:color-mix(in srgb,var(--brand) 75%,var(--ink))}.stars{color:var(--gold);letter-spacing:0.05em}.meter{display:inline-block;width:5rem;height:0.55rem;border-radius:999px;background:var(--sand);overflow:hidden}.meter-fill{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--moss),var(--gold),var(--rust));background-size:5rem 100%;transition:width 0.7s ease-out}.top-types{display:grid;gap:0.3rem;margin:0.4rem 0 0;padding-left:1.2rem}.top-types li{font-weight:700}.top-types .grow{margin-right:0.5rem}.program-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}.program-layout>*{min-width:0}@media (min-width:1024px){.program-layout{grid-template-columns:320px minmax(0,1fr);align-items:start}.program-panel{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}}.program-panel{overflow:hidden;border-color:color-mix(in srgb,var(--brand) 45%,var(--rope));box-shadow:0 4px 0 0 color-mix(in srgb,var(--brand) 45%,var(--rope))}.program-panel-head{display:flex;align-items:center;gap:0.9rem;padding:1.25rem;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 70%,#000000));color:var(--brand-ink)}.program-panel-head .eyebrow{color:inherit;opacity:0.75}.program-panel-name{overflow-wrap:anywhere}.program-site{color:inherit;opacity:0.85;text-decoration:underline;text-underline-offset:3px}.program-panel-body{padding:1.25rem}.program-panel .pstat-grid{grid-template-columns:1fr 1fr}.program-panel .pstat{padding:0.6rem 0.7rem}.program-panel .pstat-big{font-size:1.3rem}.program-edit summary{cursor:pointer;font-weight:800;font-size:0.85rem}.program-edit .form{margin-top:0.75rem}.branded .title{color:color-mix(in srgb,var(--brand) 70%,var(--ink))}.branded .tag[aria-pressed="true"].tag-sea{background:var(--brand);border-color:color-mix(in srgb,var(--brand) 70%,#000000);color:var(--brand-ink)}.branded .report-card:hover{border-color:var(--brand)}.branded .field:focus{border-color:var(--brand)}.read-locked{display:inline-flex;align-items:center;gap:0.35rem;padding:0.45rem 0.9rem;border:2px dashed var(--rope);border-radius:0.75rem;color:var(--ink-soft)}.read-row.is-unlocked>*{animation:unlock 0.45s cubic-bezier(0.34,1.56,0.64,1) both}@keyframes unlock{from{transform:scale(0.7) rotate(-4deg);opacity:0}to{transform:none;opacity:1}}.nudge{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-color:rgb(31 86 104 / 0.45);background:radial-gradient(circle at 0% 0%,rgb(205 148 44 / 0.18),transparent 55%),var(--paper);box-shadow:0 4px 0 0 rgb(31 86 104 / 0.35),0 12px 28px rgb(31 86 104 / 0.15);animation:nudge-in 0.5s cubic-bezier(0.34,1.56,0.64,1) both}.nudge.is-leaving{animation:nudge-out 0.22s ease-in forwards}.nudge-body>* + *{margin-top:0.4rem}@keyframes nudge-in{from{transform:translateY(18px) scale(0.96);opacity:0}to{transform:none;opacity:1}}@keyframes nudge-out{to{transform:translateY(10px);opacity:0}}.qa-flash{border-radius:var(--radius);animation:section-glow 1.6s ease-out}.section-flash{animation:section-glow 1.6s ease-out}.target-flash{border-radius:0.75rem;animation:section-glow 2.4s ease-out;background:color-mix(in srgb,var(--gold) 12%,transparent);transition:background 0.6s}.question,.answer{scroll-margin-top:5rem}@keyframes section-glow{0%,30%{box-shadow:0 0 0 4px rgb(205 148 44 / 0.65),0 0 24px rgb(205 148 44 / 0.4)}100%{box-shadow:0 0 0 0 rgb(205 148 44 / 0)}}.journey{display:flex;flex-wrap:wrap;align-items:center;gap:0.6rem 1rem;padding:0.6rem 0.9rem;border-color:rgb(205 148 44 / 0.55);background:rgb(205 148 44 / 0.1)}.journey-label{font-size:0.9rem}.journey-dots{display:inline-flex;flex:1;gap:4px;min-width:6rem}.journey-dot{flex:1;max-width:1.4rem;height:0.45rem;border-radius:999px;background:var(--sand);box-shadow:inset 0 0 0 1px var(--rope)}.journey-dot.is-read{background:var(--gold)}.journey-chest{font-size:0.7rem;line-height:0.45rem}.journey-dot.is-here{background:var(--sea);transform:scaleY(1.5)}.mission-toasts{position:fixed;z-index:900;right:1rem;bottom:1rem;display:grid;gap:0.5rem;width:min(22rem,calc(100vw - 2rem));pointer-events:none}.mission-toast{display:flex;align-items:center;gap:0.7rem;padding:0.7rem 0.9rem;border:2px solid var(--gold-deep);border-radius:var(--radius);background:var(--deck);color:var(--on-dark);box-shadow:0 6px 0 0 rgb(0 0 0 / 0.25);animation:toast-in 0.45s cubic-bezier(0.34,1.56,0.64,1) both,toast-out 0.4s ease-in 4.2s forwards}.mission-toast .grow{display:grid}.mission-toast.is-sweep{background:linear-gradient(135deg,var(--gold-deep),var(--deck) 70%)}.mission-toast-icon{font-size:1.5rem}.mission-toast-xp{font-family:var(--font-mono);color:var(--gold)}@keyframes toast-in{from{transform:translateX(110%)}to{transform:none}}@keyframes toast-out{to{transform:translateX(110%);opacity:0}}.profile-left{display:grid;justify-items:center;gap:0.75rem}.jumps{display:flex;flex-wrap:wrap;justify-content:center;gap:0.3rem;max-width:12rem}.jump{padding:0.2rem 0.55rem;border:2px solid var(--rope);border-bottom-width:3px;border-radius:999px;background:var(--paper);font-size:0.72rem;font-weight:800;white-space:nowrap;transition:transform 0.12s,border-color 0.12s}.jump:hover{transform:translateY(-1px);border-color:var(--sea)}.streak-chip{display:inline-flex;align-items:center;padding:0.15rem 0.6rem;border-radius:999px;background:rgb(196 104 52 / 0.15);box-shadow:inset 0 0 0 1.5px rgb(196 104 52 / 0.5);color:var(--ember);font-size:0.78rem;font-weight:800;white-space:nowrap}.streak-chip.is-cold{background:var(--sand);box-shadow:inset 0 0 0 1.5px var(--rope);color:var(--ink-soft)}.reading-log.is-long{max-height:25rem;overflow-y:auto;padding-right:0.5rem;mask-image:linear-gradient(to bottom,#000 92%,transparent)}.insights-body{display:grid;align-items:center;gap:1.5rem}@media (min-width:720px){.insights-body{grid-template-columns:220px 1fr}}.donut{display:block;width:100%;max-width:220px;margin:0 auto}.donut-track{fill:none;stroke:var(--sand);stroke-width:26}.donut-slice{fill:none;stroke-width:26;cursor:pointer;transition:stroke-dasharray 0.7s cubic-bezier(0.65,0,0.35,1),opacity 0.15s,stroke-width 0.15s}.donut-slice.is-dim{opacity:0.3}.donut-big{font-family:var(--font-display);font-size:28px;font-weight:700;fill:var(--ink)}.donut-small{font-family:var(--font-mono);font-size:10px;fill:var(--ink-soft)}.slice-0{stroke:var(--sea)}.slice-1{stroke:var(--gold)}.slice-2{stroke:var(--moss)}.slice-3{stroke:var(--ember)}.slice-4{stroke:#8e6cc4}.slice-5{stroke:#4fb0c6}.slice-other{stroke:var(--rope)}.slice-bg-0{background:var(--sea)}.slice-bg-1{background:var(--gold)}.slice-bg-2{background:var(--moss)}.slice-bg-3{background:var(--ember)}.slice-bg-4{background:#8e6cc4}.slice-bg-5{background:#4fb0c6}.slice-bg-other{background:var(--rope)}.insight-legend{display:grid;gap:0.2rem;padding:0;margin:0;list-style:none}.insight-row{display:flex;align-items:center;gap:0.6rem;padding:0.3rem 0.5rem;border-radius:0.5rem;outline:none}.insight-row.is-active{background:rgb(31 86 104 / 0.1)}.insight-dot{width:0.8rem;height:0.8rem;border-radius:0.25rem;flex-shrink:0}.insight-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}a.insight-name:hover{text-decoration:underline}.insight-pct{width:3rem;text-align:right}.today-grid{display:grid;gap:1.5rem;margin:1rem 0 2.5rem}@media (min-width:960px){.today-grid{grid-template-columns:1.6fr 1fr;align-items:start}}.daily-card{overflow:hidden;border-color:rgb(205 148 44 / 0.6);box-shadow:0 4px 0 0 rgb(150 104 22 / 0.45)}.is-loading-card{min-height:12rem;background:linear-gradient(100deg,var(--paper) 40%,var(--sand) 50%,var(--paper) 60%) 0 0 / 200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.daily-ribbon{display:flex;justify-content:space-between;gap:1rem;padding:0.5rem 1.25rem;background:linear-gradient(90deg,var(--gold),#e8b545);font-family:var(--font-display);font-weight:600}.daily-body{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem}.daily-text>* + *{margin-top:0.6rem}.daily-title{font-size:1.35rem;line-height:1.25}.daily-title a:hover{text-decoration:underline;text-decoration-color:rgb(31 86 104 / 0.4)}.missions>* + *{margin-top:0.85rem}.missions-progress .track{height:0.6rem}.mission-list{display:grid;gap:0.45rem;padding:0;margin:0;list-style:none}.mission{display:flex;align-items:center;gap:0.7rem;padding:0.5rem 0.65rem;border:2px solid var(--rope);border-radius:0.75rem;background:var(--paper)}.mission .grow{display:grid}.mission-check{display:grid;place-items:center;width:1.5rem;height:1.5rem;flex-shrink:0;border:2px solid var(--rope);border-radius:50%;font-weight:800;color:var(--on-accent)}.mission.is-done{border-color:rgb(63 125 78 / 0.5);background:rgb(63 125 78 / 0.08)}.mission.is-done .mission-check{background:var(--moss);border-color:var(--moss);animation:pop 0.35s cubic-bezier(0.34,1.56,0.64,1) both}.mission.is-done b{text-decoration:line-through;text-decoration-color:rgb(63 125 78 / 0.5)}.mission.is-bonus{border-style:dashed;border-color:rgb(205 148 44 / 0.6);background:color-mix(in srgb,var(--gold) 8%,var(--paper))}.mission.is-bonus:not(.is-done) .mission-check{border:0;font-size:0.9rem}.mission-xp{font-size:0.75rem;font-weight:700;color:var(--gold-deep);white-space:nowrap}.expedition{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem;border-color:rgb(205 148 44 / 0.55);background:radial-gradient(circle at 100% 0%,rgb(79 176 198 / 0.15),transparent 50%),var(--paper)}.expedition-track .track{height:0.75rem}.portal-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:0.15rem 0.6rem;color:var(--ink-soft)}.portal-state{padding:0.1rem 0.6rem;border-radius:999px;font-size:0.72rem;font-weight:800}.state-new{background:var(--sand);color:var(--ink-soft)}.state-progress{background:rgb(31 86 104 / 0.12);color:var(--sea)}.state-claimable{background:var(--gold);color:var(--on-gold);animation:claim-pulse 1.6s ease-in-out infinite}@keyframes claim-pulse{50%{box-shadow:0 0 0 5px rgb(205 148 44 / 0.3)}}.staff-dialog{width:min(44rem,calc(100vw - 2rem))}.staff-dialog .settings-body{max-height:calc(100vh - 8rem)}.staff-form{display:grid;gap:0.9rem}.staff-form .form{max-width:none}.staff-form .field{width:100%}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:0.75rem}.staff-bar{padding:0.4rem 0.6rem;border:2px dashed color-mix(in srgb,var(--sea) 45%,var(--rope));border-radius:0.8rem}.staff-action{justify-self:start}.danger-ghost{color:var(--rust)}.btn-danger{background:var(--rust);color:var(--on-accent);border-color:color-mix(in srgb,var(--rust) 70%,#000000)}.title-row{align-items:flex-start;flex-wrap:nowrap}.save-slot{flex:none;flex-wrap:nowrap;padding-top:0.4rem}.report-layout{--layout-w:min(calc(100vw - 2rem),92rem);display:grid;grid-template-columns:17rem minmax(0,1fr) 17rem;align-items:start;gap:1.5rem;width:var(--layout-w);margin-inline:calc((100% - var(--layout-w)) / 2)}.report-side{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.report-main{min-width:0;max-width:50rem;width:100%;margin-inline:auto}@media (max-width:1180px){.report-layout{grid-template-columns:minmax(0,1fr);width:auto;margin-inline:0}.report-side{position:static;max-height:none;overflow:visible}.report-side-left{order:2}.report-side-right{order:3}}.report-head .title{margin:0}.report-head{margin-bottom:0.9rem}.portal-chip{justify-self:start}.report-actions{gap:0.5rem}.icon-btn{display:inline-flex;align-items:center;gap:0.4rem}.key-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0.6rem;margin:0}@media (max-width:640px){.key-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.key-fact{padding:0.7rem 0.9rem;border:2px solid var(--rope);border-radius:0.9rem;background:var(--paper)}.key-fact dt{font-family:var(--font-mono);font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft)}.key-fact dd{margin:0.3rem 0 0;font-weight:700;overflow-wrap:anywhere}.other-facts{display:flex;flex-wrap:wrap;gap:0.35rem 1.1rem;margin:0;color:var(--ink)}.steps{display:grid;gap:0.9rem;margin:0.5rem 0 0;padding:0;list-style:none}.step{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:0.9rem;padding:1.1rem 1.2rem;border:2px solid var(--rope);border-radius:var(--radius);background:var(--paper)}.step.is-current{border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 18%,transparent)}.step-num{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--sand);font:700 1.05rem var(--font-display)}.step.is-current .step-num{background:var(--gold);color:var(--on-gold)}.step.is-done .step-num{background:var(--moss);color:var(--on-accent);font-size:0}.step.is-done .step-num::after{content:"✓";font-size:1.1rem}.step-body{display:grid;gap:0.6rem;min-width:0}.step-title{margin:0;font-size:1.15rem}.step-body p{margin:0}.in-short{padding:0.75rem 0.9rem;border-left:4px solid var(--sea);border-radius:0.5rem;background:color-mix(in srgb,var(--sea) 7%,transparent)}.in-short p + p{margin-top:0.35rem;white-space:pre-line;line-height:1.6}.step .cta-wrap{justify-content:flex-start}.step .read-row{justify-content:flex-start;align-items:center;gap:0.75rem;margin-top:0!important}.nudge-inline{display:grid;gap:0.35rem;padding:0.7rem 0.9rem;border-radius:0.75rem;background:color-mix(in srgb,var(--sea) 8%,transparent)}.nudge-inline p{margin:0}.side-card{display:grid;gap:0.6rem}.side-card p{margin:0}.side-title{margin:0;font-size:1.1rem}.weakness-head{display:flex;align-items:center;gap:0.75rem}.weakness-sub{margin-top:0.3rem!important}.weakness-more{margin-top:0.2rem}.similar-panel .similar-list{grid-template-columns:minmax(0,1fr);gap:0.25rem}.report-side{overflow-x:hidden}.similar-panel .similar-card{display:block;height:auto;margin:0 -0.5rem;padding:0.55rem 0.5rem;border-radius:0.6rem;color:inherit;text-decoration:none}.similar-panel .similar-card:hover{transform:none;background:color-mix(in srgb,var(--sea) 8%,transparent)}.similar-panel .similar-title{font-size:0.92rem;overflow-wrap:anywhere}.qa-section h2{margin:0}.ask-card .composer textarea{width:100%}.post{display:grid;gap:0.35rem}.post-head{display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem 0.6rem}.post-question .qa-body{font-weight:700;font-size:1.02rem}.post p{margin:0}.question{display:grid;gap:0.75rem}.question .answers{gap:0.9rem}.answer{gap:0.5rem}.accepted-chip{justify-self:start}.follow-ups{display:grid;gap:0.6rem;margin:0;padding:0 0 0 0.9rem;border-left:2px dashed var(--rope);list-style:none}.post-follow-up .qa-body{font-size:0.92rem}.qa-hint{margin:0;padding:0.6rem 0.8rem;border-radius:0.6rem;background:color-mix(in srgb,var(--gold) 12%,transparent)}.reply-slot .composer textarea{width:100%}.notes-dialog{width:min(34rem,calc(100vw - 2rem))}.notes-dialog .field{width:100%;resize:vertical}.my-notes .field{width:100%}.my-notes{border-left:4px solid var(--gold)}.staff-note{margin:0.3rem 0 0;padding:0.4rem 0.6rem;border-radius:0.5rem;background:var(--sand);white-space:pre-wrap}.submit-intro{margin:0;padding:0.6rem 0.8rem;border-left:4px solid var(--gold);border-radius:0.5rem;background:color-mix(in srgb,var(--gold) 10%,var(--paper))}.url-check:empty{display:none}.url-check{margin-top:-0.5rem}.dup-card{padding:0.5rem 0.7rem;border:2px solid color-mix(in srgb,var(--rust) 55%,var(--rope));border-radius:0.6rem;background:color-mix(in srgb,var(--rust) 8%,var(--paper))}.review-list{display:grid;gap:0.8rem}.review-card h3{margin:0.2rem 0;font-size:1.05rem}.site-stats-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr));gap:0.6rem}.site-stats-tile{padding:0.6rem 0.8rem;border:2px solid var(--rope);border-radius:0.6rem;background:var(--paper)}.site-stats-tile>span{display:block}.site-stats-tile b{display:block;font-family:"Fredoka",sans-serif;font-size:1.6rem;color:var(--sea)}.site-stats-dialog{width:min(68rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem)}.site-stats-section{display:grid;gap:0.6rem;padding-top:0.8rem;border-top:2px solid var(--rope)}.site-stats-section h3,.site-stats-section h4{margin:0}.site-stats-section h4{font-size:0.95rem;color:var(--ink-soft)}.site-stats-toolbar{align-items:center;gap:0.6rem}.site-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}.site-stats-axis{justify-content:space-between}.site-stats-scroll{overflow-x:auto}.stat-delta{display:block;font-size:0.8rem;font-weight:800;color:var(--ink-soft)}.stat-delta.is-up{color:var(--moss)}.stat-delta.is-down{color:var(--rust)}.site-stats-hbars{display:grid;gap:0.35rem}.site-stats-hbar{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr) auto;align-items:center;gap:0.6rem}.site-stats-hbar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-stats-hbar-track{height:0.7rem;border-radius:999px;background:var(--sand);overflow:hidden}.site-stats-hbar-fill{display:block;height:100%;border-radius:999px;background:var(--sea)}.site-stats-cohorts td,.site-stats-cohorts th{white-space:nowrap}.site-stats-heat{background:color-mix(in srgb,var(--sea) calc(var(--p,0%) * 0.55),transparent)}@media (max-width:640px){.site-stats-hbar{grid-template-columns:minmax(0,1fr) auto}.site-stats-hbar-track{grid-column:1 / -1;grid-row:2}}.site-stats-chart{display:grid;align-items:end;gap:2px;height:7rem;padding:0.4rem;border-radius:0.6rem;background:var(--sand)}.site-stats-chart span{min-height:2px;border-radius:2px 2px 0 0;background:var(--sea)}.site-stats-chart span.is-gold{background:var(--gold)}.site-stats-table{width:100%;border-collapse:collapse}.site-stats-table th,.site-stats-table td{padding:0.3rem 0.4rem;border-bottom:1px solid var(--rope);text-align:left}.site-stats-table td:not(:first-child),.site-stats-table th:not(:first-child){text-align:right}.site-stats-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));gap:0.5rem;align-items:center}.site-stats-filter-link{max-width:26rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.8rem;text-align:inherit;vertical-align:bottom}.site-stats-cf{margin-left:0.4rem;font-size:0.7rem}.site-stats-warn{color:var(--rust);font-weight:800}.site-stats.is-loading{opacity:0.55;transition:opacity 0.15s}.review-actions .field{width:100%}.status-pending,.status-chip.status-pending{color:var(--gold-deep)}.status-approved,.status-chip.status-approved{color:var(--moss)}.status-denied,.status-chip.status-denied{color:var(--rust)}.status-chip{margin-left:0.4rem;font-weight:800}.contribution.is-denied,.contribution.is-pending{opacity:0.85}.deny-reason{margin:0.2rem 0 0;padding:0.25rem 0.5rem;border-radius:0.4rem;background:color-mix(in srgb,var(--rust) 8%,transparent)}.tp-map-up{margin-bottom:1rem}.milestone-chest{position:absolute;z-index:2;width:66px;height:60px}.milestone-text{position:absolute;right:calc(100% + 6px);top:50%;transform:translateY(-50%);display:grid;justify-items:end;gap:0.25rem;width:9.5rem;padding:0.3rem 0.5rem;border-radius:0.6rem;background:color-mix(in srgb,var(--paper) 88%,transparent);font-family:var(--font-display);text-align:right;line-height:1.2}.label-right .milestone-text{right:auto;left:calc(100% + 6px);justify-items:start;text-align:left}.label-below .milestone-text{z-index:3;top:calc(100% + 4px);right:auto;left:50%;transform:translateX(-50%);justify-items:center;text-align:center}.portal-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:0.6rem 1rem;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(6px)}.portal-head-text{min-width:0}.portal-head-title{font-size:clamp(1.2rem,2.4vw,1.6rem)}.portal-head-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-head-progress{display:grid;justify-items:end;gap:0.25rem;width:14rem}.portal-head-progress .row{width:100%;flex-wrap:nowrap}@media (max-width:720px){.portal-head{flex-wrap:wrap}.portal-head>.character{display:none}.portal-head-progress{width:100%;justify-items:start}}.tp-diag{--map-w:min(calc(100vw - 2rem),100rem);display:block;width:var(--map-w);margin-inline:calc((100% - var(--map-w)) / 2)}.portal-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem;margin-bottom:1rem;padding:1.5rem 1.6rem;background:radial-gradient(ellipse at 0% 0%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 60%),var(--paper);border-style:double;border-width:4px}.portal-intro-main{display:grid;gap:0.6rem;align-content:start}.portal-intro .lead{font-size:1.1rem;font-weight:700}.portal-intro-hunt{padding:0.6rem 0.8rem;border-left:4px solid var(--sea);border-radius:0.5rem;background:color-mix(in srgb,var(--sea) 8%,transparent)}.portal-intro-facts{color:var(--ink-soft)}.portal-intro-voices{display:grid;gap:1rem;align-content:start}.trail-voices{display:grid;gap:0.5rem}.voice{display:flex;align-items:center;gap:0.6rem;margin:0}.voice blockquote{margin:0;font-style:italic}.voice cite{display:block;font-style:normal}.voice{align-items:flex-start}.voice-info{position:relative;flex:none}.voice-info-btn{display:grid;place-items:center;width:1.4rem;height:1.4rem;padding:0;border:2px solid var(--sea);border-radius:50%;background:var(--paper);color:var(--sea);font:italic 700 0.8rem/1 Georgia,serif;cursor:help}.voice-tip{position:absolute;z-index:30;top:calc(100% + 0.4rem);right:0;width:16rem;padding:0.55rem 0.7rem;border:2px solid var(--sea);border-radius:0.6rem;background:var(--paper);color:var(--ink);box-shadow:0 8px 22px rgb(0 0 0 / 0.18);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity 0.15s,transform 0.15s,visibility 0.15s}.voice-info:hover .voice-tip,.voice-info-btn:focus-visible + .voice-tip{opacity:1;visibility:visible;transform:none}@media (max-width:820px){.portal-intro{grid-template-columns:1fr}}.tp-map-diag{overflow:clip;border-radius:1.2rem;background:radial-gradient(ellipse at 50% 50%,transparent 55%,color-mix(in srgb,var(--gold-deep) 12%,transparent)),color-mix(in srgb,var(--sand) 45%,transparent)}.tp-rhumb{stroke:var(--ink-soft);stroke-opacity:0.1;stroke-width:1}.tp-rhumb-minor{stroke-dasharray:2 6}.landmark{position:absolute;z-index:0;display:grid;justify-items:center;pointer-events:none;opacity:0.6}.landmark svg{width:100%;height:auto;overflow:visible}.lm-compass{width:120px;opacity:0.7}.landmark-label{font-family:var(--font-display);font-style:italic;font-size:0.85rem;color:var(--ink-soft)}.landmark .lm-line{fill:none;stroke:var(--ink-soft);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.landmark .lm-fill-sand.lm-line,.landmark .lm-fill-paper.lm-line,.landmark .lm-fill-wood.lm-line,.landmark .lm-fill-rock.lm-line{stroke:var(--ink-soft)}.landmark .lm-dash{stroke-dasharray:3 4}.landmark .lm-thick{stroke-width:3}.landmark .lm-fill-sand{fill:var(--sand)}.landmark .lm-fill-paper{fill:var(--paper)}.landmark .lm-fill-wood{fill:color-mix(in srgb,var(--gold-deep) 70%,var(--ink))}.landmark .lm-fill-rock{fill:color-mix(in srgb,var(--ink-soft) 45%,var(--sand))}.landmark .lm-fill-ink{fill:var(--ink)}.landmark .lm-fill-gold{fill:var(--gold)}.landmark .lm-fill-rust{fill:var(--rust)}.landmark .lm-fill-moss{fill:var(--moss)}.landmark .lm-trunk{fill:none;stroke:color-mix(in srgb,var(--gold-deep) 70%,var(--ink));stroke-width:5;stroke-linecap:round}.landmark .lm-serpent{fill:none;stroke:var(--sea);stroke-width:7;stroke-linecap:round}.landmark .lm-x{stroke:var(--rust);stroke-width:4;stroke-linecap:round}.landmark .lm-text{fill:var(--ink-soft);font-family:var(--font-display);font-size:14px;font-weight:700}.map-gate-label{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);white-space:nowrap;font-family:var(--font-display);font-size:0.85rem;color:var(--sea)}.map-col{min-width:0}.stop-bubble{display:grid;gap:0.6rem;margin-bottom:1rem;padding:1rem 1.1rem}.stop-bubble.is-floating{position:absolute;z-index:5;width:330px;margin:0;box-shadow:0 4px 0 0 var(--rope),0 14px 32px rgb(0 0 0 / 0.14);transition:left 0.55s cubic-bezier(0.45,0,0.25,1),top 0.55s cubic-bezier(0.45,0,0.25,1)}.stop-bubble .tp-panel>* + *{margin-top:0.6rem}.stop-bubble .tp-panel-head{gap:0.6rem}.tp-map-diag{margin:0}.tp-map-diag .stop{width:52px;height:52px}.tp-map-diag .stop-number{font-size:1.1rem}.tp-map-diag .map-gate{width:70px;height:70px}.tp-side .tp-panel{position:static}.tp-side{display:grid;gap:0.75rem}@media (min-width:1024px){.tp-side{position:sticky;top:calc(var(--head-h,7rem) + 1rem)}}.tp-panel-title{font-size:1.15rem;line-height:1.25}.guard-quote{font-size:0.85rem}.map-walker{position:absolute;z-index:4;pointer-events:none;transition:left 0.55s cubic-bezier(0.45,0,0.25,1),top 0.55s cubic-bezier(0.45,0,0.25,1);filter:drop-shadow(0 4px 6px rgb(0 0 0 / 0.2))}.map-walker.is-hopping .character{animation:walker-hop 0.55s ease-out}@keyframes walker-hop{40%{transform:translateY(-18px)}}.milestone-chest .chest{opacity:0.75}.milestone-chest .chest{transition:transform 0.2s,filter 0.2s}.milestone-chest.is-ready .chest{opacity:1;animation:chest-wiggle 1.8s ease-in-out infinite;filter:drop-shadow(0 0 10px rgb(205 148 44 / 0.7))}.milestone-chest.is-open .chest{opacity:1}.milestone-chest.is-open .chest .chest-coins,.milestone-chest.is-open .chest .chest-lid-open{display:inline}.milestone-chest.is-open .chest .chest-lid-closed{display:none}.milestone-chest.is-open .tiny{color:var(--moss);font-weight:800}@keyframes chest-wiggle{0%,100%{transform:rotate(0)}10%{transform:rotate(-4deg)}20%{transform:rotate(4deg)}30%{transform:rotate(0)}}.tp-seg-beyond{stroke-dasharray:2 10;opacity:0.8}.tp-seg-fade{stroke-dasharray:2 12;opacity:0.35}.map-beyond{position:absolute;z-index:3;display:grid;justify-items:center;gap:0.1rem;padding:0.5rem 0.8rem;border:2px dashed var(--rope);border-radius:999px;background:color-mix(in srgb,var(--paper) 85%,transparent);font-family:var(--font-display);text-align:center;transition:border-color 0.15s,transform 0.15s}.map-beyond:hover{border-color:var(--sea);transform:translateY(-2px)}.tp-diag.tp-window{display:block}.map-window{position:relative;height:min(78vh,46rem);border-radius:1.2rem;overflow:hidden;border:2px solid var(--rope);background:radial-gradient(ellipse at 50% 50%,transparent 55%,color-mix(in srgb,var(--gold-deep) 12%,transparent)),color-mix(in srgb,var(--sand) 45%,transparent)}.map-scroller{height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.map-window .tp-map-diag{background:none;border-radius:0}.stop-bubble.in-map.is-inside{position:absolute;z-index:6;top:1rem;right:1rem;width:320px;max-height:calc(100% - 2rem);overflow-y:auto;margin:0;box-shadow:0 4px 0 0 var(--rope),0 14px 32px rgb(0 0 0 / 0.16)}.map-window.is-narrow{height:calc(100vh - 4.5rem);height:calc(100svh - 4.5rem);min-height:20rem}.map-window.is-narrow .map-scroller{overscroll-behavior-y:auto}.map-window.is-narrow .stop-bubble.in-map{position:absolute;z-index:6;left:0;right:0;bottom:0;max-height:65%;overflow-y:auto;overscroll-behavior:contain;gap:0.45rem;margin:0;padding:0.35rem 0.9rem calc(0.8rem + env(safe-area-inset-bottom,0px));border-width:2px 0 0;border-radius:1rem 1rem 0 0;box-shadow:0 -10px 26px rgb(0 0 0 / 0.22)}.map-window.is-narrow .map-scroll{top:0.75rem;bottom:auto;left:0.6rem}.map-window.is-narrow .stop-bubble .guard-quote,.map-window.is-narrow .stop-bubble .tp-panel-head .character{display:none}.map-window.is-narrow .stop-bubble .tp-panel>* + *{margin-top:0.45rem}.map-window.is-narrow .stop-bubble .tp-panel-title{font-size:1.02rem}.map-window.is-narrow .stop-bubble .btn-gold,.map-window.is-narrow .stop-bubble .tp-panel>.btn-ghost{width:100%}.map-window.is-narrow .stop-bubble.is-folded .stop-extra,.map-window.is-narrow .stop-bubble.is-folded .tp-panel-head .row{display:none}.sheet-toggle{display:none}.map-window.is-narrow .sheet-toggle{display:block;justify-self:center;min-height:2rem;padding:0.3rem 0.9rem 0.1rem;border:0;background:none;color:var(--ink-soft);font:700 0.75rem var(--font-mono);letter-spacing:0.04em;cursor:pointer}.map-window.is-narrow .sheet-toggle::before{content:"";display:block;width:2.4rem;height:0.28rem;margin:0 auto 0.3rem;border-radius:999px;background:var(--rope)}@media (max-width:760px){.portal-head{position:static}}.stop-nav{justify-content:space-between}.cloud-bank{position:absolute;left:-20px;right:-20px;z-index:1;cursor:help;transition:opacity 0.6s}.cloud-bank::before{content:"";position:absolute;inset:8% 2%;border-radius:40%;background:var(--cloud);mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);filter:blur(6px)}.cloud-bank.is-clear{opacity:0;pointer-events:none}.cloud-bank.is-clearing{animation:clouds-clear 1.6s ease-in 0.4s forwards}.cloud-bank.is-clearing .cloud-puff:nth-child(odd){animation:cloud-out-left 1.6s ease-in 0.4s forwards}.cloud-bank.is-clearing .cloud-puff:nth-child(even){animation:cloud-out-right 1.6s ease-in 0.4s forwards}.cloud-summit{z-index:2;pointer-events:none}.cloud-bank.is-clearing{pointer-events:none}.cloud-puff{position:absolute;width:46%;height:46%;border-radius:50%;background:radial-gradient(circle at 30% 60%,var(--cloud) 0 30%,transparent 31%),radial-gradient(circle at 55% 40%,var(--cloud) 0 36%,transparent 37%),radial-gradient(circle at 75% 62%,var(--cloud) 0 28%,transparent 29%);filter:blur(1px);animation:cloud-drift 14s ease-in-out infinite alternate}@keyframes cloud-drift{to{transform:translateX(14px)}}@keyframes clouds-clear{to{opacity:0}}@keyframes cloud-out-left{to{transform:translateX(-90px) scale(1.15);opacity:0}}@keyframes cloud-out-right{to{transform:translateX(90px) scale(1.15);opacity:0}}.portal-fade{position:fixed;inset:0;z-index:1000;background:var(--deck);animation:portal-fade-in 0.15s ease-in both}@keyframes portal-fade-in{from{opacity:0}}html.portal-arriving body::after{content:"Opening the program portals…";position:fixed;inset:0;z-index:1000;display:grid;place-items:center;color:var(--on-dark);font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:0.03em;background-color:var(--deck);background-image:radial-gradient(circle,transparent 7.35rem,rgb(205 148 44 / 0.55) 7.4rem,rgb(205 148 44 / 0.55) 7.5rem,rgb(205 148 44 / 0.08) 7.55rem,transparent 8.5rem),radial-gradient(circle at 50% 50%,rgb(205 148 44 / 0.1),transparent 45%),linear-gradient(var(--grid-on-dark) 1px,transparent 1px),linear-gradient(90deg,var(--grid-on-dark) 1px,transparent 1px);background-size:auto,auto,36px 36px,36px 36px;background-position:center;animation:portal-settle 0.5s ease-out both;pointer-events:none}html.portal-arriving.portal-reveal body::after{animation:portal-reveal 0.55s cubic-bezier(0.45,0,0.25,1) forwards}html.portal-arriving.portal-reveal #app{animation:portal-page-in 0.55s ease-out both}@keyframes portal-settle{from{background-size:112%,auto,36px 36px,36px 36px;color:transparent}}@keyframes portal-reveal{to{opacity:0;background-size:160%,auto,36px 36px,36px 36px}}@keyframes portal-page-in{from{opacity:0.4;transform:translateY(10px)}}.bob{animation:bob 2.4s ease-in-out infinite}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pop{from{transform:scale(0.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%{transform:scale(1);opacity:0.9}100%{transform:scale(1.18);opacity:0}}@keyframes slide-in{from{transform:translateX(16px);opacity:0}to{transform:none;opacity:1}}.nav-icon{display:inline-grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:50%;background:rgb(246 241 230 / 0.1);color:var(--on-dark);font-size:1rem;line-height:1;cursor:pointer;transition:background 0.15s,transform 0.15s}.nav-icon:hover{background:rgb(246 241 230 / 0.2);transform:rotate(-12deg)}.avatar-settings{position:absolute;top:-6px;right:-10px;display:grid;place-items:center;width:2.1rem;height:2.1rem;border:2px solid var(--rope);border-bottom-width:3px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:1.05rem;cursor:pointer;transition:transform 0.2s}.avatar-settings:hover{transform:rotate(45deg);border-color:var(--sea)}.settings{width:min(46rem,calc(100vw - 2rem));max-height:min(42rem,calc(100vh - 2rem));padding:0;border:2px solid var(--rope);border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 6px 0 0 var(--rope),0 24px 60px rgb(0 0 0 / 0.35);overflow:hidden}.settings[open]{display:flex;flex-direction:column;animation:settings-in 0.25s cubic-bezier(0.34,1.3,0.64,1) both}.settings::backdrop{background:rgb(10 14 19 / 0.55);backdrop-filter:blur(2px)}@keyframes settings-in{from{opacity:0;transform:translateY(12px) scale(0.98)}}.settings-head{display:flex;align-items:center;justify-content:space-between;padding:0.9rem 1.25rem;background:var(--deck);color:var(--on-dark)}.settings-layout{display:grid;min-height:0;flex:1 1 auto}.settings.settings-fallback[open]{position:fixed;inset:0;z-index:1000;margin:auto}@media (min-width:640px){.settings-layout{grid-template-columns:11rem 1fr}}.settings-side{display:flex;flex-direction:column;background:var(--sand);border-right:2px solid var(--rope)}.settings-tabs{display:flex;flex-wrap:wrap;gap:0.25rem;padding:0.75rem}.settings-logout{margin:auto 0.75rem 0.75rem;border-top:2px dashed var(--rope);border-radius:0;padding-top:0.75rem;color:var(--rust)}.settings-logout:hover{color:var(--rust);background:color-mix(in srgb,var(--rust) 10%,transparent)}@media (min-width:640px){.settings-tabs{flex-direction:column;flex-wrap:nowrap}}.settings-tab{padding:0.5rem 0.75rem;border:0;border-radius:0.6rem;background:none;text-align:left;font-weight:800;font-size:0.85rem;color:var(--ink-soft);cursor:pointer}.settings-tab:hover{color:var(--ink)}.settings-tab[aria-selected="true"]{background:var(--paper);color:var(--ink);box-shadow:0 2px 0 0 var(--rope)}.settings-body{min-height:0;overflow-y:auto;padding:1.25rem}.settings-panel{animation:slide-in 0.2s ease-out}.settings-saved{min-height:1.2em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.theme-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:0.75rem;margin:0;padding:0;border:0}.theme-cards legend{margin-bottom:0.5rem}.theme-card{display:grid;gap:0.3rem;padding:0.6rem;border:2px solid var(--rope);border-bottom-width:4px;border-radius:0.9rem;background:var(--paper);cursor:pointer;transition:transform 0.12s,border-color 0.12s}.theme-card:hover{transform:translateY(-2px)}.theme-card:has(input:checked){border-color:var(--sea);box-shadow:0 0 0 3px color-mix(in srgb,var(--sea) 30%,transparent)}.theme-card:has(input:focus-visible){outline:3px solid var(--sea);outline-offset:2px}.theme-preview{position:relative;display:block;height:4.2rem;border-radius:0.55rem;overflow:hidden;border:1px solid rgb(0 0 0 / 0.15)}.tp-nav{position:absolute;inset:0 0 auto;height:0.9rem}.tp-card{position:absolute;left:0.6rem;right:1.8rem;top:1.4rem;height:2.2rem;border-radius:0.35rem}.tp-accent{position:absolute;right:0.5rem;bottom:0.6rem;width:0.9rem;height:0.9rem;border-radius:50%}.theme-card-light .theme-preview{background:#e9e1cf}.theme-card-light .tp-nav{background:#242f38}.theme-card-light .tp-card{background:#f6f1e6;box-shadow:0 2px 0 #ccbea0}.theme-card-light .tp-accent{background:#cd942c}.theme-card-dark .theme-preview{background:#0f151c radial-gradient(circle at 20% 10%,rgb(226 169 59 / 0.25),transparent 50%)}.theme-card-dark .tp-nav{background:#070a0e}.theme-card-dark .tp-card{background:#17202a;box-shadow:0 2px 0 #3a4757}.theme-card-dark .tp-accent{background:#4fb0c6;box-shadow:0 0 8px #4fb0c6}.theme-card-system .theme-preview{background:linear-gradient(110deg,#e9e1cf 50%,#0f151c 50%)}.theme-card-system .tp-nav{background:linear-gradient(110deg,#242f38 50%,#070a0e 50%)}.theme-card-system .tp-card{background:linear-gradient(110deg,#f6f1e6 50%,#17202a 50%)}.theme-card-system .tp-accent{background:linear-gradient(110deg,#cd942c 50%,#4fb0c6 50%)}.view-card-learning .theme-preview{background:#e9e1cf}.view-card-learning .tp-nav{background:#242f38}.view-card-learning .tp-card{background:#f6f1e6;box-shadow:0 2px 0 #ccbea0}.view-card-learning .tp-accent{background:#cd942c}.view-card-archive .theme-preview{background:#13142a}.view-card-archive .tp-nav{background:#101124;border-bottom:2px solid #8b8cf8}.view-card-archive .tp-card{background:#191a33;box-shadow:inset 0 0 0 1px #2f3158}.view-card-archive .tp-accent{background:#5eead4}.switch-row{position:relative;display:flex;align-items:center;gap:1rem;padding:0.65rem 0.8rem;border:2px solid var(--rope);border-radius:0.8rem;cursor:pointer}.switch-row .grow{display:grid}.switch-input{position:absolute;opacity:0;width:1px;height:1px}.switch{position:relative;flex-shrink:0;width:2.6rem;height:1.5rem;border-radius:999px;background:var(--sand);box-shadow:inset 0 0 0 2px var(--rope);transition:background 0.2s}.switch::after{content:"";position:absolute;top:3px;left:3px;width:calc(1.5rem - 6px);height:calc(1.5rem - 6px);border-radius:50%;background:var(--paper);box-shadow:0 1px 2px rgb(0 0 0 / 0.3);transition:transform 0.2s}.switch-input:checked + .switch{background:var(--moss);box-shadow:none}.switch-input:checked + .switch::after{transform:translateX(1.1rem)}.switch-input:focus-visible + .switch{outline:3px solid var(--sea);outline-offset:2px}:root[data-theme="dark"]{color-scheme:dark;--parchment:#0f151c;--sand:#1a232d;--paper:#17202a;--rope:#33404f;--ink:#ece4d0;--ink-soft:#a79f8d;--sea:#4fb0c6;--sea-deep:#2c8095;--deck:#070a0e;--gold:#e2a93b;--gold-deep:#a97a1c;--rust:#e46a50;--ember:#ec8c4f;--moss:#5bb575;--night:#121a23;--night-band:#18222d;--on-dark:#f3ecda;--on-accent:#08121a;--on-gold:#1a1408;--cloud:rgb(46 58 73 / 0.97);--page-glow:rgb(226 169 59 / 0.09);--page-vignette:rgb(79 176 198 / 0.08);--grid-line:rgb(79 176 198 / 0.045);--grid-on-dark:rgb(79 176 198 / 0.07);--stars:radial-gradient(1px 1px at 20px 30px,rgb(243 236 218 / 0.5),transparent),radial-gradient(1px 1px at 130px 80px,rgb(243 236 218 / 0.35),transparent),radial-gradient(1.5px 1.5px at 200px 160px,rgb(226 169 59 / 0.45),transparent),radial-gradient(1px 1px at 70px 200px,rgb(79 176 198 / 0.45),transparent);--heat-0:#1a232d;--heat-1:#1e4a35;--heat-2:#2a7048;--heat-3:#3c9e5e;--heat-4:#63d486}[data-theme="dark"] body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:var(--stars);background-size:240px 240px,310px 310px,370px 370px,190px 190px}[data-theme="dark"] .nav{background:linear-gradient(180deg,#0b1016,var(--deck));border-bottom-color:rgb(226 169 59 / 0.45);box-shadow:0 2px 18px rgb(226 169 59 / 0.08)}[data-theme="dark"] .card{background:linear-gradient(180deg,rgb(243 236 218 / 0.025),transparent 40%),var(--paper);box-shadow:0 4px 0 0 #0a0f14,inset 0 1px 0 rgb(226 169 59 / 0.08)}[data-theme="dark"] .card:hover{border-color:color-mix(in srgb,var(--sea) 45%,var(--rope))}[data-theme="dark"] .btn-sea:hover{box-shadow:0 0 18px rgb(79 176 198 / 0.35)}[data-theme="dark"] .btn-gold:hover,[data-theme="dark"] .cta:hover{box-shadow:0 0 22px rgb(226 169 59 / 0.35)}[data-theme="dark"] .title,[data-theme="dark"] h2{text-shadow:0 0 24px rgb(226 169 59 / 0.08)}[data-theme="dark"] .hero h1 em{color:var(--sea);text-shadow:0 0 18px rgb(79 176 198 / 0.35)}[data-theme="dark"] .field{background:#111921}[data-theme="dark"] .link{text-decoration-color:rgb(79 176 198 / 0.4)}[data-theme="dark"] .chip-sea{background:rgb(79 176 198 / 0.14)}[data-theme="dark"] .chip-gold{background:rgb(226 169 59 / 0.18);color:var(--gold)}[data-theme="dark"] .sev-low{background:rgb(79 176 198 / 0.14);box-shadow:inset 0 0 0 1px rgb(79 176 198 / 0.35)}[data-theme="dark"] .sev-none{background:rgb(236 228 208 / 0.08)}[data-theme="dark"] .bounty,[data-theme="dark"] .eyebrow{color:var(--gold)}[data-theme="dark"] .report-card.is-read{background:color-mix(in srgb,var(--paper) 70%,#000);border-color:rgb(91 181 117 / 0.4);box-shadow:0 4px 0 0 rgb(0 0 0 / 0.4)}[data-theme="dark"] .notes::after{background:linear-gradient(225deg,var(--parchment) 50%,var(--paper) 50%)}[data-theme="dark"] .portal-ring,[data-theme="dark"] .pcard-ring{box-shadow:0 0 0 3px #0a0f14,0 0 22px rgb(79 176 198 / 0.35)}[data-theme="dark"] .character{filter:drop-shadow(0 4px 10px rgb(0 0 0 / 0.35))}[data-theme="dark"] .program-icon img{background:#f3ecda}[data-theme="dark"] .avatar-stage{background:radial-gradient(circle at 50% 40%,rgb(226 169 59 / 0.12),transparent 70%),var(--sand)}[data-theme="dark"] .daily-ribbon{background:linear-gradient(90deg,#b88320,var(--gold));color:var(--on-gold)}[data-theme="dark"] .mission-toast,[data-theme="dark"] .crew-pop{border-color:rgb(226 169 59 / 0.5);box-shadow:0 6px 0 0 rgb(0 0 0 / 0.4),0 0 24px rgb(226 169 59 / 0.12)}[data-theme="dark"] .radar-panel{box-shadow:inset 0 0 0 1px rgb(79 176 198 / 0.12),0 4px 0 0 #05080b}.level-coin,.rating[aria-pressed="true"],.stop.is-read,.badge.is-earned .badge-icon{color:var(--on-gold)}[data-theme="dark"] ::selection{background:#1f5a68;color:#ffffff}.mode-toggle{display:inline-flex;align-items:center;gap:0.45rem;padding:0.2rem 0.3rem 0.2rem 0.7rem;border:1px solid rgb(246 241 230 / 0.22);border-radius:999px;background:rgb(246 241 230 / 0.06);color:rgb(246 241 230 / 0.85);font-size:0.8rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background 0.15s,border-color 0.15s}.mode-toggle:hover{background:rgb(246 241 230 / 0.14);border-color:rgb(246 241 230 / 0.45);color:var(--on-dark)}.mode-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.mode-toggle-track{position:relative;width:2rem;height:1.1rem;border-radius:999px;background:rgb(246 241 230 / 0.18);transition:background 0.25s}.mode-toggle-knob{position:absolute;top:0.15rem;left:0.15rem;width:0.8rem;height:0.8rem;border-radius:50%;background:var(--on-dark);transition:transform 0.25s cubic-bezier(0.4,0,0.2,1)}.mode-toggle[aria-checked="true"] .mode-toggle-track{background:#8b8cf8}.mode-toggle[aria-checked="true"] .mode-toggle-knob{transform:translateX(0.9rem)}@media (max-width:640px){.mode-toggle-text{display:none}.mode-toggle{padding-left:0.3rem}}html.mode-switching{--switch-bg:#242f38;--switch-ink:#f3ead6;--switch-accent:#e0b04a}html.mode-switching[data-switch-to="classic"]{--switch-bg:#13142a;--switch-ink:#e9e9f5;--switch-accent:#8b8cf8}html.mode-switching::after{content:attr(data-switch-label);position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:4.5rem 1rem 0;background:var(--switch-bg);color:var(--switch-ink);font:600 0.95rem/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-align:center}html.mode-switching::before{content:"";position:fixed;z-index:1001;top:calc(50% - 1.4rem);left:calc(50% - 1.1rem);box-sizing:border-box;width:2.2rem;height:2.2rem;border:3px solid rgb(255 255 255 / 0.15);border-top-color:var(--switch-accent);border-radius:50%;will-change:transform,opacity;animation:mode-spin 0.8s linear infinite,mode-screen-in 0.25s ease-out both}html.mode-switch-enter::after{animation:mode-screen-in 0.22s ease-out both}html.mode-switch-leaving::before{animation:mode-spin 0.8s linear infinite,mode-screen-out 0.14s ease-in both}html.mode-switch-reveal::after{animation:mode-screen-out 0.45s ease-in both}html.mode-switch-reveal::before{animation:mode-spin 0.8s linear infinite,mode-screen-out 0.3s ease-in both}@keyframes mode-screen-in{from{opacity:0}}@keyframes mode-screen-out{to{opacity:0}}@keyframes mode-spin{to{transform:rotate(360deg)}}.ui-icon{vertical-align:-0.18em}.nav-icon .ui-icon,.mission-toast-icon .ui-icon{vertical-align:middle}.badge-icon .ui-icon{display:block}.stars{display:inline-flex;gap:0.05rem}.stars-on{color:var(--gold)}.stars-on .ui-icon path{fill:currentColor}.program-icon .program-initial{font-size:inherit}@media (max-width:640px){html,body{overflow-x:clip}}@media (max-width:960px){.nav-inner{flex-wrap:wrap;gap:0.35rem 0.75rem;padding:0.4rem 0.75rem}.nav-right{gap:0.4rem}.nav-links{order:3;flex-basis:100%;gap:1.1rem;overflow-x:auto;scrollbar-width:none;padding-bottom:0.15rem;padding-right:1.5rem;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 2rem),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 2rem),transparent)}.nav-links::-webkit-scrollbar{display:none}.nav-right .btn.small{padding:0.3rem 0.6rem;font-size:0.78rem;white-space:nowrap}.nav .beta{display:none}.nav-right .nav-link{white-space:nowrap}}@media (max-width:640px){.owasp-tags{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.owasp-tags::-webkit-scrollbar{display:none}.owasp-tags>*{flex-shrink:0}}@media (pointer:coarse){.flag-btn,.nav-icon{width:2.75rem;height:2.75rem}.tag,.pager-num,.btn.small{min-height:2.5rem}.flag-btn{opacity:0.8}}.owasp-tags{align-items:center;gap:0.3rem;margin-top:0.6rem;padding:0.35rem 0.5rem;border:1px dashed color-mix(in srgb,var(--sea) 45%,var(--rope));border-radius:0.7rem;background:color-mix(in srgb,var(--sea) 6%,transparent)}.owasp-tags .tag-owasp{padding:0.1rem 0.5rem;border-width:1px 1px 2px;font-size:0.68rem}.owasp-tags:empty{display:none}.owasp-label{font-family:var(--font-mono);font-size:0.68rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--sea)}.tag-owasp{text-transform:none;border-color:color-mix(in srgb,var(--sea) 40%,var(--rope));color:var(--ink)}.tag-owasp b{color:var(--sea)}.tag-owasp[aria-pressed="true"]{background:var(--sea);border-color:var(--sea-deep);color:var(--on-accent)}.tag-owasp[aria-pressed="true"] b{color:inherit}.report-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.5rem 1rem}.meta-blocks{display:flex;flex-wrap:wrap;gap:0.45rem;margin:0.75rem 0 0!important}.meta-block{padding:0.35rem 0.7rem;border:1px solid var(--rope);border-radius:0.6rem;background:color-mix(in srgb,var(--paper) 70%,transparent);font-size:0.78rem}.meta-block dt{font-family:var(--font-mono);font-size:0.6rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft)}.meta-block dd{margin:0.1rem 0 0;overflow-wrap:anywhere}.meta-block.is-strong{border-color:color-mix(in srgb,var(--sea) 45%,var(--rope));background:color-mix(in srgb,var(--sea) 9%,var(--paper))}.meta-block.is-strong dd{font-size:0.95rem;font-weight:800}.read-area{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;padding:0.75rem 0}.read-area .read-row{margin:0!important;justify-content:flex-start}.read-area .read-row:empty{display:none}.rate-card .side-title{margin-bottom:0.5rem}.similar-panel .similar-list{grid-template-columns:1fr;gap:0}.similar-panel .similar-list>li + li{position:relative;padding-top:0.15rem}.similar-panel .similar-list>li + li::before{content:"";display:block;height:1px;margin:0.15rem 0.5rem 0.15rem;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink-soft) 45%,transparent),transparent)}.flag-btn{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;padding:0;border:0;border-radius:50%;background:none;color:var(--ink-soft);cursor:pointer;opacity:0.55;transition:opacity 0.15s,background 0.15s,color 0.15s}.post:hover .flag-btn,.flag-btn:focus-visible{opacity:1}.flag-btn:hover{background:color-mix(in srgb,var(--rust) 14%,transparent);color:var(--rust)}.flag-btn.is-flagged{opacity:1;color:var(--rust);cursor:default}.flag-btn.is-flagged .flag-cloth{fill:currentColor}.map-scroller{scrollbar-width:none}.map-scroller::-webkit-scrollbar{display:none}.map-scroll{position:absolute;z-index:7;left:0.9rem;bottom:0.9rem;display:grid;gap:0.4rem}.map-scroll-btn{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:2px solid var(--rope);border-radius:50%;background:color-mix(in srgb,var(--paper) 92%,transparent);color:var(--sea);box-shadow:0 3px 0 var(--rope),0 8px 18px rgb(0 0 0 / 0.12);cursor:pointer;transition:opacity 0.2s,transform 0.12s}.map-scroll-btn:hover{transform:translateY(-1px)}.map-scroll-btn:disabled{opacity:0.3;cursor:default;transform:none}.stop-bubble.in-map.is-inside{max-height:none;overflow:visible}:root[data-mode="archive"]{color-scheme:dark;--parchment:#13142a;--sand:#1c1d3a;--paper:#191a33;--rope:#2f3158;--ink:#e9e9f5;--ink-soft:#9a9cc0;--sea:#8b8cf8;--sea-deep:#6366d9;--deck:#101124;--gold:#5eead4;--gold-deep:#2fb8a3;--rust:#f2727f;--ember:#f59e5b;--moss:#4fd1a5;--brand-ink:#ffffff;--on-dark:#e9e9f5;--on-accent:#0f1024;--on-gold:#062420;--page-glow:transparent;--page-vignette:rgb(45 212 191 / 0.07);--grid-line:rgb(139 140 248 / 0.045);--stars:none;--font-display:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--radius:0.7rem}[data-mode="archive"] body{background-color:var(--parchment);background-image:radial-gradient(ellipse 60% 50% at 100% 100%,var(--page-vignette),transparent 70%),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px;background-attachment:fixed}[data-mode="archive"] body::before{display:none}[data-mode="archive"] .character,[data-mode="archive"] .tip,[data-mode="archive"] .programs-btn-ring{display:none!important}[data-mode="archive"] .nav{background:rgb(16 17 36 / 0.92);border-top:3px solid transparent;border-image:linear-gradient(90deg,#6366d9,#8b8cf8 40%,#2dd4bf) 1;border-bottom:0;box-shadow:0 1px 0 var(--rope);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}[data-mode="archive"] .brand-plain{font-size:1.15rem;letter-spacing:-0.01em}[data-mode="archive"] .brand-plain .brand-text{display:inline}[data-mode="archive"] .brand span{color:var(--sea)}[data-mode="archive"] .beta{border-width:1px;border-color:rgb(139 140 248 / 0.5);background:rgb(139 140 248 / 0.12);color:var(--sea)}[data-mode="archive"] .nav-link{color:rgb(235 231 243 / 0.65);font-weight:600}[data-mode="archive"] .nav-link:hover,[data-mode="archive"] .nav-link[aria-current="page"]{color:var(--ink)}[data-mode="archive"] .nav-link[aria-current="page"]{text-decoration:underline 2px var(--sea);text-underline-offset:0.45rem}[data-mode="archive"] .nav-user-plain{padding:0.2rem 0.75rem;background:rgb(139 140 248 / 0.1);font-weight:600}[data-mode="archive"] .mode-toggle{border-color:rgb(139 140 248 / 0.45);background:rgb(139 140 248 / 0.12);color:var(--ink)}[data-mode="archive"] .mode-toggle:hover{background:rgb(139 140 248 / 0.22)}[data-mode="archive"] .mode-toggle:focus-visible{outline-color:var(--sea)}[data-mode="archive"] .card{background:var(--paper);border:1px solid var(--rope);box-shadow:0 1px 2px rgb(0 0 0 / 0.3)}[data-mode="archive"] .card:hover{border-color:#474a80}[data-mode="archive"] .title,[data-mode="archive"] h2{text-shadow:none;letter-spacing:-0.015em}[data-mode="archive"] .eyebrow{color:var(--sea);letter-spacing:0.14em}[data-mode="archive"] .bounty{color:var(--gold)}[data-mode="archive"] .btn{border-bottom-width:0;border-radius:0.55rem;font-weight:600;letter-spacing:0}[data-mode="archive"] .btn:active{transform:none}[data-mode="archive"] .btn-sea,[data-mode="archive"] .btn-gold,[data-mode="archive"] .cta{border:1px solid var(--sea);background:rgb(139 140 248 / 0.16);color:var(--ink)}[data-mode="archive"] .btn-gold{border-color:var(--gold-deep);background:rgb(45 212 191 / 0.12);color:#b6f5ea}[data-mode="archive"] .btn-sea:hover,[data-mode="archive"] .btn-gold:hover,[data-mode="archive"] .cta:hover{filter:brightness(1.15);box-shadow:none}[data-mode="archive"] .btn-ghost{background:rgb(255 255 255 / 0.03);border:1px solid var(--rope)}[data-mode="archive"] .btn-ghost:hover{background:rgb(255 255 255 / 0.06);border-color:#474a80}[data-mode="archive"] .btn-done{background:rgb(79 197 138 / 0.12);border:1px solid rgb(79 197 138 / 0.5)}[data-mode="archive"] .field{background:#15162d;border-width:1px;border-radius:0.55rem}[data-mode="archive"] .field:focus{border-color:var(--sea);box-shadow:0 0 0 3px rgb(139 140 248 / 0.2)}[data-mode="archive"] .tag,[data-mode="archive"] .pager-num{background:rgb(255 255 255 / 0.03);border-width:1px}[data-mode="archive"] .tag{border-radius:0.45rem}[data-mode="archive"] .tag[aria-pressed="true"].tag-sea,[data-mode="archive"] .tag[aria-pressed="true"].tag-gold,[data-mode="archive"] .tag-owasp[aria-pressed="true"],[data-mode="archive"] .pager-num[aria-current="page"]{background:rgb(139 140 248 / 0.16);border-color:var(--sea);color:var(--ink)}[data-mode="archive"] .chip-sea{background:rgb(139 140 248 / 0.13);color:#b9baff}[data-mode="archive"] .chip-gold,[data-mode="archive"] .chip-sand{background:rgb(45 212 191 / 0.08);box-shadow:inset 0 0 0 1px rgb(45 212 191 / 0.4);color:#7ff0dc}[data-mode="archive"] .week-reads{border-color:rgb(45 212 191 / 0.45);background:rgb(45 212 191 / 0.08)}[data-mode="archive"] .owasp-tags{border-color:var(--rope);background:rgb(255 255 255 / 0.02)}[data-mode="archive"] .tag-owasp{border-color:var(--rope)}[data-mode="archive"] .tag-sev-low{--sev-dot:#7fb3d5}[data-mode="archive"] .tag-sev-medium{--sev-dot:#f5c451}[data-mode="archive"] .sev-medium{background:rgb(245 196 81 / 0.16);color:#f7d685}[data-mode="archive"] .sev-low{background:rgb(127 179 213 / 0.14);color:#9cc7e3;box-shadow:none}[data-mode="archive"] .report-card:hover{transform:none}[data-mode="archive"] .report-card.is-read{background:#15162b;border-color:rgb(79 197 138 / 0.3);box-shadow:none}[data-mode="archive"] .link{color:#a9aaff;text-decoration-color:rgb(139 140 248 / 0.4)}[data-mode="archive"] .settings-tab[aria-selected="true"]{background:rgb(139 140 248 / 0.16)}[data-mode="archive"] ::selection{background:#3d3f93;color:#ffffff}:root[data-theme="retro"]{color-scheme:light;--parchment:#c0c0c0;--sand:#d4d0c8;--paper:#d4d0c8;--rope:#808080;--ink:#000000;--ink-soft:#3a3a3a;--sea:#000080;--sea-deep:#00004a;--deck:#000080;--gold:#d4a017;--gold-deep:#6b5000;--rust:#c00000;--ember:#c85a00;--moss:#007000;--brand:#000080;--brand-ink:#ffffff;--on-dark:#ffffff;--on-accent:#ffffff;--on-gold:#000000;--page-glow:transparent;--page-vignette:transparent;--grid-line:transparent;--stars:none;--cloud:rgb(212 208 200 / 0.97);--font-display:"Times New Roman",Times,serif;--font-body:"Times New Roman",Times,serif;--font-mono:"Courier New",Courier,monospace;--font-ui:Tahoma,Verdana,"MS Sans Serif",Geneva,sans-serif;--radius:0;--bevel-out:inset -1px -1px #404040,inset 1px 1px #ffffff,inset -2px -2px #808080,inset 2px 2px #dfdfdf;--bevel-in:inset -1px -1px #ffffff,inset 1px 1px #404040,inset -2px -2px #dfdfdf,inset 2px 2px #808080;--titlebar:linear-gradient(90deg,#000080,#1084d0)}[data-theme="retro"] body{background-color:var(--parchment);background-image:conic-gradient(#bababa 25%,transparent 0 50%,#bababa 0 75%,transparent 0);background-size:4px 4px;font-size:1.05rem}[data-theme="retro"] ::selection{background:#000080;color:#ffffff}[data-theme="retro"] .nav{background:var(--titlebar);border-bottom:2px solid #404040;box-shadow:inset 0 -1px 0 #808080}[data-theme="retro"] .brand{font-family:var(--font-ui)}[data-theme="retro"] .brand span{color:#ffff00}[data-theme="retro"] .beta{border-radius:0;border-color:#ffffff;color:#ffffff;background:none}[data-theme="retro"] .nav-link{font-family:var(--font-ui);font-weight:700;color:#dfe6ff}[data-theme="retro"] .nav-link[aria-current="page"]{color:#ffffff;text-decoration:underline;text-underline-offset:3px}[data-theme="retro"] .nav-icon,[data-theme="retro"] .nav-user,[data-theme="retro"] .mode-toggle{border:0;border-radius:0;background:#c0c0c0;color:#000000;box-shadow:var(--bevel-out);font-family:var(--font-ui)}[data-theme="retro"] .nav-icon:hover{transform:none;background:#c0c0c0}[data-theme="retro"] .nav-icon:active{box-shadow:var(--bevel-in)}[data-theme="retro"] .mode-toggle-track,[data-theme="retro"] .mode-toggle-knob{border-radius:0}[data-theme="retro"] .mode-toggle-track{background:#ffffff;box-shadow:var(--bevel-in)}[data-theme="retro"] .mode-toggle-knob{background:#c0c0c0;box-shadow:var(--bevel-out)}[data-theme="retro"] .card,[data-theme="retro"] .filter-panel{border:0;border-radius:0;background:var(--paper);box-shadow:var(--bevel-out)}[data-theme="retro"] .card:hover{border-color:transparent}[data-theme="retro"] .report-card{padding:0.85rem 1rem}[data-theme="retro"] .report-card:hover{transform:none;background:#e2dfd8;box-shadow:var(--bevel-out)}[data-theme="retro"] .report-card .report-title{color:#0000ee;text-decoration:underline;text-underline-offset:2px}[data-theme="retro"] .report-card.is-read{background:#c8c4bc;box-shadow:var(--bevel-out)}[data-theme="retro"] .report-card.is-read .report-title{color:#551a8b}[data-theme="retro"] .title,[data-theme="retro"] h2{font-weight:700;letter-spacing:0;text-shadow:none}[data-theme="retro"] .eyebrow,[data-theme="retro"] .filter-label,[data-theme="retro"] .owasp-label{color:#800000;letter-spacing:0.08em}[data-theme="retro"] .bounty{color:#006400}[data-theme="retro"] .link,[data-theme="retro"] .btn-link{color:#0000ee;font-weight:400;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:2px}[data-theme="retro"] .link:visited{color:#551a8b}[data-theme="retro"] .link:active{color:#ff0000}[data-theme="retro"] .btn,[data-theme="retro"] .btn-dev{border:0;border-radius:0;padding:0.4rem 0.95rem;background:#c0c0c0;color:#000000;font-family:var(--font-ui);font-weight:400;letter-spacing:0;box-shadow:var(--bevel-out);transition:none;animation:none;filter:none}[data-theme="retro"] .btn:hover{background:#c8c8c8;filter:none}[data-theme="retro"] .btn:active{border:0;box-shadow:var(--bevel-in);transform:translate(1px,1px)}[data-theme="retro"] .btn-sea,[data-theme="retro"] .btn-gold,[data-theme="retro"] .cta{font-weight:700;box-shadow:0 0 0 1px #000000,var(--bevel-out)}[data-theme="retro"] .btn-sea:hover,[data-theme="retro"] .btn-gold:hover,[data-theme="retro"] .cta:hover{box-shadow:0 0 0 1px #000000,var(--bevel-out)}[data-theme="retro"] .btn:focus-visible{outline:1px dotted #000000;outline-offset:-5px}[data-theme="retro"] .btn-done{color:#006400}[data-theme="retro"] .field,[data-theme="retro"] .type-search{border:0;border-radius:0;background:#ffffff;box-shadow:var(--bevel-in);font-family:var(--font-ui);color:#000000}[data-theme="retro"] .field:focus,[data-theme="retro"] .type-search:focus-within{outline:1px dotted #000000;outline-offset:-4px;box-shadow:var(--bevel-in);background:#ffffff}[data-theme="retro"] .field:disabled{background:#d4d0c8;color:#6d6d6d}[data-theme="retro"] .tag,[data-theme="retro"] .filter-panel .tag,[data-theme="retro"] .owasp-tags .tag-owasp,[data-theme="retro"] .pager-num,[data-theme="retro"] .seg,[data-theme="retro"] .settings-tab{border:0;border-radius:0;background:#c0c0c0;color:#000000;font-family:var(--font-ui);box-shadow:var(--bevel-out);transition:none}[data-theme="retro"] .filter-panel .tag:hover,[data-theme="retro"] .pager-num:hover{transform:none}[data-theme="retro"] .tag[aria-pressed="true"],[data-theme="retro"] .tag-owasp[aria-pressed="true"],[data-theme="retro"] .pager-num[aria-current="page"],[data-theme="retro"] .seg[aria-pressed="true"],[data-theme="retro"] .settings-tab[aria-selected="true"]{background:#000080;color:#ffffff;box-shadow:var(--bevel-in)}[data-theme="retro"] .tag-owasp b{color:#800000}[data-theme="retro"] .tag-owasp[aria-pressed="true"] b{color:#ffff00}[data-theme="retro"] .owasp-tags{border:2px groove #f4f4f4;border-radius:0;background:none}[data-theme="retro"] .filter-group{border-top:2px groove #f4f4f4}[data-theme="retro"] .segmented{border-radius:0;background:#c0c0c0;box-shadow:var(--bevel-in);gap:3px}[data-theme="retro"] .week-reads{border-radius:0;border:0;background:#ffffff;box-shadow:var(--bevel-in);font-family:var(--font-ui);color:#000000}[data-theme="retro"] .chip{border-radius:0;font-family:var(--font-ui)}[data-theme="retro"] .chip-sea{background:#000080;color:#ffffff}[data-theme="retro"] .chip-gold{background:#ffff99;color:#000000;box-shadow:inset 0 0 0 1px #808000}[data-theme="retro"] .chip-sand{background:#c0c0c0;color:#000000;box-shadow:inset 0 0 0 1px #808080}[data-theme="retro"] .chip-read{background:#008000;color:#ffffff}[data-theme="retro"] .sev-medium{background:#ffcc00;color:#000000}[data-theme="retro"] .sev-low{background:#008080;color:#ffffff;box-shadow:none}[data-theme="retro"] .sev-none{background:#808080;color:#ffffff}[data-theme="retro"] .settings{border:0;border-radius:0;background:#c0c0c0;box-shadow:var(--bevel-out),6px 6px 0 rgb(0 0 0 / 0.35)}[data-theme="retro"] .settings::backdrop{backdrop-filter:none;background:rgb(0 0 0 / 0.35)}[data-theme="retro"] .settings-head{margin:3px 3px 0;padding:0.35rem 0.5rem 0.35rem 0.75rem;background:var(--titlebar);font-family:var(--font-ui)}[data-theme="retro"] .settings-head h2{font-family:var(--font-ui);font-size:1rem}[data-theme="retro"] .settings-side{background:#c0c0c0;border-right:2px groove #f4f4f4}[data-theme="retro"] .settings-logout{box-shadow:none;border-top:2px groove #f4f4f4;background:none;color:#c00000}[data-theme="retro"] .theme-card,[data-theme="retro"] .switch-row{border:0;border-radius:0;background:#d4d0c8;box-shadow:var(--bevel-out)}[data-theme="retro"] .theme-card:hover{transform:none}[data-theme="retro"] .theme-card:has(input:checked){box-shadow:0 0 0 2px #000080,var(--bevel-out)}[data-theme="retro"] .theme-preview{border-radius:0}[data-theme="retro"] .site-footer{border-top:2px groove #f4f4f4;background:none}.theme-card-retro .theme-preview{background:#c0c0c0;border-radius:0}.theme-card-retro .tp-nav{background:linear-gradient(90deg,#000080,#1084d0)}.theme-card-retro .tp-card{border-radius:0;background:#d4d0c8;box-shadow:inset -1px -1px #404040,inset 1px 1px #ffffff,inset -2px -2px #808080,inset 2px 2px #dfdfdf}.theme-card-retro .tp-accent{border-radius:0;background:#0000ee}:root[data-motion="reduced"] *,:root[data-motion="reduced"] *::before,:root[data-motion="reduced"] *::after{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion="full"]) *,:root:not([data-motion="full"]) *::before,:root:not([data-motion="full"]) *::after{animation:none!important;transition:none!important}}@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--sea) 42%,transparent) padding-box}::-webkit-scrollbar-thumb:hover{border-width:2px;background-color:color-mix(in srgb,var(--sea) 70%,transparent)}::-webkit-scrollbar-thumb:active{background-color:var(--sea)}::-webkit-scrollbar-corner{background:transparent}}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--sea) 50%,transparent) transparent}}.report-card .grow,.carousel-track{min-width:0}.report-title,.report-head .title{overflow-wrap:anywhere}@media (max-width:640px){.container{padding-inline:1rem}.filters input[type="search"]{min-width:0;flex-basis:100%}.sort-select{flex:1}.filter-body>.tags{flex-wrap:nowrap;overflow-x:auto;padding-bottom:0.2rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-body>.tags::-webkit-scrollbar{display:none}.filter-body>.tags>*{flex-shrink:0;white-space:nowrap}.report-card{gap:0.7rem;padding:0.65rem 0.75rem}.report-card>.character{width:44px;height:44px;flex-shrink:0}.report-title{font-size:1rem}.pager-bar{flex-wrap:wrap;justify-content:center}.pager{flex-wrap:wrap;justify-content:center}.key-fact:last-child:nth-child(odd){grid-column:1 / -1}.report-head .title{font-size:1.6rem}.carousel-arrow{width:2.2rem;height:2.2rem;font-size:1.2rem}.carousel-track{padding-inline:28%}dialog.settings{width:calc(100vw - 1rem);max-width:none;height:calc(100vh - 1rem);height:calc(100dvh - 1rem);max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem)}dialog.settings .settings-layout{flex:1 1 auto;grid-template-rows:auto minmax(0,1fr)}dialog.settings .settings-side{border-right:0;border-bottom:2px solid var(--rope)}dialog.settings .settings-logout{margin-top:0}}.back-to-top{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:50;display:grid;place-items:center;width:3rem;height:3rem;border:2px solid var(--sea-deep);border-bottom-width:4px;border-radius:50%;background:var(--sea);color:var(--on-accent);font-size:1rem;box-shadow:0 8px 22px rgb(0 0 0 / 0.25);cursor:pointer;opacity:0;transform:translateY(1rem) scale(0.9);pointer-events:none;transition:opacity 0.25s ease,transform 0.25s ease}.back-to-top.is-shown{opacity:1;transform:none;pointer-events:auto}.back-to-top:hover{transform:translateY(-2px)}.back-to-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.carousel-track{scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.carousel-scrubber{--fill:0%;appearance:none;-webkit-appearance:none;display:block;width:min(100%,34rem);height:1.75rem;margin:0.25rem auto 0;background:transparent;cursor:grab}.carousel-scrubber:active{cursor:grabbing}.carousel-scrubber::-webkit-slider-runnable-track{height:0.5rem;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--sea) 55%,transparent) var(--fill),color-mix(in srgb,var(--rope) 70%,transparent) var(--fill))}.carousel-scrubber::-moz-range-track{height:0.5rem;border-radius:999px;background:color-mix(in srgb,var(--rope) 70%,transparent)}.carousel-scrubber::-moz-range-progress{height:0.5rem;border-radius:999px;background:color-mix(in srgb,var(--sea) 55%,transparent)}.carousel-scrubber::-webkit-slider-thumb{-webkit-appearance:none;width:3.5rem;height:1.4rem;margin-top:-0.45rem;border:2px solid var(--sea-deep);border-radius:999px;background:var(--sea);box-shadow:0 3px 0 var(--sea-deep),0 6px 14px rgb(0 0 0 / 0.25);transition:transform 0.15s}.carousel-scrubber::-moz-range-thumb{width:3.5rem;height:1.4rem;border:2px solid var(--sea-deep);border-radius:999px;background:var(--sea);box-shadow:0 3px 0 var(--sea-deep)}.carousel-scrubber:hover::-webkit-slider-thumb,.carousel-scrubber:active::-webkit-slider-thumb{transform:scaleY(1.1)}.carousel-scrubber:focus-visible{outline:none}.carousel-scrubber:focus-visible::-webkit-slider-thumb{outline:3px solid var(--gold);outline-offset:2px}.staff-grid-url{grid-template-columns:minmax(8rem,0.35fr) 1fr}.form-warning{margin:0;padding:0.55rem 0.75rem;border:1px solid color-mix(in srgb,var(--ember) 55%,transparent);border-radius:0.6rem;background:color-mix(in srgb,var(--ember) 10%,transparent)}.form-extras{display:grid;gap:0.75rem;margin:0;border-top:1px dashed var(--rope);padding-top:0.5rem}.form-extras>summary{cursor:pointer;font-weight:700;color:var(--ink-soft);padding:0.3rem 0}.form-extras[open]>summary{margin-bottom:0.5rem}.picker{position:relative}.picker-list{position:absolute;z-index:5;inset:calc(100% + 0.25rem) 0 auto;max-height:15rem;overflow-y:auto;margin:0;padding:0.3rem;list-style:none;border:2px solid var(--rope);border-radius:0.7rem;background:var(--paper);box-shadow:0 12px 28px rgb(0 0 0 / 0.22)}.picker-option{display:flex;justify-content:space-between;gap:0.75rem;padding:0.45rem 0.6rem;border-radius:0.45rem;cursor:pointer}.picker-option:hover,.picker-option.is-active{background:color-mix(in srgb,var(--sea) 14%,transparent)}.picker-option[aria-selected="true"]{font-weight:700;color:var(--sea)}.picker-empty{padding:0.45rem 0.6rem}@media (max-width:640px){.staff-grid-url{grid-template-columns:1fr}}.removed-card{text-align:center}.removed-card>.character{display:block;margin-inline:auto}.removed-card .title{margin:0}.deleted-label{font-style:italic}.site-footer{margin-top:3rem;border-top:1px solid color-mix(in srgb,var(--rope) 70%,transparent);background:color-mix(in srgb,var(--deck) 6%,transparent)}.site-footer-inner{display:grid;gap:0.3rem;padding-block:1.25rem 1.5rem;text-align:center}.site-footer p{margin:0;max-width:46rem;margin-inline:auto}.sk{display:block;border-radius:0.5rem;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,currentColor 7%,transparent) 50%,transparent 70%) 0 0 / 200% 100%,color-mix(in srgb,currentColor 9%,transparent);animation:sk-shimmer 1.5s ease-in-out infinite}@keyframes sk-shimmer{from{background-position:150% 0,0 0}to{background-position:-50% 0,0 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.sk-line{height:0.8rem;width:100%}.sk-line + .sk-line{margin-top:0.55rem}.sk-title{height:2rem;width:min(22rem,70%);border-radius:0.6rem}.sk-chip{display:inline-block;height:1.6rem;width:5.5rem;border-radius:999px}.sk-btn{height:2.5rem;width:9rem;border-radius:0.8rem}.sk-field{height:2.6rem;border-radius:0.7rem}.sk-circle{border-radius:50%;flex:none}.sk-w30{width:30%}.sk-w45{width:45%}.sk-w60{width:60%}.sk-w75{width:75%}.sk-w90{width:90%}.sk-card{padding:1.1rem 1.25rem}.sk-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.6rem}.sk-row.sk-spread{justify-content:space-between}.sk-stack{display:grid;gap:1rem}.sk-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr))}.sk-tiles{display:grid;gap:0.75rem;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.sk-tile{height:4.5rem;border-radius:0.8rem}.sk-block{height:12rem;border-radius:0.9rem}.sk-tall{height:60vh;border-radius:1rem}.sk-block-tall{height:26rem}.sk-avatar{width:6rem;height:6rem}.sk-grow{flex:1 1 14rem}.sk-hero{max-width:40rem;padding:1.5rem 0}.sk-grid-small{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr))}.sk-tile-tall{height:9rem}.sk-text{display:inline-block;height:0.78em;vertical-align:top;margin-block:calc((1lh - 0.78em) / 2);border-radius:0.3em}.sk-text:not([class*="sk-w"]){width:70%}.sk-w15{width:15%}.sk-w20{width:20%}.sk-w40{width:40%}.sk-w50{width:50%}.sk-w85{width:85%}.sk-w100{width:100%}.sk-wd{--n:5;display:inline-block;width:calc(var(--n) * var(--sk-glyph,0.47em));height:0.78em;vertical-align:top;margin-block:calc((1lh - 0.78em) / 2);border-radius:0.25em}.mono .sk-wd,.mono.sk-wd{--sk-glyph:0.6em}.eyebrow .sk-wd{--sk-glyph:0.82em}.sk-wd11{--n:11}.sk-wd12{--n:12}.sk-wd13{--n:13}.sk-wd14{--n:14}.sk-wd2{--n:2}.sk-wd3{--n:3}.sk-wd4{--n:4}.sk-wd5{--n:5}.sk-wd6{--n:6}.sk-wd7{--n:7}.sk-wd8{--n:8}.sk-wd9{--n:9}.sk-wd10{--n:10}.sk-word{display:inline-block;height:0.78em;width:4.5em;vertical-align:top;margin-block:calc((1lh - 0.78em) / 2);border-radius:0.3em}.sk-word.sk-short{width:2.5em}.sk-word.sk-long{width:8em}.sk-sq-40{width:40px;height:40px}.sk-sq-48{width:48px;height:48px}.sk-sq-64{width:64px;height:64px}.sk-sq-72{width:72px;height:72px;border-radius:1rem}.sk-sq-88{width:88px;height:88px}.sk-sq-104{width:104px;height:104px}.sk-sq-120{width:120px;height:120px}.sk-sq-150{width:150px;height:150px}.sk-sq-56{width:56px;height:56px}.sk-sq-84{width:84px;height:84px}.portal-facts:has(.sk-wd){min-height:2.125rem}.sk-sq-96{width:96px;height:96px}.sk-sq-130{width:130px;height:130px}.sk-filter-search{flex:1 1 16rem}.sk-filter-sort{flex:0 1 17rem}.sk-ask{height:5.5rem}.sk-grow-bar{flex:1;width:auto}.sk-chart-tall{height:22rem}.report-card>.sk-char{align-self:center}.grow:has(.sk-text){align-self:stretch;min-width:10rem}.bubble:has(.sk){flex:0 1 28rem;min-width:0}.sk-sq-18{width:18px;height:18px}.sk-sq-24{width:24px;height:24px}.sk-sq-44{width:44px;height:44px}.sk-char{border-radius:50%;flex:none}[data-mode="archive"] .sk-char{display:none}.sk-btn-sm{height:2.35rem;width:8rem;border-radius:0.75rem;display:inline-block}.sk-btn-cta{height:4.75rem;width:15rem;border-radius:1rem;display:inline-block}.sk-tagbar{height:1.7rem;width:6rem;border-radius:999px;display:inline-block}.sk-tagbar.sk-owasp{height:1.3rem}.sk-tagbar.sk-short{width:3.6rem}.sk-tagbar.sk-long{width:10rem}.sk-r30{width:3rem}.sk-r35{width:3.5rem}.sk-r40{width:4rem}.sk-r45{width:4.5rem}.sk-r50{width:5rem}.sk-r55{width:5.5rem}.sk-r60{width:6rem}.sk-r65{width:6.5rem}.sk-r70{width:7rem}.sk-r75{width:7.5rem}.sk-r80{width:8rem}.sk-r85{width:8.5rem}.sk-r90{width:9rem}.sk-r95{width:9.5rem}.sk-r100{width:10rem}.sk-r105{width:10.5rem}.sk-r110{width:11rem}.sk-r115{width:11.5rem}.sk-r120{width:12rem}.sk-r125{width:12.5rem}.sk-r130{width:13rem}.sk-r135{width:13.5rem}.sk-r140{width:14rem}.sk-r145{width:14.5rem}.sk-r150{width:15rem}.sk-r155{width:15.5rem}.sk-r160{width:16rem}.sk-r165{width:16.5rem}.sk-chipbar{height:1.2rem;width:3.6rem;border-radius:999px;display:inline-block}.sk-pager{height:2.1rem;width:2.1rem;border-radius:0.6rem;display:inline-block}.sk-input{height:2.75rem;width:100%;border-radius:0.7rem;display:block}.sk-range{height:0.6rem;width:100%;border-radius:999px;display:block;margin-block:0.7rem}.sk-round-btn{width:42px;height:42px;border-radius:50%;flex:none}.sk-fill{width:100%;height:100%;min-height:inherit;border-radius:inherit}.sk-chart{height:14rem;border-radius:0.9rem}.sk-map{height:75vh;border-radius:1rem}.sk-page{animation:sk-appear 0.25s ease-out 0.12s both}@keyframes sk-appear{from{opacity:0}}.nav-inner.sk-nav{min-height:3.1rem}.sk-nav .sk{height:0.9rem;width:4.5rem}.sk-nav .sk-brand{height:1.6rem;width:8rem}.sk-nav .sk-push{margin-left:auto;width:6rem}.sk-report{display:grid;gap:1.5rem;grid-template-columns:17rem minmax(0,1fr) 17rem;align-items:start}@media (max-width:1179px){.sk-report{grid-template-columns:minmax(0,1fr)}.sk-report>.sk-side{display:none}}.sk-list{display:grid;gap:0.75rem}.sk-report-card{display:grid;gap:0.6rem;padding:0.9rem 1rem}.sk-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}html:not(.page-ready) .site-footer{display:none}.footer-groups{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0.5rem 0;margin:0.9rem auto 0.2rem;padding-top:0.9rem;border-top:1px dashed color-mix(in srgb,var(--rope) 70%,transparent);width:min(100%,60rem)}.footer-group{display:flex;align-items:baseline;gap:0.6rem;padding:0 0.9rem}.footer-group + .footer-group{border-left:1px solid color-mix(in srgb,var(--rope) 80%,transparent)}.footer-group-title{font-family:var(--font-display);font-size:0.75rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-soft)}.footer-group ul{display:flex;flex-wrap:wrap;gap:0.2rem 0.85rem;margin:0;padding:0;list-style:none;font-size:0.9rem}@media (max-width:640px){.footer-group{padding:0 0.75rem}.footer-group + .footer-group{border-left:0}}.consents{margin:0.9rem 0 0.6rem;padding:0.85rem 1rem;border:1px solid var(--rope);border-left:3px solid var(--sea);border-radius:12px;background:color-mix(in srgb,var(--paper) 70%,transparent)}.consent{display:flex;align-items:flex-start;gap:0.65rem;cursor:pointer;font-size:0.95rem;font-weight:600;line-height:1.45;color:var(--ink)}.consent a{font-weight:800;text-decoration:underline;text-underline-offset:2px}.consent b{font-weight:800}.consent input{flex:none;width:1.15rem;height:1.15rem;margin-top:0.1rem;accent-color:var(--sea);cursor:pointer}.callout-gold{padding:0.6rem 0.8rem;border-left:3px solid var(--gold);border-radius:8px;background:color-mix(in srgb,var(--gold) 12%,transparent)}.legal-list{padding-left:1.2rem}.prose-page [id^="s"]{scroll-margin-top:5rem}.prose-page{max-width:46rem;margin-inline:auto}.prose-page h2{margin:0.4rem 0 0;font-size:1.15rem}.prose-page ul{margin:0;padding-left:1.2rem}.stack-tight{display:grid;gap:0.35rem}.chip-moss{background:color-mix(in srgb,var(--moss) 22%,transparent);color:var(--moss)}.chip-rust{background:color-mix(in srgb,var(--rust) 18%,transparent);color:var(--rust)}.copy-email{padding:0.1rem 0.6rem}.removal-link{margin:0.5rem 0 0;text-align:right}.author-deleted{font-style:italic}
