:root{color-scheme:dark;--bg:#070b13;--surface:#101827;--surface2:#152033;--line:#2b3a55;--muted:#9aa9bd;--accent:#2563eb;--danger:#7f1d1d;--shadow:0 18px 48px #0006}*{box-sizing:border-box}html,body{margin:0;min-width:0;min-height:100%;overflow-x:hidden}body{background:radial-gradient(circle at 50% -20%,#162644 0,transparent 38%),var(--bg);color:#f8fafc;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}button,input,textarea,select{font:inherit;max-width:100%}button{min-height:44px;border:1px solid transparent;border-radius:12px;padding:10px 14px;background:#233149;color:#fff;font-weight:750}.primary{background:var(--accent)}.danger{background:#571b22;border-color:var(--danger)}header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:calc(14px + env(safe-area-inset-top)) max(4vw,16px) 14px;border-bottom:1px solid #3a4d6db8;background:#070b13e8;backdrop-filter:blur(16px)}.brand h1{margin:2px 0;font-size:clamp(22px,6vw,30px)}.brand small{color:#79b4ff}.brand b{display:inline-flex;padding:3px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px}.header-actions{display:flex;gap:8px}main{max-width:1450px;margin:auto;padding:22px max(4vw,14px) calc(92px + env(safe-area-inset-bottom))}.panel{background:linear-gradient(180deg,#121c2df5,#0e1624f5);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.hero{display:flex;justify-content:space-between;gap:20px;padding:clamp(22px,4vw,34px)}.hero h2{font-size:clamp(28px,7vw,44px)}.hero p{color:var(--muted)}.chip,.badge{display:inline-flex;border:1px solid #3a4d6d;border-radius:999px;padding:5px 9px;font-size:12px;margin:3px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}.stats article{padding:16px;color:var(--muted)}.stats strong{display:block;color:#fff;font-size:30px}.layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:15px}.layout nav{position:sticky;top:104px;padding:10px}.tab{display:flex;width:100%;margin:3px 0;background:transparent;color:var(--muted)}.tab.active{background:#193b78;color:#fff}.work{padding:clamp(14px,3vw,24px)}.head{display:flex;justify-content:space-between;align-items:center;gap:12px}.toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 110px 110px;gap:8px}input,textarea,select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #344762;border-radius:11px;background:#09111f;color:#fff}textarea{min-height:100px}label{display:grid;gap:6px;margin:13px 0}.inline{display:flex}.inline input{width:auto}.empty{padding:48px 18px;text-align:center;color:var(--muted);border:1px dashed #3a4d6d;border-radius:14px}.standard-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;margin-top:12px}.card,.box{padding:17px;background:linear-gradient(180deg,var(--surface2),#111a2a);border:1px solid var(--line);border-radius:14px}.standard-card{display:grid;gap:10px;min-height:250px;max-height:330px;overflow:hidden}.summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini-meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:12px}.cover-thumb{width:100%;height:110px;border-radius:11px;object-fit:cover}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{flex:1 1 120px}.grid{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.hint{font-size:12px;color:var(--muted)}fieldset{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:13px}dialog{width:min(760px,calc(100% - 20px));max-height:calc(100dvh - 20px);overflow:auto;border:1px solid #3a4d6d;border-radius:18px;background:#101827;color:#fff;padding:0}form,.dlg{padding:clamp(15px,4vw,24px)}.dialog-head{position:sticky;top:0;z-index:5;padding:10px 0;background:#101827}.sticky-actions{position:sticky;bottom:0;padding:12px 2px calc(2px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#101827 28%)}.image-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.image-tile{position:relative;aspect-ratio:4/3;overflow:hidden}.image-tile img{width:100%;height:100%;object-fit:cover}.image-tile button{position:absolute;top:4px;right:4px}.step-edit,.detail-step{margin:12px 0;padding:13px;border:1px solid var(--line);border-radius:13px;background:#0a1322}.step-image-preview,.detail-step img,.check-body img{width:100%;max-height:420px;object-fit:contain;border-radius:10px}.detail-cover{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px}.detail-cover img{width:100%;max-height:260px;object-fit:cover}.check{display:grid;grid-template-columns:auto 1fr;gap:11px;margin:10px 0;padding:13px;background:#09111f}.fab{display:none;position:fixed;right:18px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:70;width:58px;min-height:58px;border-radius:50%;font-size:29px;background:var(--accent)}.update{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:100;display:grid;grid-template-columns:1fr auto auto;gap:8px;max-width:700px;margin:auto;padding:10px;background:#172554;border-radius:14px}.update span{display:grid}#toast{position:fixed;bottom:82px;left:50%;transform:translateX(-50%);z-index:110;background:#fff;color:#111;padding:11px 15px;border-radius:11px;opacity:0}#toast.show{opacity:1}[hidden]{display:none!important}@media(max-width:900px){.layout{grid-template-columns:1fr}.layout nav{position:sticky;top:0;display:flex;overflow-x:auto}.tab{min-width:max-content;width:auto}.grid{grid-template-columns:1fr}}@media(max-width:650px){header{position:relative;align-items:stretch;flex-direction:column}.header-actions{display:grid;grid-template-columns:1fr 1.3fr}.header-actions #newBtn{display:none}.hero{flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.toolbar{grid-template-columns:1fr 100px}.toolbar #sort{grid-column:1/-1}.standard-list{grid-template-columns:1fr}.standard-card{max-height:none}.cover-thumb{height:145px}.actions{display:grid;grid-template-columns:1fr 1fr}.actions .primary{grid-column:1/-1}.fab{display:block}.image-preview{grid-template-columns:repeat(2,1fr)}.update{grid-template-columns:1fr auto}.update #dismissUpdate{display:none}dialog{width:calc(100% - 10px)}}