[hidden]{display:none!important}
.upload-settings,#edit-form{display:grid;gap:14px;margin:18px 0}.upload-settings label,#edit-form label{display:grid;gap:6px}.upload-settings input,.upload-settings select,.collection-picker select,#edit-form input,#edit-form select{font:inherit;padding:10px;max-width:100%;border:1px solid #c7cfe4;border-radius:8px}.upload-settings p{font-size:13px;color:#626d85}.collection-picker{display:block;margin:22px 0}.resource-card .resource-actions{flex-wrap:wrap}#edit-resource{width:min(500px,92vw);border:1px solid #ccd3e3;border-radius:14px;padding:24px}#edit-resource::backdrop{background:#17233b99}
#vault-login{display:grid;gap:16px;max-width:480px;margin:30px auto;padding:28px;background:#fff;border:1px solid #dce2ee;border-radius:16px}
#vault-password,#resource-visibility{font:inherit;padding:12px;border:1px solid #bcc6dc;border-radius:8px;max-width:100%}
body.library-page .library-main{max-width:1440px;padding-top:28px}
.library-page .library-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:34px 38px;background:linear-gradient(120deg,#eaf0ff,#f1eeff 65%,#e5f6f2);border-radius:20px;margin-bottom:24px;overflow:hidden}
body.library-page .library-heading h1{font-size:clamp(26px,3vw,40px);letter-spacing:-1px}
.library-mark{font-size:110px;color:#6471d4;line-height:1;transform:rotate(15deg)}
body.library-page .resource-panel{padding:0;border:0;background:transparent}
.library-toolbar{display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#category-nav{display:flex;gap:8px;flex-wrap:wrap}
.category-chip{border:1px solid #e0e4ec;background:#fff;padding:9px 16px;border-radius:8px;font:inherit;font-size:14px;cursor:pointer;color:#51586b}
.category-chip[aria-pressed=true]{background:#4b55f4;border-color:#4b55f4;color:white}
.resource-search{display:flex;gap:10px;align-items:center;font-size:13px;color:#60687c}
.resource-search input{width:200px;padding:10px 14px;border:1px solid #dde2ec;border-radius:9px;font:inherit;background:#fff}
.resource-group{margin:30px 0 38px}
.resource-group h2{font-size:21px;margin-bottom:20px}
.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
.resource-card{min-width:0}
.resource-cover{position:relative;display:flex;width:100%;aspect-ratio:16/10;align-items:center;justify-content:center;flex-direction:column;border:0;border-radius:12px;overflow:hidden;cursor:pointer;background:#e9edff;color:#5665c4;transition:transform .2s}
.resource-cover:hover{transform:translateY(-3px)}
.resource-cover img,.resource-cover video{position:absolute;width:100%;height:100%;object-fit:contain;background:#e8ebf2;inset:0}
.cover-icon{font-size:52px;line-height:1.2}.cover-format{font-size:15px;letter-spacing:3px;margin-top:10px}
.cover-audio{background:linear-gradient(135deg,#eae4fa,#f7edf6);color:#9263b2}
.cover-document{background:linear-gradient(135deg,#e0eff8,#ecf7f8);color:#488f9d}
.cover-archive{background:linear-gradient(135deg,#f5ebd9,#fbf3e7);color:#af894b}
.cover-video{background:linear-gradient(135deg,#dde3f6,#eae3f6)}
.cover-other{background:#e8ecf0;color:#7a8597}
.size-badge,.play-badge{position:absolute;z-index:1;background:#172037b8;color:#fff;border-radius:5px;padding:3px 7px;font-size:12px;bottom:10px;right:10px}
.play-badge{left:10px;right:auto;font-size:18px}
.cover-error{font-size:12px;margin-top:5px}
.resource-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-align:left;width:100%;overflow-wrap:anywhere;font:inherit;font-weight:600;line-height:1.5;background:none;border:0;padding:12px 0 0;cursor:pointer;color:#242a38}
.card-meta{font-size:12px;color:#8990a0;margin:7px 0!important}
.resource-card .resource-actions{font-size:13px;justify-content:flex-end;gap:16px}
.resource-card .resource-actions a{color:#535de1}
#preview-dialog{box-sizing:border-box;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;margin:0;inset:0;padding:0;border:0;border-radius:0;background:#11151d;color:#f4f6fa;overflow:hidden}
#preview-dialog[open]{display:grid;grid-template-rows:54px minmax(0,1fr) auto}
#preview-dialog .preview-heading{align-items:center;margin:0;padding:8px 16px;min-width:0;background:#1b202b}
#preview-dialog .preview-heading h2{margin:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview-stage{position:relative;min-height:0;overflow:hidden}
#preview-dialog #preview-body{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#11151d;border-radius:0}
#preview-dialog #preview-body img,#preview-dialog #preview-body video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;margin:0}
#preview-previous,#preview-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:44px;height:72px;border:1px solid #ffffff30;border-radius:10px;background:#161c2bbd;color:#fff;font-size:42px;cursor:pointer}
#preview-previous{left:12px}#preview-next{right:12px}
#preview-dialog button:disabled{opacity:.2;cursor:default}
.preview-footer{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 16px;background:#1b202b;font-size:12px}
#preview-dialog .preview-footer .button{padding:6px 12px;margin-left:auto;font-size:12px;white-space:nowrap}
#preview-dialog #preview-note{margin:0;color:#c1c9dc;font-size:12px}
#preview-counter{flex-shrink:0;color:#bac4d8}
body:has(#preview-dialog[open]){overflow:hidden}
@media(max-width:600px){#preview-dialog[open]{grid-template-rows:46px minmax(0,1fr) auto}.preview-footer{padding:6px 10px;flex-wrap:wrap}#preview-previous,#preview-next{width:34px;height:56px;font-size:30px}#preview-previous{left:4px}#preview-next{right:4px}}
#preview-dialog::backdrop{background:#101727b8}
.preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.preview-heading h2{font-size:18px;overflow-wrap:anywhere}
#preview-close{border:0;border-radius:50%;font-size:26px;cursor:pointer;flex-shrink:0;width:36px;height:36px}
#preview-body{text-align:center;background:#f2f4f8;border-radius:12px;overflow:hidden}
#preview-body img,#preview-body video{display:block;max-width:100%;max-height:60vh;margin:auto}
#preview-body audio{width:min(100%,550px);margin:40px auto}
.file-placeholder{padding:60px 10px;font-size:40px;color:#707cb0}
#preview-note{font-size:14px;color:#657089}
@media(min-width:1600px){.resource-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1050px){.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.library-page .library-heading{padding:24px}.library-mark{display:none}.library-toolbar{gap:16px}.resource-search{width:100%}.resource-search input{flex:1;min-width:0}.category-chip{padding:8px 10px}.library-page .library-main .resource-panel{padding:0}.resource-title{font-size:14px}}
@media(max-width:380px){.resource-grid{grid-template-columns:1fr}}
#admin-panel{margin:24px 0;padding:16px;background:#f5f7ff;border:1px solid #dce2f5;border-radius:12px}
#admin-panel summary{cursor:pointer;color:#3447a3}
#admin-form{display:grid;gap:12px;margin-top:18px}
#admin-token{width:100%;min-width:0;padding:12px;border:1px solid #b5bfdc;border-radius:8px;font:inherit}
#admin-tools{margin-top:18px}
#resource-status{font-size:14px;overflow-wrap:anywhere;color:#435078;margin:16px 0}
.resource-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}
.resource-actions .delete-resource{color:#a33030;margin:0;font-size:13px}
#resource-more{margin-top:16px}
button:disabled{opacity:.55;cursor:wait}
.library-page{background:#f8f9fc}
.library-page .header{border-bottom:1px solid #e3e7f0}
.library-page [aria-current="page"]{color:#294fff;font-weight:700}
.library-main{max-width:960px;padding-top:64px;padding-bottom:72px;min-height:75vh}
.library-heading{margin-bottom:36px}
.library-heading h1{font-size:clamp(36px,5vw,56px);line-height:1.2;letter-spacing:-1.5px;margin:14px 0 20px}
.library-page .resource-panel{padding:32px}
.library-page .resource-list li{padding:20px 0}
.library-page .resource-list strong{white-space:normal;overflow-wrap:anywhere}
.library-page .resource-list small{margin-top:5px}
.upload-label:focus-within{outline:3px solid #294fff}
@media(max-width:720px){.library-main{padding-top:36px;padding-bottom:44px}.library-page .resource-panel{padding:20px}.library-page .header nav{gap:16px}.library-page .resource-list li{align-items:flex-start;gap:10px}}
#vault-login .remember-browser{display:flex;align-items:center;gap:10px;font-size:14px}#vault-login #vault-remember{width:18px;height:18px;margin:0;padding:0;flex:0 0 auto}
#library-emblem{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:default}#library-wordmark{user-select:none;-webkit-user-select:none;cursor:default;letter-spacing:.1em}
@media(max-width:720px){#library-emblem{display:block;font-size:42px;flex-shrink:0;align-self:flex-start;margin-left:8px}.library-heading:has(#library-emblem){gap:8px}}
#library-emblem{display:inline-block;transform-origin:50% 50%;transition:color .15s;will-change:transform}#library-emblem.aligned{color:#9764c9;text-shadow:0 0 14px #9764c933}#library-wordmark{touch-action:manipulation}
#preview-dialog #preview-close{background:#252a35;color:#bbc2d0;border:1px solid #343b48}#preview-dialog #preview-close:hover{background:#343b48;color:#eef1f7}#preview-dialog #preview-close:focus-visible{outline:2px solid #aeb8ce;outline-offset:3px}#preview-dialog #preview-body img{touch-action:none;user-select:none;cursor:zoom-in;transform-origin:center}

.upload-label.is-dragging{background:#e0e7ff;border-color:#4f46e5;box-shadow:0 0 0 3px #6366f133}.upload-label.is-dragging strong{color:#3730a3}
