#moduleCreate, #moduleImport { max-width: 920px; }
#moduleImport .notice { margin: 20px 0; }
#moduleImportStatus { overflow-wrap: anywhere; }
#moduleImportStatus:empty { display: none; }
#moduleImport input[type=file] { max-width: 100%; min-width: 0; }
#moduleCreate details { margin: 20px 0; }
#moduleCreate summary { cursor: pointer; padding: 12px 0; }
#moduleCreate textarea { width: 100%; min-width: 0; resize: vertical; }
#moduleCreate .notice { margin: 20px 0; }
#moduleCreate .notice p { margin-bottom: 0; }
.module-grid .character-card { min-width: 0; overflow-wrap: anywhere; }
.module-grid .actions { flex-wrap: wrap; }
#studioInviteCode { width: 100%; }
#studioStatus { margin-bottom: 16px; overflow-wrap: anywhere; }
#studioStatus:empty { display: none; }
#studioCampaignList .list-item { overflow-wrap: anywhere; }
#studioCampaignList .actions { flex-wrap: wrap; }
@media(max-width:620px) { #moduleCreate .grid-3, #moduleCreate .grid-2 { grid-template-columns: 1fr; } }
.home-block { margin: 0 0 26px; }
.home-block > h2, .home-block .panel-head h2 { margin: 0 0 10px; }
.home-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; }
.home-pair .panel h2 { margin-top: 0; }
.home-pair form { display: grid; gap: 10px; align-content: start; }
.home-invited { border-color: var(--accent-soft); }
.continue-card { border-left: 4px solid var(--accent-soft); }
.continue-card .progress { height: 6px; border-radius: 3px; background: var(--line); overflow: hidden; margin: 8px 0 2px; }
.continue-card .progress span { display: block; height: 100%; background: var(--accent-2, var(--accent-soft)); }
