:root{color-scheme:dark;--bg:#08090c;--panel:#101219;--panel2:#161a28;--edge:#222738;--edge2:#343c55;--cyan:#22d3ee;--amber:#fbbf24;--green:#4ade80;--red:#fb7185;--text:#e2e7f1;--dim:#7b849d;--dim2:#4e566d;font-family:Segoe UI,Noto Sans TC,Noto Sans JP,system-ui,sans-serif;background:var(--bg);color:var(--text);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -20%,#152033 0,transparent 38rem),var(--bg)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.scanlines{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;opacity:.17;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.48) 3px 4px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1440px;margin:auto;padding:20px 24px;border-bottom:1px solid var(--edge)}.brand{display:flex;align-items:center;gap:10px;color:var(--cyan);font-weight:700;letter-spacing:.14em}.brand-mark{font-size:12px;filter:drop-shadow(0 0 8px var(--cyan))}.nav{display:flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.06em;color:var(--dim)}.nav a:hover,.nav a.router-link-active,.link-button:hover{color:var(--cyan)}.link-button{padding:0;border:0;background:none;color:var(--dim)}.lang-switch{display:flex;border:1px solid var(--edge)}.lang-switch button{border:0;background:var(--panel);padding:6px 10px;color:var(--dim)}.lang-switch button[aria-pressed=true]{background:var(--cyan);color:#041419}.site-footer{position:relative;z-index:11;max-width:1400px;margin:64px auto 0;padding:22px 24px 40px;border-top:1px solid var(--edge);font-size:11px;line-height:1.7;color:var(--dim2)}.catalog-shell{position:relative;z-index:11;max-width:1400px;margin:auto;padding:40px 24px 80px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.eyebrow{margin:0 0 8px;color:var(--dim);font:11px Share Tech Mono,monospace;letter-spacing:.22em}.hero h1,.auth-card h1{margin:0;color:var(--cyan);font-size:clamp(34px,5vw,58px);line-height:1;text-shadow:0 0 28px rgba(34,211,238,.35);letter-spacing:.05em}.lede{margin:13px 0 0;color:var(--dim);font-size:12px}.hero-actions{display:flex;align-items:center;gap:12px}.save-state{font:11px Share Tech Mono,monospace;letter-spacing:.08em;color:var(--dim)}.save-state.saved{color:var(--green)}.save-state.failed{color:var(--red)}.secondary-button,.primary-button{border:1px solid var(--edge2);background:var(--panel);padding:10px 16px;font-size:12px;letter-spacing:.07em}.secondary-button:hover{border-color:var(--cyan);color:var(--cyan)}.primary-button{width:100%;background:var(--cyan);border-color:var(--cyan);color:#041419;font-weight:700}.primary-button:disabled{opacity:.55;cursor:wait}.readonly-banner{display:flex;gap:16px;align-items:center;margin-top:22px;padding:12px 15px;border:1px solid var(--amber);background:#fbbf2412;font-size:13px}.readonly-banner b{color:var(--amber);font:12px Share Tech Mono,monospace;letter-spacing:.12em}.readonly-banner span{color:var(--dim)}.stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:28px;padding-bottom:12px}.stat{position:relative;border:1px solid var(--edge);background:#101219e6;padding:14px 16px}.stat:before{content:"";position:absolute;left:0;top:0;width:22px;height:2px;background:var(--dim2)}.stat b{display:block;font:28px Share Tech Mono,monospace;color:var(--text)}.stat span{font-size:10px;letter-spacing:.15em;color:var(--dim);text-transform:uppercase}.stat.cyan b{color:var(--cyan)}.stat.amber b{color:var(--amber)}.progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--edge)}.progress i{display:block;height:100%;background:var(--cyan);box-shadow:0 0 12px var(--cyan);transition:width .25s}.category-tabs{display:flex;margin-top:26px;border-bottom:1px solid var(--edge);overflow-x:auto}.category-tabs button{white-space:nowrap;padding:13px 20px;border:0;border-bottom:2px solid transparent;background:none;color:var(--dim);letter-spacing:.08em}.category-tabs button[aria-selected=true]{color:var(--cyan);border-color:var(--cyan)}.category-tabs em{font:10px Share Tech Mono,monospace;color:var(--dim2);font-style:normal;margin-left:6px}.share-result{display:flex;align-items:center;gap:10px;margin-top:16px;padding:10px;border:1px solid var(--green);background:#4ade800f;font-size:12px}.share-result span{color:var(--green);white-space:nowrap}.share-result input{flex:1;min-width:0;padding:7px 9px;border:1px solid var(--edge);background:var(--bg);font:11px Share Tech Mono,monospace}.share-result button{border:0;background:none;color:var(--dim);font-size:20px}.controls{padding:16px 0}.control-row{display:flex;gap:10px}.search{position:relative;flex:1}.search input,select,.auth-card input{width:100%;border:1px solid var(--edge);background:var(--panel);padding:10px 12px;color:var(--text);border-radius:0}.search input{padding-right:30px}.search span:not(.sr-only){position:absolute;right:10px;top:9px;color:var(--dim2)}select{width:auto;min-width:170px}.search input:focus,select:focus,.auth-card input:focus{outline:0;border-color:var(--cyan)}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.chips button{border:1px solid var(--edge);background:var(--panel);padding:7px 14px;color:var(--dim);font-size:12px;letter-spacing:.06em}.chips button[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan);box-shadow:inset 0 0 18px #22d3ee17}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.item-card{display:flex;flex-direction:column;border:1px solid var(--edge);background:var(--panel);transition:transform .18s,border-color .18s}.item-card:hover{transform:translateY(-3px)}.item-card.owned{border-color:#22d3ee80}.item-image{position:relative;width:100%;padding:0;aspect-ratio:8/5;border:0;background:var(--panel2);overflow:hidden;cursor:zoom-in}.item-image img{width:100%;height:100%;object-fit:cover;display:block}.no-image,.large-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--dim2);font:10px Share Tech Mono,monospace;letter-spacing:.18em}.badge{position:absolute;z-index:2;right:7px;top:7px;padding:5px 7px;font:9px Share Tech Mono,monospace;letter-spacing:.08em}.badge.copy{background:var(--cyan);color:#041419}.badge.gift{background:var(--amber);color:#1c1404}.item-meta{flex:1;padding:11px}.item-meta h3{margin:0 0 5px;font:500 12.5px/1.45 Noto Sans TC,Noto Sans JP,sans-serif;word-break:break-word}.item-meta p{margin:0;color:var(--dim2);font:10px Share Tech Mono,monospace}.own-button,.own-readonly{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;border:0;border-top:1px solid var(--edge);background:none;color:var(--dim2);font-size:12px}.own-button:hover{background:var(--panel2);color:var(--text)}.item-card.owned .own-button,.own-readonly.yes{color:var(--cyan);background:#22d3ee12}.empty,.system-message{padding:80px 20px;text-align:center;color:var(--dim);letter-spacing:.08em}.system-message.error{color:var(--red)}.system-message .secondary-button{margin-top:12px}.loader{display:inline-block;width:9px;height:9px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:blink 1s infinite}.pager{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:32px;color:var(--dim);font:12px Share Tech Mono,monospace}.pager button{border:1px solid var(--edge);background:var(--panel);padding:9px 13px;color:var(--dim)}.pager button:disabled{opacity:.35;cursor:default}.pager button:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.pager-jump{display:inline-flex;align-items:center;gap:7px}.pager-jump input{width:66px;padding:8px 9px;border:1px solid var(--edge);background:var(--panel);color:var(--text);font:12px Share Tech Mono,monospace;text-align:center}.pager-jump input:focus{border-color:var(--cyan);outline:none}.pager-total{color:var(--dim2)}.lightbox{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#040508f2;padding:30px}.lightbox figure{max-width:min(920px,90vw);margin:0;text-align:center}.lightbox figure img,.large-placeholder{max-width:100%;max-height:76vh;margin:auto;border:1px solid var(--edge2)}.large-placeholder{width:600px;height:380px}.lightbox figcaption{margin-top:14px;font-size:15px}.lightbox small{display:block;margin-top:5px;color:var(--dim);font:10px Share Tech Mono,monospace}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:none;color:var(--dim);font-size:30px}.lightbox-close{right:22px;top:15px}.lightbox-nav{top:50%;padding:20px}.lightbox-nav.previous{left:5px}.lightbox-nav.next{right:5px}.lightbox-close:hover,.lightbox-nav:hover{color:var(--cyan)}.auth-shell{position:relative;z-index:11;min-height:calc(100vh - 190px);display:grid;place-items:center;padding:60px 20px}.auth-card{width:min(440px,100%);padding:30px;border:1px solid var(--edge2);background:#101219f5;box-shadow:0 25px 70px #00000059}.auth-card h1{font-size:34px}.auth-lead{margin:14px 0 24px;color:var(--dim);font-size:13px;line-height:1.65}.auth-card label{display:grid;gap:7px;margin-top:15px;color:var(--dim);font-size:12px;letter-spacing:.06em}.field-hint{margin:8px 0 0;color:var(--dim2);font-size:11px;line-height:1.5}.form-error{padding:10px;border-left:2px solid var(--red);background:#fb718512;color:var(--red);font-size:12px}.auth-card .primary-button{margin-top:22px}.auth-switch{display:block;margin-top:18px;text-align:center;color:var(--dim);font-size:12px}.auth-switch:hover{color:var(--cyan)}@keyframes blink{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:720px){.site-header{align-items:flex-start}.brand span:last-child{display:none}.nav{gap:12px}.stats{grid-template-columns:1fr 1fr}.hero{align-items:flex-start;flex-direction:column}.control-row{flex-direction:column}.control-row select{width:100%}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.item-meta{padding:9px}.catalog-shell,.site-header{padding-inline:14px}.lightbox-nav{display:none}}@media(max-width:400px){.nav>a:first-child{display:none}.item-grid{gap:7px}.item-meta{padding:7px}.item-meta h3{font-size:11.5px}}
