:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#242b30;background:#fff;font-size:15px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:225px;background:#f6f7f7;border-right:1px solid #e6e9e8;padding:36px 24px;display:flex;flex-direction:column}.brand{font-size:25px;font-weight:650;letter-spacing:-1px;color:#213c36;text-decoration:none}.brand span{display:block;font-size:11px;letter-spacing:1px;font-weight:400;margin-top:8px;color:#75817c}nav{display:grid;gap:7px;margin-top:54px}nav a{padding:11px 12px;text-decoration:none;color:#5d6764;border-radius:4px}nav a.active{background:#e7eeeb;color:#1d5946}footer{margin-top:auto;font-size:12px;line-height:1.9;color:#79817e}footer form{margin:14px 0}main{margin-left:225px;padding:48px 5vw;min-height:100vh}main.entry{margin:0 auto;max-width:660px;padding-top:70px}h1{font-size:31px;letter-spacing:-1px;font-weight:550;margin:0 0 18px}h2{font-size:19px;font-weight:550;margin:30px 0 18px}p{line-height:1.65}.intro{color:#68726d;margin-bottom:36px}a{color:#27624e}form{margin:24px 0}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#65716a;margin-bottom:20px}input,select,textarea{font:inherit;color:#26352d;border:1px solid #d9dfdc;border-radius:4px;background:#fff;padding:11px 12px;max-width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #86ad9e;outline-offset:1px}textarea{width:100%;font-family:monospace;font-size:12px;resize:vertical}button{font:inherit;border:0;border-radius:4px;padding:12px 19px;background:#285f4b;color:#fff;cursor:pointer}button:hover{filter:brightness(.94)}.secondary{background:#edf1ef;color:#285f4b}.inline{display:flex;gap:18px;align-items:end;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid #e7ebe8}.inline label{min-width:170px;margin:0;flex:1}.inline button{flex-shrink:0}.password{display:flex;position:relative}.password input{width:100%;padding-right:55px}.password .eye{position:absolute;right:2px;top:2px;bottom:2px;padding:0 15px;background:transparent;color:#5d7165}.link{background:none;padding:0;color:#39715a;border:0;font-size:13px}.danger{color:#a35650}.error{background:#fff1ed;color:#973b2b;padding:14px;border-left:3px solid #b85e45}.muted{font-size:12px;color:#7b8580}table{width:100%;border-collapse:collapse;text-align:left;margin-top:24px}th,td{padding:18px 10px;border-bottom:1px solid #e7ebe8;font-weight:400}th{font-size:12px;color:#7b8580}td form{margin:0}.table-wrap{overflow:auto}.list{margin:28px 0}.list>a{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid #e7ebe8;text-decoration:none}.list span{font-size:12px;color:#7b8580}.playlist-row{display:flex;gap:10px;align-items:center;border-bottom:1px solid #edf0ed;padding:15px 0}.playlist-row select{flex:1}.playlist-row label{margin:0;width:95px;font-size:11px}.playlist-row button{padding:10px}.screen{padding:12px 0 28px;border-bottom:1px solid #e4e9e6}.embed{max-width:1000px}#items{margin-bottom:20px}@media(max-width:800px){aside{width:170px;padding:25px 14px}main{margin-left:170px;padding:30px 22px}.brand{font-size:22px}.playlist-row{flex-wrap:wrap}.playlist-row select{flex-basis:100%}}@media(max-width:480px){aside{width:125px;padding:20px 10px}nav a{padding:10px 2px;font-size:12px}.brand{font-size:19px}main{margin-left:125px;padding:25px 14px}h1{font-size:25px}.inline label{min-width:100%}footer{font-size:10px}}

