:root{--font-head:Georgia,"Times New Roman",serif;--font-body:"Helvetica Neue",Arial,sans-serif;--size-base:15px;--size-head:15px;--w-normal:400;--w-bold:600;--c-bg:#edeeea;--c-sheet:#ffffff;--c-text:#191b17;--c-muted:#6c7268;--c-line:#d5d8cf;--c-accent:#a82f62;--c-accent-soft:#f6e7ee;--c-hover:#fbf8f9;--row-h:42px;--rule:1px;--radius:3px;--gap:20px;--pad:26px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--font-body);font-size:var(--size-base);font-weight:var(--w-normal);line-height:1.5}h1,h2,h3,h4{font-family:var(--font-head);font-weight:var(--w-bold);letter-spacing:-.01em;text-wrap:balance;margin:0}a{color:var(--c-accent)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.top{padding:var(--pad) var(--pad) 0;display:flex;flex-direction:column;gap:16px}.brandline{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}.brand h1{font-size:calc(var(--size-head) * 1.7);line-height:1.15}.brand .sub{font-size:calc(var(--size-base) * .8);color:var(--c-muted);letter-spacing:.03em;margin-top:2px}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.menubtn,.toolbar{align-items:center}.menubtn{display:inline-flex;gap:7px;background:var(--c-sheet);border:var(--rule) solid var(--c-line);border-radius:var(--radius);padding:7px 13px;cursor:pointer;font-size:calc(var(--size-base) * .88);font-weight:var(--w-bold);letter-spacing:.02em;transition:border-color .15s,color .15s}.menubtn:hover{border-color:var(--c-accent);color:var(--c-accent)}.menubtn .ico{color:var(--c-accent);display:flex}.search{display:flex;align-items:center;gap:8px;background:var(--c-sheet);border:var(--rule) solid var(--c-line);border-radius:var(--radius);padding:7px 11px;min-width:210px;flex:1 1 210px;max-width:320px;color:var(--c-muted)}.search input{background:none;border:0;outline:none;width:100%;min-width:0;color:var(--c-text);font-size:calc(var(--size-base) * .92)}.search input::placeholder{color:var(--c-muted)}.search:focus-within{border-color:var(--c-accent)}.tabs{display:flex;gap:26px;border-bottom:var(--rule) solid var(--c-line);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:0 0 9px;margin-bottom:calc(var(--rule) * -1);cursor:pointer;white-space:nowrap;color:var(--c-muted);font-weight:var(--w-bold);font-size:calc(var(--size-base) * .87);letter-spacing:.08em;text-transform:uppercase;transition:color .15s,border-color .15s}.tab[aria-selected=true]{color:var(--c-accent);border-bottom-color:var(--c-accent)}.tab:hover{color:var(--c-accent)}.sheetwrap{padding:var(--gap) var(--pad) var(--pad)}.sheet{background:var(--c-sheet);border:var(--rule) solid var(--c-line);border-radius:var(--radius);position:relative}.sheet:after,.sheet:before{content:"✛";position:absolute;color:var(--c-line);font-size:15px;line-height:1;pointer-events:none}.sheet:before{top:-8px;left:-8px}.sheet:after{bottom:-8px;right:-8px}.scroller{overflow-x:auto;border-radius:var(--radius)}.tbl{border-collapse:collapse;width:100%;min-width:900px}.tbl td,.tbl th{text-align:left;vertical-align:middle;color:inherit}.tbl thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--c-sheet);border-bottom:calc(var(--rule) * 1.5) solid var(--c-text);padding:12px 15px 9px;white-space:nowrap;font-size:calc(var(--size-base) * .7);font-weight:var(--w-bold);letter-spacing:.1em;text-transform:uppercase}.tbl thead th .ax{display:block;margin-top:2px;font-weight:var(--w-normal);font-size:calc(var(--size-base) * .67);letter-spacing:.02em;text-transform:none;color:var(--c-muted)}.tbl tbody td{border-bottom:var(--rule) solid var(--c-line);padding:0 15px;height:var(--row-h)}.tbl tbody tr:hover td{background:var(--c-hover)}.rowcat td{padding:0;height:auto;background:var(--c-sheet)}.rowcat div{font-family:var(--font-head);font-style:italic;font-size:calc(var(--size-base) * .93);color:var(--c-accent);padding:15px 15px 5px;border-bottom:var(--rule) solid var(--c-line)}.pname{font-weight:var(--w-bold)}.pcat{color:var(--c-muted);font-size:calc(var(--size-base) * .85)}.flag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--c-accent-soft);color:var(--c-accent);font-size:calc(var(--size-base) * .72);font-weight:var(--w-bold);cursor:help}.cell{display:flex;align-items:baseline;gap:6px;width:100%;height:var(--row-h);padding:0;background:none;border:0;cursor:pointer;text-align:left;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell:hover .cd{color:var(--c-accent)}.cv{white-space:nowrap;font-weight:500}.cv .sl{color:var(--c-line);margin:0 2px;font-style:normal}.cv.empty{opacity:.3}.cd{font-size:calc(var(--size-base) * .8);color:var(--c-muted)}.celledit{display:flex;align-items:center;gap:5px;height:var(--row-h)}.celledit input{width:4.4em;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--c-sheet);border:var(--rule) solid var(--c-accent);border-radius:var(--radius);padding:3px 4px;outline:none}.celledit .sl{color:var(--c-muted)}.cell.saving{opacity:.45}.cell.failed{box-shadow:inset 0 0 0 2px var(--c-accent)}.banner{margin:var(--gap);padding:16px;border:var(--rule) dashed var(--c-line);border-radius:var(--radius);font-size:calc(var(--size-base) * .92)}.banner,.legend{color:var(--c-muted)}.legend{display:flex;flex-wrap:wrap;gap:4px 20px;padding:10px var(--pad) 0;font-size:calc(var(--size-base) * .8)}.legend b{color:var(--c-text);font-weight:var(--w-bold)}.overlay{position:fixed;inset:0;z-index:60;background:rgba(10,10,10,.44);display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto}.modal{border:var(--rule) solid var(--c-line);border-radius:var(--radius);width:min(760px,100%);box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}.modal,.modal-head{background:var(--c-sheet)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:var(--rule) solid var(--c-line);position:-webkit-sticky;position:sticky;top:0;border-radius:var(--radius) var(--radius) 0 0}.modal-head h2{font-size:calc(var(--size-head) * 1.25)}.iconbtn{background:none;border:var(--rule) solid transparent;border-radius:var(--radius);width:32px;height:32px;display:grid;place-items:center;cursor:pointer;color:var(--c-muted);flex:none}.iconbtn:hover{color:var(--c-accent);border-color:var(--c-line)}.modal-body{padding:20px 24px 28px}.prose{max-width:65ch}.prose p{margin:0 0 .9em}.prose h3{font-size:calc(var(--size-head) * 1.05);margin:1.6em 0 .5em;padding-bottom:.3em;border-bottom:var(--rule) solid var(--c-line)}.prose h3:first-child{margin-top:0}.prose h4{font-size:calc(var(--size-head) * .95);margin:1.3em 0 .4em}.prose ol,.prose ul{margin:0 0 .9em;padding-left:1.4em}.prose li{margin-bottom:.3em}.prose img{display:block;max-width:100%;height:auto;margin:.8em 0 1.2em;border:var(--rule) solid var(--c-line);border-radius:var(--radius)}.prose blockquote{margin:1.2em 0 0;padding:10px 14px;border-left:3px solid var(--c-accent);background:var(--c-accent-soft);color:var(--c-muted);font-size:calc(var(--size-base) * .9)}.prose code{font-family:ui-monospace,monospace;font-size:.9em;background:var(--c-hover);padding:1px 5px;border-radius:3px}.prose table{border-collapse:collapse;width:100%;margin:0 0 1em}.prose td,.prose th{padding:6px 9px;text-align:left}.btn,.prose td,.prose th{border:var(--rule) solid var(--c-line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--c-sheet);border-radius:var(--radius);padding:8px 15px;cursor:pointer;font-size:calc(var(--size-base) * .88);font-weight:var(--w-bold);white-space:nowrap;transition:border-color .15s,color .15s,background .15s}.btn:hover{border-color:var(--c-accent);color:var(--c-accent)}.btn:disabled{opacity:.45;cursor:default}.btn:disabled:hover{border-color:var(--c-line);color:inherit}.btn-primary{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-sheet)}.btn-primary:hover{color:var(--c-sheet);filter:brightness(1.08)}.btn-danger{color:var(--c-accent)}.btn-danger:hover{background:var(--c-accent-soft)}.btn-sm{padding:5px 10px;font-size:calc(var(--size-base) * .8)}.input{background:var(--c-sheet);border:var(--rule) solid var(--c-line);border-radius:var(--radius);padding:8px 11px;outline:none;width:100%;min-width:0}.input:focus{border-color:var(--c-accent)}.field{display:flex;flex-direction:column;gap:5px}.field>label{font-size:calc(var(--size-base) * .78);font-weight:var(--w-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted)}.field .hint{font-size:calc(var(--size-base) * .8);color:var(--c-muted)}.toggle{position:relative;flex:none;width:38px;height:21px;padding:0;border:0;border-radius:999px;background:var(--c-line);cursor:pointer;transition:background .18s}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:var(--c-sheet);transition:transform .18s}.toggle[aria-pressed=true]{background:var(--c-accent)}.toggle[aria-pressed=true]:after{transform:translateX(17px)}.dd{position:relative}.dd>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:var(--c-sheet);border:var(--rule) solid var(--c-line);border-radius:var(--radius);padding:8px 11px;cursor:pointer}.dd>button .car{font-size:10px;color:var(--c-muted);flex:none}.dd>button .val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd>button .val.placeholder{color:var(--c-muted)}.dd.open>button{border-color:var(--c-accent)}.ddlist{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:100%;max-height:260px;overflow:auto;border:var(--rule) solid var(--c-accent);border-radius:var(--radius);box-shadow:0 14px 30px -14px rgba(0,0,0,.4)}.ddlist,.ddlist .ddsearch{padding:4px;background:var(--c-sheet)}.ddlist .ddsearch{position:-webkit-sticky;position:sticky;top:-4px}.ddlist button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:var(--radius);padding:7px 9px;cursor:pointer;white-space:nowrap}.ddlist button:hover,.ddlist button[data-active=true]{background:var(--c-accent-soft);color:var(--c-accent)}.ddlist .ddempty{padding:9px;color:var(--c-muted);font-size:calc(var(--size-base) * .85)}.admin{display:flex;flex-direction:column;min-height:100vh}.adminbar{display:flex;align-items:center;gap:10px 20px;flex-wrap:wrap;padding:14px var(--pad);background:var(--c-sheet);border-bottom:var(--rule) solid var(--c-line)}.adminbar .logo{font-family:var(--font-head);font-weight:var(--w-bold);font-size:calc(var(--size-head) * 1.05)}.adminnav{display:flex;gap:2px;flex-wrap:wrap;flex:1 1}.adminnav a{color:var(--c-muted);text-decoration:none;padding:6px 11px;border-radius:var(--radius);font-size:calc(var(--size-base) * .87);font-weight:var(--w-bold)}.adminnav a:hover,.adminnav a[aria-current=page]{color:var(--c-accent);background:var(--c-accent-soft)}.adminmain{padding:var(--pad);gap:var(--gap)}.adminmain,.pagehead{display:flex;flex-direction:column}.pagehead{gap:4px}.pagehead h1{font-size:calc(var(--size-head) * 1.5)}.pagehead p{margin:0;color:var(--c-muted);max-width:70ch}.card{background:var(--c-sheet);border:var(--rule) solid var(--c-line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:14px}.card>h2{font-size:calc(var(--size-head) * 1.1)}.cards{display:grid;grid-gap:var(--gap);gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.items{display:flex;flex-direction:column}.item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:var(--rule) solid var(--c-line)}.item:last-child{border-bottom:0}.item .grow{flex:1 1;min-width:0}.item .muted{font-size:calc(var(--size-base) * .83)}.grip,.item .muted{color:var(--c-muted)}.grip{flex:none;cursor:-webkit-grab;cursor:grab;letter-spacing:-2px;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:none;border:0;padding:2px 4px}.grip:disabled{opacity:.25;cursor:default}.addrow{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.addrow .field{flex:1 1 200px}.warn{padding:10px 13px;border-left:3px solid var(--c-accent);background:var(--c-accent-soft);border-radius:var(--radius);font-size:calc(var(--size-base) * .88)}.warn ul{margin:6px 0 0;padding-left:1.2em}.err{color:var(--c-accent);font-size:calc(var(--size-base) * .88)}.editor{display:flex;flex-direction:column;border:var(--rule) solid var(--c-line);border-radius:var(--radius)}.etools{display:flex;flex-wrap:wrap;gap:3px;padding:6px;border-bottom:var(--rule) solid var(--c-line);background:var(--c-hover);position:-webkit-sticky;position:sticky;top:0;z-index:3}.etools button{min-width:32px;height:30px;padding:0 8px;background:var(--c-sheet);border:var(--rule) solid var(--c-line);border-radius:var(--radius);cursor:pointer;font-size:calc(var(--size-base) * .85);display:inline-flex;align-items:center;justify-content:center}.etools button:hover{border-color:var(--c-accent);color:var(--c-accent)}.etools .sep{width:1px;background:var(--c-line);margin:2px 4px}.earea{min-height:280px;max-height:60vh;overflow-y:auto;padding:16px 18px;outline:none;background:var(--c-sheet);border-radius:0 0 var(--radius) var(--radius)}.earea:focus{box-shadow:inset 0 0 0 2px var(--c-accent-soft)}.themegrid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.swatch{display:flex;align-items:center;gap:9px}.swatch input[type=color]{width:38px;height:32px;padding:0;border:var(--rule) solid var(--c-line);border-radius:var(--radius);background:none;cursor:pointer;flex:none}.swatch .input{font-family:ui-monospace,monospace;text-transform:uppercase}.slider{display:flex;align-items:center;gap:10px}.slider input[type=range]{flex:1 1;min-width:0;accent-color:var(--c-accent)}.slider .val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:4.5em;text-align:right;color:var(--c-muted);font-size:calc(var(--size-base) * .85)}.presets{display:flex;gap:9px;flex-wrap:wrap}.preset{flex:1 1 170px;text-align:left;padding:11px 13px;background:var(--c-sheet);border:var(--rule) solid var(--c-line);border-radius:var(--radius);cursor:pointer}.preset:hover{border-color:var(--c-accent)}.preset b{display:block;font-weight:var(--w-bold)}.preset span{display:block;color:var(--c-muted);font-size:calc(var(--size-base) * .82);margin-top:2px}.preset .chips{display:flex;gap:4px;margin-top:8px}.preset .chips i{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.12)}.preview{border:var(--rule) solid var(--c-line);border-radius:var(--radius);padding:16px;overflow-x:auto}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.logincard{width:min(380px,100%);background:var(--c-sheet);border:var(--rule) solid var(--c-line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:16px;position:relative}.logincard:after,.logincard:before{content:"✛";position:absolute;color:var(--c-line);font-size:15px;line-height:1}.logincard:before{top:-8px;left:-8px}.logincard:after{bottom:-8px;right:-8px}@media print{.adminbar,.legend,.menubtn,.tabs,.toolbar{display:none!important}body{background:#fff}.sheet{border:none}.sheet:after,.sheet:before{display:none}.tbl thead th{position:static}.tbl tbody tr{page-break-inside:avoid;break-inside:avoid}}