:root{color-scheme:dark;--ink: #f2f2f2;--muted: #a3a3a3;--faint: #737373;--bg: #000000;--bg-2: #070707;--card: #0a0a0a;--line: #1a1a1a;--gold: #f2f2f2;--gold-dim: #8a8a8a;--link: #9ec1ff;--good: #9dcfb0;--have: #f2f2f2;font-family:"Source Sans 3",Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}html{background:#000}body{position:relative;margin:0;min-height:100vh;background:#000}.sky{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;pointer-events:none;background:#010206}.galaxy{position:absolute;left:0;width:100%;background:#010206 var(--sky-image) center top / 100% 100% no-repeat}.stars{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.45;background:var(--stars-image) left top / 480px 480px repeat}.sky-dim{position:fixed;inset:0;z-index:0;pointer-events:none;background:#00000047}.moons{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.moon{position:absolute;z-index:0;border-radius:50%;background:var(--moon-image) center / 128% no-repeat;opacity:.7}.moon-large{width:68px;height:68px;right:4%;top:16%;filter:grayscale(.4) brightness(.62) contrast(1.08) drop-shadow(0 0 6px rgba(210,220,240,.45)) drop-shadow(0 0 16px rgba(150,170,210,.28))}.moon-small{width:26px;height:26px;right:16%;top:5%;filter:sepia(1) hue-rotate(168deg) saturate(1.4) brightness(.62) contrast(1.05) drop-shadow(0 0 5px rgba(160,200,255,.4)) drop-shadow(0 0 12px rgba(80,130,210,.25))}.moon-medium{width:11px;height:11px;right:10%;top:28%;filter:sepia(.9) saturate(1.4) brightness(.65) hue-rotate(8deg) drop-shadow(0 0 4px rgba(230,190,120,.4))}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--link)}.page{position:relative;z-index:1;width:min(1120px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px;text-shadow:0 1px 2px #000}.mast h1{margin:0;font-size:clamp(36px,5vw,48px);font-weight:700;letter-spacing:-.04em;line-height:1}.kicker{margin:0 0 6px;color:var(--faint);font-size:14px;font-weight:600}.nav-row{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:8px 28px;margin-top:22px;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:22px}.tab{display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-size:15px;font-weight:650;padding:10px 0 12px;margin-bottom:-1px}.tab svg{width:16px;height:16px}.tab.active{color:var(--ink);border-bottom-color:var(--gold)}.outside{display:flex;flex-wrap:wrap;gap:8px 16px;padding-bottom:12px}.outside a{color:var(--link);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.outside a:hover{color:var(--gold)}.desk{padding-top:28px}.desk-copy,.class-list,.pane,.skill-note,.market section,.bag,.numbers,.card:not(.row){position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(142,182,255,.34);border-radius:16px;background:linear-gradient(165deg,rgba(255,255,255,.14),rgba(255,255,255,.03) 22%,transparent 42%),linear-gradient(180deg,#080c16b8,#03050ad6);box-shadow:inset 0 1px #ffffff47,inset 0 -18px 28px #5078ff0d,0 14px 32px #00000059;-webkit-backdrop-filter:blur(16px) saturate(1.45);backdrop-filter:blur(16px) saturate(1.45);padding:16px 18px}.desk-copy:before,.class-list:before,.pane:before,.skill-note:before,.market section:before,.bag:before,.numbers:before,.card:not(.row):before{content:"";position:absolute;inset:0 0 auto;height:46%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent);pointer-events:none}.pane-blue{border-color:#8eb6ff80;box-shadow:inset 0 1px #bed6ff59,0 14px 32px #00000059}.pane-violet{border-color:#ba8ce680}.pane-green{border-color:#7dcea080}.pane-gold{border-color:#e6d38a80}.skill-note:nth-child(3n){border-color:#ba8ce67a}.skill-note:nth-child(3n+1){border-color:#7dcea07a}.skill-note:nth-child(3n+2){border-color:#8eb6ff7a}.market section:nth-child(1){border-color:#8eb6ff8c}.market section:nth-child(2){border-color:#7dcea08c}.market section:nth-child(3){border-color:#e6d38a8c}.desk-copy{margin-bottom:16px}.class-list,.pane,.skill-note,.numbers,.card:not(.row){margin-top:14px}.pane>.subhead:first-child,.skill-note>h3:first-child,.numbers>.subhead:first-child{margin-top:0}.desk-copy h2,.craft-panel h2{margin:0 0 8px;font-size:26px;font-weight:700;letter-spacing:-.03em}.desk-copy p,.note,.place,.source,footer p,.meta{color:var(--muted);line-height:1.45}.desk-copy p{max-width:72ch;margin-top:0}.search-row{display:flex;gap:16px;align-items:end;margin-top:18px}.query,.zone{display:grid;gap:6px;color:var(--faint);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.query{flex:1}.zone{min-width:180px}input,select,textarea{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:12px 14px;text-transform:none;letter-spacing:0;font-weight:400;font-size:16px}textarea{width:100%;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.samples{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px}.chip,.text-btn,.qty button{background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;padding:6px 12px}.chip.on,.good.on{color:var(--ink);background:#1a1a1a}.picker{margin-top:16px}.trade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:12px}.trade-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--ink);cursor:pointer;padding:12px;text-align:left}.trade-card .mark{grid-row:1 / span 2}.trade-card strong{font-size:16px;font-weight:700}.trade-card span:not(.mark){color:var(--faint);font-size:13px}.trade-card:hover{border-color:var(--gold)}.goods{display:grid;max-height:440px;overflow:auto;margin-top:4px}.good{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;border-bottom:1px solid #2a2a2a;border-radius:0;color:var(--ink);cursor:pointer;padding:8px 4px;text-align:left}.good-name{color:var(--link);font-weight:650}.good em{margin-left:auto;color:var(--gold);font-style:normal;font-weight:700}.good:hover .good-name{text-decoration:underline}.mark{width:42px;height:42px;border-radius:10px;background:#1a1a1a;border:1px solid #333;display:grid;place-items:center;flex:none;overflow:hidden;color:var(--gold)}.mark svg{width:22px;height:22px}.mark img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}.haul-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.85fr);gap:22px;align-items:start;margin-top:8px}.haul-layout>*,.detail>*{min-width:0}.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:22px}.bag{padding:14px 16px}.bag h3,.card h3{margin:0;font-size:18px;font-weight:700}.qty{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}.qty button{width:28px;height:28px;padding:0}.custom-add{display:flex;gap:8px;margin-top:12px}.custom-add input{flex:1;min-width:0}.chip:hover,.text-btn:hover{color:var(--ink);border-color:var(--gold)}.results,.stack,.route{display:grid;gap:0;margin-top:8px}.route{list-style:none;padding:0;margin-top:18px}.subhead{margin:18px 0 6px;color:var(--faint);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.subhead span{color:var(--gold-dim);letter-spacing:.04em;text-transform:none;font-weight:600}.card,.row{display:flex;gap:12px;align-items:flex-start;background:transparent;border:0;border-bottom:1px solid #2a2a2a;border-radius:0;padding:12px 0}.card.quiet{opacity:.86}.row-body{min-width:0}.item-name{font-weight:650;text-decoration:none}.item-name:hover{text-decoration:underline}.meta{margin:2px 0 0;font-size:14px}.card-kicker{margin:0 0 2px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.reasons,.pile,.ingredients{margin:8px 0 0;padding:0;list-style:none}.reasons li{color:var(--good)}.pile li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid #2a2a2a}.pile a,.skill-facts a,.kept a,.share-card a,.ingredients a,.prose a,.source a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.pile strong{display:grid;font-weight:650}.pile span{color:var(--faint);text-align:right}.craft-hint{color:var(--faint);font-size:13px;font-weight:400}.ingredients{display:flex;flex-wrap:wrap;gap:6px}.ingredients li{border:1px solid #333;border-radius:999px;color:var(--muted);padding:3px 10px;font-size:13px}.ingredients li.have{color:var(--ink);border-color:var(--gold);background:#1c1c1c}.ingredients span{color:var(--faint)}.share-box{display:grid;gap:6px;margin-top:16px;color:var(--faint);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.share-card{margin-top:8px}.share-card h3{margin:0}.share-card .pile li{padding-bottom:14px}.share-card .pile strong span{text-align:left;line-height:1.35}.routine-layout{display:grid;grid-template-columns:240px 1fr;gap:22px;margin-top:18px}.class-list{display:grid;align-content:start;gap:2px}.class-btn{display:flex;align-items:center;gap:10px;background:transparent;border:0;border-radius:8px;color:var(--muted);cursor:pointer;padding:6px 8px;text-align:left}.class-btn svg{width:16px;height:16px;flex:none}.class-btn .thin{margin-left:auto;color:var(--faint);font-size:12px}.level-row h3{margin:0;font-size:22px}.skill-facts{margin:0 0 14px}.skill-facts div{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid #1a1a1a}.skill-facts dt{color:var(--faint);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.skill-facts dd{margin:0}.subhead .craft-hint{letter-spacing:0;text-transform:none;font-weight:400}.kept{list-style:none;margin:8px 0 0;padding:0}.kept li{padding:8px 0;border-top:1px solid #1a1a1a}.kept strong{display:block;font-weight:650}.kept p{margin:2px 0 0;color:var(--faint);font-size:13px}.market{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.market section{padding:14px 14px 10px}.market h3{margin:0 0 8px;color:var(--faint);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.market p{margin:0;color:var(--faint);font-size:13px}.market ul{list-style:none;margin:0;padding:0}.market li{display:grid;gap:1px;padding:6px 0;border-top:1px solid #161616;font-size:13px}.market li span{color:var(--ink)}.market li em{color:var(--faint);font-style:normal;font-size:12px}.market a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.con-green{color:#7dcea0}.con-blue{color:#8eb6ff}.con-white{color:#f2f2f2}.con-yellow{color:#e6d38a}.con-red{color:#e07a7a}.skill-note h3{margin:0 0 6px;font-size:16px}.skill-note p{margin:0 0 8px}.class-btn.active{background:#8eb6ff29;color:var(--ink)}.badge{display:inline-grid;place-items:center;width:42px;height:28px;border-radius:7px;border:1px solid #333;background:#1a1a1a;color:var(--gold);font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.level-row{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px}.level-row label{display:grid;gap:6px;flex:1;color:var(--faint);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.level-row input{padding:0;accent-color:var(--gold)}.ranks{list-style:none;margin:0;padding:0}.rank{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #1a1a1a}.rank-n{width:1.4rem;color:var(--faint);font-weight:700}.rank-rate{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}.prose p{margin:0 0 8px}.source{margin:4px 0 8px;font-size:14px}.more{margin-top:8px}.more summary{cursor:pointer;color:var(--gold);margin-bottom:12px}footer{margin-top:48px;border-top:1px solid var(--line);padding-top:16px;font-size:14px}footer p{margin:0 0 8px}.sheet-identity{margin:0 0 10px;color:var(--ink);font-size:18px}.char-level{display:flex;align-items:center;gap:10px;width:max-content;margin:0 0 12px;color:var(--faint);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.char-level input{width:76px;padding:6px 8px;border:1px solid rgba(142,182,255,.5);border-radius:8px;background:#00000059;color:var(--ink);font-size:16px;font-weight:650;letter-spacing:0;text-transform:none}.gear-sheet{display:grid;gap:14px}.card.gear-sheet{border-color:#ba8ce68c}.gear-sheet h3{margin:0;font-size:22px}.gear-body{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:start}.doll{position:relative;display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-areas:". ear1 neck head face ear2 ." "chest fig fig fig fig fig back" "shirt fig fig fig fig fig shoulders" "wrist1 fig fig fig fig fig wrist2" "waist fig fig fig fig fig hands" "finger1 fig fig fig fig fig finger2" "legs weapons weapons weapons weapons weapons feet"}.doll-core{z-index:0;grid-column:2 / 7;grid-row:1 / -1;place-self:center;display:grid;align-content:center;justify-items:center;width:min(220px,42%);aspect-ratio:1;border-radius:50%;border:1px solid rgba(186,140,230,.55);box-shadow:inset 0 0 0 12px #8eb6ff14,0 0 28px #8eb6ff29;background:radial-gradient(circle,#0c102026,#04060eb8 72%);pointer-events:none}.doll-core strong{font-size:40px;line-height:1}.doll-core span{color:#ba8ce6;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center}.doll .weapons{grid-area:weapons;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.doll .weapons .slot-tile{grid-area:auto}.pos-ear1{grid-area:ear1}.pos-neck{grid-area:neck}.pos-head{grid-area:head}.pos-face{grid-area:face}.pos-ear2{grid-area:ear2}.pos-chest{grid-area:chest}.pos-shirt{grid-area:shirt}.pos-wrist1{grid-area:wrist1}.pos-waist{grid-area:waist}.pos-finger1{grid-area:finger1}.pos-legs{grid-area:legs}.pos-back{grid-area:back}.pos-shoulders{grid-area:shoulders}.pos-wrist2{grid-area:wrist2}.pos-hands{grid-area:hands}.pos-finger2{grid-area:finger2}.pos-feet{grid-area:feet}.slot-tile{z-index:1;display:grid;justify-items:center;align-content:start;gap:2px;min-height:78px;min-width:0;padding:7px 5px;text-align:center;color:var(--muted);background:#03050cd1;border:1px dashed rgba(255,255,255,.16);border-radius:10px}.slot-tile.filled{border-style:solid;border-color:#8eb6ff8c;color:var(--ink)}.slot-label{color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.slot-tile a{color:var(--link);font-size:12px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.slot-stats{color:#9ec1ff;font-size:11px;line-height:1.3}.slot-empty{color:var(--faint);font-size:12px;font-style:italic}.stat-sheet{display:grid;gap:8px;align-content:start;padding:12px 14px;border:1px solid rgba(230,211,138,.45);border-radius:12px;background:#03050cb8}.stat-sheet h4{margin:0;font-size:16px}.stat-sheet dl{display:grid;gap:2px 12px;margin:0}.stat-sheet dl div{display:grid;grid-template-columns:1fr auto}.stat-sheet dt{color:var(--faint)}.stat-sheet dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.stat-sheet p{margin:0}.stat-total{border-top:1px solid rgba(255,255,255,.12);padding-top:8px}.stat-note{color:var(--faint);font-size:13px}.sheet-update p{margin:0 0 8px;color:var(--muted)}.sheet-update-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.sheet-update-form .share-box{flex:1;min-width:220px;margin-top:0}.sheet-update-form .text-btn{margin-bottom:2px}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 14px;margin-top:12px}.skill-grid label,.trait-picks label{display:grid;gap:4px;color:var(--faint);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.skill-grid label{grid-template-columns:1fr 76px;align-items:center}.skill-grid span,.trait-picks label{letter-spacing:.04em}.skill-grid small,.trait-picks small{display:block;margin-top:2px;color:#ba8ce6;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none}.skill-grid input,.trait-picks select{width:100%;padding:6px 8px;border:1px solid rgba(142,182,255,.45);border-radius:8px;background:#00000059;color:var(--ink);font-size:15px;font-weight:650;letter-spacing:0;text-transform:none}.trait-picks{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:12px}@media(max-width:800px){.market{grid-template-columns:1fr}.search-row,.routine-layout,.haul-layout,.detail,.pile li,.nav-row{display:grid}.pile span{text-align:left}.zone{min-width:0}.outside{padding-bottom:8px}.gear-body,.trait-picks{grid-template-columns:1fr}.doll{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-areas:"ear1 neck head face ear2" "chest shirt wrist1 waist finger1" "back shoulders wrist2 hands finger2" "legs primary secondary range feet" "ammo . . . ."}.doll-core{display:none}.doll .weapons{display:contents}.doll .weapons .pos-primary{grid-area:primary}.doll .weapons .pos-secondary{grid-area:secondary}.doll .weapons .pos-range{grid-area:range}.doll .weapons .pos-ammo{grid-area:ammo}}