[hidden]{display:none!important}.playlist-medium{flex:1;min-width:0;overflow-wrap:anywhere}.medium-name{display:block}.medium-kind{display:block;font-size:11px;color:#87908b;margin-top:5px}.playlist-row .image-duration{width:90px;flex-shrink:0}.video-duration{font-size:12px;color:#87908b}.row-actions{display:flex;gap:16px;align-items:center;margin-left:auto;flex-shrink:0}.playlist-row .row-actions button{padding:6px 0;white-space:nowrap}button:disabled{opacity:.35;cursor:default}.config-menu{margin-top:14px}.config-menu summary{padding:11px 12px;font-size:14px;color:#5d6764;cursor:pointer}.config-menu a{display:block;font-size:13px;margin-left:10px}.update-preview{border-top:1px solid #e7ebe8;padding-top:20px}.success{padding:12px 0;color:#285f4b}.backup-list a{display:block;padding:10px 0}.playlist-row{gap:20px}#playlist-feedback:empty{display:none}@media(max-width:1050px){.playlist-row{flex-wrap:wrap}.playlist-medium{flex-basis:calc(100% - 130px)}.row-actions{width:100%;justify-content:flex-end}}@media(max-width:650px){.row-actions{gap:12px;flex-wrap:wrap}.config-menu summary{padding:10px 2px;font-size:12px}}

.rename-media{display:flex;align-items:center;gap:14px;min-width:260px}.rename-media input{flex:1;width:100%;border-color:transparent;background:transparent;padding-left:0}.rename-media input:hover,.rename-media input:focus{border-color:#d9dfdc}.rename-media button{white-space:nowrap}

.media-actions{white-space:nowrap}
.media-actions form{display:inline-block;margin-left:1rem}
#media-preview{box-sizing:border-box;width:min(900px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);padding:1rem;border:1px solid #d8dfdb;border-radius:10px;color:#18251e;background:#fff}
#media-preview::backdrop{background:#0009}
.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.preview-heading h2{margin:0;overflow-wrap:anywhere}
.preview-heading form{margin:0}
#media-preview-content img:not([hidden]),#media-preview-content video:not([hidden]){display:block;margin:auto;max-width:100%;max-height:70dvh;object-fit:contain}

.media-picker{margin:24px 0}
.media-picker label{margin-bottom:6px}
.media-search-field{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;border:1px solid #d9dfdc;border-radius:6px}
.media-search-field:focus-within{outline:2px solid #356b53}
.media-search-field input{flex:1 1 240px;min-width:0;border:0}
#media-tags{display:contents;list-style:none}
#media-tags button{padding:4px 9px;background:#e7f0ea;color:#234936;border-radius:20px;overflow-wrap:anywhere;text-align:left}
.media-choices{max-height:270px;overflow:auto;border:1px solid #d9dfdc;border-radius:6px;margin-top:4px}
.media-result:not([hidden]){display:flex;width:100%;justify-content:space-between;gap:12px;text-align:left;background:#fff;color:#234936;border-radius:0;border-bottom:1px solid #edf0ed}
.media-result:hover,.media-result:focus-visible{background:#edf4ef}
.media-result span{overflow-wrap:anywhere}
.media-result small{flex-shrink:0}
#media-search-status:empty{display:none}
#add-selected{margin-top:10px}

.general-modules {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
 gap: 16px;
}
.general-module {
 display: flex;
 flex-direction: column;
 min-width: 0;
 padding: 18px;
 border: 1px solid #dfe7e2;
 border-radius: 10px;
 background: #fff;
}
.general-module header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.general-module header h2 { margin: 0; }
.general-module header strong { font-size: 28px; color: #285f4b; }
.general-module h3 { margin: 14px 0 4px; font-size: 14px; }
.general-module ul { list-style: none; margin: 0 0 14px; padding: 0; }
.general-module li { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; padding: 10px 0; border-bottom: 1px solid #edf0ed; overflow-wrap: anywhere; }
.general-module li small { color: #637169; }
.general-module li .link { margin-left: auto; }
.general-module .module-link { align-self: flex-start; margin-top: auto; }
.general-version { margin-top: 20px; color: #637169; }
.screen-disclosure { border-bottom: 1px solid #dfe7e2; scroll-margin-top: 16px; }
.screen-disclosure summary { padding: 16px 6px; cursor: pointer; overflow-wrap: anywhere; }
.screen-disclosure summary span { font-weight: 600; margin-left: 6px; }
.screen-disclosure summary small { margin-left: 10px; color: #637169; }
.screen-disclosure[open] summary { background: #edf4ef; }
.screen-details { padding: 0 12px 18px; }

.cache-actions{display:flex;flex-wrap:wrap;gap:8px 12px;margin:8px 0 0}

.screens-list th,.screens-list td{white-space:nowrap}
.screen-settings{margin-bottom:16px}
.screen-settings summary{cursor:pointer}

.backup-entry{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.backup-entry form{margin:0}

.playlist-grip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;min-height:38px;color:#60756a;cursor:grab;touch-action:none;user-select:none}
.playlist-grip svg{pointer-events:none}
.playlist-row.is-dragging{background:#edf4ef;outline:1px solid #b9ccbf;border-radius:6px}
.playlist-row.is-dragging .playlist-grip{cursor:grabbing}
