:root{color-scheme:light;font-family:system-ui,sans-serif;color:#243145;background:#f3f5f8}*{box-sizing:border-box}body{margin:0}header{height:54px;display:flex;align-items:center;gap:16px;padding:0 20px;background:#fff;border-bottom:1px solid #dce1e9;font-size:14px}header strong{font-size:18px;color:#233d72}.spacer{flex:1}button,input{font:inherit}button{border:0;border-radius:7px;background:#315dba;color:white;padding:10px 16px;cursor:pointer}button:hover{background:#254b9a}button:disabled{opacity:.55;cursor:wait}header button,.secondary{background:#eaf0fa;color:#254b9a}input{width:100%;margin-top:8px;border:1px solid #b6c0d0;border-radius:7px;padding:11px 12px;background:white;color:#243145}input:focus{outline:2px solid #8caaf1;outline-offset:1px}label{display:block;font-size:14px;font-weight:600}.card{max-width:420px;margin:9vh auto;padding:32px;background:white;border:1px solid #dce1e9;border-radius:14px;box-shadow:0 12px 40px #2431450a}h1{font-size:26px;margin:0 0 12px}p{line-height:1.5;color:#647086}form label+label{margin-top:20px}#auth-submit{width:100%;margin:10px 0}#auth-toggle{width:100%}#auth-hint{font-size:13px;margin-bottom:0}.error{color:#a62c35;min-height:1em}#library{max-width:1000px;margin:42px auto;padding:0 24px}.new-document{display:flex;align-items:flex-end;gap:14px;background:white;padding:22px;border-radius:10px;border:1px solid #dce1e9;margin:26px 0}.new-document label{flex:1}.new-document button{white-space:nowrap;margin-bottom:1px}#documents{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.document-card{border:1px solid #dce1e9;border-radius:10px;padding:22px;background:white}.document-card h2{font-size:18px;overflow-wrap:anywhere;margin:0 0 12px}.document-card p{font-size:13px}.document-card button{margin-top:6px}#recovery{padding:20px;background:#fff5da;border-radius:10px;margin-bottom:24px}#recovery-list button{margin:4px 10px 4px 0}#sync[data-state=error]{color:#a62c35}#sync[data-state=saved]{color:#256347}#editor{position:fixed;top:54px;bottom:0;left:0;right:0;background:#262626}#deckcraft_canvas{width:100%;height:100%;display:block}#deckcraft_loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#ddd;pointer-events:none}#document-name{max-width:25vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[hidden]{display:none!important}@media(max-width:650px){header{gap:8px;padding:0 10px}#document-name,#username{display:none}.card{margin:30px 16px}.new-document{display:block}.new-document button{margin-top:16px}header button{padding:8px}#sync{font-size:12px}}

.document-actions,.dialog-actions{display:flex;gap:8px;flex-wrap:wrap}.danger{background:#a3333f;color:white}.danger:hover{background:#852631}.trash-section{margin-top:32px}#trash-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}dialog{border:1px solid #dce1e9;border-radius:14px;padding:28px;max-width:460px;width:calc(100% - 32px);color:#243145}dialog::backdrop{background:#17243d80}dialog h2{margin-top:0}dialog p{font-size:14px}.dialog-actions{justify-content:flex-end}

:root[data-theme=dark]{color-scheme:dark;color:#e5eaf3;background:#12161e}
[data-theme=dark] header{background:#191f2a;border-color:#323d50}
[data-theme=dark] header strong{color:#b6ccff}
[data-theme=dark] .card,[data-theme=dark] .new-document,[data-theme=dark] .document-card,[data-theme=dark] dialog{background:#1c2330;color:#e5eaf3;border-color:#364258}
[data-theme=dark] .card{box-shadow:0 12px 40px #0003}
[data-theme=dark] p{color:#adb9ce}
[data-theme=dark] input{background:#121923;color:#edf2fa;border-color:#53627a}
[data-theme=dark] input::placeholder{color:#92a1b8}
[data-theme=dark] button{background:#365fac;color:#fff}
[data-theme=dark] button:hover{background:#466fbd}
[data-theme=dark] header button,[data-theme=dark] .secondary{background:#2b3b57;color:#d5e2ff}
[data-theme=dark] header button:hover,[data-theme=dark] .secondary:hover{background:#3b5073}
[data-theme=dark] .danger{background:#8f3344;color:#fff}
[data-theme=dark] .danger:hover{background:#a83e51}
[data-theme=dark] .error,[data-theme=dark] #sync[data-state=error]{color:#ffadb5}
[data-theme=dark] #sync[data-state=saved]{color:#8cd9ac}
[data-theme=dark] #recovery{background:#382f1c}
[data-theme=dark] dialog::backdrop{background:#000a}
button:focus-visible{outline:2px solid #91b7ff;outline-offset:3px}
#theme-toggle{white-space:nowrap}
.editor-choice{max-width:500px;margin-top:22px}select,textarea{font:inherit;border:1px solid #b6c0d0;border-radius:7px;padding:12px;background:#fff;color:#243145}select{display:block;width:100%;margin-top:8px}textarea{display:block;width:100%;font-size:17px;line-height:1.55;resize:vertical;margin-top:8px;min-height:110px}textarea:focus,select:focus{outline:2px solid #91b7ff;outline-offset:2px}
@media(max-width:900px){header #sync,header #document-name,header #username{display:none}header{overflow-x:auto;white-space:nowrap}header button,header strong{flex-shrink:0}}
#lite{max-width:1000px;margin:30px auto;padding:0 20px 80px}#lite-fields label{margin:24px 0 4px}#lite-fields label:has(textarea:focus){color:#315dba}.lite-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.lite-tools label{min-width:200px;flex:1}.lite-tools a{padding:10px;color:#315dba}#lite-status{padding:12px;background:#eaf0fa;border-radius:8px}
[data-theme=dark] select,[data-theme=dark] textarea{background:#121923;color:#edf2fa;border-color:#53627a}[data-theme=dark] #lite-status{background:#26334a;color:#d5e2ff}[data-theme=dark] .lite-tools a,[data-theme=dark] #lite-fields label:has(textarea:focus){color:#b6ccff}
@media(max-width:650px){#lite{padding:0 14px 60px}.lite-tools{align-items:stretch}.lite-tools label{flex-basis:100%}header #presence{display:none}header #sync{display:none}header{gap:5px}header button{font-size:12px;padding:8px 7px}header strong{font-size:16px}}
#presence{font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#647086}
[data-theme=dark] #presence{color:#adb9ce}
#share-dialog{max-width:560px;max-height:90vh;overflow:auto}
#share-form{display:flex;gap:10px;align-items:flex-end}
#share-form label{flex:1;min-width:0}
#share-form button{white-space:nowrap}
#share-members{margin:18px 0}.share-member{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:8px 0}
#share-dialog input[readonly]{font-size:12px}
@media(max-width:1100px){#presence{display:none}}
@media(max-width:650px){#share-form{display:block}#share-form button{margin-top:12px}#sync{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:650px){header{gap:6px}#theme-toggle{font-size:12px}}
