.welcome{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(20,25,33,.6);backdrop-filter:blur(2px);z-index:40}
.welcome .card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px 28px;max-width:440px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.welcome h2{margin:0 0 6px;font-size:20px;letter-spacing:-.02em}
.welcome p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.55}
.welcome ul{margin:0 0 18px;padding-left:18px;font-size:13px;line-height:1.7}
.welcome ul b{color:var(--accent)}
.welcomeCheck{display:flex;align-items:center;gap:8px;margin:-4px 0 14px;color:var(--muted);font:600 13px 'Inter';cursor:pointer}
.welcomeCheck input{accent-color:var(--accent)}
.welcomeActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.welcomeActions .hbtn{justify-content:center;width:100%;height:40px}
@media (max-width:520px){.welcomeActions{grid-template-columns:1fr}}
.ctxmenu{position:fixed;z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.5);padding:5px;min-width:158px;display:none;font:600 13px 'Inter'}
.ctxmenu.show{display:block}
.ctxmenu .label{padding:7px 11px 5px;color:var(--muted);font:700 11px 'Inter';text-transform:uppercase;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ctxmenu .ci{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:7px;cursor:pointer;color:var(--ink)}
.ctxmenu .ci:hover{background:var(--chrome)}
.ctxmenu .ci.danger{color:var(--danger)}
.ctxmenu .ci.danger:hover{background:var(--danger);color:#fff}
.projectPicker{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(10,14,20,.58);z-index:80;backdrop-filter:blur(2px)}
.projectPicker.show{display:flex}
.pickcard{width:min(480px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 28px));background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 22px 70px rgba(0,0,0,.55);overflow:hidden}
.pickhead{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}
.pickhead b{font:700 15px 'Inter'}
.pickhead button{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--chrome);color:var(--ink);font-size:20px;cursor:pointer}
.picklist{padding:10px;display:grid;gap:8px;overflow-y:auto;max-height:520px}
.pickrow{position:relative}
.pickitem{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:11px 92px 11px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface2);color:var(--ink);cursor:pointer;text-align:left}
.pickitem:hover{border-color:var(--accent);background:#3a3326}
.pickitem span{font:700 13px 'Inter'}
.pickitem small{font:500 11px var(--mono);color:var(--muted)}
.pickdel{position:absolute;right:10px;top:50%;transform:translateY(-50%);height:34px;border:1px solid var(--danger);background:#3b2530;color:#ff8c8c;border-radius:9px;padding:0 10px;font:700 12px 'Inter';cursor:pointer;z-index:2}
.pickdel:hover{background:var(--danger);color:#fff}
.projectsView{position:absolute;inset:0;display:none;flex-direction:column;background:var(--chrome);z-index:35;padding:18px;min-width:0}
.projectsView.show{display:flex}
.projectsHead{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding:0 0 14px;margin-bottom:14px}
.projectsHead h2{margin:0;font:800 22px 'Inter';letter-spacing:0}
.projectsHead p{margin:4px 0 0;color:var(--muted);font:500 13px 'Inter'}
.projectsList{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;overflow-y:auto;padding:2px 4px 12px 0}
.projectCard{position:relative;border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden;text-align:left;color:var(--ink);cursor:pointer;transition:.12s;min-width:0}
.projectCard:hover{border-color:var(--accent);transform:translateY(-1px)}
.projectActions{position:absolute;top:8px;right:8px;display:flex;gap:6px;z-index:2;opacity:0;transition:.12s}
.projectCard:hover .projectActions,.projectCard:focus-within .projectActions{opacity:1}
.projectActionBtn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:rgba(20,22,26,.78);color:#fff;font:600 13px 'Inter';cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.projectActionBtn:hover{border-color:var(--accent)}
.projectActionBtn.danger:hover{border-color:var(--danger);background:var(--danger);color:#fff}
.projectPreview{width:100%;aspect-ratio:16/10;background:#fbfaf6;border-bottom:1px solid var(--border);display:block}
.projectMeta{padding:11px 12px;display:grid;gap:4px}
.projectMeta b{font:800 14px 'Inter';white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.projectMeta small{font:600 11px var(--mono);color:var(--muted)}
.projectsEmpty{border:1px dashed var(--border);border-radius:10px;padding:24px;color:var(--muted);font:600 13px 'Inter';text-align:center}
.adminView{position:absolute;inset:0;display:none;flex-direction:column;background:var(--chrome);z-index:36;padding:18px;min-width:0}
.adminView.show{display:flex}
.adminSummary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin:0 0 12px}
.adminSummary span{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:12px;color:var(--muted);font:700 12px 'Inter'}
.adminSummary b{display:block;color:var(--ink);font:800 18px 'Inter';margin-bottom:2px}
.adminTableWrap{border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:auto;min-height:0}
.adminStyledAssets{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:12px;margin:0 0 12px}
.adminStyledAssets h3{margin:0 0 4px;font:800 15px 'Inter'}
.adminStyledAssets p{margin:0 0 10px;color:var(--muted);font:500 12px 'Inter';line-height:1.45}
.styledUploadGrid{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(150px,.8fr) minmax(180px,1fr) auto;gap:8px;align-items:end}
.styledUploadGrid label{display:grid;gap:5px;color:var(--muted);font:700 11px 'Inter'}
.styledUploadGrid select,.styledUploadGrid input{height:36px;border:1px solid var(--border);border-radius:8px;background:var(--chrome);color:var(--ink);padding:0 9px;font:700 12px 'Inter';min-width:0}
.styledUploadGrid input[type=file]{padding:7px 9px;height:auto}
.styledUploadGrid .hbtn{height:36px;white-space:nowrap}
.styledAssetList{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.styledAssetPill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;background:var(--chrome);color:var(--ink);padding:5px 8px;font:700 11px 'Inter'}
.styledAssetPill button{border:0;background:transparent;color:var(--danger);font:900 14px 'Inter';cursor:pointer;line-height:1}
.styledAssetMsg{margin-top:8px;font:700 12px 'Inter';color:var(--accent)}
.styledAssetMsg.error{color:var(--danger)}
.adminTable{width:100%;border-collapse:collapse;min-width:760px}
.adminTable th,.adminTable td{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;font:700 13px 'Inter'}
.adminTable th{position:sticky;top:0;background:var(--surface2);color:var(--muted);z-index:1}
.adminTable td{color:var(--ink)}
.adminTable td b{display:block;font:800 13px 'Inter';margin-bottom:3px}
.adminTable td small{display:block;color:var(--muted);font:600 11px var(--mono)}
.adminTable td em{display:inline-block;margin-top:6px;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:3px 7px;font:800 10px 'Inter';font-style:normal}
.adminEmpty{text-align:center;color:var(--muted);padding:24px!important}
@media (max-width:760px){.adminSummary{grid-template-columns:1fr 1fr}.adminView{padding:12px}.styledUploadGrid{grid-template-columns:1fr}}
.namePrompt{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(10,14,20,.62);z-index:95;backdrop-filter:blur(2px);padding:18px}
.namePrompt.show{display:flex}
.namecard{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 22px 70px rgba(0,0,0,.55);padding:18px}
.namecard h3{margin:0 0 7px;font:800 18px 'Inter'}
.namecard p{margin:0 0 14px;color:var(--muted);font:500 13px 'Inter';line-height:1.45}
.namecard input{width:100%;height:40px;border:1px solid var(--border);border-radius:9px;background:var(--chrome);color:var(--ink);padding:0 11px;font:700 14px 'Inter';margin-bottom:12px}
.namecard input:focus{outline:none;border-color:var(--accent)}
.nameactions{display:flex;justify-content:flex-end;gap:8px}

.authScreen{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(13,18,25,.86);z-index:120;backdrop-filter:blur(5px);padding:18px}
.authScreen.show{display:flex}
.authCard{width:min(430px,100%);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 26px 80px rgba(0,0,0,.58);padding:22px}
.authBrand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.authBrand b{display:block;font:800 20px 'Inter';letter-spacing:0}
.authBrand span{display:block;color:var(--muted);font:500 13px 'Inter';margin-top:3px}
.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--chrome);border:1px solid var(--border);border-radius:10px;padding:4px;margin-bottom:12px}
.authTab{border:0;border-radius:7px;background:transparent;color:var(--muted);font:700 13px 'Inter';padding:9px;cursor:pointer}
.authTab.active{background:var(--surface2);color:var(--ink)}
.authMsg{display:none;margin:0 0 12px;padding:10px 12px;border-radius:9px;background:#243529;color:#a9e7bb;font:600 13px 'Inter';line-height:1.35}
.authMsg.show{display:block}
.authMsg.error{background:#3b2530;color:#ffabab}
.authForm{display:none;gap:11px}
.authForm.active{display:grid}
.authForm label{display:grid;gap:6px;color:var(--muted);font:700 12px 'Inter'}
.authForm input{width:100%;height:39px;border:1px solid var(--border);border-radius:8px;background:var(--chrome);color:var(--ink);padding:0 11px;font:600 14px 'Inter'}
.authForm input:focus{outline:none;border-color:var(--accent)}
.passwordWrap{position:relative;display:block}
.passwordWrap input{padding-right:45px}
.passEye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:31px;height:31px;border:0;border-radius:7px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}
.passEye:hover{background:var(--surface2);color:var(--ink)}
.passEye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.passEye.is-visible{color:var(--accent)}
.authForm .hbtn{justify-content:center;height:40px;margin-top:2px}
.authLink{border:0;background:transparent;color:var(--accent);font:700 13px 'Inter';padding:4px;cursor:pointer;text-align:center}
.authLink:hover{text-decoration:underline}

