.plugin-main { min-height: calc(100dvh - 190px); padding: 40px 0 64px; }
.plugin-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.plugin-heading>div { flex: 1; min-width: 0; }
.plugin-heading>.plugin-heading-actions{flex:0 0 auto;display:flex;gap:10px;align-items:center}
.plugin-heading-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 15px;border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:13px;text-decoration:none;white-space:nowrap}
.plugin-heading-actions a:hover{border-color:#e9a77660;background:#e9a7760b}
.plugin-heading-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.plugin-image-fields{padding:18px;border:1px solid var(--line);border-radius:10px;min-width:0;margin:0}
.plugin-image-fields legend{padding:0 8px;font-size:14px;color:var(--text)}
.plugin-image-fields>p{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.7}
.plugin-media-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(144px,1fr));gap:12px;margin-top:14px}
.plugin-media-preview figure{margin:0;display:grid;gap:6px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:9px;background:#ffffff02}
.plugin-media-preview img{width:100%;height:100px;object-fit:contain;background:#101616;border:1px solid var(--line);border-radius:7px}
.plugin-media-preview figcaption{font-size:11px;color:var(--muted)}
.plugin-media-preview figure>small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plugin-media-summary{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}
.plugin-media-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.plugin-media-actions button{min-height:30px;padding:4px 2px;font-size:10px}
.plugin-media-actions.is-icon button{grid-column:1/-1}
.plugin-image-fields #plugin-media-error{color:#f0a098;margin:12px 0 0}
.plugin-image-fields input[aria-invalid=true]{border-color:#ef8a7b;background:#ef8a7b08;box-shadow:0 0 0 2px #ef8a7b15}
@media(max-width:700px){.plugin-heading>.plugin-heading-actions{width:100%;flex-wrap:wrap}.plugin-heading-actions>*{flex:1}.plugin-image-fields{padding:14px}}
.plugin-heading .eyebrow { margin-bottom: 8px; }
.plugin-heading h1 { margin: 0 0 12px; font-size: clamp(28px, 3vw, 36px); line-height: 1.3; letter-spacing: -.03em; }
.plugin-heading p:last-child { max-width: 650px; margin: 0; color: var(--muted); font-size: 14px; }
.plugin-heading button { flex: 0 0 auto; min-width: 132px; }
.cloud-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 28px 0; }
.cloud-overview article { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cloud-overview small { color: #a3b0a9; font-size: 12px; letter-spacing: .04em; }
.cloud-overview strong { font-size: clamp(20px, 2vw, 24px); font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.cloud-overview span { margin-top: auto; color: #9aaea4; font-size: 12px; }
.plugin-main .uploads-panel { margin-top: 20px; }
.account-library-page .library-panel { min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.library-grid { margin-top: 18px; }
.uploads-panel .section-row p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
#catalog-message { margin: 16px 0 0; color: var(--muted); font-size: 13px; }
.upload-list { display: grid; gap: 12px; margin-top: 18px; color: var(--muted); font-size: 14px; }
.upload-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 20px; min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: #ffffff03; }
.upload-item h3, .upload-item strong { grid-column: 1; min-width: 0; margin: 0; color: #e2e9e4; font-size: 16px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.upload-item small, .upload-item p { grid-column: 1; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.upload-item small { font-size: 12px; }
.upload-item b { grid-row: 1 / 3; grid-column: 2; align-self: start; max-width: 180px; padding: 4px 8px; border: 1px solid #f2ae7c24; border-radius: 5px; background: #f2ae7c09; color: var(--accent); font-size: 11px; font-weight: 500; overflow-wrap: anywhere; }
.plugin-main .upload-item :is(button, .upload-detail) { min-height: 34px; padding: 6px 12px; font-size: 12px; }
.catalog-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.catalog-pagination #catalog-page { min-width: 48px; color: var(--muted); text-align: center; font-size: 12px; font-variant-numeric: tabular-nums; }
.plugin-main .catalog-pagination button { width: auto; min-width: 72px; min-height: 36px; padding: 7px 12px; font-size: 13px; }
.upload-dialog { width: min(900px, calc(100% - 32px)); max-width: none; max-height: calc(100% - 32px); padding: 0; overflow: hidden; border: 1px solid #46515b; border-radius: 14px; background: #1b2025; color: #edf0f3; box-shadow: 0 24px 100px #0006; }
.upload-dialog[open] { display: flex; flex-direction: column; }
.upload-dialog::backdrop { background: #080c11bd; backdrop-filter: blur(3px); }
.upload-dialog form { display: flex; flex: 1; flex-direction: column; min-width: 0; min-height: 0; margin: 0; overflow: hidden; }
.upload-dialog header { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; border-bottom: 1px solid #333c44; }
.upload-dialog header h2 { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.upload-content { min-width: 0; min-height: 0; padding: 22px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #56616b transparent; scrollbar-gutter: stable; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-grid label { display: grid; align-content: start; gap: 7px; min-width: 0; color: #a3adb7; font-size: 12px; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; min-width: 0; min-height: 36px; border: 1px solid #333c44; border-radius: 7px; background: #151a1e; color: #edf0f3; padding: 7px 11px; font: inherit; font-size: 13px; line-height: 1.5; }
.form-grid select { padding-right: 28px; }
.form-grid input::placeholder, .form-grid textarea::placeholder { color: #84909b; }
.form-grid .wide { grid-column: 1 / -1; }
.form-grid textarea { resize: vertical; min-height: 64px; }
.form-grid input[type=file] { padding: 6px 8px; font-size: 12px; }
.form-grid input::file-selector-button { padding: 3px 8px; margin-right: 10px; border: 1px solid #333c44; border-radius: 4px; background: #252c33; color: #edf0f3; font: inherit; cursor: pointer; }
.form-grid small { color: #a3adb7; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.upload-policy { display: grid; gap: 6px; margin: 20px 0 0; padding: 12px 14px; border: 1px solid #d49a6840; border-radius: 8px; background: #d49a6809; color: #adbab2; font-size: 12px; line-height: 1.7; }
.upload-policy strong { color: #dab08f; font-weight: 600; }
.upload-progress { display: grid; gap: 6px; flex-basis: 100%; min-width: 0; margin: 0; color: #b9c7d2; font-size: 12px; overflow-wrap: anywhere; }
.upload-progress progress { width: 100%; height: 6px; accent-color: var(--accent); }
.upload-dialog footer { display: flex; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding: 16px 22px; border-top: 1px solid #333c44; }
.upload-actions { display: flex; justify-content: flex-end; gap: 10px; }
.upload-dialog footer button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 7px 13px; border: 1px solid #333c44; border-radius: 7px; background: #252c33; color: #edf0f3; font-size: 13px; font-weight: 500; line-height: 1.4; white-space: nowrap; }
.upload-dialog footer button:hover:not(:disabled) { border-color: #56616c; background: #303943; color: #fff; }
.upload-dialog #submit-upload { border-color: #efb47f; background: #efb47f; color: #241a12; }
.upload-dialog #submit-upload:hover:not(:disabled) { border-color: #ffc999; background: #ffc999; color: #241a12; }
.upload-dialog button:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 760px) {
  .plugin-main { padding: 28px 0 48px; }
  .plugin-heading { align-items: flex-start; flex-direction: column; gap: 20px; }
  .cloud-overview { grid-template-columns: 1fr; gap: 12px; margin: 24px 0; }
  .upload-item { padding: 16px; gap: 8px 12px; }
  .upload-item h3, .upload-item strong, .upload-item small, .upload-item p { grid-column: 1 / -1; }
  .upload-item b { grid-column: 1; grid-row: auto; justify-self: start; align-self: center; }
  .plugin-main .upload-item :is(button, .upload-detail) { grid-row: auto; }
  .catalog-pagination { justify-content: center; }
}
@media (max-width: 700px) {
  .upload-dialog header, .upload-content { padding: 16px; }
  .upload-dialog footer { padding: 12px 16px; }
}
@media (max-width: 600px) {
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .wide { grid-column: auto; }
}

.plugin-edit-image{height:100px;display:grid;place-items:center;overflow:hidden;background:#101616;border-radius:7px}.plugin-edit-image .hh-icon{width:36px;height:36px;color:var(--muted)}
.owner-edit-guidance,.owner-edit-status{font-size:12px;line-height:1.8;margin:0 0 16px;color:var(--muted)}.owner-edit-status{color:var(--accent)}.owner-edit-status:empty{display:none}.owner-edit-dialog #owner-edit-reload{margin-bottom:16px;padding:8px 12px;min-height:36px;width:auto;font-size:12px}.owner-edit-dialog #owner-edit-reload[hidden]{display:none}

.platform-guidance{margin:0;padding:14px 16px;border:1px solid #68503d;border-radius:10px;background:linear-gradient(120deg,#302821,#23282c);color:#d9b895;font-size:13px;line-height:1.75;align-self:stretch}

/* Match the desktop upload dialog's two-column form and control rhythm. */
.upload-dialog .form-grid { column-gap: 18px; row-gap: 16px; }
.upload-dialog .form-grid label { gap: 6px; color: #8f969f; }
.upload-dialog .form-grid :is(input,select,textarea) { background: #24272c; border-color: #41464e; border-radius: 6px; color: #f0f1f3; }
.upload-dialog .form-grid :is(input,select) { min-height: 40px; }
.upload-dialog .form-grid :is(input,select,textarea):hover { border-color: #666e78; }
.upload-dialog .form-grid :is(input,select,textarea):focus { border-color: #e99a64; }
.upload-dialog .form-grid :is(input,select,textarea)[aria-invalid=true] { border-color: #f47d78; background: #34282a; }
.upload-dialog #summary { min-height: 76px; }
.upload-dialog #description { min-height: 132px; }
.upload-dialog #release-notes { min-height: 96px; }

.upload-item-actions {grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.upload-item [role=alert]{grid-column:1/-1;color:#f5a59b}
.owner-version-picker{box-sizing:border-box;display:grid;gap:10px;margin:0 0 20px;padding:20px;border:1px solid #5d4b38;border-radius:12px;background:#1d2229;color:#f0f2f4;font-size:14px;font-weight:600;line-height:1.35}
.owner-version-picker select{width:100%;min-height:50px;padding:0 14px;border:0;border-radius:8px;background:#303741;color:#f1f3f5;font-size:14px;font-weight:500}
.owner-version-picker select:focus{outline:2px solid #e6ac76;outline-offset:2px}
.upload-dialog .category-field{min-width:0;margin:0;padding:14px 15px 16px;border:1px solid #353d47;border-radius:12px}
.upload-dialog .category-field legend{padding:0 6px;color:#f0f2f4;font-size:16px}
.upload-dialog .category-options{display:flex;flex-wrap:wrap;gap:10px}
.upload-dialog .category-options label{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:46px;box-sizing:border-box;padding:10px 14px;border:1px solid #353d47;border-radius:10px;cursor:pointer;color:#aeb5bf}
.upload-dialog .category-options input[type=checkbox]{width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:#e6ac76;flex:none}
.upload-dialog .category-options label:has(input:checked){border-color:#bc885a;background:#332b25;color:#f1dac7}
.upload-dialog .category-options small{font-size:13px;color:inherit}
.upload-dialog .category-field>[role=status]:empty{display:none}
.upload-dialog .category-field>[role=status]{display:block;margin-top:8px;color:#d9b895}

.plugin-media-preview video{display:block;width:100%;height:100px;object-fit:contain;background:#101616;border:1px solid var(--line);border-radius:7px}.plugin-media-processing{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:13px;color:var(--muted)}.plugin-media-processing[hidden]{display:none}.plugin-media-processing button{flex:none}
.plugin-detail-navigation{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:0;max-width:100%}
.plugin-media-inputs>label{min-width:0}.plugin-media-inputs input[type=file]{width:100%;min-width:0}.plugin-media-preview .plugin-media-icon-preview{grid-column:1/-1;display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:6px 16px}.plugin-media-preview .plugin-media-icon-preview>img,.plugin-media-preview .plugin-media-icon-preview>.plugin-edit-image{grid-row:1/3;width:96px;height:96px;object-fit:contain}.plugin-media-preview .plugin-media-icon-preview .plugin-media-actions{grid-column:3;grid-row:1/3}.plugin-media-preview figure[draggable=true]{cursor:grab}.plugin-media-preview figure[draggable=true]:active{cursor:grabbing}.plugin-media-preview .plugin-media-icon-preview>small{grid-column:2;min-width:0}
@media(max-width:540px){.plugin-media-preview .plugin-media-icon-preview{grid-template-columns:64px minmax(0,1fr)}.plugin-media-preview .plugin-media-icon-preview>img,.plugin-media-preview .plugin-media-icon-preview>.plugin-edit-image{width:64px;height:64px}.plugin-media-preview .plugin-media-icon-preview .plugin-media-actions{grid-column:1/-1;grid-row:auto}}
.plugin-detail-navigation .plugin-neighbor{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.plugin-detail-navigation .is-disabled{opacity:.45;cursor:default}
.plugin-media-unavailable{display:grid;place-items:center;min-height:100px;padding:12px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:760px){.plugin-detail-navigation{justify-content:flex-start;width:100%}.plugin-detail-navigation .plugin-neighbor{max-width:100%}}

.library-draft-help{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.7}
.library-draft-help[hidden]{display:none}
.library-draft-card .catalog-actions{margin-top:auto}

/* Personal library cards keep every action in one row. */
.library-card{container-type:inline-size}
.library-card .catalog-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;align-items:stretch}
.library-card .catalog-actions>*{box-sizing:border-box;min-width:0;width:100%;min-height:36px;padding:6px 4px;font-size:12px;font-size:clamp(11px,4.7cqi,13px);line-height:1.35;white-space:nowrap;word-break:normal;overflow-wrap:normal}
html:lang(en) .library-card .catalog-actions>*{white-space:normal}
.library-draft-details .dialog-body{display:grid;gap:18px}
.library-draft-details .portal-facts{grid-template-columns:100px minmax(0,1fr)}
.library-draft-details dd{white-space:pre-wrap}
.library-draft-details ul{margin:0;padding-left:20px;color:var(--muted);font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.library-draft-details footer{justify-content:flex-end}

.library-draft-ribbon{position:absolute;z-index:2;top:18px;left:-35px;width:140px;height:28px;line-height:28px;text-align:center;transform:rotate(-45deg);background:linear-gradient(110deg,#aac4df,#799dc5);color:#14283c;font-size:12px;font-weight:800;letter-spacing:.12em;pointer-events:none;box-shadow:0 3px 10px #0004}

/* A compact library: categories, search, filters, and cards. */
.account-library-page .library-panel{margin-top:0}
.account-library-page .library-category-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px}
.library-category-bar .portal-category-tabs{flex:1;min-width:0;margin:0}
.account-library-page #notice:empty{display:none}
@media(max-width:700px){.account-library-page .library-category-bar{flex-wrap:wrap;gap:12px}.library-category-bar .portal-category-tabs{flex-basis:100%;width:100%}}
