@font-face{font-family:Atkinson;src:url('AtkinsonHyperlegible-Bold.woff2');font-weight:700;font-display:swap}*{box-sizing:border-box}body{margin:0;background:#080e16;color:#e5edf5;font:16px/1.5 Atkinson,Arial,sans-serif;background-image:radial-gradient(ellipse at 35% 15%,#102436 0,transparent 55%)}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #65dfff;outline-offset:4px}header{height:86px;border-bottom:1px solid #263445;display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:#090f18d9}.brand{color:#fff;text-decoration:none;font-family:Atkinson,sans-serif;font-size:24px;letter-spacing:2px}.brand>span:last-child{color:#9baaba;font-size:18px;margin-left:14px;letter-spacing:4px}.bolt{color:#fc4954;font-size:40px;vertical-align:middle;margin-right:10px}.prototype{font-size:12px;letter-spacing:1.6px;border:1px solid #354052;padding:7px 12px;color:#aab9c9}main{max-width:1680px;margin:auto;padding:32px 4% 0}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{color:#71cce1;letter-spacing:2px;font-size:12px;font-weight:700;margin:0 0 8px}h1{font-family:Atkinson,sans-serif;font-size:32px;line-height:1.2;margin:0}h2,h3,p{margin-top:0}.profile-label{font-size:13px;color:#aab9c9;display:flex;gap:12px;align-items:center}select{background:#111d2a;color:#f4f7fa;border:1px solid #35485c;border-radius:4px;padding:10px 32px 10px 12px}.layout{display:grid;grid-template-columns:minmax(300px,1.06fr) minmax(470px,1.75fr) minmax(230px,.8fr);gap:18px;align-items:start}.panel{background:linear-gradient(145deg,#111e2b,#0d1722);border:1px solid #334254;border-radius:5px;box-shadow:0 10px 30px #0003;overflow:hidden}.section-head{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #2a394a;background:#142130}.section-head h2{font:700 14px Atkinson,sans-serif;letter-spacing:1.8px;margin:0}.section-head>span{font-size:12px;letter-spacing:1px;color:#a6b5c6}.identity{padding:20px 18px;display:flex;gap:12px;align-items:center}.avatar{height:44px;width:44px;display:grid;place-items:center;font:700 20px Atkinson;border:1px solid #538397;background:#183949;border-radius:4px}.identity h3{font:700 21px Atkinson;margin:0;color:#9cfa28}.identity p{font-size:13px;color:#a6b6c5;margin:2px 0 0}.online{font-size:11px;letter-spacing:1px;margin-left:auto;color:#8296ab}.character-stage{height:390px;position:relative;background:#080f18;isolation:isolate;overflow:hidden}.hero{height:100%;width:100%;object-fit:contain;position:absolute;inset:0;z-index:-1}.aura{position:absolute;inset:20% 15%;background:radial-gradient(ellipse,#3288b321,transparent 70%);z-index:-2}.slot-column{position:absolute;top:26px;bottom:45px;display:flex;flex-direction:column;justify-content:space-around;gap:10px}.left{left:14px}.right{right:14px}.slot{width:61px;height:66px;background:#112233e8;border:1px solid #b29a58;border-radius:3px;position:relative;display:grid;place-items:center;box-shadow:0 0 18px #dfb65315}.slot .symbol{font-size:27px;filter:saturate(.6)}.slot small{font-size:10px;color:#d2b976;text-transform:uppercase;letter-spacing:1px}.slot.empty{border:1px dashed #4a6179;opacity:.75}.character-label{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:13px;letter-spacing:5px;color:#aebbc8}.character-label span{display:block;font-size:9px;letter-spacing:3px;color:#5e788e}.character-stats{display:flex;justify-content:space-between;padding:20px 20px 12px}.character-stats span,.fish-stats span{font-size:11px;letter-spacing:1px;color:#99abbb;display:block}.character-stats strong{font:700 28px Atkinson}.cyan{color:#74ddf9}.bonus-track{height:3px;background:#273646;margin:0 20px}.bonus-track i{display:block;height:100%;background:#64d7ee}.small-note{text-align:center;color:#92a5b8;font-size:12px;margin:10px 0 17px}.tabs{height:100%;display:flex;gap:24px}.tabs button{border:0;border-bottom:2px solid transparent;background:none;font:700 14px Atkinson;letter-spacing:1px;padding:0;color:#8499ad}.tabs button[aria-selected=true]{color:#79e0f8;border-color:#65d7ef}.collection-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 20px 16px}.search{display:flex;align-items:center;gap:10px;background:#09131e;border:1px solid #334358;padding:7px 12px;border-radius:4px;min-width:0}.search span{font-size:22px;color:#90aabc}.search input{width:100%;min-width:0;background:none;border:0;color:#edf5fa;font-size:14px;outline-offset:7px}.owned-toggle{font-size:13px;white-space:nowrap;color:#b9c6d2}.owned-toggle input{accent-color:#66d4ed}.filters{display:flex;gap:5px;flex-wrap:wrap;padding:0 20px}.filters button{background:none;border:1px solid transparent;padding:6px 10px;border-radius:3px;font-size:13px;color:#9eafbd}.filters button.active{background:#203b4c;border-color:#456579;color:#b8f0ff}.collection-progress{padding:20px 20px 12px;display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#7f96ac}.collection-progress span:first-child{color:#c5d3de}.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0 20px 8px;max-height:432px;overflow-y:auto;scrollbar-color:#3b5368 #101d2a}.item{aspect-ratio:.94;background:radial-gradient(ellipse at bottom,#8e672a32,#15202c 70%);border:1px solid #816d43;border-radius:3px;position:relative;display:grid;place-items:center;min-width:0;transition:border-color .15s,background .15s}.item:hover{border-color:#e0c77d;background-color:#213044}.item.selected{outline:2px solid #74d6ef;outline-offset:1px}.item.unowned{border-color:#293948;background:#101a24}.item.unowned .symbol{opacity:.24;filter:grayscale(1)}.symbol{font-size:30px}.item .tag{position:absolute;bottom:3px;right:5px;color:#e5c887;font:10px Atkinson}.item .index{position:absolute;left:5px;top:3px;color:#6d8297;font-size:10px}.hint{font-size:12px;color:#95a6b8;margin:14px 20px 20px}.details #item-detail{padding:24px 20px}.detail-art{height:130px;display:grid;place-items:center;background:radial-gradient(ellipse,#6b552331,transparent 70%);border:1px solid #5b5139;border-radius:4px;margin-bottom:20px}.detail-art .symbol{font-size:70px}.details h3{font:700 24px/1.2 Atkinson;color:#e4c680;margin:8px 0 12px;overflow-wrap:anywhere}.details .origin{font-size:13px;color:#99aebf}.legendary{font-size:11px;font-weight:700;letter-spacing:2px;color:#dfbd73}.detail-bonus{padding:17px 0;margin-top:22px;border-top:1px solid #2b3c4d;border-bottom:1px solid #2b3c4d}.detail-bonus strong{font:700 23px Atkinson;color:#87e5fb}.detail-bonus p{font-size:13px;color:#9db1c2;margin:5px 0 0}.detail-description{font-size:14px;color:#b1c0cd;margin-top:20px;line-height:1.7}.equip{width:100%;padding:12px;border:1px solid #7cdfef;border-radius:3px;background:#24556a;color:#e5fbff;font:700 15px Atkinson}.equip:disabled{cursor:default;background:#1a2936;border-color:#3a5062;color:#93aaba}.detail-status{text-align:center;font-size:12px;color:#93a9ba;margin:10px 0 0}.fishing-banner{margin:26px 22px;display:flex;align-items:center;gap:20px;padding:20px;background:#172c3d;border:1px solid #456475}.fish-icon{font-size:62px}.fishing-banner h2{font:700 28px Atkinson;color:#e8cb85;margin-bottom:4px}.fishing-banner p:last-child{font-size:14px;color:#b4c6d3;margin:0}.fish-stats{display:flex;justify-content:space-between;margin:24px}.fish-stats strong{font:700 25px Atkinson}.record{margin:30px 24px;padding:23px 0;border-top:1px solid #314254;border-bottom:1px solid #314254}.record h3{font:700 21px Atkinson}.record h3 span{float:right;color:#7bdaee}.record p:last-child{font-size:14px;color:#95a9bc;margin:0}.fishing-note{padding:0 24px 28px;color:#adbfce;font-size:14px}.fishing-note h3{color:#d7e3ed}.fishing-note code{color:#9eddeb}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#74899b;font-size:12px;padding:27px 0}footer>span:first-child{font:700 13px Atkinson;letter-spacing:2px}footer button{background:none;border:0;color:#9bb1c3;font-size:12px;text-decoration:underline}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#1e4052;border:1px solid #71b9cb;color:#e5f9ff;padding:12px 22px;border-radius:4px;box-shadow:0 6px 25px #0008;display:none;z-index:10}.toast.show{display:block}.empty-message{grid-column:1/-1;padding:35px 10px;color:#adbfce}[hidden]{display:none!important}@media(min-width:1650px){.character-stage{height:450px}.grid{max-height:492px}}@media(max-width:1180px){.layout{grid-template-columns:310px 1fr}.details{grid-column:1/-1}.details #item-detail{display:grid;grid-template-columns:120px 1fr 1fr;gap:15px;align-items:start}.detail-art{height:110px;grid-row:span 3}.detail-bonus{margin:0}.details .detail-description{margin:0}.grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:760px){header{height:70px}.brand{font-size:20px}.brand>span:last-child{font-size:12px;margin-left:4px}.prototype{font-size:9px;padding:5px;max-width:115px;text-align:center}main{padding-top:24px}.topline{align-items:flex-start;flex-direction:column;gap:20px}h1{font-size:29px}.layout{grid-template-columns:1fr}.character-stage{height:370px}.slot-column.left{left:25px}.slot-column.right{right:25px}.hero{object-position:center}.details{grid-column:auto}.details #item-detail{display:block}.detail-art{height:110px}.grid{grid-template-columns:repeat(5,minmax(0,1fr));max-height:390px}.collection-tools{flex-wrap:wrap}.search{flex:1}.section-head{padding:0 14px}.tabs{gap:15px}.tabs button{font-size:13px}.collection-progress{font-size:11px}.fish-stats{gap:12px}.fish-stats strong{font-size:20px}.record h3 span{float:none;display:block}.fishing-banner{padding:14px;gap:12px}.fishing-banner h2{font-size:24px}.fish-icon{font-size:42px}footer{flex-wrap:wrap}footer>span:nth-child(2){order:3;width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.prototype a,a{color:#a4e8ff}.login-note,#live-status{font-size:14px;color:#b1c9da}.profile-label input,.profile-label button{background:#142536;border:1px solid #47627a;color:#eef7ff;border-radius:4px;padding:8px;max-width:200px}.profile-label{flex-wrap:wrap}

.character-art{position:absolute;inset:0;pointer-events:none;background:center/cover no-repeat url('assets/character/background.webp');z-index:0}.character-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.slot-column,.character-label{z-index:100}.symbol{display:grid;place-items:center;line-height:1}.symbol img{display:block;width:44px;height:44px;object-fit:contain}.slot .symbol img{width:36px;height:36px}.detail-art .symbol img{width:100px;height:100px}.viewer-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;padding:8px 20px 22px}.viewer-stats span{display:block;color:#99abbb;font-size:11px;letter-spacing:1px}.viewer-stats strong{display:block;font-size:24px;line-height:1.35;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.positive{color:#73efa5}.negative{color:#ff858c}.neutral{color:#e5edf5}.character-stats>div{min-width:0;max-width:65%;overflow-wrap:anywhere}.appearance-note{margin:0 18px 16px;font-size:12px;color:#99adbf;text-align:center}.game-info{margin-top:22px;padding:20px 24px}.game-info h2{font-size:19px;margin-bottom:10px}.game-info p{font-size:14px;color:#b5c8d8;margin-bottom:10px}.game-info .small-note{text-align:left;font-size:12px;margin-bottom:0}.login-note{max-width:75ch}.toast{max-width:calc(100vw - 24px);width:max-content}.profile-label input{min-width:0}.sync-stale{color:#ffd18a!important}#live-status{overflow-wrap:anywhere}

.appearance-note:empty{display:none}

/* Character art v2: keep equipment slots below the portrait so they never cover gear. */
.character-stage{height:550px;background:radial-gradient(ellipse at 50% 38%,#173142 0%,#0b1925 48%,#060d15 85%)}
.character-art{inset:8px 0 88px;background:none}
.character-art img{filter:drop-shadow(0 8px 9px #0008)}
.slot-column{position:static;display:contents}
.slot-column .slot{position:absolute;bottom:15px;top:auto;width:calc((100% - 48px)/5);height:59px;z-index:100;background:linear-gradient(145deg,#1e3242,#0b1622);border-color:#63727f;border-radius:5px;box-shadow:inset 0 0 0 2px #080e1680,0 4px 12px #0006}
.slot-column .slot:not(.empty){border-color:#b9a16a;box-shadow:inset 0 0 0 2px #151b24,0 0 12px #80cdec1a}
#slots-left .slot:nth-child(1){left:12px}#slots-left .slot:nth-child(2){left:calc(20% + 7.2px)}#slots-left .slot:nth-child(3){left:calc(40% + 2.4px)}#slots-right .slot:nth-child(1){left:calc(60% - 2.4px)}#slots-right .slot:nth-child(2){left:calc(80% - 7.2px)}
.symbol svg{display:block;width:44px;height:44px;overflow:hidden}.slot .symbol svg{width:39px;height:39px}.detail-art .symbol svg{width:120px;height:120px}
.detail-art{height:150px;background:radial-gradient(ellipse,#253444,#111e2b 72%)}
@media(min-width:1650px){.character-stage{height:620px}}@media(max-width:760px){.character-stage{height:560px}}

.character-art>svg{display:block;width:100%;height:100%;overflow:visible}

.fish-guide{margin:20px 24px;border-top:1px solid #456475;padding-top:16px;font-size:14px}.fish-guide summary{cursor:pointer;color:#A8EDFF}.fish-guide>p{margin-top:14px;line-height:1.6;color:#C5D8E7}.fish-tier h3{font-size:15px;margin:20px 0 8px;color:#E6CA85}.fish-tier ul{padding-left:18px;margin:0}.fish-tier li{margin:5px 0}.fish-tier small{color:#91A8B9;margin-left:8px}

/* Keep all five slot labels centered within narrow character cards. */
.slot{padding:3px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;min-width:0}.slot .symbol{display:flex;align-items:center;justify-content:center;line-height:1;width:100%;min-height:34px}.slot small{display:block;width:100%;margin:0;text-align:center;font-size:9px;line-height:12px;letter-spacing:0;white-space:nowrap}

/* Kraken equipment: slow storm movement, without rapid flashing or animated filters. */
.kraken-storm .storm-cloud{opacity:.24;transform-box:fill-box;transform-origin:center;animation:storm-drift 9s ease-in-out infinite alternate}
.kraken-storm .storm-cloud-1{animation-delay:-5s;animation-duration:11s}
.kraken-storm .storm-cloud-2{animation-delay:-3s;opacity:.32}
.kraken-storm .storm-cloud-3{animation-delay:-7s;animation-duration:12s;opacity:.32}
.kraken-storm .storm-bolt{opacity:.35;animation:storm-current 6s ease-in-out infinite}
.kraken-storm .storm-bolt-1{animation-delay:-3s}.kraken-storm .storm-bolt-2{animation-delay:-1.5s}.kraken-storm .storm-bolt-3{animation-delay:-4.5s}
@keyframes storm-drift{from{transform:translate(-12px,5px) scale(.97)}to{transform:translate(15px,-9px) scale(1.04)}}
@keyframes storm-current{0%,100%{opacity:.15}50%{opacity:.8}}
@media(prefers-reduced-motion:reduce){.kraken-storm .storm-cloud,.kraken-storm .storm-bolt{animation:none}.kraken-storm .storm-bolt{opacity:.45}}

/* Compact character identity, with a clear empty state. */
.identity{padding:16px 18px;min-width:0}.identity>.avatar,.identity>.online{display:none}.identity>div{min-width:0}.identity h3{font-size:20px;line-height:1.3;overflow-wrap:anywhere}.identity p{margin:5px 0 0;font-size:13px;line-height:1.45;color:#a6b6c5}.no-character .identity h3{color:#e5edf5}.no-character #level{display:none}

.character-stats>div{position:relative}.dukes-gain{position:absolute;left:0;bottom:70%;color:#9defad;font-size:18px;line-height:1.2;white-space:nowrap;text-shadow:0 2px 3px #071019;pointer-events:none;animation:dukes-rise 1.8s ease-out forwards;z-index:2}
@keyframes dukes-rise{0%{opacity:0;transform:translateY(6px)}15%{opacity:1}65%{opacity:1}100%{opacity:0;transform:translateY(-28px)}}
@media(prefers-reduced-motion:reduce){.dukes-gain{animation:none}}

.new-item-badge{position:absolute;top:3px;right:3px;z-index:1;padding:1px 4px;border-radius:3px;background:#b8f79c;color:#102016;font:700 9px/1.4 Atkinson,Arial,sans-serif;letter-spacing:.25px;pointer-events:none}

.topline h1{color:#71cce1}

.brand-bolt{width:22px;height:44px;object-fit:contain;vertical-align:middle;margin-right:10px}.footer-bolt{width:10px;height:20px;vertical-align:middle;margin-right:4px}

#login{display:inline-flex;align-items:center;gap:8px}.twitch-icon{width:18px;height:18px;flex-shrink:0;color:#bf94ff}

#inventory>.filters{padding-top:18px}
