/* Shared web UI: the identity constellation defines the platform's visual language. */
body.web-platform{--paper:#f0edf6;--surface:#fffc;--ink:#353041;--muted:#777080;--line:#cbbdd74d;--accent:#8062a9;--accent-soft:#e9dff3;--radius:18px;--shadow:0 16px 50px #66507812;background:#f0edf6;isolation:isolate}
body.web-platform:before{content:"";position:fixed;inset:-10%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 24% 18%,#e0cdee85,transparent 50%),radial-gradient(ellipse at 82% 60%,#c6dddf88,transparent 44%),radial-gradient(ellipse at 52% 80%,#e7d5ea8a,transparent 48%)}
.web-platform .site-header{background:transparent;border-color:var(--line)}
.web-platform .brand-mark{background:linear-gradient(135deg,#8c71ac,#696283);box-shadow:0 4px 14px #79658c22}
.web-platform .account-menu>div,.web-platform dialog{background:#fcfaffed;backdrop-filter:blur(24px);border-color:#fff;box-shadow:0 24px 80px #55456c21}
.web-platform .page-main{padding-top:32px}
.web-platform .page-title{margin-bottom:28px}.web-platform .page-title h1{font-size:34px;line-height:1.4;margin:10px 0}.web-platform .page-title p{line-height:1.8}
.web-platform :is(.panel,.auth-card,.connect-primary,.connect-secondary,.plan-card,.project-card,.workspace-summary,.search-bar,.identity-entry,.resource-card){background:#fffc;border:1px solid #fff;border-radius:18px;box-shadow:0 8px 30px #67517709}
.web-platform :is(.panel,.auth-card,.connect-primary,.connect-secondary,.plan-card){backdrop-filter:blur(16px)}
.web-platform :is(input,textarea,select){background:#ffffffa8;border-color:#c9bbd866;border-radius:10px}
.web-platform .button{border-radius:12px;background:#ffffffa8;border-color:#c9bbd866}.web-platform .button.primary{background:#8062a9;border-color:#8062a9}.web-platform .button.primary:hover{background:#71549a}
.web-platform .catalog-shell{gap:28px;grid-template-columns:200px minmax(0,1fr)}.web-platform .catalog-nav{padding:20px 12px;background:#ffffff4d;border:1px solid #fff8;border-radius:18px}.web-platform .catalog-nav h2,.web-platform .catalog-nav>.eyebrow{padding-left:12px}
.workbench-nav{display:flex;gap:5px;flex-wrap:wrap;padding:6px;margin-bottom:28px;width:fit-content;background:#ffffff80;border:1px solid #fff;border-radius:14px}.workbench-nav a{font-size:13px;padding:9px 18px;border-radius:10px;color:var(--muted)}.workbench-nav a.active{background:#e5d9ef;color:#644b83}.workbench-nav a:hover{background:#eee5f6}
.resource-visual,.game2d .resource-visual{position:relative;height:auto;aspect-ratio:1/1;width:calc(100% - 20px);min-height:0;margin:10px 10px 0;overflow:hidden;background:#f1edf7}
.resource-visual img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:contain;padding:12px;display:block}
.resource-visual img.default-cover{padding:0;opacity:.85}.resource-visual>span{font-size:10px;bottom:12px;right:12px;z-index:1;color:#8e7c9f}
.resource-copy{padding:12px 14px 10px}.resource-copy h3{font-size:13px;line-height:1.5;margin:5px 0}.resource-copy p{font-size:11px;-webkit-line-clamp:1}.resource-copy>small{font-size:10px}.resource-foot{padding:10px 14px}.resource-foot .text-button{font-size:11px}.resource-foot .icon{width:14px;height:14px}
.detail-summary>img{width:min(100%,400px);height:auto!important;aspect-ratio:1;object-fit:contain;padding:16px;margin:0 auto 24px;display:block;border-radius:16px;background:#f0ebf5}
.detail-summary>.default-cover{max-width:260px}.resource-main:disabled{opacity:.7;cursor:default}
.danger{color:#a05274!important}.form-error{color:#a05274;font-size:13px;margin-top:12px}.list-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:18px 0;font-size:12px;color:var(--muted)}
.files-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0}.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:13px}.breadcrumbs a{color:var(--accent)}
.file-list{margin-top:20px;background:#fffb;border:1px solid var(--line);border-radius:16px;overflow:hidden}.file-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid var(--line)}.file-row:last-child{border:0}.file-name{display:flex;align-items:center;gap:14px;text-align:left;min-width:0}.file-name span{min-width:0}.file-name strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.file-name small{display:block;font-size:11px;color:var(--muted)}.file-name>.icon{color:var(--accent)}.file-row .actions{flex-shrink:0}.file-row .text-button{font-size:12px}.file-row>div:first-child{min-width:0;overflow-wrap:anywhere}
.account-panel{max-width:720px;margin:auto}.account-panel h2{margin:16px 0}.account-panel p{margin-bottom:14px}.account-panel progress{width:100%;accent-color:var(--accent)}.account-facts{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:24px 0;margin:16px 0;border-block:1px solid var(--line);font-size:13px}.account-facts dt{color:var(--muted)}.account-facts dd{margin:0}
.consent-panel{max-width:640px;margin:auto;padding:36px}.consent-panel h2{margin:16px 0}.consent-panel ul{padding:20px;line-height:2}.consent-panel code{overflow-wrap:anywhere}.consent-panel .actions{margin-top:28px}
.relationship-items{display:grid;gap:10px;margin:12px 0}.relationship-item{border:1px solid var(--line);border-radius:10px;padding:12px}.relationship-item p{font-size:12px}.relationship-item .actions{margin-top:10px}.identity-editor-footer>div{flex-wrap:wrap}.identity-editor-footer .danger{margin-right:auto}.identity-trash-row{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px}.identity-trash-row p{font-size:12px}.identity-trash-row h3{font-size:14px}.identity-trash-row>div{min-width:0}.identity-trash-row button{flex-shrink:0}
@media(max-width:1100px){.site-header{gap:18px}.site-header nav{gap:18px}.header-end{gap:16px}.brand small{display:none}.view-switch span{display:none}}
@media(max-width:760px){.web-platform .catalog-shell{grid-template-columns:1fr}.web-platform .catalog-nav{position:static}.workbench-nav a{padding:8px 12px}.file-row{align-items:flex-start;flex-direction:column}.files-toolbar{align-items:flex-start;flex-direction:column}.resource-grid,.page-main>.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.web-platform .page-title h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){body.web-platform:before{animation:none}}

.change-table{margin:24px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.change-row{display:grid;grid-template-columns:130px 1fr 1fr;border-bottom:1px solid var(--line);gap:20px;padding:16px;font-size:13px}.change-row:last-child{border:0}.change-row pre{margin:0;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.change-row>*{min-width:0}.change-head{background:var(--accent-soft);color:var(--accent)}

/* Account onboarding and the two subscription tiers share both frontend variants. */
.membership-grid{max-width:none;gap:24px;margin:28px 0;align-items:stretch}.membership-grid .plan-card{display:flex;flex-direction:column;padding:32px}.membership-grid .plan-card>.button{margin-top:auto;margin-bottom:14px}.membership-grid .plan-card ul{flex:1}.membership-grid .plan-card h2{font-size:25px;line-height:1.5}.membership-grid .plan-card>.muted{font-size:12px}.membership-status{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 32px}.membership-status h2{margin:10px 0}.membership-status p{margin:7px 0}.application-state{color:var(--accent)}.consultation-note{padding:16px 18px;border-radius:12px;background:var(--accent-soft);margin:14px 0 22px;font-size:13px}.consultation-note p{margin:0 0 6px}.consultation-note small{display:block;margin-top:6px;line-height:1.7;color:var(--muted)}.web-platform .plan-creator{border-color:#b8a1d1;background:linear-gradient(145deg,#fff,#eee5f7cc)}.membership-faq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:38px 0}.membership-faq h3{font-size:16px}.membership-faq p{font-size:13px;line-height:1.9;color:var(--muted)}.auth-notice{padding:12px;background:var(--accent-soft);border-radius:10px;font-size:13px}.auth-card .field{margin-bottom:16px}.auth-card .muted{font-size:12px;line-height:1.7}
@media(max-width:760px){.membership-grid,.membership-faq{grid-template-columns:1fr}.membership-status{flex-direction:column}.membership-grid .plan-card{padding:24px}}

/* Keep the four connection services together without an orphan card. */
.connection-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:32px}
.connection-services>.panel{min-width:0;padding:26px}
.connection-services h3{font-size:18px;line-height:1.4;margin-bottom:10px}
.connection-services p{font-size:14px;line-height:1.8}
@media(max-width:1100px){.connection-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.connection-services{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.connection-services>.panel{padding:22px}}

/* User participation preferences, sharing the platform's translucent panels. */
.cooperation-section{margin-bottom:36px}.cooperation-section h2{font-size:24px;margin:10px 0}.cooperation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:28px 0}.cooperation-options fieldset{border:0;padding:0;margin:0;min-width:0}.cooperation-options legend{font-size:15px;font-weight:600;margin-bottom:12px}.cooperation-choices{display:flex;flex-wrap:wrap;gap:8px}.cooperation-choices label{cursor:pointer;position:relative}.cooperation-choices input{position:absolute;width:1px;height:1px;opacity:0}.cooperation-choices span{display:block;padding:9px 13px;border:1px solid var(--line);border-radius:10px;font-size:12px;background:var(--surface);transition:background .15s,border-color .15s}.cooperation-choices input:checked+span{background:#e9e0f5;border-color:var(--accent);color:var(--accent)}.cooperation-choices input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:760px){.cooperation-options{grid-template-columns:1fr}}

/* Air and Max are available; the two middle tiers are reserved. */
.membership-grid{grid-template-columns:1.35fr .8fr .8fr 1.35fr;gap:18px}.membership-grid .plan-card{padding:26px;min-width:0}.membership-grid .plan-card h2{font-size:22px}.membership-grid .plan-card li{font-size:12px;align-items:flex-start}.plan-mode{color:var(--accent);margin-top:16px}.plan-reserved{opacity:.65;box-shadow:none!important;border-style:dashed!important}.plan-reserved h2{font-size:18px!important}.reserved-label{margin-top:auto;padding-top:48px;color:var(--muted);font-size:13px}.site-footer>div{flex-wrap:wrap}.site-footer a[href*="beian"]{font-size:11px}
@media(max-width:1250px){.membership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-reserved{min-height:220px}}
@media(max-width:760px){.membership-grid{grid-template-columns:1fr}.plan-reserved{min-height:160px}}

/* Resource filters share one toolbar; city families expand to their use categories. */
.catalog-toolbar{flex-wrap:wrap;gap:12px}.catalog-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.catalog-filters select{max-width:min(100%,320px)}
