:root{--e-bg:#fafaf9;--e-surface:#fff;--e-ink:#111214;--e-sub:#5f636a;--e-faint:#9a9ea5;--e-line:#11121414;--e-line-strong:#11121424;--e-hover:#1112140a;--e-accent:#4655d8;--e-ok:#1f9d63;--e-warn:#c98a12;--e-err:#d1453b;--e-ok-bg:#e9f7f0;--e-warn-bg:#fdf4e3;--e-err-bg:#fcecea;--e-accent-bg:#eef0fd;--radius:10px;--touch:44px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif:Georgia, "Times New Roman", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--e-bg);color:var(--e-ink);font:15px/1.5 var(--font);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:2px solid color-mix(in srgb, var(--e-accent) 60%, transparent);outline-offset:1px}h1,h2,h3,h4,p{margin-top:0}a{color:var(--e-accent)}.shell{min-height:100dvh}.top-bar{z-index:30;background:color-mix(in srgb, var(--e-bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--e-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;height:56px;padding:0 24px;display:grid;position:sticky;top:0}.logo{color:var(--e-ink);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.mark{background:var(--e-ink);width:26px;height:26px;color:var(--e-bg);border-radius:7px;place-items:center;font-size:.75rem;font-weight:700;display:grid}.nav{scrollbar-width:none;justify-content:center;gap:2px;display:flex;overflow-x:auto}.nav a{color:var(--e-sub);white-space:nowrap;border-radius:8px;padding:8px 11px;font-weight:500;text-decoration:none;position:relative}.nav a:hover{background:var(--e-hover);color:var(--e-ink)}.nav a[aria-current=page]{color:var(--e-ink)}.nav a[aria-current=page]:after{content:"";background:var(--e-ink);height:1.5px;position:absolute;bottom:-11px;left:11px;right:11px}.user{color:var(--e-sub);align-items:center;gap:8px;font-size:.85rem;display:flex}.avatar{background:var(--e-ink);width:30px;height:30px;color:var(--e-bg);border-radius:50%;place-items:center;font-size:.8rem;font-weight:600;display:grid}.bottom-nav{display:none}main.page{max-width:1180px;margin:0 auto;padding:28px 24px 80px}main.wide{max-width:none;padding:0}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:1.6rem}.page-head .sub{color:var(--e-sub);margin:4px 0 0}.crumb{color:var(--e-sub);margin-bottom:4px;font-size:.85rem}.crumb a{color:var(--e-sub);text-decoration:none}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:1}.muted{color:var(--e-sub)}.faint{color:var(--e-faint);font-size:.85rem}.small{font-size:.85rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.btn{border:1px solid var(--e-line-strong);background:var(--e-surface);min-height:36px;color:var(--e-ink);white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--e-hover)}.btn.primary{background:var(--e-ink);color:var(--e-bg);border-color:var(--e-ink)}.btn.primary:hover:not(:disabled){background:#2a2c31}.btn.danger{color:var(--e-err);border-color:color-mix(in srgb, var(--e-err) 35%, transparent)}.btn.ghost{background:0 0;border-color:#0000}.btn.small{border-radius:8px;min-height:30px;padding:0 10px;font-size:.85rem}.btn.icon{width:32px;min-height:32px;padding:0}.linkish{color:var(--e-accent);background:0 0;border:0;padding:0;text-decoration:underline}.tag{background:var(--e-hover);color:var(--e-sub);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:1px 9px;font-size:.78rem;font-weight:500;display:inline-flex}.tag.ok{background:var(--e-ok-bg);color:#13704a}.tag.warn{background:var(--e-warn-bg);color:#8a5c08}.tag.err{background:var(--e-err-bg);color:#a32d24}.tag.info{background:var(--e-accent-bg);color:#2f3cae}.tag.dark{background:var(--e-ink);color:var(--e-bg)}.dot{background:var(--e-faint);border-radius:50%;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--e-ok)}.dot.warn{background:var(--e-warn)}.dot.err{background:var(--e-err)}.notice{border-radius:var(--radius);background:var(--e-accent-bg);color:#273197;margin-bottom:14px;padding:10px 14px;font-size:.9rem}.notice.err{background:var(--e-err-bg);color:#8f2219}.notice.warn{background:var(--e-warn-bg);color:#7a5107}.notice.ok{background:var(--e-ok-bg);color:#0f5e3d}.panel{background:var(--e-surface);border:1px solid var(--e-line);border-radius:14px;padding:18px}.panel h2{margin-bottom:10px;font-size:1.05rem}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.list{background:var(--e-surface);border:1px solid var(--e-line);border-radius:14px;overflow:hidden}.list-row{border-bottom:1px solid var(--e-line);color:inherit;align-items:center;gap:14px;padding:12px 16px;text-decoration:none;display:flex}.list-row:last-child{border-bottom:0}a.list-row:hover{background:var(--e-hover)}.list-main{flex:1;min-width:0}.item-title{text-overflow:ellipsis;font-weight:600;overflow:hidden}.item-meta{color:var(--e-sub);font-size:.85rem}.empty{text-align:center;color:var(--e-sub);padding:36px 16px}table.data{border-collapse:collapse;background:var(--e-surface);width:100%}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--e-line);vertical-align:top;padding:9px 12px;font-size:.9rem}table.data th{color:var(--e-sub);font-size:.8rem;font-weight:500}.field{gap:4px;margin-bottom:12px;display:grid}.field>span,.label{color:var(--e-sub);font-size:.82rem;font-weight:500}.field .hint{color:var(--e-faint);font-size:.78rem}input[type=text],input[type=search],input[type=url],input[type=number],input[type=datetime-local],input[type=date],input:not([type]),select,textarea{border:1px solid var(--e-line-strong);background:var(--e-surface);border-radius:8px;width:100%;min-height:36px;padding:6px 10px}textarea{resize:vertical;min-height:72px}input[type=checkbox],input[type=radio]{accent-color:var(--e-ink)}.check{align-items:center;gap:8px;margin-bottom:8px;display:flex}.counter{color:var(--e-faint);text-align:right;font-size:.75rem}.counter.over{color:var(--e-err);font-weight:600}fieldset{border:1px solid var(--e-line);border-radius:var(--radius);margin:0 0 12px;padding:10px 12px}legend{color:var(--e-sub);padding:0 4px;font-size:.82rem}.tabs{border-bottom:1px solid var(--e-line);scrollbar-width:none;gap:2px;margin-bottom:12px;display:flex;overflow-x:auto}.tabs button{color:var(--e-sub);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 10px;font-size:.88rem}.tabs button[aria-selected=true]{color:var(--e-ink);border-bottom-color:var(--e-ink);font-weight:600}.backdrop{z-index:60;background:#11121459;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--e-surface);width:min(560px,100%);height:100%;padding:22px;overflow-y:auto;box-shadow:-10px 0 40px #0000001f}.sheet.wide{width:min(880px,100%)}.sheet-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.sheet-head h2{margin:0;font-size:1.2rem}::highlight(fact-remark){color:inherit;background-color:#fde68a}.checks{gap:6px;display:grid}.check-item{text-align:left;background:0 0;border:0;align-items:flex-start;gap:8px;padding:4px 0;font-size:.85rem;display:flex}.check-item .dot{flex:none;margin-top:6px}@media (width<=760px){.top-bar{grid-template-columns:auto 1fr;padding:0 14px}.top-bar .nav,.user .name{display:none}.bottom-nav{z-index:40;background:var(--e-surface);border-top:1px solid var(--e-line);padding-bottom:env(safe-area-inset-bottom,0);grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--e-sub);justify-items:center;gap:2px;padding:8px 2px;font-size:.68rem;text-decoration:none;display:grid}.bottom-nav a[aria-current=page]{color:var(--e-ink);font-weight:600}main.page{padding:18px 14px 90px}.page-head h1{font-size:1.35rem}.sheet{padding:16px}}
