:root {
	color-scheme: dark;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--sp-red: #e0201f;
	--sp-red-bright: #f02a29;
	--sp-bg: #0a0908;
	--sp-panel: #151312;
	--sp-paper: #fffdf9;
	--sp-white: #fffafa;
	--sp-muted: #bcb3af;
	--sp-line: rgba(255, 255, 255, .13);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-width: 320px; min-height: 100%; background: var(--sp-bg); color: var(--sp-white); }
body.sp-portal-page {
	min-height: 100vh;
	background: radial-gradient(circle at 86% 3%, rgba(118, 12, 16, .34), transparent 33rem), linear-gradient(145deg, #080707 0%, #100909 68%, #220b0d 100%);
}
body.sp-portal-page.sp-modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
.sp-portal [hidden] { display: none !important; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.sp-portal {
	width: min(1720px, calc(100% - clamp(24px, 5vw, 104px)));
	margin: 0 auto;
	padding: clamp(18px, 3vw, 48px) 0 max(40px, env(safe-area-inset-bottom));
}
.sp-portal__header { min-height: 74px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; border-bottom: 1px solid var(--sp-line); }
.sp-portal__back { width: max-content; min-height: 44px; display: inline-flex; align-items: center; font-weight: 750; text-decoration: none; }
.sp-portal__back:hover, .sp-portal__back:focus-visible, .sp-portal__quick a:hover, .sp-portal__quick a:focus-visible { color: #ff6666; }
.sp-portal__brand { display: flex; gap: 7px; align-items: baseline; text-decoration: none; letter-spacing: .17em; font-size: 13px; font-weight: 850; }
.sp-portal__brand b, .sp-kicker, .sp-portal__footer b { color: var(--sp-red); }
.sp-portal__quick { display: flex; align-items: center; justify-content: flex-end; gap: 18px; font-size: 13px; font-weight: 750; }
.sp-portal__quick a { text-decoration: none; }
.sp-portal__account { display: inline-flex; align-items: center; gap: 8px; color: #d8d0cd; }
.sp-portal__account i { width: 8px; height: 8px; border-radius: 50%; background: #48d28b; box-shadow: 0 0 0 4px rgba(72, 210, 139, .09); }

.sp-kicker { display: block; font-size: 11px; font-weight: 850; letter-spacing: .21em; text-transform: uppercase; }
.sp-portal h1, .sp-portal h2, .sp-portal h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1; }
.sp-portal__hero { padding: clamp(72px, 9vw, 142px) 0 clamp(50px, 7vw, 92px); text-align: center; }
.sp-portal__hero h1 { margin: 18px 0 20px; font-size: clamp(50px, 7vw, 112px); letter-spacing: -.045em; }
.sp-portal__hero > p { max-width: 720px; margin: 0 auto; color: var(--sp-muted); font-size: clamp(16px, 1.4vw, 20px); line-height: 1.65; }
.sp-portal__hero-actions { display: flex; justify-content: center; margin-top: 18px; }

.sp-portal__continue { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0 0 20px; }
.sp-portal__continue > :only-child { grid-column: 1 / -1; }
.sp-continue-card {
	min-width: 0; min-height: 168px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: clamp(20px, 2.5vw, 34px);
	border: 1px solid var(--sp-line); border-radius: 24px; background: linear-gradient(145deg, rgba(31, 25, 23, .98), rgba(13, 11, 11, .98));
}
.sp-continue-card--resume { border-color: rgba(224, 32, 31, .55); background: linear-gradient(145deg, rgba(68, 17, 18, .78), rgba(16, 12, 12, .98)); }
.sp-continue-card__icon { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(224,32,31,.7); border-radius: 50%; color: #ff5f5f; font-size: 20px; }
.sp-continue-card__copy { min-width: 0; }
.sp-continue-card h2 { margin-top: 9px; overflow: hidden; color: var(--sp-white); font-size: clamp(25px, 2.4vw, 37px); text-overflow: ellipsis; white-space: nowrap; }
.sp-continue-card p { margin: 9px 0 0; overflow: hidden; color: var(--sp-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sp-continue-card__progress { height: 4px; margin-top: 15px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.12); }
.sp-continue-card__progress i { display: block; width: var(--sp-progress, 0%); height: 100%; border-radius: inherit; background: var(--sp-red-bright); }

.sp-search {
	width: min(1100px, 100%); margin: clamp(34px, 5vw, 58px) auto 0; padding: 8px;
	display: grid; grid-template-columns: minmax(280px, 1fr) auto auto auto; align-items: stretch; gap: 7px;
	border: 1px solid rgba(255, 255, 255, .2); border-radius: 20px; background: rgba(21, 19, 18, .96); box-shadow: 0 28px 75px rgba(0, 0, 0, .34); text-align: left;
}
.sp-search__main { position: relative; min-width: 0; }
.sp-search__main input, .sp-search__filter select {
	width: 100%; height: 58px; border: 0; outline: 0; background: transparent; color: var(--sp-white);
}
.sp-search__main input { padding: 0 16px 0 50px; font-size: 16px; }
.sp-search__main input::placeholder { color: #a89f9b; }
.sp-search__icon { position: absolute; left: 17px; top: 50%; transform: translateY(-52%); color: var(--sp-red); font-size: 27px; }
.sp-search__filter { display: flex; align-items: center; border-left: 1px solid var(--sp-line); }
.sp-search__filter select { max-width: 180px; padding: 0 34px 0 18px; cursor: pointer; }
.sp-search__filter option, .sp-field option { background: var(--sp-panel); color: var(--sp-white); }
.sp-search__submit { min-width: 154px; }

.sp-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 50px; padding: 12px 22px;
	border: 1px solid rgba(255, 255, 255, .16); border-radius: 14px; background: rgba(255, 255, 255, .035); color: var(--sp-white);
	font-weight: 780; text-decoration: none; cursor: pointer; transition: border-color .2s, background .2s, transform .2s;
}
.sp-button:hover, .sp-button:focus-visible { border-color: rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .08); }
.sp-button:active { transform: translateY(1px); }
.sp-button:disabled { opacity: .45; cursor: wait; }
.sp-button--primary { border-color: var(--sp-red); background: var(--sp-red); }
.sp-button--primary:hover, .sp-button--primary:focus-visible { border-color: #ff6666; background: var(--sp-red-bright); }
.sp-button--compact { min-height: 42px; padding: 9px 16px; }

.sp-portal__tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.sp-portal__tabs button {
	min-width: 0; min-height: 118px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 17px; padding: 24px;
	border: 1px solid var(--sp-line); border-radius: 22px; background: linear-gradient(145deg, rgba(26, 23, 22, .98), rgba(14, 12, 12, .98)); color: var(--sp-white); text-align: left; cursor: pointer;
}
.sp-portal__tabs button:hover, .sp-portal__tabs button:focus-visible, .sp-portal__tabs button[aria-selected="true"] { border-color: rgba(224, 32, 31, .75); background: linear-gradient(145deg, rgba(65, 17, 18, .8), rgba(19, 13, 13, .98)); }
.sp-portal__tab-number { color: var(--sp-red); font-size: 11px; font-weight: 850; letter-spacing: .17em; }
.sp-portal__tabs strong, .sp-portal__tabs small { display: block; overflow: hidden; text-overflow: ellipsis; }
.sp-portal__tabs strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(22px, 2vw, 30px); font-weight: 500; }
.sp-portal__tabs small { margin-top: 8px; color: var(--sp-muted); font-size: 12px; }
.sp-portal__tabs b { font-size: 20px; }

.sp-portal__panel { min-height: 500px; padding: clamp(58px, 7vw, 108px) 0; }
.sp-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.sp-section-heading h2, .sp-import-layout h2, .sp-login-card h2 { margin-top: 13px; font-size: clamp(42px, 5vw, 76px); letter-spacing: -.035em; }
.sp-section-heading > p { margin: 0; color: var(--sp-muted); }
.sp-section-heading > p strong { color: var(--sp-white); font-size: 28px; }
.sp-section-heading--library { align-items: center; }
.sp-library-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }

.sp-filter-pills { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.sp-filter-pills button, .sp-pagination button {
	min-height: 42px; padding: 9px 15px; border: 1px solid var(--sp-line); border-radius: 999px; background: rgba(255,255,255,.025); color: var(--sp-muted); cursor: pointer;
}
.sp-filter-pills button:hover, .sp-filter-pills button:focus-visible, .sp-filter-pills button.is-active, .sp-pagination button:hover, .sp-pagination button:focus-visible, .sp-pagination button.is-active { color: var(--sp-white); border-color: var(--sp-red); background: rgba(224,32,31,.13); }

.sp-partition-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 26px); }
.sp-partition-card { min-width: 0; overflow: hidden; border: 1px solid var(--sp-line); border-radius: 22px; background: linear-gradient(150deg, rgba(25, 22, 21, .98), rgba(13, 12, 11, .98)); box-shadow: 0 24px 60px rgba(0,0,0,.18); }
.sp-partition-card__preview { position: relative; min-height: 220px; padding: 26px; display: grid; place-items: center; overflow: hidden; background: #24201e; }
.sp-partition-card__paper {
	position: relative; width: min(154px, 62%); aspect-ratio: .72; padding: 26px 17px; border-radius: 3px; background: var(--sp-paper); box-shadow: 0 15px 35px rgba(0,0,0,.42); transform: rotate(-1deg);
}
.sp-partition-card__thumbnail { display: block; width: min(174px, 70%); height: 184px; padding: 5px; border-radius: 4px; background: var(--sp-paper); object-fit: contain; box-shadow: 0 15px 35px rgba(0,0,0,.42); }
.sp-partition-card:nth-child(even) .sp-partition-card__paper { transform: rotate(1.3deg); }
.sp-partition-card__paper::before { content: ""; display: block; height: 34px; background: repeating-linear-gradient(to bottom, #57504d 0 1px, transparent 1px 6px); opacity: .68; }
.sp-partition-card__paper::after { content: ""; position: absolute; inset: 80px 18px 20px; background: repeating-linear-gradient(to bottom, rgba(70,61,58,.48) 0 1px, transparent 1px 13px); }
.sp-partition-card__note { position: absolute; z-index: 1; left: 29px; top: 62px; color: #26211f; font-family: Georgia, serif; font-size: 25px; }
.sp-partition-card__badge { position: absolute; left: 18px; top: 18px; z-index: 2; padding: 7px 9px; border-radius: 999px; background: rgba(8,7,7,.82); color: #fff; font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.sp-partition-card__favorite { position: absolute; right: 18px; top: 18px; z-index: 2; color: #ffd764; font-size: 20px; }
.sp-partition-card__body { padding: 21px; }
.sp-partition-card__body h3 { font-size: clamp(24px, 2vw, 31px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sp-partition-card__artist { min-height: 20px; margin: 8px 0 15px; color: var(--sp-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sp-partition-card__meta { display: flex; flex-wrap: wrap; gap: 7px; min-height: 25px; }
.sp-partition-card__meta span { padding: 5px 8px; border: 1px solid var(--sp-line); border-radius: 999px; color: #d8cfcc; font-size: 10px; }
.sp-partition-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 19px; }
.sp-partition-card__actions .sp-button { min-width: 0; padding-inline: 15px; }
.sp-partition-card__actions > .sp-button--primary { flex: 1 1 8rem; }
.sp-partition-card__actions > .sp-button--download { flex: 1 1 7rem; }
.sp-partition-card__actions .sp-button--icon { width: 50px; padding: 0; font-size: 20px; }
.sp-partition-card__actions > .sp-button--edit-sheet { order: 20; flex: 1 0 100%; justify-content: space-between; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.035); color: #fff; }
.sp-partition-card__actions > .sp-button--edit-sheet:hover, .sp-partition-card__actions > .sp-button--edit-sheet:focus-visible { border-color: var(--sp-red); background: rgba(224,32,31,.13); }
.sp-button--favorite[aria-pressed="true"] { border-color: #dfb848; background: rgba(223,184,72,.13); color: #ffd764; }
.sp-button--manage { flex: 1 1 5.5rem; }
.sp-button--danger { border-color: #ff5757; color: #ffb3b3; }
.sp-button--danger:hover, .sp-button--danger:focus-visible { border-color: #ff5757; background: #b6161b; color: #fff; }

.sp-empty { min-height: 330px; padding: 40px; display: grid; place-items: center; align-content: center; text-align: center; border: 1px dashed rgba(255,255,255,.18); border-radius: 26px; background: rgba(255,255,255,.02); }
.sp-empty > span { color: var(--sp-red); font-size: 50px; }
.sp-empty h3 { margin-top: 16px; font-size: 32px; }
.sp-empty p { margin: 11px 0 22px; color: var(--sp-muted); }
.sp-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 30px; }
.sp-pagination button:disabled { opacity: .35; cursor: default; }

.sp-import-layout { display: grid; grid-template-columns: minmax(270px, .75fr) minmax(0, 1.6fr); gap: clamp(30px, 6vw, 100px); padding: clamp(28px, 5vw, 70px); border: 1px solid var(--sp-line); border-radius: 28px; background: linear-gradient(145deg, rgba(24,21,20,.98), rgba(12,11,10,.98)); }
.sp-import-layout header > p, .sp-login-card > p { color: var(--sp-muted); font-size: 17px; line-height: 1.65; }
.sp-import-layout header ul { padding: 0; margin: 28px 0 0; list-style: none; color: #d5ccca; }
.sp-import-layout header li { padding: 12px 0; border-top: 1px solid var(--sp-line); }
.sp-import-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sp-field { min-width: 0; display: grid; gap: 8px; }
.sp-field--wide { grid-column: 1 / -1; }
.sp-field > span { color: #d8cfcc; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.sp-field input, .sp-field select, .sp-field textarea {
	width: 100%; min-height: 50px; border: 1px solid var(--sp-line); border-radius: 13px; outline: 0; background: rgba(0,0,0,.27); color: var(--sp-white); padding: 13px 15px;
}
.sp-field textarea { resize: vertical; }
.sp-field input:focus, .sp-field select:focus, .sp-field textarea:focus { border-color: var(--sp-red); box-shadow: 0 0 0 3px rgba(224,32,31,.12); }
.sp-visibility { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0; padding: 0; border: 0; }
.sp-visibility legend { width: 100%; margin-bottom: 8px; color: #d8cfcc; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.sp-visibility label { position: relative; min-width: 0; display: flex; gap: 12px; align-items: center; min-height: 74px; padding: 13px; border: 1px solid var(--sp-line); border-radius: 14px; background: rgba(0,0,0,.2); cursor: pointer; }
.sp-visibility label:has(input:checked) { border-color: var(--sp-red); background: rgba(224,32,31,.1); }
.sp-visibility input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--sp-red); }
.sp-visibility span, .sp-visibility strong, .sp-visibility small { display: block; min-width: 0; }
.sp-visibility strong { color: var(--sp-white); }
.sp-visibility small { margin-top: 4px; color: var(--sp-muted); font-size: 11px; line-height: 1.35; }
.sp-upload { position: relative; min-height: 180px; padding: 28px; display: grid; place-items: center; align-content: center; gap: 6px; border: 1px dashed rgba(224,32,31,.7); border-radius: 18px; background: rgba(224,32,31,.06); text-align: center; cursor: pointer; }
.sp-upload:hover, .sp-upload:focus-within, .sp-upload.is-dragging { background: rgba(224,32,31,.12); }
.sp-upload input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.sp-upload__icon { color: var(--sp-red); font-size: 34px; }
.sp-upload strong { font-size: 18px; }
.sp-upload small, .sp-upload em { color: var(--sp-muted); font-style: normal; }
.sp-upload em { margin-top: 8px; font-size: 11px; }
.sp-import-preview { min-width: 0; padding: 20px; border: 1px solid var(--sp-line); border-radius: 18px; background: rgba(255,255,255,.025); }
.sp-import-preview > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; }
.sp-import-preview h3 { margin-top: 7px; font-size: clamp(28px, 3vw, 40px); }
.sp-import-preview > header > span { color: #e9dfdc; font-size: 12px; font-weight: 800; }
.sp-import-preview > p { margin: 12px 0 0; color: var(--sp-muted); font-size: 12px; line-height: 1.55; }
.sp-import-preview > p.is-error { color: #ff9b9e; }
.sp-import-preview__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.sp-import-preview__card { min-width: 0; padding: 8px; border: 1px solid var(--sp-line); border-radius: 14px; background: rgba(0,0,0,.28); }
.sp-import-preview__card[draggable="true"] { cursor: grab; }
.sp-import-preview__card.is-dragging { opacity: .45; border-color: var(--sp-red); }
.sp-import-preview__visual { position: relative; min-height: 150px; display: grid; place-items: center; overflow: hidden; border-radius: 9px; background: var(--sp-paper); color: #171313; }
.sp-import-preview__visual img, .sp-import-preview__visual canvas { width: 100%; height: auto; max-height: 230px; display: block; object-fit: contain; background: #fff; }
.sp-import-preview__visual--fallback { aspect-ratio: 3 / 4; color: #a71b20; font-family: Georgia, serif; font-size: 28px; font-weight: 750; letter-spacing: .08em; }
.sp-import-preview__number { position: absolute; top: 7px; left: 7px; min-width: 28px; height: 28px; padding: 0 7px; display: grid; place-items: center; border-radius: 999px; background: var(--sp-red); color: #fff; font-size: 11px; font-weight: 850; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.sp-import-preview__copy { min-width: 0; padding: 10px 3px 5px; }
.sp-import-preview__copy strong, .sp-import-preview__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sp-import-preview__copy strong { font-size: 12px; }
.sp-import-preview__copy small { margin-top: 4px; color: var(--sp-muted); font-size: 10px; }
.sp-import-preview__controls { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 7px; }
.sp-import-preview__controls button { min-height: 42px; border: 1px solid var(--sp-line); border-radius: 10px; background: rgba(255,255,255,.04); color: #fff; cursor: pointer; }
.sp-import-preview__controls button:hover:not(:disabled), .sp-import-preview__controls button:focus-visible { border-color: var(--sp-red); background: rgba(224,32,31,.13); }
.sp-import-preview__controls button:disabled { opacity: .28; cursor: default; }
.sp-import-form__actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.sp-import-form__actions > span { color: #7de0a9; font-size: 12px; }
.sp-import-progress { grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px 16px; padding: 18px; border: 1px solid rgba(224,32,31,.38); border-radius: 16px; background: rgba(77,11,14,.16); }
.sp-import-progress > div { display: flex; justify-content: space-between; gap: 15px; }
.sp-import-progress > div strong { font-size: 13px; }
.sp-import-progress > div span { color: #ff8e91; font-size: 12px; font-weight: 850; }
.sp-import-progress progress { width: 100%; height: 11px; grid-column: 1 / -1; overflow: hidden; border: 0; border-radius: 999px; appearance: none; background: rgba(255,255,255,.09); }
.sp-import-progress progress::-webkit-progress-bar { border-radius: 999px; background: rgba(255,255,255,.09); }
.sp-import-progress progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, #a40f15, var(--sp-red-bright)); transition: width .15s linear; }
.sp-import-progress progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg, #a40f15, var(--sp-red-bright)); }
.sp-import-progress > p { min-width: 0; margin: 0; color: var(--sp-muted); font-size: 11px; line-height: 1.45; }
.sp-import-progress.is-error { border-color: rgba(255,87,87,.7); background: rgba(128,16,21,.2); }
.sp-import-progress.is-error > p { color: #ffb0b2; }
.sp-import-success { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 18px; align-items: center; margin-top: 18px; padding: 20px; border: 1px solid rgba(72,210,139,.45); border-radius: 18px; background: rgba(72,210,139,.08); }
.sp-import-success > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: #3ccf80; color: #07120c; font-size: 23px; }
.sp-import-success p { margin: 5px 0 0; color: var(--sp-muted); }

.sp-login-card { width: min(980px, 100%); margin: 0 auto; padding: clamp(38px, 8vw, 100px); border: 1px solid var(--sp-line); border-radius: 30px; background: linear-gradient(145deg, rgba(27,23,22,.98), rgba(12,10,10,.98)); text-align: center; }
.sp-login-card h2 { max-width: 780px; margin: 17px auto 0; }
.sp-login-card > p { max-width: 640px; margin: 25px auto; }
.sp-login-card > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

.sp-owner-modal { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: clamp(10px, 3vw, 32px); }
.sp-owner-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(0,0,0,.78); backdrop-filter: blur(8px); cursor: pointer; }
.sp-owner-modal__dialog {
	position: relative; width: min(960px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; padding: clamp(20px, 4vw, 42px);
	border: 1px solid rgba(224,32,31,.6); border-radius: 28px; outline: 0; background: radial-gradient(circle at 100% 0%, rgba(122,16,20,.3), transparent 28rem), #110e0e; box-shadow: 0 35px 100px rgba(0,0,0,.72);
}
.sp-owner-modal__dialog:focus-visible { box-shadow: 0 0 0 3px rgba(240,42,41,.42), 0 35px 100px rgba(0,0,0,.72); }
.sp-owner-modal__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid var(--sp-line); }
.sp-owner-modal__header h2 { margin-top: 9px; font-size: clamp(34px, 5vw, 58px); }
.sp-owner-modal__close { width: 48px; height: 48px; flex: 0 0 auto; border: 1px solid var(--sp-line); border-radius: 50%; background: rgba(255,255,255,.04); color: #fff; font-size: 27px; cursor: pointer; }
.sp-owner-modal__close:hover, .sp-owner-modal__close:focus-visible { border-color: var(--sp-red); background: rgba(224,32,31,.13); }
.sp-owner-modal__loading { min-height: 220px; display: grid; place-items: center; color: var(--sp-muted); }
.sp-owner-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sp-owner-form__actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
.sp-owner-pages, .sp-owner-danger { margin-top: 28px; padding: clamp(18px, 3vw, 28px); border: 1px solid var(--sp-line); border-radius: 20px; background: rgba(255,255,255,.025); }
.sp-owner-pages h3, .sp-owner-danger h3 { margin-top: 8px; font-size: clamp(27px, 4vw, 38px); }
.sp-owner-pages p, .sp-owner-danger p { margin: 8px 0 0; color: var(--sp-muted); line-height: 1.5; }
.sp-owner-pages ol { display: grid; gap: 8px; margin: 20px 0; padding: 0; list-style: none; }
.sp-owner-page { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--sp-line); border-radius: 14px; background: rgba(0,0,0,.22); }
.sp-owner-page__number { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--sp-red); font-weight: 850; }
.sp-owner-page__copy { min-width: 0; }
.sp-owner-page__copy strong, .sp-owner-page__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sp-owner-page__copy small { margin-top: 4px; color: var(--sp-muted); }
.sp-owner-page__controls { display: flex; gap: 5px; }
.sp-owner-page__controls button { width: 42px; height: 42px; border: 1px solid var(--sp-line); border-radius: 11px; background: rgba(255,255,255,.04); color: #fff; cursor: pointer; }
.sp-owner-page__controls button:hover:not(:disabled), .sp-owner-page__controls button:focus-visible { border-color: var(--sp-red); background: rgba(224,32,31,.13); }
.sp-owner-page__controls button:disabled { opacity: .28; cursor: default; }
.sp-owner-danger { display: flex; align-items: center; justify-content: space-between; gap: 22px; border-color: rgba(255,87,87,.38); }

.sp-portal__footer { min-height: 130px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; border-top: 1px solid var(--sp-line); color: var(--sp-muted); font-size: 12px; }
.sp-portal__footer > span { color: var(--sp-white); font-weight: 850; letter-spacing: .16em; }
.sp-portal__footer p { text-align: center; }
.sp-portal__footer a { justify-self: end; font-weight: 750; }
.sp-portal__status { position: fixed; left: 50%; bottom: max(20px, env(safe-area-inset-bottom)); z-index: 20; width: max-content; max-width: calc(100% - 30px); padding: 13px 18px; border: 1px solid var(--sp-line); border-radius: 999px; background: #211d1c; box-shadow: 0 15px 50px rgba(0,0,0,.55); opacity: 0; pointer-events: none; transform: translate(-50%, 20px); transition: opacity .2s, transform .2s; text-align: center; }
.sp-portal__status.is-visible { opacity: 1; transform: translate(-50%, 0); }
.sp-portal__status.is-error { color: #ff9a9a; border-color: rgba(224,32,31,.62); }
.sp-portal.is-busy .sp-portal__panel { opacity: .68; pointer-events: none; }

@media (max-width: 1250px) {
	.sp-partition-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sp-search { grid-template-columns: minmax(250px, 1fr) auto auto; }
	.sp-search__submit { grid-column: 1 / -1; }
}

@media (max-width: 920px) {
	.sp-portal__header { grid-template-columns: 1fr auto; }
	.sp-portal__brand { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
	.sp-portal__back { grid-column: 1; grid-row: 2; }
	.sp-portal__quick { grid-column: 2; grid-row: 2; }
	.sp-portal__hero { padding-top: 70px; }
	.sp-search { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.sp-search__main, .sp-search__submit { grid-column: 1 / -1; }
	.sp-search__filter select { max-width: none; }
	.sp-portal__tabs { grid-template-columns: 1fr; }
	.sp-portal__tabs button { min-height: 88px; padding: 18px 22px; }
	.sp-partition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sp-section-heading--library { align-items: flex-start; flex-direction: column; }
	.sp-library-tools { width: 100%; justify-content: flex-start; }
	.sp-filter-pills { justify-content: flex-start; }
	.sp-import-layout { grid-template-columns: 1fr; }
	.sp-import-preview__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sp-portal__continue { grid-template-columns: 1fr; }
}

@media (max-width: 660px) {
	.sp-portal { width: min(100% - 22px, 620px); padding-top: 10px; }
	.sp-portal__header { min-height: 112px; gap: 7px 12px; }
	.sp-portal__back { font-size: 12px; }
	.sp-portal__quick { gap: 10px; font-size: 12px; }
	.sp-portal__quick > a:not(.sp-button), .sp-portal__account { display: none; }
	.sp-portal__hero { padding: 58px 0 42px; }
	.sp-portal__hero h1 { font-size: clamp(44px, 15vw, 70px); }
	.sp-search { padding: 7px; grid-template-columns: 1fr; border-radius: 17px; }
	.sp-search__main input { height: 60px; font-size: 15px; }
	.sp-search__filter { border-left: 0; border-top: 1px solid var(--sp-line); }
	.sp-search__filter select { max-width: none; height: 48px; }
	.sp-search__submit { grid-column: auto; width: 100%; }
	.sp-portal__tabs { gap: 9px; }
	.sp-portal__tabs button { grid-template-columns: auto minmax(0,1fr) auto; }
	.sp-portal__panel { padding: 58px 0; }
	.sp-section-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
	.sp-section-heading h2, .sp-import-layout h2, .sp-login-card h2 { font-size: clamp(38px, 13vw, 56px); }
	.sp-partition-grid { grid-template-columns: 1fr; }
	.sp-partition-card__preview { min-height: 250px; }
	.sp-partition-card__paper { width: 145px; }
	.sp-filter-pills { flex-wrap: nowrap; width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: 5px; scrollbar-width: thin; }
	.sp-filter-pills button { flex: 0 0 auto; }
	.sp-import-layout { padding: 22px 14px; border-radius: 21px; }
	.sp-import-form { grid-template-columns: 1fr; }
	.sp-import-preview { padding: 16px 12px; }
	.sp-import-preview > header { align-items: flex-start; flex-direction: column; }
	.sp-import-preview__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.sp-import-preview__visual { min-height: 120px; }
	.sp-import-progress { grid-template-columns: 1fr; }
	.sp-import-progress > .sp-button { width: 100%; }
	.sp-owner-form { grid-template-columns: 1fr; }
	.sp-field--wide { grid-column: auto; }
	.sp-visibility { grid-template-columns: 1fr; }
	.sp-continue-card { grid-template-columns: auto minmax(0, 1fr); gap: 14px; padding: 20px 16px; }
	.sp-continue-card .sp-button { grid-column: 1 / -1; width: 100%; }
	.sp-import-form__actions { align-items: stretch; flex-direction: column; }
	.sp-import-form__actions .sp-button { width: 100%; }
	.sp-import-success { grid-template-columns: auto minmax(0,1fr); }
	.sp-import-success .sp-button { grid-column: 1 / -1; }
	.sp-login-card { padding: 42px 18px; border-radius: 22px; }
	.sp-login-card > div { display: grid; }
	.sp-owner-modal { padding: 0; }
	.sp-owner-modal__dialog { width: calc(100% - 2px); max-width: calc(100vw - 2px); max-height: 100vh; max-height: 100dvh; min-height: 100vh; min-height: 100dvh; overflow-x: hidden; overflow-y: auto; border-radius: 0; padding: 18px 14px max(24px, env(safe-area-inset-bottom)); }
	.sp-owner-form__actions, .sp-owner-danger { align-items: stretch; flex-direction: column; }
	.sp-owner-form__actions .sp-button, .sp-owner-danger .sp-button { width: 100%; }
	.sp-portal__footer { grid-template-columns: 1fr; justify-items: center; padding: 30px 0; text-align: center; }
	.sp-portal__footer a { justify-self: center; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
