:root{--navy:#071c32;--blue:#2375db;--teal:#119dba;--ink:#19314c;--muted:#788b9e;--line:#e1e8f0;--bg:#f3f6fa;font:14px Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);height:100svh;display:grid;grid-template-rows:58px minmax(0,1fr) 24px;gap:16px;padding:16px 32px 10px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}header{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center}.logo{width:44px;height:44px;border-radius:13px;background:var(--navy);color:white;font-size:28px;line-height:44px;text-align:center;letter-spacing:-4px;padding-right:5px}.logo span{color:#50dcf0}.brand b{font-size:21px;letter-spacing:-.6px}.brand b>span{color:var(--blue)}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:2px;color:var(--muted);margin-top:3px}nav{display:flex;gap:16px;align-items:center;margin-left:auto}.nav-caption{font-size:11px;color:var(--muted)}nav button{border:1px solid #b9cce3;color:#2465a3;background:#e9f1fc;border-radius:8px;padding:9px 14px;font-size:12px}.login-trigger{border:0;background:var(--navy);color:white;padding:11px 18px;border-radius:9px;font-size:12px;max-width:285px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}main{display:grid;grid-template-rows:minmax(0,1.1fr) minmax(0,1fr);gap:22px;min-height:0}.hero{background:linear-gradient(115deg,#041a2e,#092b50 55%,#174c8d);border-radius:20px;display:grid;grid-template-columns:.95fr 1.05fr;padding:22px 24px 22px 32px;gap:26px;overflow:hidden;box-shadow:0 10px 35px #0b2b4d0d;min-height:0}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:white;min-width:0}.hero-kicker{font-size:9px;letter-spacing:2.8px;color:#6fa9ce;margin-bottom:10px}h1{font-size:clamp(24px,2.25vw,37px);letter-spacing:-.9px;line-height:1.3;margin:0 0 10px;white-space:nowrap}.english-badge{border:1px solid #7890ac77;background:#ffffff14;border-radius:20px;padding:4px 10px;font-size:clamp(7px,.75vw,11px);font-weight:600;letter-spacing:1px}.hero p{font-size:clamp(11px,.94vw,14px);color:#c0d1e2;line-height:1.85;margin:15px 0 18px}.hero-stats{display:flex;align-items:center;gap:30px}.hero-stats>div{display:grid;gap:4px}.hero-stats strong{font-size:25px;line-height:1;letter-spacing:-.5px}.hero-stats span{font-size:10px;color:#92aeca}.hero-line{font-size:10px;line-height:1.7;color:#83a7c5;border-left:1px solid #90b6d333;padding-left:25px}.hero-image{position:relative;overflow:hidden;border:1px solid #71a8dc55;border-radius:14px;min-height:0;background:#031c33}.hero-image img{height:100%;width:100%;display:block;object-fit:contain}.image-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#00182abd);color:#d9edff;padding:28px 18px 12px;font-size:8px;letter-spacing:2px}.library{min-height:0;display:grid;grid-template-rows:34px minmax(0,1fr) 18px;gap:12px}.toolbar{display:flex;align-items:center;gap:18px}.section-heading{display:flex;align-items:baseline;gap:12px;white-space:nowrap}h2{font-size:20px;letter-spacing:-.5px;margin:0;line-height:1.4}.section-heading span{font-size:10px;color:var(--muted)}.filters{display:flex;gap:3px;margin-left:auto}.filters button{border:0;background:transparent;border-radius:7px;color:#7e8d9e;font-size:11px;padding:7px 10px}.filters .selected{background:#dfeafa;color:#1e5b9c}.search{display:flex;gap:7px;align-items:center;border:1px solid var(--line);background:white;border-radius:8px;padding:6px 10px;color:#8da0b6}.search input{width:100px;border:0;background:none;outline:0;font-size:11px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-height:0}.card{border:1px solid var(--line);background:white;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-height:0;transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-3px);box-shadow:0 9px 24px #25476e12}.card-art{position:relative;height:clamp(36px,7vh,72px);flex-shrink:0;overflow:hidden;background:linear-gradient(120deg,#edf4fc,#f8faff)}.card:nth-child(2) .card-art{background:linear-gradient(120deg,#eaf5f4,#f7fbfb)}.card:nth-child(3) .card-art{background:linear-gradient(120deg,#f1effc,#fcfbff)}.card:nth-child(4) .card-art{background:linear-gradient(120deg,#fcf4e9,#fffcf8)}.card-art svg{position:absolute;right:8px;top:-14px;width:135px;height:90px;opacity:.8}.art-label{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:9px;font-weight:600;letter-spacing:1px;color:#7c98b4}.card-category{display:none}.card-body{padding:14px 18px 12px;flex:1;display:flex;flex-direction:column;min-height:0}.card h3{font-size:clamp(14px,1.15vw,18px);margin:0 0 4px;line-height:1.4;letter-spacing:-.3px}.card-subtitle{font-size:10px;color:#8b9aab}.card p{font-size:11px;color:#718398;line-height:1.65;margin:10px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tag{display:none}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #eef2f7;padding-top:10px;margin-top:auto}.status{font-size:9px;color:#92a0af;line-height:1.5}.status.allowed{color:#15947d}.card-bottom button{background:#edf4ff;color:#286abc;border:0;border-radius:6px;padding:6px 9px;font-size:10px;white-space:nowrap}.access-note{font-size:10px;text-align:center;color:#90a0b0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}footer{display:flex;justify-content:space-between;align-items:center;color:#9ba9b7;font-size:10px}footer i{font-style:normal;color:#abb7c3;margin-left:15px}footer small{font-size:9px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--teal)}dialog{border:1px solid var(--line);border-radius:16px;padding:30px;width:min(92vw,440px);max-height:90svh;overflow:auto;color:var(--ink);box-shadow:0 25px 100px #001c4140}dialog::backdrop{background:#061e3c99;backdrop-filter:blur(6px)}dialog h2{font-size:24px;margin:10px 0}dialog h3{font-size:15px;margin:20px 0 12px}dialog p{font-size:12px;color:var(--muted);line-height:1.7}dialog label{display:block;font-size:12px;margin:14px 0}dialog input:not([type=checkbox]),dialog select{width:100%;display:block;border:1px solid #cedbe8;padding:10px 12px;border-radius:8px;margin-top:7px;background:white;color:var(--ink)}dialog input:focus,dialog select:focus{outline:2px solid #2e80de33;border-color:#4183d0}.primary{display:flex;justify-content:center;background:var(--blue);border:0;border-radius:8px;color:white;padding:11px 18px;width:100%;font-size:12px}.primary:hover{background:#195db5}.close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:26px;color:#8a9bae}dialog small{display:block;font-size:11px;text-align:center;color:var(--muted);margin-top:15px}.form-error,#grant-message{color:#bc4b40;font-size:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;align-items:center;gap:7px}.muted{font-size:10px!important}#admin-dialog{width:min(94vw,780px)}.account-create{border-bottom:1px solid var(--line);padding-bottom:20px}.tool-fieldset{border:1px solid var(--line);border-radius:10px;padding:12px 14px;position:relative;margin:20px 0 10px}.tool-fieldset legend{font-size:12px;padding:0 5px}.tool-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool-choices .tool-choice{margin:0;display:flex;align-items:center;gap:9px;padding:10px;background:#f4f7fb;border:1px solid transparent;border-radius:7px;font-size:12px;cursor:pointer}.tool-choice:has(input:checked){background:#eaf2ff;border-color:#b4d2fa}.tool-choice input{accent-color:var(--blue)}.text-button{display:block;margin-left:auto;margin-bottom:10px;background:none;border:0;color:var(--blue);font-size:11px}.grant-list{margin-top:22px;max-height:250px;overflow:auto}.grant-row{border-top:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px}.grant-row small{text-align:left;margin-top:4px;font-size:10px}.grant-row button{border:1px solid var(--line);border-radius:6px;background:white;color:#3671b7;padding:5px 10px;font-size:11px}#viewer-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;margin:0;overflow:hidden}.viewer-bar{height:52px;background:var(--navy);color:white;display:flex;align-items:center;gap:16px;padding:0 18px;font-size:12px}.viewer-bar b{margin-right:auto}.viewer-bar span{font-size:10px;color:#a6bed5}.viewer-bar button{background:none;border:1px solid #ffffff40;color:white;padding:6px 10px;border-radius:6px;font-size:11px}iframe{border:0;width:100%;height:calc(100% - 52px);display:block;background:white}.watermark{position:absolute;bottom:15px;right:18px;color:#57717e70;font-size:10px;background:#ffffff99;padding:4px 9px;pointer-events:none;border-radius:4px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;border-radius:9px;padding:12px 20px;font-size:12px;z-index:100;display:none;max-width:90vw}button:focus-visible,a:focus-visible{outline:3px solid #37b9da;outline-offset:3px}[hidden]{display:none!important}
@media(min-width:1600px){body{padding-left:max(32px,calc((100vw - 1500px)/2));padding-right:max(32px,calc((100vw - 1500px)/2))}.hero{padding:28px 30px 28px 40px}.hero p{font-size:14px}.card-body{padding:18px 22px}.card p{font-size:12px}.card h3{font-size:19px}.card-art{height:80px}}
@media(max-height:730px) and (min-width:1001px){body{gap:12px;padding-top:10px;grid-template-rows:52px minmax(0,1fr) 20px}main{gap:16px;grid-template-rows:1fr 1fr}.hero{padding:18px 22px;gap:20px}.hero-kicker{display:none}.hero p{margin:10px 0 13px}.hero-stats strong{font-size:22px}.card-art{height:36px}.card-body{padding:10px 14px}.card p{margin:7px 0;font-size:10px}.card-bottom{padding-top:7px}.card h3{font-size:14px}.card-subtitle{font-size:9px}.library{gap:9px}}
@media(max-width:1120px){body{padding-left:22px;padding-right:22px}.section-heading span{display:none}.hero-line{display:none}.hero-stats{gap:25px}.hero{gap:20px;padding-left:25px}.cards{gap:12px}.card-body{padding-left:13px;padding-right:13px}.filters button{font-size:10px;padding:6px 8px}.toolbar{gap:10px}.search input{width:80px}.nav-caption{display:none}}
@media(max-width:1000px),(max-height:580px){body{height:auto;min-height:100svh;grid-template-rows:58px 1fr 24px;overflow:auto}main{grid-template-rows:auto auto}.hero{min-height:260px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-height:200px}.card-art{height:52px}.library{grid-template-rows:34px auto 18px}.hero-image{min-height:210px}h1{font-size:27px}.hero p{font-size:12px}.hero-kicker{display:none}.english-badge{font-size:7px}}
@media(max-width:650px){body{padding:10px 14px;gap:14px;grid-template-rows:52px auto 24px}header{gap:10px}.brand{gap:8px}.brand b{font-size:16px}.brand small{font-size:7px;letter-spacing:1px}.logo{width:36px;height:36px;line-height:36px;font-size:23px;border-radius:10px}.login-trigger{font-size:10px;padding:10px;max-width:140px}nav{gap:0;margin-left:auto}nav button{font-size:10px;padding:7px}.hero{grid-template-columns:1fr;padding:22px;gap:20px;border-radius:16px}.hero-image{height:auto;aspect-ratio:1.97;min-height:0}.hero p br{display:none}.hero p{max-width:340px}.hero-stats strong{font-size:22px}.hero-copy h1{font-size:25px}.english-badge{font-size:7px;letter-spacing:.7px}.hero-line{display:block}.toolbar{flex-wrap:wrap}.section-heading{margin-right:auto}.filters{order:3;width:100%;margin-left:0;justify-content:space-between}.library{grid-template-rows:auto auto 18px}.cards{gap:10px}.card-body{padding:12px}.card h3{font-size:14px}.card p{font-size:10px}.card-subtitle{font-size:9px}.card-art svg{width:110px;right:-12px;opacity:.55}.art-label{left:12px;font-size:8px}.card-bottom{align-items:flex-start;flex-direction:column;gap:8px}.card-bottom button{width:100%;padding:7px}.card{min-height:225px}.two-col{grid-template-columns:1fr;gap:0}.tool-choices{grid-template-columns:1fr}footer i{display:none}footer small{font-size:8px}.viewer-bar{gap:7px;padding:0 10px}.viewer-bar span{display:none}.viewer-bar button{font-size:10px;padding:6px}dialog{padding:24px}}
@media(max-width:650px){body:has(#admin-nav:not([hidden])){grid-template-rows:86px auto 24px}header:has(#admin-nav:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}header:has(#admin-nav:not([hidden])) nav{grid-row:2;grid-column:1/-1}header:has(#admin-nav:not([hidden])) .login-trigger{grid-row:1;grid-column:2;max-width:150px}}

.admin-audit{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.admin-audit h4{font-size:12px;margin:20px 0 9px}.audit-filter{display:flex;align-items:end;gap:12px}.audit-filter label{flex:1;margin:0}.audit-filter button{width:auto}.audit-table{overflow:auto;max-height:300px;border:1px solid var(--line);border-radius:8px}.audit-table table{border-collapse:collapse;min-width:100%;font-size:10px;white-space:nowrap}.audit-table th,.audit-table td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.audit-table th{background:#eff5fc;position:sticky;top:0}.audit-table small{text-align:left;margin:4px 0 0;font-size:9px}.audit-table button,.audit-pager button{border:1px solid #cbd9e8;border-radius:5px;padding:5px 8px;background:white;color:#286abc;font-size:10px}.audit-pager{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:18px;font-size:10px}#audit-message{font-size:11px}.watermark{font-size:12px;opacity:.8}@media(max-width:650px){.audit-filter{align-items:stretch;flex-direction:column}}

.account-actions{display:flex;align-items:center;gap:9px}.register-trigger{border:1px solid #bfd0e6;background:white;color:#286abc;border-radius:8px;padding:10px 14px;font-size:12px;white-space:nowrap}.inline-button{border:0;background:none;color:#286abc;padding:4px;font-size:11px}.registration-review{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.applications-filter{display:flex;align-items:end;gap:12px}.applications-filter label{flex:1;margin:10px 0}.applications-filter button{width:auto;margin-bottom:10px}.review-actions{display:flex;gap:10px}.review-actions button{flex:1}.secondary{border:1px solid #ccd8e6;background:white;color:#49637e;border-radius:8px;padding:10px}#registration-message,#review-message{font-size:12px;line-height:1.7;color:#286abc}#review-form{padding:12px;background:#f5f8fc;border-radius:10px;margin-top:14px}@media(max-width:650px){.account-actions{gap:6px}.register-trigger{padding:9px 8px;font-size:10px}header:has(#admin-nav:not([hidden])) .account-actions{grid-row:1;grid-column:2}.applications-filter{align-items:stretch;flex-direction:column;gap:0}}@media(max-width:360px){.brand small{display:none}.brand b{font-size:13px}.brand{gap:5px}.logo{width:30px;height:30px;font-size:21px;line-height:30px}.account-actions .login-trigger{font-size:9px;padding:9px 7px;max-width:105px}header{gap:6px}}
