Code/Studio/StudioPanel.razor.scss
StudioPanel {
position: absolute; width: 100%; height: 100%; font-family: Inter; color: #f0eee6; pointer-events: none;
button { pointer-events: all; cursor: pointer; padding: 11px 17px; border-radius: 6px; background-color: #ffffff0a; border: 1px solid #ffffff20; color: #e9ebe6; font-size: 14px; flex-shrink: 0; align-items: center; justify-content: center; gap: 10px; }
button:hover { background-color: #ffffff20; border-color: #c5e4a7; }
button.primary { background-color: #d6ebaf; border-color: #d6ebaf; color: #263425; font-weight: 600; }
button.primary:hover { background-color: #eaf9cc; }
button.chosen { color: #d6ebaf; border-color: #d6ebaf88; }
h1, h2, p { margin: 0; flex-shrink: 0; }
h1 { font-size: 48px; font-weight: 500; letter-spacing: -1.5px; }
h2 { font-size: 22px; font-weight: 500; }
p { font-size: 15px; line-height: 25px; color: #aeb8ab; white-space: normal; }
.eyebrow { font-size: 11px; letter-spacing: 2px; color: #c6d9b2; margin-bottom: 13px; }
.collection { position: absolute; width: 100%; height: 100%; background-color: #17221ff9; padding: 30px 54px 20px; flex-direction: column; pointer-events: all; }
.topbar { justify-content: space-between; align-items: center; flex-shrink: 0; }
.brand { gap: 13px; align-items: center; letter-spacing: 2px; font-size: 12px; font-weight: 600; }
.brandmark { width: 37px; height: 37px; border-radius: 50%; border: 2px solid #d6ebaf; color: #d6ebaf; font-size: 25px; align-items: center; justify-content: center; }
.actions { gap: 10px; align-items: center; flex-shrink: 0; }
.intro { margin: 42px 0 30px; justify-content: space-between; align-items: center; flex-shrink: 0; }
.intro > div { flex-direction: column; gap: 9px; }
.intro .eyebrow { margin-bottom: 0; }
.plazalink { width: 235px; height: 100px; background-color: #354b3e; justify-content: space-between; padding: 25px; font-size: 19px; border-color: #a5c08466; }
.arrow { font-size: 36px; color: #d6ebaf; }
.librarybar { justify-content: space-between; align-items: center; border-bottom: 1px solid #ffffff20; padding-bottom: 17px; flex-shrink: 0; }
TextEntry.search { width: 240px; padding: 12px 15px; background-color: #0e1916; border: 1px solid #ffffff20; border-radius: 6px; color: #edf2e5; font-size: 14px; }
.cards { flex-grow: 1; min-height: 0; overflow-y: auto; flex-wrap: wrap; align-content: flex-start; gap: 20px; padding: 22px 0; }
.card { width: 220px; flex-shrink: 0; flex-direction: column; background-color: #25312c; border: 1px solid #ffffff18; border-radius: 9px; overflow: hidden; }
button.portrait { width: 100%; height: 190px; padding: 0; border: 0; border-radius: 0; background-color: #435146; position: relative; }
.portrait CharacterCreatorPreview { position: absolute; width: 100%; height: 100%; pointer-events: none; }
.cardtitle { align-items: center; justify-content: space-between; padding: 10px 14px 4px; }
.cardtitle h2 { font-size: 17px; max-width: 153px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
button.favorite { padding: 0; border: 0; background-color: transparent; font-size: 26px; }
.cardactions { gap: 5px; padding: 8px 12px 14px; }
.cardactions button { font-size: 11px; padding: 7px 10px; }
button.delete { color: #d5aaa1; }
.empty { width: 100%; padding: 45px 0; flex-direction: column; align-items: center; gap: 17px; }
.empty p { max-width: 450px; text-align: center; }
.emptyicon { font-size: 54px; color: #d6ebaf; }
.bottomline { justify-content: space-between; color: #809487; font-size: 11px; padding-top: 14px; border-top: 1px solid #ffffff18; flex-shrink: 0; }
.plazahead { position: absolute; left: 38px; right: 38px; top: 30px; align-items: flex-start; justify-content: space-between; text-shadow: 0 2px 4px #000a; }
.plazahead > div { flex-direction: column; gap: 5px; }
.plazahead h1 { font-size: 34px; }
.plazahead button { background-color: #17221fee; }
.plazahead p { color: #edf2e5; }
.residents { position: absolute; left: 30px; top: 190px; width: 245px; max-height: 65%; overflow-y: auto; flex-direction: column; padding: 20px; background-color: #17221fe8; border: 1px solid #ffffff25; border-radius: 8px; pointer-events: all; gap: 8px; }
.resident { gap: 6px; flex-shrink: 0; }
.resident button { font-size: 12px; padding: 8px; }
.resident button:first-child { flex-grow: 1; justify-content: flex-start; }
.plazatools { position: absolute; bottom: 25px; right: 30px; gap: 6px; padding: 10px; background-color: #17221fe8; border-radius: 8px; }
.plazatools button { font-size: 12px; padding: 10px; }
.shade { position: absolute; width: 100%; height: 100%; background-color: #07140eea; align-items: center; justify-content: center; pointer-events: all; z-index: 50; }
.dialog { width: 490px; padding: 35px; background-color: #25352b; border: 1px solid #acc79666; border-radius: 12px; flex-direction: column; gap: 22px; }
.dialog .actions { justify-content: flex-end; }
.transfer { width: 700px; }
TextEntry.json { height: 260px; padding: 15px; background-color: #121f18; color: #d6ebaf; font-size: 12px; overflow-y: auto; white-space: pre-wrap; }
.toast { position: absolute; bottom: 65px; left: 35%; max-width: 60%; padding: 14px 22px; background-color: #d6ebaf; color: #263425; border-radius: 8px; pointer-events: all; z-index: 100; font-size: 14px; }
.warning { position: absolute; bottom: 110px; left: 30px; max-width: 70%; background-color: #633f24; padding: 15px; pointer-events: all; z-index: 101; }
button.savecopy { position: absolute; right: 250px; bottom: 27px; z-index: 6; background-color: #25352b; }
}