:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.6;color:#1d1d1f;background:#fff;font-synthesis:none;-webkit-font-smoothing:antialiased;--ink:#1d1d1f;--muted:#6e6e73;--line:#e5e5e7;--surface:#fff;--accent:#1d1d1f;--accent-hover:#38383b;--accent-soft:#f2f2f2;--radius:16px;--green:#176b50}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3,p{margin:0}h1{font-size:40px;line-height:1.18;letter-spacing:-1.5px;font-weight:650}h2{font-size:22px;line-height:1.4;letter-spacing:-.5px}h2,h3{font-weight:600}h3{font-size:17px;line-height:1.5}p{color:var(--muted)}svg{flex-shrink:0}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 23px;border:1px solid transparent;border-radius:999px;background:var(--accent);color:white;font-size:14px;font-weight:550;line-height:1.45;transition:background .16s,border-color .16s,transform .16s}.button:hover,button:hover:not(:disabled){background:var(--accent-hover)}.button:active,button:active:not(:disabled){transform:translateY(1px)}.provider,.secondary{background:#fff;color:var(--ink);border-color:#d2d2d7}.provider:hover:not(:disabled),.secondary:hover:not(:disabled){background:#f5f5f7;border-color:#a1a1a6}.ghost{background:transparent;color:var(--ink);border-color:transparent}.ghost:hover:not(:disabled){background:#f5f5f7}.danger{background:#b42318;color:#fff}.danger:hover:not(:disabled){background:#921d15}.icon-button{background:transparent;color:var(--muted);min-width:44px;min-height:44px;padding:10px;border:0}.icon-button:hover:not(:disabled){background:#f2f2f2;color:var(--ink)}.button svg,button svg{width:17px;height:17px}:focus-visible{outline:3px solid #0071e3;outline-offset:4px}.field{display:grid;gap:8px;min-width:0;text-align:left}.field label{font-size:14px;font-weight:500;color:#424245}.field small{font-size:12px;color:var(--muted);line-height:1.6}.input-wrap{position:relative;width:100%}input,select,textarea{width:100%;min-width:0;min-height:52px;padding:13px 16px;background:#fff;border:1px solid #d2d2d7;border-radius:12px;color:var(--ink);outline:none;font-size:16px;transition:border-color .16s,box-shadow .16s}input:focus,select:focus,textarea:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e326}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}input::placeholder,textarea::placeholder{color:#6e6e73}input:disabled{background:#f5f5f7;color:var(--muted)}.input-wrap:has(.show-password) input{padding-right:48px}.show-password{position:absolute;right:5px;top:4px;min-height:44px;width:44px;padding:10px;background:transparent;color:var(--muted)}.show-password:hover:not(:disabled){background:#f5f5f7;color:var(--ink)}.notice{padding:13px 16px;border-radius:12px;background:#fff2f0;color:#9c291e;font-size:14px;display:flex;gap:9px;align-items:flex-start;overflow-wrap:anywhere}.notice.success{background:#edf7f0;color:#246041}.text-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:#0066cc}.text-link:hover{text-decoration:underline}.loading{min-height:160px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:14px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.fine,.muted,.small{color:var(--muted)}.fine,.small{font-size:13px}.status,.status-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;color:#246041;background:#edf7f0}.status-pill.neutral,.status.neutral{color:#626267;background:#f2f2f2}.status.expired,.status.revoked{background:#f9eded;color:#a33c3c}.brand{display:inline-flex;align-items:center;gap:11px;letter-spacing:-.55px;white-space:nowrap;font-size:21px;font-weight:650}.brand-symbol{font-family:Georgia,serif;font-size:36px;line-height:1;font-weight:700;letter-spacing:-4px;padding-right:5px}.brand-caption,.brand-sub{font-size:13px;color:var(--muted);font-weight:400;letter-spacing:0}.brand-caption{display:none}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:1000;background:#fff;padding:12px 18px;border-radius:10px}.skip-link:focus{transform:none}.standalone-message{width:min(100% - 48px,520px);margin:120px auto;display:grid;gap:24px}.standalone-message h1{font-size:32px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{scroll-padding-top:96px}body{display:flex;flex-direction:column;min-height:100svh}body>main{flex:1 1}.wrap{width:100%;max-width:1248px;margin:0 auto;padding:0 48px}.site-header{height:80px;border-bottom:1px solid #eee;background:#fff;position:sticky;top:0;z-index:20}.header-inner{max-width:1600px;height:100%;margin:auto;padding:0 48px;display:flex;align-items:center;gap:52px}.brand{flex-shrink:0}.brand strong{font-size:21px;font-weight:650}.brand-sub{border-left:1px solid #ddd;padding-left:12px}.header-inner nav{gap:30px}.header-inner nav,.header-inner nav a{display:flex;height:100%;align-items:center}.header-inner nav a{position:relative;white-space:nowrap;font-size:14px;color:#6e6e73}.header-inner nav a.active,.header-inner nav a:hover{color:var(--ink)}.header-inner nav a.active:after{content:"";position:absolute;height:2px;background:#1d1d1f;bottom:0;left:0;right:0}.account-nav{display:flex;align-items:center;gap:14px;margin-left:auto}.small-button{min-height:40px;padding:9px 20px;font-size:13px}.user-name{display:inline-flex;align-items:center;gap:6px;font-size:13px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-footer{width:calc(100% - 96px);max-width:1504px;margin:80px auto 0;padding:30px 0;border-top:1px solid #eee;display:flex;justify-content:space-between;gap:24px;color:#6e6e73;font-size:12px}.site-footer>div{display:flex;align-items:center;gap:22px}.site-footer strong{color:#515154;font-weight:500}.site-footer a{display:inline-flex;align-items:center;gap:5px}.catalog-wrap{padding-top:70px}.catalog-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:66px}.catalog-heading h1{font-size:68px;line-height:1.13;letter-spacing:-3px;font-weight:650}.catalog-heading h1 span{color:#6e6e73}.catalog-heading p{font-size:18px;margin-top:26px;line-height:1.8}.catalog-heading>.button{margin-bottom:9px;font-size:14px}.section-title{font-size:26px;margin-bottom:26px}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:25px}.filters{display:flex;gap:8px;overflow:auto}.filter{min-height:42px;background:transparent;color:#6e6e73;padding:10px 20px;border:1px solid #e5e5e7;white-space:nowrap;font-size:13px;font-weight:400}.filter:hover:not(:disabled){background:#f5f5f7;color:#1d1d1f}.filter.selected{background:#1d1d1f;border-color:#1d1d1f;color:#fff}.search{display:flex;align-items:center;gap:10px;background:#f5f5f7;border:1px solid transparent;padding:0 16px;border-radius:12px;color:#6e6e73;width:300px}.search:focus-within{border-color:#0071e3;box-shadow:0 0 0 3px #0071e326}.search input{background:transparent;min-height:46px;border:0;padding:10px 0;font-size:14px}.search input,.search input:focus{box-shadow:none}.catalog-summary{display:flex;justify-content:space-between;margin-bottom:18px;font-size:12px;color:#6e6e73}.resource-list{display:grid;gap:22px}.resource-card{display:grid;grid-template-columns:240px minmax(0,1fr) auto;gap:34px;align-items:center;border-radius:22px;background:#f5f5f7;overflow:hidden;padding:0 32px 0 0;min-height:218px;transition:background .18s}.resource-card:hover{background:#ededf0}.resource-art{height:218px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:23px;background:#e9edeb;color:#587066}.resource-art>span{font-size:13px;font-weight:500}.sage{background:#e9efec;color:#456757}.sand{background:#f0ece3;color:#8c784d}.blue{background:#e8eef5;color:#516780}.rose{background:#f3e9ed;color:#986276}.resource-copy{min-width:0}.resource-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.resource-title h2{font-size:24px;letter-spacing:-.7px}.resource-category{display:none}.resource-copy>p{font-size:14px;margin-top:14px;max-width:360px}.card-meta{display:flex;gap:18px;font-size:12px;color:#6e6e73;margin-top:24px}.resource-access{display:flex;flex-direction:column;align-items:flex-end;gap:34px}.access-label{display:inline-flex;align-items:center;gap:5px;font-size:13px;white-space:nowrap;color:#515154}.access-label.free{color:#246041}.resource-open{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;color:#0066cc}.catalog-footnote{display:flex;justify-content:space-between;gap:24px;margin-top:26px;font-size:13px;color:#6e6e73}.catalog-footnote .text-link{font-size:13px}.page-wrap{padding-top:56px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:44px}.page-title h1{font-size:38px}.page-title p{margin-top:15px;font-size:15px}.empty{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:72px 24px}.empty>svg{width:34px;height:34px;color:#6e6e73}.empty h2{font-size:26px}.empty p{font-size:15px;max-width:440px}.empty .button{margin-top:22px}.empty a:not(.button){color:#0066cc}.error-note{background:#fff2f0;color:#a12b20;padding:15px 18px;border-radius:12px;font-size:14px;margin-bottom:20px}.toast{position:fixed;z-index:120;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);padding:14px 18px;background:#242426;color:#fff;border-radius:16px;box-shadow:0 8px 30px #0002;font-size:14px}.toast>.icon-button{color:#fff;flex-shrink:0;min-width:36px;min-height:36px}.toast>.icon-button:hover{background:#ffffff20;color:#fff}.detail-wrap{padding-top:30px}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:13px;color:#6e6e73;margin-bottom:36px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px}.detail-art{min-height:210px;padding:40px;display:flex;align-items:center;justify-content:space-between;border-radius:22px;margin-bottom:32px}.detail-art>span{font-size:16px}.detail-layout h1{font-size:38px;letter-spacing:-1.5px}.detail-summary{margin-top:18px;font-size:16px;line-height:1.8}.detail-description{margin-top:42px}.detail-description h2,.version-list h2{font-size:20px;margin-bottom:20px}.detail-description p{font-size:15px;white-space:pre-line;line-height:1.9}.version-list{margin-top:40px}.version-list>div{display:flex;align-items:center;gap:12px;padding:19px 0;border-top:1px solid #eee;font-size:13px}.version-list svg{color:#6e6e73}.version-list strong{font-weight:550}.version-list span{flex:1 1;min-width:0;overflow-wrap:anywhere}.version-list small{color:#6e6e73;font-size:12px}.download-panel{position:sticky;top:112px;align-self:start;background:#f5f5f7;border-radius:22px;padding:32px}.download-panel>.muted{font-size:13px}.download-panel h2{font-size:28px;margin:10px 0 14px;letter-spacing:-.7px}.download-panel>p{font-size:14px;line-height:1.8}.download-panel dl{display:grid;grid-template-columns:1fr auto;gap:17px 12px;margin:30px 0;padding:24px 0;border-block:1px solid #ddd;font-size:13px}.download-panel dt{color:#6e6e73}.download-panel dd{margin:0}.download-panel .button{width:100%;min-height:48px}.download-panel .safe-note{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:12px;color:#6e6e73}.license-list{border-block:1px solid var(--line)}.license-row{display:flex;align-items:center;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}.license-row:last-child{border-bottom:0}.license-row>svg{padding:12px;width:52px;height:52px;border-radius:14px;background:#f5f5f7;color:#6e6e73}.license-row>div{flex:1 1;min-width:0}.license-row h2{font-size:18px}.license-row p{font-size:14px;margin-top:7px}.license-row .button{font-size:13px}.activity{margin-top:44px}.activity h2{font-size:21px;margin-bottom:18px}.activity>div{display:flex;align-items:center;gap:14px;padding:18px 0;border-top:1px solid #eee;font-size:14px;color:#6e6e73}.activity>div>span{flex:1 1}.activity strong{font-weight:500;color:#515154}.activity time{font-size:12px}.redeem-wrap{width:min(100% - 48px,440px);margin:76px auto;text-align:center}.redeem-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#f5f5f7;margin:0 auto 26px;color:#515154}.redeem-wrap h1{font-size:34px}.redeem-wrap>p{font-size:15px;margin-top:16px}.redeem-success,.redeem-wrap form{display:grid;gap:24px;text-align:left;margin:36px 0}.redeem-wrap .fine{text-align:center;font-size:13px;overflow-wrap:anywhere}.code-input{min-height:106px;letter-spacing:1px;font-family:ui-monospace,monospace;resize:vertical}.redeem-success{text-align:center;background:#f5f5f7;padding:28px;border-radius:20px}.redeem-success>strong{font-size:22px}.field textarea{min-height:130px;resize:vertical}.manager-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#6e6e73}.admin-tabs{display:flex;gap:32px;border-bottom:1px solid var(--line);overflow:auto;margin-bottom:32px}.admin-tabs button{font-size:14px;font-weight:500;border-radius:0;border-bottom:2px solid transparent;color:#6e6e73;background:transparent;padding:15px 0;white-space:nowrap}.admin-tabs button.active{color:#1d1d1f;border-bottom-color:#1d1d1f}.admin-tabs button>span{font-size:11px;background:#f2f2f2;padding:2px 7px;border-radius:5px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:30px 0}.admin-toolbar h2{font-size:22px}.admin-toolbar p{font-size:14px;margin-top:8px}.admin-toolbar button{font-size:13px}.admin-resource-list{border-block:1px solid var(--line)}.admin-resource{display:flex;align-items:center;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}.admin-resource:last-child{border:0}.admin-resource>svg{background:#f5f5f7;color:#6e6e73;width:54px;height:54px;padding:14px;border-radius:15px}.grow{flex:1 1;min-width:0}.admin-resource h3{font-size:18px}.admin-resource p{font-size:13px;margin-top:6px}.table-scroll{overflow:auto;border-block:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:12px;font-weight:500;color:#6e6e73;white-space:nowrap;padding:16px 18px;background:#fafafa}td{padding:22px 18px;border-top:1px solid var(--line)}td strong{font-weight:500}td small{display:block;color:#6e6e73;font-size:12px;margin-top:5px}td button{min-height:40px;padding:9px 16px;font-size:12px}.danger-text{color:#b42318}.new-code{padding:24px;background:#f5f5f7;border-radius:18px;margin:24px 0}.new-code p{font-size:14px;margin:12px 0 18px}.new-code textarea{font-family:ui-monospace,monospace;font-size:14px;min-height:80px}.row-actions{display:flex;gap:10px;margin-top:16px}.sheet-overlay{position:fixed;inset:0;z-index:80;background:#0004;display:flex;justify-content:flex-end;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet{width:min(600px,100%);height:100svh;overflow:auto;background:#fff;box-shadow:-12px 0 50px #0001}.sheet>header{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:1;padding:22px 32px;border-bottom:1px solid #eee}.sheet>header h2{font-size:22px}.sheet-content{padding:32px 32px 44px}.form-stack{display:grid;gap:24px}.form-stack>.fine{font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.upload-section{margin-top:32px;border-top:1px solid var(--line);padding-top:28px}.upload-section h3{font-size:18px;margin-bottom:20px}.file-row{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #eee}.file-row>div{flex:1 1;min-width:0;overflow-wrap:anywhere}.file-row strong{font-size:14px}.file-row small{display:block;font-size:12px;color:#6e6e73}.upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px dashed #b9b9bf;border-radius:16px;background:#fafafa;padding:30px 20px;margin-top:24px;cursor:pointer;color:#6e6e73}.upload-box input{max-width:100%;font-size:13px}.upload-box strong{font-size:15px;color:var(--ink)}.upload-box span{font-size:13px}.upload-section>.text-link{margin-top:20px}.s3-details{margin-top:24px;padding:20px;background:#f5f5f7;border-radius:14px}.s3-details summary{cursor:pointer;font-size:14px;margin-bottom:18px}@media (max-width:1100px){.header-inner{gap:28px;padding-inline:30px}.brand-sub{display:none}.header-inner nav{gap:20px}.resource-card{grid-template-columns:180px minmax(0,1fr);gap:25px;padding-right:28px}.resource-access{grid-column:2;flex-direction:row;justify-content:space-between;gap:16px;margin-top:-38px;margin-bottom:24px}.resource-art{grid-row:span 2;height:100%;min-height:240px}.resource-copy{padding-top:26px;padding-bottom:35px}.resource-title h2{font-size:22px}.detail-layout{gap:36px;grid-template-columns:minmax(0,1fr) 300px}.download-panel{padding:26px}}@media (max-width:760px){html{scroll-padding-top:120px}.site-header{height:auto}.header-inner{padding:15px 24px 0;min-height:68px;gap:0;flex-wrap:wrap}.header-inner .brand{order:0}.account-nav{order:1;gap:6px}.header-inner nav{order:2;width:100%;height:48px;overflow:auto;gap:24px;margin-top:8px}.header-inner nav a{font-size:13px}.small-button{font-size:12px;padding:9px 16px}.user-name{max-width:110px;font-size:12px}.wrap{padding-inline:24px}.catalog-wrap{padding-top:42px}.catalog-heading{display:block;padding-bottom:46px}.catalog-heading h1{font-size:48px;letter-spacing:-2px}.catalog-heading p{font-size:16px;margin-top:22px}.catalog-heading>.button{margin-top:26px;margin-bottom:0}.section-title{font-size:23px;margin-bottom:22px}.catalog-toolbar{flex-direction:column-reverse;align-items:stretch;gap:18px;margin-bottom:22px}.search{width:100%}.search input{font-size:16px;min-height:48px}.filters{gap:8px}.filter{min-height:42px;font-size:12px;padding:9px 18px}.catalog-summary>span:last-child{display:none}.resource-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border-radius:20px}.resource-art{min-height:180px;height:180px;flex-direction:row;gap:24px}.resource-art>svg{width:56px;height:56px}.resource-art>span{font-size:15px}.resource-copy{padding:26px 24px 22px}.resource-title h2{font-size:23px}.resource-copy>p{font-size:14px;margin-top:12px}.card-meta{margin-top:20px}.resource-access{margin:0;padding:0 24px 26px;display:flex;flex-direction:row;justify-content:space-between}.catalog-footnote{flex-direction:column;gap:12px;font-size:12px;margin-top:22px}.site-footer{width:calc(100% - 48px);margin-top:50px;flex-direction:column;gap:16px;padding:26px 0;font-size:11px}.page-wrap{padding-top:36px}.page-title{align-items:flex-start;flex-wrap:wrap;gap:20px;margin-bottom:32px}.page-title h1{font-size:32px}.page-title p{font-size:14px;margin-top:12px}.detail-wrap{padding-top:24px}.breadcrumb{font-size:12px;margin-bottom:28px}.detail-layout{grid-template-columns:1fr;gap:34px}.detail-art{min-height:155px;padding:28px;margin-bottom:28px}.detail-layout h1{font-size:30px}.detail-summary{font-size:15px}.detail-description{margin-top:32px}.detail-description p{font-size:14px}.version-list>div{flex-wrap:wrap;gap:10px;font-size:12px}.version-list span{flex-basis:60%}.download-panel{position:static;padding:28px}.download-panel h2{font-size:27px}.license-row{gap:14px;flex-wrap:wrap;padding:24px 0}.license-row>div{min-width:calc(100% - 70px)}.license-row>.status{margin-left:66px}.activity>div{flex-wrap:wrap;font-size:13px}.activity time{margin-left:26px}.redeem-wrap{margin-top:48px}.redeem-wrap h1{font-size:30px}.admin-tabs{gap:24px}.admin-tabs button{font-size:13px}.admin-toolbar{gap:16px;align-items:flex-start}.admin-toolbar h2{font-size:20px}.admin-toolbar p{font-size:13px}.admin-toolbar button{font-size:12px;padding:10px 16px;flex-shrink:0}.admin-resource{gap:14px;flex-wrap:wrap}.admin-resource>.grow{min-width:calc(100% - 74px)}.admin-resource>.status{margin-left:68px}.sheet-content{padding:26px 24px}.sheet>header{padding:18px 24px}.sheet>header h2{font-size:20px}.form-grid{grid-template-columns:1fr}.toast{bottom:20px;font-size:13px}.empty{padding:52px 0}.empty h2{font-size:24px}.empty p{font-size:14px}}