@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:400;src:url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-latin-400-normal-BEdayliK.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-latin-400-normal-CPSmNJAU.woff)format("woff")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:500;src:url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-latin-500-normal-Dfjj7AIU.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-latin-500-normal-BIfs0Bhs.woff)format("woff")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:700;src:url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-latin-700-normal-Dgv0FPyh.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-latin-700-normal-zPVyND5l.woff)format("woff")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:400;src:url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-japanese-400-normal-CQIKlIYt.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-japanese-400-normal-B3DNVpWR.woff)format("woff")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:500;src:url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-japanese-500-normal-Ddd6B-De.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-japanese-500-normal-NJ2o_-I0.woff)format("woff")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:700;src:url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-japanese-700-normal-cK9DHEuw.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-kaku-gothic-new-japanese-700-normal-CFB9h1Q4.woff)format("woff")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:400;src:url(/gbfr-save-analytics/assets/zen-old-mincho-latin-400-normal-BaasbhNE.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-old-mincho-latin-400-normal-DfCHsbLd.woff)format("woff")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:700;src:url(/gbfr-save-analytics/assets/zen-old-mincho-latin-700-normal-BxCta6jg.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-old-mincho-latin-700-normal-B8XWAIv0.woff)format("woff")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:900;src:url(/gbfr-save-analytics/assets/zen-old-mincho-latin-900-normal-DVamUBvB.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-old-mincho-latin-900-normal-ub6H3N32.woff)format("woff")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:400;src:url(/gbfr-save-analytics/assets/zen-old-mincho-japanese-400-normal-1oK4h11t.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-old-mincho-japanese-400-normal-jV_301lt.woff)format("woff")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:700;src:url(/gbfr-save-analytics/assets/zen-old-mincho-japanese-700-normal-CWtI8pER.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-old-mincho-japanese-700-normal-CCZY8j12.woff)format("woff")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:900;src:url(/gbfr-save-analytics/assets/zen-old-mincho-japanese-900-normal-D9sYIavI.woff2)format("woff2"),url(/gbfr-save-analytics/assets/zen-old-mincho-japanese-900-normal-CbPuLOxH.woff)format("woff")}:root{--paper:#f7f6fb;--paper-2:#efedf6;--white:#fff;--ink:#1b1a24;--ink-2:#45424f;--muted:#66627a;--line:#e0dde9;--line-2:#cbc7d9;--violet:#702c8f;--violet-2:#8a3cc4;--blue:#3860be;--blue-2:#3f7ff5;--gold:#f3ce8b;--gold-deep:#b07a1c;--copper:#d0782a;--danger:#b3261e;--frame:linear-gradient(180deg, var(--violet-2), var(--blue-2));--sigil:#3860be;--chara:#b07a1c;--wep:#8a3cb0;--mat:#2f8a5f;--max:#d39a2c;--pos:#3860be;--neg:#b0561c;--serif:"Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic UI", system-ui, sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--gutter:clamp(16px, 3vw, 40px);--max-w:1280px;--shadow-card:0 14px 34px -22px #34286e73, 0 2px 6px -2px #34286e1f;--ornament:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 12'%3E%3Cpath d='M2 6H62M98 6H158' stroke='%23cbc7d9' stroke-width='1'/%3E%3Cpath d='M64 6H96' stroke='%23d0782a' stroke-width='2'/%3E%3Cpath d='M80 1.5l4.5 4.5-4.5 4.5-4.5-4.5z' fill='%23d0782a'/%3E%3Ccircle cx='66' cy='6' r='2' fill='%23d0782a'/%3E%3Ccircle cx='94' cy='6' r='2' fill='%23d0782a'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;accent-color:var(--violet)}*{box-sizing:border-box}html{scrollbar-color:var(--line-2) var(--paper)}body{background:var(--paper);min-height:100vh;color:var(--ink);font:15px/1.65 var(--serif);-webkit-font-smoothing:antialiased;caret-color:var(--violet);margin:0}::selection{color:var(--ink);background:#e4d6f3}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--line-2);border:2px solid var(--paper);border-radius:6px}a{color:var(--blue);text-underline-offset:3px}a:hover{color:var(--violet)}:focus-visible{outline:2px solid var(--violet);outline-offset:2px}h1,h2,h3{font-family:var(--serif);text-wrap:balance;color:var(--ink);margin:0;font-weight:700}p{margin:0}img{max-width:100%}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}.note{color:var(--muted);max-width:75ch;font-size:14px}.center{text-align:center;margin-inline:auto}.icon{flex:none}.skip{z-index:50;background:var(--white);color:var(--ink);border:1px solid var(--line-2);padding:8px 12px;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.backdrop{z-index:-1;pointer-events:none;opacity:.16;background:url(/gbfr-save-analytics/art/ornament.avif) 50% -120px/min(1600px,140vw) no-repeat;height:760px;position:fixed;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 30%,#0000 100%);mask-image:linear-gradient(#000 30%,#0000 100%)}.topbar{z-index:6;padding:12px var(--gutter);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#ffffffeb;grid-template-columns:auto 1fr auto;grid-template-areas:"brand status actions""brand status notice";align-items:center;gap:4px 24px;display:grid;position:relative}body[data-seal=bad] .topbar{box-shadow:inset 0 -3px 0 var(--danger)}.brand{color:var(--ink);grid-area:brand;align-items:center;gap:14px;text-decoration:none;display:flex}.brand:hover{color:var(--ink)}.brand-logo{width:auto;height:46px}.brand-text{border-left:1px solid var(--line-2);padding-left:14px;line-height:1.15;display:grid}.brand-text b{letter-spacing:.02em;font-size:19px;font-weight:700}.brand-text small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.status{min-width:0;color:var(--ink-2);flex-wrap:wrap;grid-area:status;align-items:center;gap:8px 12px;font-size:13px;display:flex}.status .file{text-overflow:ellipsis;white-space:nowrap;max-width:44ch;overflow:hidden}.actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dl-notice{text-align:right;max-width:56ch;color:var(--muted);grid-area:notice;justify-self:end;font-size:12px}.chip{border:1px solid var(--line-2);background:var(--white);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;display:inline-flex}.chip.seal-ok,.chip.seal-fixed{color:var(--violet);background:#f8f2fc;border-color:#d9c4ea}.chip.seal-bad{color:#fff;background:var(--danger);border-color:var(--danger)}.btn,.button{font:700 13.5px/1 var(--serif);letter-spacing:.02em;border:1px solid var(--line-2);background:var(--white);min-height:40px;color:var(--ink);cursor:pointer;transition:background-color .16s var(--ease-out), color .16s, border-color .16s, box-shadow .2s var(--ease-out), transform .12s var(--ease-out);border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--violet-2);color:var(--violet)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{color:#fff;background:linear-gradient(100deg, #7a3fb8 0%, #4e4fc6 55%, var(--blue) 100%);border-color:#0000;box-shadow:inset 0 0 0 1px #f3ce8bbf,0 8px 20px -10px #5032aab3}.btn.primary:hover:not(:disabled){color:#fff;filter:brightness(1.07);box-shadow:inset 0 0 0 1px var(--gold), 0 10px 24px -10px #5032aacc}button.ghost,.button.ghost{font:500 13px var(--serif);border:1px solid var(--line-2);background:var(--white);color:var(--ink-2);cursor:pointer;border-radius:2px;padding:6px 12px;transition:border-color .14s,color .14s}button.ghost:hover,.button.ghost:hover{border-color:var(--violet-2);color:var(--violet)}button.small{padding:3px 9px;font-size:12px}.lang{font:700 12.5px var(--serif);background:var(--white);color:var(--ink);border:1px solid var(--line-2);border-radius:2px;padding:9px 8px}input,select,textarea{font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line-2);border-radius:2px;padding:5px 8px;transition:border-color .14s,background-color .4s,box-shadow .14s}input:hover,select:hover,textarea:hover{border-color:#a8a2c0}input:focus,select:focus,textarea:focus{border-color:var(--violet-2);outline:none;box-shadow:0 0 0 3px #8a3cc426}input::placeholder,textarea::placeholder{color:#8b86a0}input.num{text-align:right;width:9.5em;font-family:var(--sans);font-variant-numeric:tabular-nums}input.text{width:15em}input.edited,textarea.edited{border-color:var(--gold-deep);background:#fff6e2}input:invalid{border-color:var(--danger)}input.wash{animation:wash .9s var(--ease-out)}@keyframes wash{0%{background-color:#f6dca4}}input[type=search].search{flex:260px;min-width:220px}input.short{width:7em}label.check{color:var(--ink-2);align-items:center;gap:6px;font-size:13.5px;display:inline-flex}.tabs{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fffffff0;position:sticky;top:0}.tabs-list{max-width:var(--max-w);padding:0 var(--gutter);scrollbar-width:none;justify-content:center;gap:2px;margin:0 auto;display:flex;overflow-x:auto}.tab{color:var(--ink-2);white-space:nowrap;align-items:baseline;gap:3px;padding:13px 14px 14px;font-size:15px;text-decoration:none;transition:color .16s;display:inline-flex;position:relative}.tab sup{font:11px var(--sans);color:var(--muted)}.tab:hover{color:var(--violet)}.tab.on{color:var(--violet);font-weight:700}.tab:after{content:"";background:var(--copper);width:8px;height:8px;transition:transform .26s var(--ease-out);position:absolute;bottom:3px;left:50%;transform:translate(-50%)rotate(45deg)scale(0)}.tab.on:after{transform:translate(-50%)rotate(45deg)scale(1)}.tab.off{opacity:.4;pointer-events:none}main{max-width:var(--max-w);padding:28px var(--gutter) 64px;view-transition-name:main;margin:0 auto}main:focus{outline:none}.view{align-content:start;gap:28px;display:grid}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:22px;display:grid}.band{gap:18px;display:grid}.band-note{text-align:center;color:var(--muted);margin-top:-8px;font-size:14px}.ornate{text-align:center;letter-spacing:.04em;justify-items:center;gap:6px;font-size:clamp(22px,2.4vw,28px);font-weight:400;display:grid}h1.ornate{font-size:clamp(28px,3.4vw,40px)}.ornament{background:var(--ornament) center / contain no-repeat;width:160px;height:12px;display:block}.panel{--edge:var(--blue);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:2px;align-content:start;gap:12px;min-width:0;padding:20px 22px 22px;display:grid}.panel.wide{grid-column:1/-1}.panel.ink-chara{--edge:var(--chara)}.panel.ink-mat{--edge:var(--mat)}.panel.ink-sigil{--edge:var(--sigil)}.panel.ink-wep{--edge:var(--wep)}.panel>h2{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:10px;font-size:18px;display:flex}.panel>h2:before{content:"";background:var(--edge);flex:none;width:8px;height:8px;transform:rotate(45deg)}.panel h3{margin-top:6px;font-size:15px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.count{color:var(--muted);font-size:13px}.empty-state{color:var(--muted);padding:18px 0}.segmented{border:1px solid var(--line-2);background:var(--white);width:max-content;max-width:100%;display:inline-flex;overflow-x:auto}.segmented button{font:500 14px var(--serif);color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:9px 16px}.segmented button[aria-selected=true]{background:var(--violet);color:#fff}.hero{isolation:isolate;min-height:380px;box-shadow:var(--shadow-card);border-radius:2px;grid-template-columns:minmax(0,1fr) 340px;align-items:end;gap:24px;padding:28px;display:grid;position:relative;overflow:hidden}.hero-art{z-index:-1;background:url(/gbfr-save-analytics/art/hero.avif) 50% 28%/cover no-repeat;position:absolute;inset:0}.hero-art:after{content:"";background:linear-gradient(#f7f6fb00 30%,#f7f6fb8c 70%,#f7f6fbeb 100%);position:absolute;inset:0}body.opening .hero-art{animation:drift 1.6s var(--ease-out) both}@keyframes drift{0%{filter:saturate(.7)brightness(1.08);transform:scale(1.07)}}.hero-copy{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffdb;border:1px solid #ffffffe6;align-content:end;gap:10px;max-width:640px;padding:20px 22px;display:grid;box-shadow:0 10px 30px -18px #281e5a80}.hero-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.hero-name input.text{font:700 clamp(30px, 3.6vw, 44px)/1.1 var(--serif);background:0 0;border-color:#0000;width:100%;max-width:12em;margin-left:-5px;padding:0 4px}.hero-name input.text:hover{border-color:var(--line-2)}.hero-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;margin:4px 0 0;display:grid}.hero-facts dt{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.hero-facts dd{min-width:0;margin:2px 0 0;font-size:14.5px}.hero-facts input.text{width:100%;max-width:13em}.hero-seal{align-self:end}.seal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffe6;border:1px solid #ffffffe6;grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:18px;display:grid;box-shadow:0 10px 30px -18px #281e5a80}.medal{--ring:conic-gradient(from 200deg, var(--gold), var(--copper), var(--violet-2), var(--blue-2), var(--gold));border-radius:50%;place-items:center;width:84px;height:84px;display:grid;position:relative;overflow:hidden}.medal-ring{background:var(--ring);border-radius:50%;position:absolute;inset:0}.medal-core{background:var(--white);width:70px;height:70px;color:var(--violet);box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;place-content:center;justify-items:center;display:grid;position:relative}.medal-core b{font:700 17px/1 var(--serif);color:var(--ink);margin-top:2px}.seal-bad .medal{--ring:conic-gradient(from 200deg, #f0a58f, var(--danger), #7d1a14, var(--danger), #f0a58f)}.seal-bad .medal-core{color:var(--danger)}.seal-pending .medal,.seal-none .medal{--ring:conic-gradient(var(--line-2), #e9e6f1, var(--line-2))}.seal-pending .medal-core,.seal-none .medal-core{color:var(--muted)}.medal:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 40%,#ffffffe6 50%,#0000 60%);position:absolute;inset:-20%;transform:translate(-120%)}.medal.shine:after{animation:shine 1.1s var(--ease-out) .12s}.medal.shine{animation:settle .7s var(--ease-out)}@keyframes shine{to{transform:translate(120%)}}@keyframes settle{0%{transform:scale(.86)rotate(-12deg)}}.seal-text{gap:3px;min-width:0;display:grid}.seal-text strong{font-size:17px}.seal-text p{color:var(--ink-2);font-size:13.5px;line-height:1.5}.seal-text code{font-family:var(--mono);color:var(--muted);overflow-wrap:anywhere;font-size:11.5px}.ledger{grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat{--edge:var(--blue);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-card);align-content:start;gap:4px;min-width:0;padding:14px 16px 16px;display:grid;position:relative}.stat:before{content:"";background:var(--edge);height:3px;position:absolute;top:-1px;left:0;right:0}.stat.ink-chara{--edge:var(--chara)}.stat.ink-sigil{--edge:var(--sigil)}.stat.ink-mat{--edge:var(--mat)}.stat.ink-wep{--edge:var(--wep)}.lbl{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:11.5px;display:flex;overflow:hidden}.lbl .conf i,dt .conf i{width:8px;height:8px}.fig{font:700 clamp(24px, 2.3vw, 32px)/1.15 var(--serif)}.fig small{font:400 15px var(--serif);color:var(--muted)}.stat input.num{font:700 clamp(22px, 2.1vw, 30px)/1.15 var(--serif);text-align:left;background:0 0;border-color:#0000;width:100%;min-width:0;margin-left:-5px;padding:0 4px}.stat input.num:hover{border-color:var(--line-2)}.delta{color:var(--muted);font-size:12.5px}.delta.up{color:var(--blue)}.delta.down{color:var(--neg)}.facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px;margin:0;display:grid}.facts dt{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11.5px}.facts dd{margin:3px 0 0;font-size:15px}.facts dd.pos{color:var(--blue)}.facts dd.neg{color:var(--neg)}.sides{border:1px solid var(--line-2);grid-template-columns:1fr 1fr;display:grid}.side{text-overflow:ellipsis;white-space:nowrap;padding:8px 12px;font-size:13.5px;overflow:hidden}.side.a{background:var(--paper-2);color:var(--ink-2)}.side.b{background:var(--violet);color:#fff}.notice-box{color:#5c4520;text-align:center;background:#fffaf0;border:1px solid #ecd9b0;max-width:80ch;margin-inline:auto;padding:14px 16px;font-size:14px}.error-box{border:1px solid var(--danger);color:var(--danger);background:#fdf0ee;padding:12px 14px}.legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.gallery{grid-template-columns:repeat(auto-fill,minmax(146px,1fr));gap:26px 18px;display:grid}.char-card{animation:rise-in .6s var(--ease-out) calc(var(--i,0) * 35ms) backwards;outline:none;align-content:start;gap:8px;margin:0;display:grid}.char-art{aspect-ratio:280/536;border:3px solid var(--white);box-shadow:0 10px 22px -12px #281e5a8c, 0 0 0 1px var(--line);transition:transform .32s var(--ease-out), box-shadow .32s var(--ease-out);background:url(/gbfr-save-analytics/art/card-base.avif) 50%/cover,#ebe8f4;position:relative;overflow:hidden}.char-art:after{content:"";border:3px solid #0000;border-image:var(--frame) 1;opacity:0;transition:opacity .26s var(--ease-out);pointer-events:none;position:absolute;inset:0}.char-art>img:first-child{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out);display:block}.char-plate{opacity:0;width:auto;height:82%;transition:opacity .28s var(--ease-out), transform .38s var(--ease-out);pointer-events:none;position:absolute;top:10%;right:6px;transform:translate(8px)}.char-card:hover .char-art,.char-card:focus-visible .char-art{transform:translateY(-5px);box-shadow:0 18px 30px -14px #3c288c99,0 0 0 1px #0000}.char-card:hover .char-art:after,.char-card:focus-visible .char-art:after{opacity:1}.char-card:hover .char-art>img:first-child,.char-card:focus-visible .char-art>img:first-child{transform:scale(1.04)}.char-card:hover .char-plate,.char-card:focus-visible .char-plate{opacity:1;transform:none}.char-unknown{font:400 64px var(--serif);color:#b4aecb;place-items:center;display:grid;position:absolute;inset:0}.char-lv{background:var(--white);color:var(--ink);clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);padding:3px 22px 3px 8px;font-size:12.5px;position:absolute;bottom:8px;left:0;box-shadow:0 2px 6px #0000001f}.char-lv b{font-size:15px}.char-card.max .char-lv,.sheet.max .char-lv{color:#fff;text-shadow:0 1px 1px #5a3c0a80;background:linear-gradient(90deg,#c38d36,#e2b468 60%,#c99545)}.char-card figcaption{gap:4px;padding:0 2px;display:grid}.char-name{font-size:15px;font-weight:700;line-height:1.25}.char-exp{font:11.5px var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}.char-card{cursor:pointer;-webkit-tap-highlight-color:transparent}.char-card:focus-visible .char-art{outline:2px solid var(--violet);outline-offset:3px}.char-card:hover .char-name,.char-card:focus-visible .char-name{color:var(--violet)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}}.table-block{gap:10px;min-width:0;display:grid}.table-scroll{border-top:1px solid var(--line);max-height:min(70vh,900px);overflow:auto}.dash .table-scroll{max-height:none}table.data{border-collapse:collapse;width:100%;font-size:14.5px}table.data th{z-index:1;text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-2);white-space:nowrap;background:#f4f2f9;padding:9px 10px;font-size:12px;font-weight:700;position:sticky;top:0}table.data td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 10px}table.data tbody tr{transition:background-color .12s}table.data tbody tr:hover{background:#faf8fd}table.data .n{text-align:right;font-family:var(--sans);font-variant-numeric:tabular-nums}table.data td.clip{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}button.sort{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}button.sort:after{content:"";opacity:.35;border:4px solid #0000;border-top-color:currentColor;width:0;height:0;margin-top:4px}th[aria-sort=ascending] button.sort:after{border-top-color:#0000;border-bottom-color:var(--violet);opacity:1;margin-top:-4px}th[aria-sort=descending] button.sort:after{border-top-color:var(--violet);opacity:1}th[aria-sort=ascending],th[aria-sort=descending]{color:var(--violet)}.named{line-height:1.3;display:grid}.named .id{font-family:var(--mono);color:var(--muted);font-size:11px}.inline{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.array{gap:6px;display:grid}.array-grid{flex-wrap:wrap;gap:6px;max-height:260px;padding:4px 0;display:flex;overflow:auto}.array-grid label{font:11px var(--mono);color:var(--muted);align-items:center;gap:4px;display:inline-flex}textarea.notes{resize:vertical;width:100%;min-width:180px;font-size:13.5px}.changes del{color:var(--neg);text-decoration:line-through;text-decoration-thickness:1px}.changes ins{color:var(--blue);text-decoration:none}.changes>span{display:block}.progress{background:var(--paper-2);border-radius:3px;width:150px;max-width:100%;height:5px;display:block;overflow:hidden}.progress i{background:var(--chara);border-radius:3px;height:100%;display:block}.progress.full i{background:linear-gradient(90deg,#c38d36,#e2b468)}.char-card .progress{width:100%}.conf{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.conf i{border:1.5px solid var(--violet-2);flex:none;width:10px;height:10px;transform:rotate(45deg)scale(.85)}.conf-confirmed i{background:var(--violet-2)}.conf-likely i{background:linear-gradient(135deg, var(--violet-2) 50%, transparent 50%)}.conf-unknown i{border-style:dashed;border-color:var(--muted)}.chart{gap:8px;min-width:0;display:grid}.bars,.div-bars{gap:6px;margin:0;padding:0;list-style:none;display:grid}.bars li,.div-bars li{cursor:default;grid-template-columns:minmax(90px,38%) 1fr 3.8em;align-items:center;gap:10px;padding:1px 0;display:grid}.bars li:hover .bar-label,.div-bars li:hover .bar-label{color:var(--violet)}.bar-label{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.bar-value{font:13px var(--sans);text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}.bar-value.pos{color:var(--pos)}.bar-value.neg{color:var(--neg)}.bar-track{background:var(--paper-2);border-radius:2px;height:12px;position:relative}.bar-fill{background:var(--blue);transform-origin:0;height:100%;animation:grow .64s var(--ease-out) calc(var(--i,0) * 32ms) backwards;border-radius:2px;display:block}.ink-chara .bar-fill{background:var(--chara)}.ink-chara .bar-fill.hi{background:var(--max)}.ink-mat .bar-fill{background:var(--mat)}.ink-sigil .bar-fill{background:var(--sigil)}.ink-wep .bar-fill{background:var(--wep)}@keyframes grow{0%{transform:scaleX(0)}}.div-track{background:linear-gradient(90deg, transparent calc(50% - .5px), var(--line-2) calc(50% - .5px), var(--line-2) calc(50% + .5px), transparent calc(50% + .5px));height:12px;position:relative}.div-fill{animation:grow .64s var(--ease-out) calc(var(--i,0) * 32ms) backwards;position:absolute;top:0;bottom:0}.div-fill.pos{background:var(--pos);transform-origin:0;border-radius:0 2px 2px 0}.div-fill.neg{background:var(--neg);transform-origin:100%;border-radius:2px 0 0 2px}.div-legend{color:var(--ink-2);justify-content:center;gap:18px;font-size:12.5px;display:flex}.div-legend .lg:before{content:"";vertical-align:-1px;width:10px;height:10px;margin-right:6px;display:inline-block}.div-legend .neg:before{background:var(--neg)}.div-legend .pos:before{background:var(--pos)}svg.cols{width:100%;height:auto;overflow:visible}svg.cols .grid{stroke:var(--line);stroke-width:1px}svg.cols .base{stroke:var(--line-2);stroke-width:1px}svg.cols .axis{fill:var(--muted);font:11px var(--sans)}svg.cols .hit{fill:#0000}svg.cols .mark{fill:var(--blue);transform-box:fill-box;transform-origin:bottom;animation:rise .64s var(--ease-out) calc(var(--i,0) * 30ms) backwards}svg.cols.ink-sigil .mark{fill:var(--sigil)}svg.cols .col:hover .mark{fill:var(--violet-2)}@keyframes rise{0%{transform:scaleY(0)}}.chart-table summary{color:var(--muted);cursor:pointer;width:max-content;font-size:12.5px}.chart-table summary:hover{color:var(--violet)}.chart-table table{border-collapse:collapse;width:100%;margin-top:6px;font-size:13.5px}.chart-table td,.chart-table th{border-bottom:1px solid var(--line);text-align:left;padding:4px 6px}.chart-table .n{text-align:right}.chart-tip{z-index:40;pointer-events:none;background:var(--white);border:1px solid var(--line-2);opacity:0;gap:2px;max-width:280px;padding:8px 12px;font-size:13px;transition:opacity .12s;display:grid;position:fixed;top:0;left:0;box-shadow:0 12px 28px -12px #281e5a73}.chart-tip.on{opacity:1}.chart-tip span{color:var(--muted);font-size:12px}.chart-tip em{color:var(--violet);font-style:normal;font-weight:700}.welcome{gap:40px}.welcome-hero{isolation:isolate;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;min-height:560px;display:grid;position:relative}.welcome-sky{z-index:-2;opacity:.95;animation:float-in 1.4s var(--ease-out) both;background:url(/gbfr-save-analytics/art/sky.avif) 50%/contain no-repeat;position:absolute;inset:-10px -6% 0 30%}.welcome-duo{z-index:-1;filter:drop-shadow(0 18px 28px #281e5a40);width:auto;height:600px;animation:float-in 1.2s var(--ease-out) .15s both;position:absolute;bottom:-24px;right:2%}.welcome-copy{justify-items:start;gap:18px;max-width:600px;padding:28px 0;display:grid}.welcome-logo{width:min(340px,80%);height:auto}.welcome h1{font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.15}.welcome .lead{color:var(--ink-2);max-width:54ch;font-size:17px}@keyframes float-in{0%{opacity:0;transform:translateY(18px)}}.drop{cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:100%;box-shadow:var(--shadow-card);transition:border-color .2s var(--ease-out), box-shadow .2s;background:#ffffffeb;border:1px dashed #b9b2d3;justify-items:start;gap:6px;padding:22px 24px;display:grid}.drop:hover,body.dragging .drop{border-color:var(--violet-2);box-shadow:0 0 0 4px #8a3cc41f, var(--shadow-card);border-style:solid}.drop-title{font-size:21px;font-weight:700}.drop-sub{color:var(--muted);font-size:14px}.drop .btn{margin-top:8px}.steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1000px;margin:0 auto;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-card);text-align:center;color:var(--ink-2);padding:46px 20px 20px;position:relative}.steps li:before{content:counter(step);background:var(--white);border:1px solid var(--gold);width:40px;height:40px;box-shadow:0 0 0 4px var(--paper), inset 0 0 0 3px #fbf1dc;font:700 18px var(--serif);color:var(--copper);border-radius:50%;place-items:center;display:grid;position:absolute;top:-18px;left:50%;transform:translate(-50%)}dialog.consent{border:1px solid var(--line);background:var(--white);width:min(580px,100vw - 32px);color:var(--ink);text-align:center;padding:28px 30px 26px;box-shadow:0 30px 70px -20px #1e144680}dialog.consent[open]{animation:rise-in .46s var(--ease-out)}dialog.consent::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#28224673}.consent-logo{width:240px;height:auto;margin:0 auto 6px;display:block}dialog.consent .ornate{margin-bottom:12px;font-size:24px}dialog.consent p{color:var(--ink-2)}dialog.consent ul{color:var(--ink-2);text-align:left;gap:6px;max-width:46ch;margin:14px auto 22px;padding-left:1.2em;font-size:14.5px;display:grid}dialog.char-dialog{border:1px solid var(--line);background:var(--white);width:min(940px,100vw - 32px);max-width:none;max-height:none;color:var(--ink);padding:0;overflow:hidden;box-shadow:0 34px 80px -24px #1e144699,0 4px 14px -6px #1e144633}dialog.char-dialog[open]{animation:rise-in .42s var(--ease-out)}dialog.char-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#28224680}.sheet{grid-template-rows:minmax(0,1fr);grid-template-columns:320px minmax(0,1fr);height:min(680px,100dvh - 32px);display:grid}.sheet-art{isolation:isolate;background:url(/gbfr-save-analytics/art/card-base.avif) 50%/cover,#ebe8f4;position:relative;overflow:hidden}.sheet-art:after{content:"";border:2px solid #0000;border-image:var(--frame) 1;pointer-events:none;opacity:.85;position:absolute;inset:10px}.sheet-portrait{object-fit:cover;object-position:center top;width:100%;height:100%;animation:sheet-drift .9s var(--ease-out) both;display:block}.sheet-plate{pointer-events:none;filter:drop-shadow(0 2px 8px #281e5a40);width:auto;height:78%;animation:sheet-plate .7s var(--ease-out) .18s both;position:absolute;top:7%;right:16px}.sheet-art .char-unknown{font-size:96px}.sheet .char-lv{clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);padding:5px 30px 5px 16px;font-size:14px;bottom:20px}.sheet .char-lv b{font-size:21px}.from-next .sheet-portrait{animation:sheet-from-right .52s var(--ease-out) both}.from-prev .sheet-portrait{animation:sheet-from-left .52s var(--ease-out) both}.from-next .sheet-body>*,.from-prev .sheet-body>*{animation:sheet-fade .36s var(--ease-out) both}@keyframes sheet-drift{0%{opacity:0;filter:saturate(.7)brightness(1.08);transform:scale(1.06)}}@keyframes sheet-plate{0%{opacity:0;transform:translate(14px)}}@keyframes sheet-from-right{0%{opacity:0;transform:translate(32px)}}@keyframes sheet-from-left{0%{opacity:0;transform:translate(-32px)}}@keyframes sheet-fade{0%{opacity:.15}}.sheet-body{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:22px;padding:24px 30px 26px;display:grid;overflow-y:auto}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.sheet-title{min-width:0}.sheet-title h2{letter-spacing:.02em;overflow-wrap:anywhere;font-size:clamp(26px,3vw,36px);line-height:1.15}.sheet-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px;display:flex}.chip.party{color:var(--violet);background:#f8f2fc;border-color:#d9c4ea}.sheet-nav{flex:none;align-items:center;gap:2px;margin:-4px -8px 0 0;display:flex}.sheet-pos{text-align:center;min-width:5ch;font:12.5px var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}.sheet-icon{width:38px;height:38px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;place-items:center;padding:0;transition:border-color .14s,color .14s,background-color .14s;display:grid}.sheet-icon:hover{border-color:var(--line-2);background:var(--paper);color:var(--violet)}.sheet-icon:not([data-step]){border-color:var(--line-2);margin-left:8px}.sheet-level{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:32px;display:grid}.sheet-level .fig{margin-top:2px;font-size:clamp(30px,3.4vw,40px);line-height:1.05;display:block}.sheet-exp{gap:7px;padding-bottom:4px;display:grid}.sheet-exp .progress{border-radius:4px;width:100%;height:8px}.sheet-exp .progress i{transform-origin:0;animation:grow .9s var(--ease-out) .16s backwards;border-radius:4px}.sheet-exp-n{font:12.5px var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}.sheet-stats{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.sheet-stats>div{min-width:0;padding:12px 18px}.sheet-stats>div:first-child{padding-left:0}.sheet-stats>div+div{border-left:1px solid var(--line)}.sheet-stats dt{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.sheet-stats dd{font:700 22px/1.2 var(--sans);font-variant-numeric:tabular-nums;margin:3px 0 0}.sheet-list{--edge:var(--blue);gap:6px;display:grid}.sheet-list.ink-wep{--edge:var(--wep)}.sheet-list.ink-sigil{--edge:var(--sigil)}.sheet-list h3{align-items:center;gap:10px;font-size:16px;display:flex}.sheet-list h3:before{content:"";background:var(--edge);flex:none;width:8px;height:8px;transform:rotate(45deg)}.sheet-list h3 sup{font:11px var(--sans);color:var(--muted);margin-left:-6px}.sheet-list ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));column-gap:24px;margin:0;padding:0;list-style:none;display:grid}.sheet-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:7px 0;font-size:14px;display:flex}.sheet-item{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sheet-tags{font:12px var(--sans);color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.sheet-list>p{font-size:14px}.sheet-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding-top:4px;display:flex}.sheet-foot .note{font-size:13px}.btn.music-btn,.btn.sfx-btn{width:40px;padding:0}.btn.music-btn.on,.btn.sfx-btn.on{color:var(--violet);background:#f8f2fc;border-color:#d9c4ea}.foot{padding:26px var(--gutter) 32px;text-align:center;color:var(--muted);background:var(--white);border-top:1px solid var(--line);justify-items:center;gap:8px;font-size:13px;display:grid}.foot .notice{color:var(--ink-2);max-width:90ch}.foot .author{color:var(--ink-2)}.foot .author a{vertical-align:bottom;align-items:center;gap:5px;font-weight:700;display:inline-flex}.foot .credits a{align-items:center;gap:4px;display:inline-flex}.foot .warn{color:var(--danger)}::view-transition-old(main){animation:.15s ease-in both vt-out}::view-transition-new(main){animation:vt-in .32s var(--ease-out) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}@media (max-width:1180px){.ledger{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-seal{max-width:420px}}@media (max-width:900px){.topbar{grid-template-columns:1fr auto;grid-template-areas:"brand brand""status status""actions actions""notice notice";gap:10px}.actions{justify-content:flex-start}.dl-notice{text-align:left;justify-self:start}.tabs-list{justify-content:flex-start}.ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:0;padding:200px 16px 16px}.hero-facts{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-hero{grid-template-columns:1fr;min-height:0;padding-top:300px}.welcome-sky{height:340px;inset:0 -10% auto}.welcome-duo{height:330px;animation:none;top:0;bottom:auto;right:50%;transform:translate(50%)}.steps{grid-template-columns:1fr;gap:30px}}@media (max-width:760px){dialog.char-dialog{width:calc(100vw - 16px)}.sheet{grid-template-rows:230px minmax(0,1fr);grid-template-columns:1fr;height:calc(100dvh - 16px)}.sheet-portrait{object-position:center 14%}.sheet-plate{height:88%;top:6%;right:12px}.sheet-body{gap:18px;padding:18px 16px 20px}.sheet-level{grid-template-columns:1fr;gap:12px}.sheet-stats>div{padding:10px 12px}.sheet-stats dd{font-size:18px}.sheet-pos{display:none}}@media (max-width:560px){.brand-logo{height:36px}.actions .btn:not(.primary) span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.actions .btn.primary{white-space:nowrap;flex:100%;order:-1}.actions .lang{margin-left:auto}.gallery{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:18px 12px}.char-name{font-size:13.5px}.bars li,.div-bars li{grid-template-columns:minmax(80px,42%) 1fr 3.4em;gap:8px}.status .file{white-space:normal;max-width:100%}.panel{padding:16px 14px}.facts{grid-template-columns:1fr}.seal{grid-template-columns:1fr;justify-items:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}input.wash{animation:.9s linear wash!important}}@media (forced-colors:active){.bar-fill,.div-fill,.progress i,.conf i{forced-color-adjust:none;background:canvastext!important}}
