:root{--bg:#090b10;--panel:#11151d;--panel2:#171c26;--line:#252c39;--text:#f6f7fb;--muted:#99a2b3;--red:#e62429;--green:#5ad18a;--shadow:0 24px 70px rgba(0,0,0,.34);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 75% -10%,rgba(230,36,41,.14),transparent 28rem),var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1380px)/2));border-bottom:1px solid rgba(255,255,255,.07);background:rgba(9,11,16,.84);backdrop-filter:blur(18px);position:sticky;top:0;z-index:30}.logo{display:flex;align-items:center;gap:13px}.logo span,.brandmark{display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900;letter-spacing:-.05em}.logo span{width:40px;height:40px;border-radius:10px}.logo b{font-size:17px}.head-actions{display:flex;gap:22px;color:#b7becc;font-size:14px}.head-actions a:hover{color:#fff}.front{max-width:1380px;margin:auto;padding:42px 24px 90px}.front-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:end;padding:30px 0 42px}.eyebrow{font-size:11px;letter-spacing:.21em;font-weight:800;color:#df5960;margin:0 0 12px;text-transform:uppercase}.front-hero h1{font-size:clamp(42px,6vw,84px);line-height:.96;letter-spacing:-.055em;margin:0;max-width:850px}.front-hero h1 em{font-style:normal;color:#8e98aa}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(17,21,29,.72);box-shadow:var(--shadow)}.hero-stats div{padding:23px 20px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line)}.hero-stats div:last-child{border-right:0}.hero-stats b{font-size:25px}.hero-stats span{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:7px;padding:8px;background:#10141b;border:1px solid var(--line);border-radius:15px;width:max-content;max-width:100%;overflow:auto}.tabs a{padding:10px 16px;color:#aab2c0;font-size:14px;border-radius:10px;white-space:nowrap}.tabs a.active{background:#fff;color:#0d1016;font-weight:750}.filters{display:grid;grid-template-columns:1fr 220px auto;gap:10px;margin:18px 0 30px}.filters input,.filters select,input,select,textarea{width:100%;background:#11161e;border:1px solid #29313f;color:#fff;border-radius:11px;padding:12px 13px;outline:none}.filters input:focus,.filters select:focus,input:focus,select:focus,textarea:focus{border-color:#596679;box-shadow:0 0 0 3px rgba(255,255,255,.04)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid #323a49;background:#181e28;color:#fff;padding:11px 15px;border-radius:10px;font-weight:700;font-size:13px}.btn:hover{background:#202735}.btn.primary{background:var(--red);border-color:var(--red)}.btn.primary:hover{filter:brightness(1.08)}.btn.small{padding:7px 10px;font-size:12px}.comic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}.comic-card{background:linear-gradient(180deg,#141923,#10141b);border:1px solid #222a37;border-radius:19px;overflow:hidden;box-shadow:0 16px 44px rgba(0,0,0,.2);transition:.2s ease}.comic-card:hover{transform:translateY(-4px);border-color:#3a4455;box-shadow:0 24px 70px rgba(0,0,0,.34)}.cover-wrap{position:relative;aspect-ratio:2/3;background:#171b24;overflow:hidden}.cover-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.comic-card:hover .cover-wrap img{transform:scale(1.018)}.publisher-chip,.priority-chip{position:absolute;top:12px;padding:6px 9px;border-radius:8px;background:rgba(9,11,15,.83);backdrop-filter:blur(10px);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.publisher-chip{left:12px}.priority-chip{right:12px;color:#ffd66b}.comic-body{padding:17px}.date{font-size:11px;font-weight:800;color:#df5960;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}.comic-body h2{font-size:18px;line-height:1.18;letter-spacing:-.02em;margin:0 0 6px}.series{font-size:12px;color:#a8b0bd;margin:0 0 12px}.summary{font-size:12px;line-height:1.55;color:#949eae;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:56px;margin:0 0 15px}.summary.expanded{display:block}.meta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #252c38;padding-top:13px;margin-top:auto}.meta b{font-size:16px}.meta span{font-size:11px;color:#8993a5}.card-actions{display:flex;gap:7px;margin-top:13px}.card-actions form{margin:0;display:flex}.card-actions button{border:1px solid #303847;background:#171d27;color:#fff;border-radius:9px;min-height:37px;padding:8px 10px;font-weight:700}.source-link{display:grid;place-items:center;border:1px solid #303847;background:#171d27;color:#bfc7d4;border-radius:9px;min-width:37px;min-height:37px;font-weight:800}.source-link:hover{color:#fff;background:#202735}.card-actions .buy{background:#f0f2f6;color:#11151c;border-color:#f0f2f6;flex:1}.owned{display:flex;align-items:center;color:var(--green);font-weight:800;font-size:13px;margin-right:auto}.empty{padding:75px 30px;text-align:center;border:1px dashed #303744;border-radius:18px;background:#0f131a}.empty-icon{font-size:38px;color:#df5960}.empty h2{font-size:28px;margin:10px 0}.empty p{color:var(--muted)}
.login-body{display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:linear-gradient(180deg,#171c26,#10141c);border:1px solid #2a3241;border-radius:24px;padding:34px;box-shadow:var(--shadow)}.brandmark{width:54px;height:54px;border-radius:13px;margin-bottom:26px}.login-card h1{font-size:35px;letter-spacing:-.04em;margin:0 0 10px}.login-card p:not(.eyebrow){color:#a7afbd;line-height:1.55}.stack{display:grid;gap:14px;margin-top:22px}label{font-size:12px;color:#adb5c2;display:grid;gap:7px}.alert{padding:12px 14px;border:1px solid #3d4758;background:#18202b;border-radius:11px;margin-bottom:18px;color:#dae0e8}.alert.error{border-color:#663438;background:#27171a;color:#ffd4d6}
.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#0b0e14;padding:22px 17px;display:flex;flex-direction:column}.sidebar .logo{padding:2px 7px 23px}.version-tag{display:block;color:#596273;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:0 7px 18px;margin-top:-15px}.sidebar nav{display:grid;gap:3px}.sidebar nav a,.sidebar-bottom a{padding:10px 12px;border-radius:9px;color:#9fa8b7;font-size:13px}.sidebar nav a.active,.sidebar nav a:hover,.sidebar-bottom a:hover{background:#171c25;color:#fff}.sidebar-bottom{margin-top:auto;display:grid;gap:2px;border-top:1px solid var(--line);padding-top:13px}.admin-main{padding:32px;max-width:1500px;width:100%;overflow:hidden}.admin-top{margin-bottom:22px}.admin-top h1{margin:0;font-size:34px;letter-spacing:-.04em}.panel{background:#11161e;border:1px solid #252d3a;border-radius:16px;padding:22px;margin-bottom:18px}.panel h2{margin:0 0 14px;font-size:20px}.hero-panel{padding:36px;max-width:850px}.hero-panel h2{font-size:38px;letter-spacing:-.04em}.hero-panel p:not(.eyebrow){color:#aab2c0;line-height:1.65}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{background:#11161e;border:1px solid #252d3a;border-radius:15px;padding:20px}.stat span{display:block;color:#919bab;font-size:12px;margin-bottom:8px}.stat b{font-size:28px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:12px 11px;border-bottom:1px solid #242b37;font-size:12px;vertical-align:middle}th{color:#8f99aa;font-size:10px;text-transform:uppercase;letter-spacing:.08em}td small{display:block;color:#7f8999;margin-top:4px}.tiny-cover{width:38px;height:56px;object-fit:cover;border-radius:5px}.badge{padding:5px 8px;border-radius:999px;background:#222936;color:#c8cfda;font-size:10px}.row-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.row-actions form{margin:0}.link{border:0;background:none;color:#cdd3dc;padding:0}.link.danger{color:#e37479}.toolbar{display:flex;justify-content:flex-end;gap:9px;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .span2{grid-column:1/-1}.form-grid h2.span2{margin-bottom:0}.check{display:flex;align-items:center;gap:8px;color:#c7ced9}.check input{width:auto}.source-row{display:grid;grid-template-columns:1.2fr 1fr 180px 2fr auto auto 90px auto;gap:8px;align-items:center}.source-row .wide{min-width:240px}.source-meta{font-size:11px;color:#808a9b;margin:8px 0}.inline{display:inline-block}.panel hr{border:0;border-top:1px solid #252d38;margin:18px 0}.rule-form{display:grid;grid-template-columns:1.2fr 160px 1fr 150px auto;gap:8px}.muted{color:#8f99a9;line-height:1.55}code{background:#0c1016;border:1px solid #252d39;padding:2px 6px;border-radius:6px;color:#d9dde4}
@media(max-width:1200px){.comic-grid{grid-template-columns:repeat(4,1fr)}.front-hero{grid-template-columns:1fr}.hero-stats{max-width:700px}.source-row{grid-template-columns:1fr 1fr}.source-row>*{min-width:0}.rule-form{grid-template-columns:1fr 1fr}.rule-form .btn{grid-column:1/-1}}@media(max-width:900px){.comic-grid{grid-template-columns:repeat(3,1fr)}.admin-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.sidebar-bottom{display:none}.admin-main{padding:22px}.stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.site-header{padding:0 16px;height:68px}.logo b{display:none}.front{padding:28px 16px 70px}.front-hero{padding-top:12px;gap:28px}.front-hero h1{font-size:44px}.hero-stats{grid-template-columns:1fr}.hero-stats div{border-right:0;border-bottom:1px solid var(--line)}.hero-stats div:last-child{border-bottom:0}.filters{grid-template-columns:1fr}.comic-grid{grid-template-columns:repeat(2,1fr);gap:13px}.comic-body{padding:13px}.comic-body h2{font-size:16px}.summary{display:none}.form-grid,.rule-form,.source-row{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.stats-grid{grid-template-columns:1fr 1fr}.admin-main{padding:16px}.panel{padding:16px}}@media(max-width:420px){.comic-grid{grid-template-columns:1fr 1fr}.comic-body .meta span{display:none}.card-actions button{padding:7px}.card-actions .buy{font-size:0}.card-actions .buy:after{content:'✓';font-size:14px}}
/* v1.2 */
.head-button{border:0;background:transparent;color:#b7becc;padding:0;font:inherit;font-size:14px;cursor:pointer}.head-button:hover,.head-button.ready{color:#fff}.sync-status{font-size:11px;color:#758094;white-space:nowrap;cursor:default}.sync-status.has-news{color:#5ad18a;cursor:pointer;font-weight:800}.sync-status.sync-error{color:#e58b8f}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:34px 2px 9px}.section-heading h2{font-size:34px;letter-spacing:-.035em;margin:0 0 5px}.section-heading p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px}.section-heading strong{font-size:13px;color:#9ca6b5;border:1px solid var(--line);border-radius:999px;padding:8px 11px;white-space:nowrap}.filters{grid-template-columns:minmax(240px,1fr) 180px 190px auto}.filters select[name="reading"]{min-width:170px}.fresh-chip{position:absolute;left:12px;top:45px;padding:5px 8px;border-radius:7px;background:rgba(230,36,41,.9);font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.card-actions .grow{flex:1}.card-actions .grow button{width:100%}.card-actions .remembered{color:#ff7479;border-color:#66363a}.card-actions .remove-owned{color:#d9dee7}.summary-toggle{display:none;border:0!important;background:none!important;color:#b3bdcb!important;min-height:auto!important;padding:0!important;margin:-7px 0 11px;font-size:11px!important}.toast{position:fixed;left:50%;bottom:24px;z-index:100;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:#f5f6f8;color:#11151c;padding:12px 16px;border-radius:11px;box-shadow:0 18px 55px rgba(0,0,0,.42);font-size:12px;font-weight:700;transition:.22s ease;max-width:min(480px,calc(100vw - 32px));text-align:center}.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
@media(max-width:1200px){.filters{grid-template-columns:1fr 170px 180px auto}}
@media(max-width:800px){.head-actions{gap:13px}.sync-status{display:none}.filters{grid-template-columns:1fr 1fr}.filters input:first-of-type{grid-column:1/-1}.section-heading{padding-top:26px}.section-heading h2{font-size:29px}}
@media(max-width:700px){.head-actions a:first-of-type{display:none}.head-button{font-size:12px}.section-heading{align-items:flex-start}.section-heading strong{margin-top:4px}.summary-toggle{display:block}.filters{grid-template-columns:1fr}.filters input:first-of-type{grid-column:auto}}
@media(max-width:430px){.section-heading{display:block}.section-heading strong{display:inline-block;margin-top:12px}.head-actions{gap:10px}.head-actions a{font-size:12px}}

/* v1.3 */
.stats-five{grid-template-columns:repeat(5,1fr)}
.variant-chip{position:absolute;right:12px;bottom:12px;padding:6px 9px;border-radius:8px;background:rgba(9,11,15,.88);backdrop-filter:blur(10px);font-size:10px;font-weight:800;color:#eef1f5}
.edition-line{font-size:11px;color:#d1a25e;margin:-5px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.series-inline{min-height:25px;display:flex;align-items:center;margin:9px 0 0;color:#7e899a;font-size:11px}.series-inline form{margin:0}.series-inline .link{font-size:11px;color:#9da8b8}.series-inline span{color:#62c98d;font-weight:700}
.variants-box,.purchase-box{margin-top:12px;border-top:1px solid #252c38;padding-top:10px}.variants-box summary,.purchase-box summary{cursor:pointer;list-style:none;color:#aeb7c5;font-size:11px;font-weight:800}.variants-box summary::-webkit-details-marker,.purchase-box summary::-webkit-details-marker{display:none}.variants-box summary span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#242c39;margin-left:5px;color:#fff}.variant-list{display:grid;gap:8px;margin-top:10px}.variant-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;background:#0d1219;border:1px solid #242c38;border-radius:10px;padding:7px}.variant-row img{width:38px;height:56px;object-fit:cover;border-radius:5px;background:#171b24}.variant-copy{min-width:0}.variant-copy b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.variant-copy small{display:block;color:#778294;font-size:9px;margin-top:4px}.variant-actions{display:flex;gap:5px;align-items:center}.variant-actions form{margin:0}.variant-actions button,.variant-actions .source-link{min-width:30px;min-height:30px;padding:5px 7px;font-size:10px;border:1px solid #303847;background:#171d27;color:#fff;border-radius:8px}.variant-actions .buy{background:#f0f2f6;color:#11151c;border-color:#f0f2f6}.purchase-form{display:grid;grid-template-columns:90px 1fr 135px auto;gap:7px;align-items:end;margin-top:9px}.purchase-form label{font-size:9px}.purchase-form input{padding:8px 9px;font-size:11px}.purchase-form .btn{height:36px}
.series-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.series-card{background:linear-gradient(180deg,#131923,#0f141c);border:1px solid #283140;border-radius:17px;padding:20px;display:flex;flex-direction:column;min-height:235px}.series-card-top{display:flex;justify-content:space-between;gap:14px}.series-card h3{font-size:21px;margin:3px 0 0;letter-spacing:-.025em}.followed-chip{height:max-content;border:1px solid #26553c;color:#65d091;background:#102219;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.series-numbers{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0 15px;border:1px solid #252d39;border-radius:12px;overflow:hidden}.series-numbers div{padding:11px;border-right:1px solid #252d39}.series-numbers div:last-child{border-right:0}.series-numbers b{display:block;font-size:19px}.series-numbers span{font-size:9px;color:#7f8999}.gap-line{font-size:11px;color:#8893a4;display:grid;gap:4px;margin-bottom:16px}.gap-line strong{color:#cdd4df}.series-card-actions{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px}.series-card-actions form{margin:0}.series-card-actions .link{font-size:10px}.series-detail-head{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:start;background:#11161e;border:1px solid #252d3a;border-radius:16px;padding:22px;margin-bottom:14px}.series-detail-head>a{color:#aab4c3;font-size:12px}.series-detail-head h3{font-size:30px;margin:2px 0 5px}.series-detail-head p:not(.eyebrow){color:#8e98a9;margin:0;font-size:12px}.series-issues{display:grid;gap:8px}.issue-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 11px;background:#11161e;border:1px solid #252d3a;border-radius:12px}.issue-row>img{width:46px;height:68px;object-fit:cover;border-radius:6px;background:#171b24}.issue-main{display:grid;gap:5px}.issue-main b{font-size:13px}.issue-main span{font-size:10px;color:#7f899a}
.month-overview{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:17px}.month-card{display:grid;gap:6px;padding:14px;background:#10151d;border:1px solid #252d39;border-radius:13px;color:#aab3c1}.month-card.active{border-color:#59667a;background:#161c26;color:#fff}.month-card span{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.month-card b{font-size:18px}.month-card small{font-size:9px;color:#737e90}.month-picker{display:flex;align-items:end;gap:8px;margin-bottom:14px}.month-picker label{max-width:190px}.budget-panel{background:linear-gradient(135deg,#111721,#0d1118);border:1px solid #293240;border-radius:18px;overflow:hidden}.budget-total{padding:28px;border-bottom:1px solid #293240}.budget-total b{display:block;font-size:42px;letter-spacing:-.04em;margin:4px 0}.budget-total span{color:#8f99aa;font-size:12px}.budget-list{display:grid}.budget-list>div{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid #222a36}.budget-list>div:last-child{border-bottom:0}.budget-list img{width:42px;height:62px;object-fit:cover;border-radius:5px}.budget-list span{display:grid;gap:4px}.budget-list b{font-size:12px}.budget-list small{font-size:10px;color:#7d8797}.budget-list strong{font-size:13px}
.scanner-panel{max-width:760px}.scanner-stage{position:relative;aspect-ratio:16/8;max-width:680px;background:#080a0e;border:1px solid #28313f;border-radius:16px;overflow:hidden;margin:18px 0}.scanner-stage video{width:100%;height:100%;object-fit:cover;display:block}.scanner-stage:after{content:'';position:absolute;inset:18% 12%;border:2px solid rgba(255,255,255,.7);border-radius:12px;box-shadow:0 0 0 999px rgba(0,0,0,.28)}.scanner-line{position:absolute;z-index:2;left:16%;right:16%;top:50%;height:2px;background:#f05056;box-shadow:0 0 12px #f05056}.scanner-search{display:flex;gap:8px;max-width:520px;margin-top:16px}.scanner-search input{flex:1}.scan-comic{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:start}.scan-cover{width:110px;aspect-ratio:2/3;object-fit:cover;border-radius:9px;background:#171b24}.scan-comic h3{font-size:24px;margin:0 0 6px}.badge.good{background:#123020;color:#69d494}
@media(max-width:1200px){.stats-five{grid-template-columns:repeat(3,1fr)}.series-grid{grid-template-columns:repeat(2,1fr)}.month-overview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.series-grid{grid-template-columns:1fr}.month-overview{grid-template-columns:repeat(2,1fr)}.purchase-form{grid-template-columns:1fr 1fr}.purchase-form .btn{grid-column:1/-1}.series-detail-head{grid-template-columns:1fr;gap:10px}.scanner-stage{aspect-ratio:4/3}}
@media(max-width:600px){.stats-five{grid-template-columns:1fr 1fr}.month-overview{grid-template-columns:1fr 1fr}.series-card{padding:16px}.issue-row{grid-template-columns:40px minmax(0,1fr)}.issue-row>img{width:40px;height:60px}.issue-row>.variant-actions{grid-column:1/-1;justify-content:flex-end}.scanner-search{display:grid;grid-template-columns:1fr}.scan-comic{grid-template-columns:80px 1fr}.scan-cover{width:80px}.purchase-form{grid-template-columns:1fr}}
