:root{color-scheme:dark;font-family:system-ui,"Microsoft YaHei",sans-serif;background:#0c1713;color:#edf9f2}*{box-sizing:border-box}body{margin:0}header,main{max-width:1100px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #2c4839}a{color:#56e4ad}h1{font-size:clamp(26px,4vw,42px)}p{line-height:1.7;color:#b6cebf}.eyebrow{color:#56e4ad;letter-spacing:2px}form,nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center}input,select,textarea,button{font:inherit;border:1px solid #385b49;border-radius:9px;padding:11px 14px;background:#182c22;color:inherit;max-width:100%}button,.download{cursor:pointer;background:#54e4ac;color:#082719;font-weight:600;text-decoration:none;border-radius:9px;padding:11px 16px;display:inline-block}button:disabled{opacity:.4;cursor:default}#query{flex:1;min-width:180px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin:24px 0}.card,section{background:#13251c;border:1px solid #2e4b3a;border-radius:16px;padding:22px}.card{overflow-wrap:anywhere}.card h2{font-size:20px}.badge{color:#56e4ad;font-size:13px}nav{justify-content:center}section{margin-top:42px}#upload{display:grid;grid-template-columns:1fr 1fr}label{display:grid;gap:8px}.check{grid-column:1/-1;display:flex;align-items:flex-start}.check input{margin-top:5px}#uploadStatus{grid-column:1/-1}.error{color:#ffb19f}@media(max-width:620px){#upload{grid-template-columns:1fr}header,main{padding:18px}}table{width:100%;border-collapse:collapse}td,th{padding:12px;border-bottom:1px solid #385b49;text-align:left;overflow-wrap:anywhere}.table{overflow:auto}

.batch-wide{grid-column:1/-1}.batch-queue{display:grid;gap:12px}.batch-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #385b49;border-radius:9px}.batch-row label,.batch-row small{overflow-wrap:anywhere}.batch-row small{color:#b6cebf}@media(max-width:620px){.batch-row{grid-template-columns:1fr}.batch-row button{justify-self:start}}
[hidden]{display:none!important}

#filters{margin:20px 0}.admin-pages{margin:20px 0}.row-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:240px}.row-actions button,.row-actions a{font-size:13px;padding:8px 10px}.row-actions a{align-self:center}.table td{vertical-align:top}.table td:nth-child(2){max-width:300px}#status{min-height:1.7em}.row-feedback{flex-basis:100%;margin:4px 0;font-size:13px}

.sales-section{margin:32px 0;padding:20px;border:1px solid #385b49;border-radius:12px}.sales-section summary{cursor:pointer;font-size:18px}.sales-section button{margin:6px}#auth form,#editProfile{align-items:end}#profile,#auth,#payments{margin-top:24px}.card select,.card button{margin:6px 6px 6px 0}

/* Library cards and checkout: scoped to preserve account/admin layouts. */
.library-page header{align-items:center}.library-page header a{text-decoration:none;font-size:14px}.library-page header a:first-child{font-weight:750;font-size:18px}.library-page header a:last-child{padding:10px 16px;border:1px solid #385b49;border-radius:10px}
.library-page h1{margin:18px 0}.library-page .eyebrow{font-size:12px;margin-top:16px}.library-page #search{margin-top:26px;padding:16px;border:1px solid #2e4b3a;border-radius:14px;background:#11221a;gap:10px}.library-page #status{font-size:13px;color:#94afa0;margin:20px 0 0}
.library-page .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-top:16px}
.library-page .score-card{display:flex;flex-direction:column;min-width:0;padding:22px;background:linear-gradient(145deg,#15291f,#102019);border-radius:16px;transition:border-color .15s}
.library-page .score-card:hover{border-color:#53785f}.score-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.score-top .badge{font-size:12px;letter-spacing:.04em}.score-price{font-size:18px;font-weight:750;color:#f0f8f3}.score-price.is-free{font-size:12px;font-weight:500;border:1px solid #355340;border-radius:6px;padding:3px 8px;color:#b5cbbb}
.library-page .score-title{font-size:19px;line-height:1.45;height:2.9em;margin:18px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.score-author{font-size:13px;color:#adc7b6;margin:0;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.score-author[href]:hover{text-decoration:underline}
.score-description{font-size:13px;line-height:1.7;height:3.4em;margin:14px 0 10px;color:#9bb6a5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.score-tags{font-size:12px;margin:0 0 16px;color:#82a391;height:20px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-meta{display:flex;gap:16px;font-size:12px;color:#97b2a1;margin:0 0 18px}
.score-footer{margin-top:auto;border-top:1px solid #2b4435;padding-top:16px}.score-actions{display:flex;gap:10px;align-items:center}.library-page .score-actions button,.library-page .score-actions a{margin:0;font-size:13px;min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.score-actions .primary{flex:1}.secondary{background:transparent;color:#bad1c3;border:1px solid #385b49;border-radius:9px;padding:10px 12px;text-decoration:none;cursor:pointer;font-weight:500}.secondary:hover{background:#203a2b}.download-owned{font-size:12px!important}
.score-review-row{display:flex;justify-content:space-between;align-items:start;gap:8px;margin-top:16px;font-size:12px;position:relative}.score-rating{color:#9ab5a5;line-height:24px;white-space:nowrap}.score-review{min-width:0;text-align:right;flex:1}.score-review summary{cursor:pointer;color:#bcd4c6;line-height:24px;list-style:none;text-decoration:underline;text-underline-offset:4px}.review-fields{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;padding-top:10px}.library-page .review-fields select,.library-page .review-fields button{font-size:12px;padding:8px;margin:0}.score-feedback{font-size:12px;margin:8px 0 0}.score-feedback:empty{display:none}
.purchase-dialog{color:#edf9f2;background:#13251c;border:1px solid #42624e;border-radius:20px;padding:30px;width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 24px 90px #0009}.purchase-dialog::backdrop{background:#030b08bb;backdrop-filter:blur(4px)}.purchase-dialog h2{margin:0 40px 10px 0;font-size:24px}.dialog-close{position:absolute;right:18px;top:16px;font-size:24px;padding:0;width:36px;height:36px}.purchase-title{margin:0 0 22px;overflow-wrap:anywhere;color:#b8d0c0}.purchase-form{display:grid;gap:16px}.purchase-form label{font-size:13px}.purchase-form input,.purchase-form select{width:100%;min-width:0}.purchase-price{margin:0;padding-bottom:16px;border-bottom:1px solid #385b49}.purchase-total{font-size:22px;font-weight:700;text-align:right;color:#eef9f2;margin:4px 0}.purchase-feedback{display:grid;gap:12px;font-size:13px;overflow-wrap:anywhere}.purchase-feedback:empty{display:none}.purchase-feedback p{margin:0}.purchase-feedback a{text-align:center}.purchase-form button.primary{width:100%;min-height:46px}
.library-page #share>h2{margin-top:0}.library-page nav button{background:transparent;color:#bcd4c6}.library-page nav{font-size:13px}.library-page button:focus-visible,.library-page a:focus-visible,.library-page summary:focus-visible{outline:2px solid #80f7c3;outline-offset:3px}
@media(max-width:960px){.library-page .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.library-page #query{flex-basis:50%}}
@media(max-width:620px){.library-page header{gap:12px;flex-wrap:wrap}.library-page header a:first-child{flex-basis:100%}.library-page .cards{grid-template-columns:1fr}.library-page #search{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.library-page #search>*{width:100%;min-width:0}.library-page #query{grid-column:1/-1;grid-row:1}.library-page #search button{grid-column:1/-1}.purchase-dialog{padding:24px}.library-page .score-card{padding:20px}}
.library-page #upload{grid-template-columns:repeat(2,minmax(0,1fr))}.library-page #upload>*{min-width:0}.library-page #upload input:not([type=checkbox]),.library-page #upload textarea,.library-page #upload select{min-width:0;width:100%}@media(max-width:620px){.library-page #upload{grid-template-columns:minmax(0,1fr)}}

.checkout-main{max-width:1080px;padding-top:36px}.checkout-back{text-decoration:none;font-size:14px}.checkout-shell{margin-top:24px;padding:0;display:grid;grid-template-columns:1fr 400px;overflow:hidden;background:#13251c}.checkout-info{padding:40px}.checkout-info h1{font-size:30px;line-height:1.4;margin:20px 0 32px}.checkout-info h2{font-size:19px;overflow-wrap:anywhere}.checkout-amount{font-size:48px;line-height:1.2;font-weight:750;color:#65edb6;margin:24px 0 12px}.checkout-info>p:not(.eyebrow):not(.checkout-amount){font-size:13px}.checkout-order{margin-top:32px;font-family:monospace;overflow-wrap:anywhere;color:#849f8e}.checkout-panel{padding:32px;background:#182e23;border-left:1px solid #304d3b;text-align:center;display:flex;flex-direction:column;align-items:center}.checkout-stage{font-size:20px;font-weight:650;color:#f1fbf5;margin:0 0 22px}.checkout-qr{background:white;border-radius:16px;padding:16px;width:256px;max-width:100%;aspect-ratio:1}.checkout-qr img{display:block;width:100%;height:100%;object-fit:contain}.checkout-panel>p{font-size:14px}.checkout-panel .checkout-stage{font-size:20px}.checkout-status{color:#8cac9a;min-height:3.4em}.checkout-actions{display:grid;gap:14px;width:100%;margin-top:12px}.checkout-actions a:not(.primary){font-size:13px;color:#b3cebd}.checkout-actions .primary{text-align:center}.checkout-panel.is-paid{justify-content:center;min-height:360px}.is-paid .checkout-stage{color:#65edb6;font-size:27px}.checkout-main .checkout-shell h1{margin-top:20px}
@media(max-width:760px){.checkout-shell{grid-template-columns:1fr}.checkout-info{padding:26px}.checkout-info h1{font-size:25px;margin-bottom:22px}.checkout-amount{font-size:40px}.checkout-order{margin-top:16px}.checkout-panel{border-left:0;border-top:1px solid #304d3b;padding:26px}.checkout-main{padding-top:24px}}
