@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Rajdhani:wght@400;500;600;700&family=EB+Garamond:ital,wght@0,400;0,500;1,400&family=Noto+Sans+JP:wght@300;400;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07050e;--surface-1:#100d1a;--surface-2:#1a1630;--surface-3:#221d3a;--accent:#e52222;--accent-dim:#e5222224;--accent-glow:#e5222247;--accent-light:#f44;--blue:#1a8fe3;--blue-dim:#1a8fe324;--teal:#00c8aa;--teal-dim:#00c8aa1f;--text:#f0ead8;--text-dim:#f0ead89e;--text-muted:#f0ead84d;--border:#ffffff12;--border-mid:#ffffff24;--border-bright:#ffffff52;--title-color:#f0ead8;--title-glow:#f0ead826;--header-bg:#0a0712f7;--banner-bg:#0a0712f7;--overlay-bg:#040309e6;--panel-bg:#161228fc;--art-bg-top:#18142cd9;--art-bg-bot:#0a0712f2;--stripe:#ffffff04;--grid:#ffffff06;--glow-a:#e5222212;--glow-b:#1a8fe30f;--glow-c:#00c8aa0a;--font-display:"Bebas Neue", sans-serif;--font-ui:"Rajdhani", sans-serif;--font-body:"EB Garamond", serif;--font-jp:"Noto Sans JP", sans-serif;font-family:var(--font-ui);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:500;line-height:1.5}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4efe8;--surface-1:#fff;--surface-2:#f0ecf5;--surface-3:#e6e1f0;--accent:#c41414;--accent-dim:#c414141a;--accent-glow:#c4141438;--accent-light:#e52222;--blue:#0d6ab8;--blue-dim:#0d6ab81f;--teal:#009980;--teal-dim:#0099801f;--text:#1a1530;--text-dim:#1a15309e;--text-muted:#1a15305c;--border:#1a153017;--border-mid:#1a15302e;--border-bright:#1a153066;--title-color:#c41414;--title-glow:#c4141433;--header-bg:#fffffff5;--banner-bg:#fffffff7;--overlay-bg:#f4efe8e6;--panel-bg:#fffffffc;--art-bg-top:#f0ebe4e6;--art-bg-bot:#e8e4dcf2;--stripe:#1a153006;--grid:#1a15300b;--glow-a:#c414140d;--glow-b:#0d6ab80a;--glow-c:#00998008}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100%}html{overflow:hidden}body{background-color:var(--bg);background-image:radial-gradient(ellipse 75% 55% at 18% 8%, var(--glow-a), transparent), radial-gradient(ellipse 60% 45% at 82% 88%, var(--glow-b), transparent), radial-gradient(ellipse 45% 45% at 55% 40%, var(--glow-c), transparent);min-width:320px;margin:0;transition:background-color .3s;overflow:hidden}body:before{content:"";background-image:repeating-linear-gradient(-45deg, transparent, transparent 32px, var(--stripe) 32px, var(--stripe) 33px);pointer-events:none;z-index:0;position:fixed;inset:0}body:after{content:"";background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:58px 58px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 70%,#000 20%,#0000 75%);mask-image:radial-gradient(80% 70%,#000 20%,#0000 75%)}button,input,select{font:inherit}a{color:inherit}img{max-width:100%;display:block}.app-shell{flex-direction:column;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.title-banner{z-index:11;background:var(--banner-bg);border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;height:88px;padding:0 32px;transition:background .3s;display:grid;position:relative}.title-banner:after{content:"";background:linear-gradient(90deg, var(--accent) 0%, #fff 45%, #fff 55%, var(--blue) 100%);opacity:.65;height:2px;position:absolute;bottom:0;left:0;right:0}.title-series-block{flex-direction:column;gap:4px;display:flex}.title-series{font-family:var(--font-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:700}.title-x{color:var(--accent)}.title-series-jp{font-family:var(--font-jp);letter-spacing:.08em;color:var(--text-muted);opacity:.6;font-size:.62rem;font-weight:300}.title-center-block{flex-direction:column;align-items:center;gap:4px;display:flex}.title-main{font-family:var(--font-display);letter-spacing:.12em;color:var(--title-color);text-shadow:0 0 30px var(--title-glow), 0 0 70px var(--title-glow);margin:0;font-size:clamp(2.4rem,4.5vw,3.8rem);line-height:1}.title-sub{font-family:var(--font-jp);letter-spacing:.18em;color:var(--text-muted);opacity:.65;font-size:.62rem;font-weight:300}.title-stat-block{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.title-stat-label{font-family:var(--font-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);font-size:.58rem;font-weight:700}.title-stat-value{font-family:var(--font-display);letter-spacing:.08em;color:var(--text-dim);font-size:2rem;line-height:1}.app-header{z-index:10;background:var(--header-bg);border-bottom:1px solid var(--border);flex-shrink:0;align-items:stretch;height:50px;transition:background .3s;display:flex;position:relative}.tab-bar{flex:1;align-items:stretch;min-width:0;display:flex}.tab-button{height:100%;color:var(--text-muted);cursor:pointer;font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:9px;padding:0 20px;font-size:.82rem;font-weight:600;transition:color .14s,border-color .14s,background .14s;display:inline-flex}.tab-button:hover:not(.is-active){color:var(--text-dim);border-bottom-color:var(--border-mid);background:var(--accent-dim)}.tab-button.is-active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-dim)}.tab-count{letter-spacing:.04em;background:var(--border);min-width:24px;height:18px;color:var(--text-muted);border-radius:3px;justify-content:center;align-items:center;padding:0 5px;font-size:.66rem;font-weight:700;transition:background .14s,color .14s;display:inline-flex}.tab-button.is-active .tab-count{background:var(--accent-dim);color:var(--accent)}.header-search{border-left:1px solid var(--border);align-items:center;padding:0 16px;display:flex}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{width:13px;height:13px;color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.search-input{border:1px solid var(--border);background:var(--accent-dim);width:210px;height:32px;color:var(--text);font-family:var(--font-ui);letter-spacing:.04em;border-radius:3px;outline:none;padding:0 12px 0 30px;font-size:.82rem;font-weight:500;transition:border-color .14s,background .14s,box-shadow .14s}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--accent-glow);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-dim)}.theme-toggle{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin:auto 12px;transition:all .14s;display:flex}.theme-toggle:hover{border-color:var(--border-mid);color:var(--text);background:var(--accent-dim)}.theme-toggle svg{width:15px;height:15px}.canvas-shell{flex:1;min-height:0;position:relative}.canvas-shell canvas{width:100%!important;height:100%!important}.scene-loader{place-items:center;display:grid;position:absolute;inset:0}.scene-loader-ring{border:2px solid var(--border);border-top-color:var(--accent);width:44px;height:44px;box-shadow:0 0 20px var(--accent-dim);border-radius:999px;animation:.8s linear infinite spin}.detail-overlay{z-index:20;background:var(--overlay-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);place-items:center;padding:clamp(16px,3vw,32px);animation:.18s both overlayIn;display:grid;position:absolute;inset:0}.detail-overlay:before{content:"";background:radial-gradient(ellipse 70% 50% at 20% 0%, var(--accent-dim), transparent), radial-gradient(ellipse 50% 40% at 80% 100%, var(--blue-dim), transparent);pointer-events:none;position:absolute;inset:0}.detail-dismiss{cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.detail-sheet{z-index:1;border:1px solid var(--border-mid);background:var(--panel-bg);width:min(100%,920px);box-shadow:0 0 0 1px var(--border), 0 32px 90px #00000080;border-radius:4px;grid-template-columns:minmax(240px,340px) minmax(0,480px);gap:clamp(16px,2.5vw,32px);padding:clamp(24px,3vw,36px);transition:background .3s;display:grid;position:relative}.detail-sheet:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.4;height:1px;position:absolute;top:0;left:10%;right:10%}.corner-tl,.corner-tr,.corner-bl,.corner-br{border-color:var(--border-bright);border-style:solid;width:18px;height:18px;position:absolute}.corner-tl{border-width:2px 0 0 2px;top:-1px;left:-1px}.corner-tr{border-width:2px 2px 0 0;top:-1px;right:-1px}.corner-bl{border-width:0 0 2px 2px;bottom:-1px;left:-1px}.corner-br{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.detail-close{border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;background:0 0;border-radius:2px;place-items:center;font-size:.82rem;transition:all .14s;display:grid;position:absolute;top:14px;right:14px}.detail-close:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.detail-art{border:1px solid var(--border);background:linear-gradient(180deg, var(--art-bg-top), var(--art-bg-bot));border-radius:4px;min-height:clamp(320px,58vh,560px);transition:background .3s;position:relative;overflow:hidden}.detail-visual{flex-direction:column;height:100%;display:flex}.detail-art canvas{width:100%;height:100%;display:block}.detail-art-loader{place-items:center;display:grid;position:absolute;inset:0}.detail-copy{flex-direction:column;justify-content:center;gap:16px;padding:4px 0;display:flex}.detail-kicker{font-family:var(--font-ui);letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.66rem;font-weight:700}.detail-copy h1{font-family:var(--font-display);letter-spacing:.06em;color:var(--text);margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.detail-alias{font-family:var(--font-body);color:var(--teal);margin:-8px 0 0;font-size:1rem;font-style:italic}.detail-meta{flex-wrap:wrap;gap:10px;display:flex}.meta-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:3px;min-width:100px;padding:10px 14px;transition:background .3s}.meta-chip span{font-family:var(--font-ui);letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:.58rem;font-weight:700;display:block}.meta-chip strong{font-family:var(--font-display);letter-spacing:.06em;color:var(--text);font-size:1.2rem;display:block}.meta-chip--rank{border-color:var(--accent-dim);background:var(--accent-dim)}.meta-chip--rank span{color:var(--accent);opacity:.8}.meta-chip--rank strong{color:var(--accent)}.meta-chip--copies{border-color:var(--blue-dim);background:var(--blue-dim)}.meta-chip--copies span{color:var(--blue);opacity:.8}.meta-chip--copies strong{color:var(--blue)}.meta-chip--class{border-color:var(--teal-dim);background:var(--teal-dim)}.meta-chip--class span{color:var(--teal);opacity:.8}.meta-chip--class strong{color:var(--teal)}.detail-description{font-family:var(--font-body);color:var(--text-dim);border-top:1px solid var(--border);margin:0;padding-top:16px;font-size:1rem;line-height:1.8}@keyframes spin{to{transform:rotate(360deg)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@media (width<=1000px){.title-banner{height:76px;padding:0 20px}.title-main{font-size:clamp(2rem,4vw,3rem)}.app-header{height:46px}.tab-button{letter-spacing:.05em;padding:0 13px;font-size:.76rem}.search-input{width:170px}}@media (width<=760px){.title-banner{grid-template-columns:1fr;justify-items:center;height:66px;padding:0 16px}.title-series-block,.title-stat-block{display:none}.tab-button{gap:6px;padding:0 10px;font-size:.72rem}.detail-sheet{grid-template-columns:1fr;width:min(100%,500px);padding-top:52px}.detail-art{min-height:280px}.detail-copy{gap:12px}.detail-copy h1{font-size:clamp(1.8rem,7vw,2.6rem)}}@media (width<=560px){.app-header{flex-wrap:wrap;height:auto;min-height:46px;padding:6px 0}.tab-bar{flex-wrap:wrap}.tab-button{padding:0 8px;font-size:.68rem}.header-search{border-left:0;border-top:1px solid var(--border);width:100%;padding:4px 12px}.search-input{width:100%}}
