:root{--c-void:#07060c;--c-abyss:#0c1122;--c-navy:#121932;--c-navy-2:#192242;--c-dusk:#1d1535;--c-dusk-2:#2a1f4d;--c-line:#262a4d;--c-line-strong:#3a3668;--c-blood:#b3263e;--c-blood-bright:#e04860;--c-blood-dim:#5a1a2a;--c-gold:#c9a34e;--c-gold-bright:#ecd088;--c-gold-dim:#6e5a2c;--c-text:#ebe7f4;--c-text-muted:#a09bbd;--c-text-faint:#6e6994;--c-ok:#5cae8e;--c-hp:#c0384e;--c-mp:#4f7fd0;--c-exp:#c9a34e;--c-res-soul:#a58bf0;--c-res-gold:#d9b45a;--c-res-food:#cf8f56;--c-res-materials:#9ea8bf;--c-res-mana:#5b8fe0;--c-r-n:#8b8aa0;--c-r-r:#4f8fd6;--c-r-sr:#a06ad8;--c-r-ssr:#e0b04a;--c-r-ur:#e0554f;--c-r-ex:#f0e4ff;--font-body:"Yu Gothic UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Meiryo", system-ui, sans-serif;--font-display:"Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", "MS PMincho", serif;--fs-xs:12px;--fs-sm:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:24px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--r-sm:4px;--r-md:6px;--topbar-h:64px;--dock-h:58px;--side-w:0px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}@media (width>=768px){:root{--side-w:72px}}@media (width>=1024px){:root{--side-w:224px}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--c-void);color:var(--c-text);font-family:var(--font-body);font-size:var(--fs-md);font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;scrollbar-color:var(--c-line-strong) transparent;scrollbar-width:thin;line-height:1.6}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}::selection{background:var(--c-blood-dim);color:var(--c-text)}:focus-visible{outline:2px solid var(--c-gold-bright);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.pwa-notice{z-index:30;left:calc(var(--safe-left) + var(--s-3));right:calc(var(--safe-right) + var(--s-3));bottom:calc(var(--dock-h) + var(--safe-bottom) + var(--s-3));gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--c-navy);border:1px solid var(--c-gold-dim);border-radius:var(--r-md);display:grid;position:fixed;box-shadow:0 8px 24px #00000080}.pwa-notice__text{font-size:var(--fs-sm)}.pwa-notice__error{font-size:var(--fs-sm);color:var(--c-blood-bright)}.pwa-notice__actions{gap:var(--s-2);justify-content:flex-end;display:flex}@media (width>=768px){.pwa-notice{left:auto;right:calc(var(--safe-right) + var(--s-4));bottom:calc(var(--safe-bottom) + var(--s-4));width:380px}}.placeholder__phase{color:var(--c-gold-bright);margin-bottom:var(--s-3)}.placeholder__list{gap:var(--s-2);color:var(--c-text-muted);display:grid}.placeholder__list li{padding-left:var(--s-4);position:relative}.placeholder__list li:before{content:"";background:var(--c-blood);width:6px;height:6px;position:absolute;top:.65em;left:0;transform:rotate(45deg)}.units__note{color:var(--c-text-muted);font-size:var(--fs-sm)}.unitrow{align-items:center;gap:var(--s-3);height:100%;padding:0 var(--s-4);border-bottom:1px solid var(--c-line);grid-template-columns:40px minmax(0,1fr) auto;display:grid}.unitrow__icon{width:36px;height:36px;font-family:var(--font-display);color:var(--rc);border:1px solid var(--rc);border-radius:var(--r-sm);background:var(--c-void);place-items:center;font-weight:700;display:grid}.unitrow__main{min-width:0;display:grid}.unitrow__name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.unitrow__sub{font-size:var(--fs-xs);color:var(--c-text-muted)}.unitrow__meta{align-items:center;gap:var(--s-3);display:flex}.unitrow__lv{font-size:var(--fs-sm);color:var(--c-text-muted)}.swatches{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.swatch{gap:2px;display:grid}.swatch__chip{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);height:40px}.swatch__label{font-size:var(--fs-sm)}.swatch__token{font-size:var(--fs-xs);color:var(--c-text-faint)}.sg-row{gap:var(--s-3);flex-wrap:wrap;display:flex}.sg-row--gap{margin-top:var(--s-4)}.sg-stack{gap:var(--s-3);max-width:320px;display:grid}.sg-display{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--c-gold-bright)}.sg-muted{color:var(--c-text-muted);font-size:var(--fs-sm)}.panel{background:var(--c-navy);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:inset 0 1px #c9a34e2e}.panel__head{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--c-line);display:flex}.panel__title{font-family:var(--font-display);font-size:var(--fs-md);color:var(--c-gold-bright);font-weight:700}.panel__body{padding:var(--s-4)}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:36px;padding:0 var(--s-4);background:var(--c-navy-2);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);color:var(--c-text);cursor:pointer;transition:background-color .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--c-dusk-2);border-color:var(--c-gold-dim)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--c-blood);border-color:var(--c-blood-bright)}.btn--primary:hover:not(:disabled){background:var(--c-blood-bright);border-color:var(--c-blood-bright)}.btn--accent{border-color:var(--c-gold);color:var(--c-gold-bright);background:0 0}.btn--accent:hover:not(:disabled){border-color:var(--c-gold-bright);background:#c9a34e24}.btn--ghost{color:var(--c-text-muted);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--c-navy-2);border-color:var(--c-line);color:var(--c-text)}@media (pointer:coarse){.btn{min-height:44px}}.gauge{background:var(--c-void);border:1px solid var(--c-line);border-radius:3px;height:6px;overflow:hidden}.gauge__fill{height:100%;width:calc(var(--p) * 100%);background:var(--gauge-color,var(--c-exp))}.gauge[data-tone=hp]{--gauge-color:var(--c-hp)}.gauge[data-tone=mp]{--gauge-color:var(--c-mp)}.gauge[data-tone=exp]{--gauge-color:var(--c-exp)}[data-rarity=N]{--rc:var(--c-r-n)}[data-rarity=R]{--rc:var(--c-r-r)}[data-rarity=SR]{--rc:var(--c-r-sr)}[data-rarity=SSR]{--rc:var(--c-r-ssr)}[data-rarity=UR]{--rc:var(--c-r-ur)}[data-rarity=EX]{--rc:var(--c-r-ex)}.rarity{min-width:36px;padding:0 var(--s-2);font-size:var(--fs-xs);color:var(--rc);border:1px solid var(--rc);background:color-mix(in srgb, var(--rc) 14%, transparent);border-radius:3px;justify-content:center;font-weight:700;line-height:20px;display:inline-flex}.vlist{background:var(--c-navy);border:1px solid var(--c-line);border-radius:var(--r-md);contain:layout paint;flex:1;min-height:0;position:relative;overflow:auto}.vlist__spacer{width:100%;position:relative}.vlist__row{position:absolute;left:0;right:0}.shell{grid-template-columns:var(--side-w) minmax(0, 1fr);height:100dvh;padding-left:var(--safe-left);padding-right:var(--safe-right);background:var(--c-abyss);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top top""side main";display:grid}@media (width<=767.98px){.shell{grid-template:"top""main"minmax(0,1fr)"dock"/minmax(0,1fr)}}.skip{left:var(--s-2);top:var(--s-2);z-index:40;padding:var(--s-2) var(--s-3);background:var(--c-gold);color:var(--c-void);border-radius:var(--r-sm);border:0;position:absolute;transform:translateY(-200%)}.skip:focus{transform:none}.topbar{z-index:2;background:var(--c-void);border-bottom:1px solid var(--c-gold-dim);padding:calc(var(--safe-top) + var(--s-2)) var(--s-3) var(--s-2);align-items:center;row-gap:var(--s-2);grid-area:top;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"player date""res res";display:grid;position:relative}.topbar__brand{grid-area:brand;display:none}.topbar__resources{grid-area:res}.topbar__date{grid-area:date}.topbar__player{grid-area:player}@media (width>=768px){.topbar{height:calc(var(--topbar-h) + var(--safe-top));padding:var(--safe-top) var(--s-4) 0 0;grid-template-columns:var(--side-w) minmax(0, 1fr) auto auto;grid-template-areas:"brand res date player";row-gap:0}.topbar__brand{justify-content:center;align-items:center;gap:var(--s-3);border-right:1px solid var(--c-line);height:100%;display:flex}}.topbar__title{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.06em;color:var(--c-gold-bright);white-space:nowrap;font-weight:700;display:none}@media (width>=1024px){.topbar__title{display:inline}}.topbar__resources{gap:var(--s-2);scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}.topbar__resources::-webkit-scrollbar{display:none}@media (width>=768px){.topbar__resources{padding:0 var(--s-3)}}@media (width>=1024px){.topbar__resources{padding:0 var(--s-4)}}.res{padding:3px var(--s-3);background:var(--c-navy);border:1px solid var(--c-line);border-radius:var(--r-sm);white-space:nowrap;flex:none;align-items:center;gap:6px;display:flex}.res__icon{color:var(--res-color)}@media (width<=1023.98px){.res{padding:3px var(--s-2);gap:4px}}.res[data-res=soul]{--res-color:var(--c-res-soul)}.res[data-res=gold]{--res-color:var(--c-res-gold)}.res[data-res=food]{--res-color:var(--c-res-food)}.res[data-res=materials]{--res-color:var(--c-res-materials)}.res[data-res=mana]{--res-color:var(--c-res-mana)}.res__label{clip:rect(0 0 0 0);width:1px;height:1px;font-size:var(--fs-xs);color:var(--c-text-muted);position:absolute;overflow:hidden}.res__value{font-weight:600;font-size:var(--fs-sm)}.res__delta{font-size:var(--fs-xs);color:var(--c-ok);display:none}.res__delta--neg{color:var(--c-blood-bright)}@media (width>=1280px){.res__label{clip:auto;width:auto;height:auto;position:static;overflow:visible}.res__delta{display:inline}}.topbar__date{padding-left:var(--s-3);justify-items:end;line-height:1.25;display:grid}.date__day{font-family:var(--font-display);color:var(--c-gold-bright);font-weight:700;font-size:var(--fs-sm)}.date__time{font-size:var(--fs-xs);color:var(--c-text-muted)}@media (width>=768px){.topbar__date{padding:0 var(--s-3);margin:var(--s-3) 0;border-left:1px solid var(--c-line);align-content:center}.date__day{font-size:var(--fs-md)}}@media (width>=1024px){.topbar__date{padding:0 var(--s-4)}}.topbar__player{align-items:center;gap:var(--s-3);min-width:0;display:flex}.player__avatar{width:34px;height:34px;font-family:var(--font-display);color:var(--c-gold-bright);background:var(--c-dusk);border:1px solid var(--c-gold-dim);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.player__info{min-width:0;line-height:1.25;display:grid}.player__name{font-weight:600;font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.player__lv{font-size:var(--fs-xs);color:var(--c-text-muted)}.player__gauges{gap:5px;width:88px;display:none}@media (width>=1024px){.player__gauges{display:grid}}.sidemenu{min-height:0;padding:var(--s-2) 0 calc(var(--s-2) + var(--safe-bottom));background:var(--c-void);border-right:1px solid var(--c-line);flex-direction:column;grid-area:side;display:none;overflow-y:auto}@media (width>=768px){.sidemenu{display:flex}}.sidemenu__group{padding:var(--s-2) 0}.sidemenu__group+.sidemenu__group{border-top:1px solid var(--c-line)}.navlink{align-items:center;gap:var(--s-3);height:44px;padding:0 var(--s-4);color:var(--c-text-muted);border-left:3px solid #0000;transition:background-color .12s,color .12s;display:flex}.navlink:hover{background:var(--c-navy);color:var(--c-text)}.navlink[aria-current=page]{background:var(--c-dusk);color:var(--c-text);border-left-color:var(--c-blood)}.navlink[aria-current=page] svg{color:var(--c-gold-bright)}.sidemenu__version{padding:var(--s-3) var(--s-4) 0;font-size:var(--fs-xs);color:var(--c-text-faint);margin-top:auto;display:none}@media (width<=1023.98px){.navlink{justify-content:center;padding:0}.navlink__label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=1024px){.sidemenu__version{display:block}}.shell__main{min-width:0;min-height:0;padding:var(--s-4);background:var(--c-abyss);outline:none;grid-area:main;overflow:auto}@media (width>=768px){.shell__main{padding:var(--s-5) var(--s-6)}}.shell__main[data-layout=fill]{flex-direction:column;display:flex;overflow:hidden}.screen__head{margin-bottom:var(--s-4);flex:none}.screen__title{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;font-weight:700;line-height:1.3}.screen__title:after{content:"";width:32px;height:2px;margin-top:var(--s-2);background:var(--c-blood);display:block}.screen__summary{margin-top:var(--s-2);max-width:60ch;color:var(--c-text-muted);font-size:var(--fs-sm)}.screen__body{gap:var(--s-4);flex-direction:column;display:flex}.shell__main[data-layout=fill] .screen__body{flex:1;min-height:0}.screen__loading{color:var(--c-text-muted)}.dock{background:var(--c-void);border-top:1px solid var(--c-gold-dim);padding-bottom:var(--safe-bottom);grid-area:dock;display:flex}@media (width>=768px){.dock{display:none}}.dock__item{min-width:0;min-height:var(--dock-h);color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:0;display:flex;position:relative}.dock__label{font-size:11px;line-height:1.2}.dock__item[aria-current=page],.dock__item[data-active=true]{color:var(--c-gold-bright)}.dock__item[aria-current=page]:before,.dock__item[data-active=true]:before{content:"";background:var(--c-blood);height:2px;position:absolute;top:0;left:24%;right:24%}.sheet-scrim{z-index:20;background:#04030ab8;position:fixed;inset:0}.sheet{z-index:21;max-height:80dvh;padding:var(--s-3) var(--s-4) calc(var(--s-4) + var(--safe-bottom));background:var(--c-navy);border-top:1px solid var(--c-gold-dim);border-radius:12px 12px 0 0;animation:.18s ease-out sheet-in;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.sheet__head{margin-bottom:var(--s-3);justify-content:space-between;align-items:center;display:flex}.sheet__title{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--c-gold-bright)}.sheet__close{width:44px;height:44px;color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.sheet__grid{gap:var(--s-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sheet__grid+.sheet__grid{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--c-line)}.tile{justify-content:center;align-items:center;gap:var(--s-2);min-height:80px;padding:var(--s-2);font-size:var(--fs-sm);color:var(--c-text-muted);background:var(--c-void);border:1px solid var(--c-line);border-radius:var(--r-md);flex-direction:column;display:flex}.tile[aria-current=page]{color:var(--c-gold-bright);border-color:var(--c-blood);background:var(--c-dusk)}
