/* Webnaa free tools — shared landing-page design (same palette and type as webnaa.com).
   Every tool page under /tools/ loads this file, so it is cached once for all of them. */
:root{
  --ink:#0b1215; --ink-2:#152229; --ink-3:#263f47;
  --teal:#446e7d; --teal-d:#2f5563; --teal-l:#6a8f9c; --teal-xl:#dfe9ec;
  --paper:#f4f7f8; --mist:#e6eaec; --white:#fff;
  --bronze:#c4a574; --bronze-d:#7a5f30; --gold:#d8b45c;
  --text:#1a272e; --muted:#5b6b72;
  --ok:#1a7f4b; --ok-bg:#e7f5ed; --err:#b4231b; --err-bg:#fdecea;
  --radius:20px; --shadow:0 24px 60px -24px rgba(11,18,21,.28), 0 6px 18px -8px rgba(11,18,21,.12);
  --font:"IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.75;overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--teal-d)}
h1,h2,h3{line-height:1.3;margin:0;color:var(--ink);letter-spacing:-.01em}
p{margin:0}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.ico{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header: logo only */
.top{background:rgba(255,255,255,.9);border-bottom:1px solid var(--mist)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:68px}
.top .logo{display:inline-flex}
.top .logo img{width:124px;height:auto;display:block}
.hnav{display:flex;align-items:center;gap:8px}
.hbtn{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;background:var(--white);border:1px solid var(--mist);border-radius:12px;padding:8px 13px;min-height:42px;white-space:nowrap;transition:border-color .15s,background .15s}
.hbtn:hover{border-color:var(--teal-l);background:var(--teal-xl)}
.hbtn .ico{width:18px;height:18px;color:var(--teal)}
.hbtn.lang{font-family:"IBM Plex Sans Arabic",system-ui,sans-serif}
.hlinks,.hacts{display:flex;align-items:center;gap:8px}
.hbtn.join{background:var(--teal);border-color:var(--teal);color:#fff}
.hbtn.join .ico{color:#fff}
.hbtn.join:hover{background:var(--teal-d);border-color:var(--teal-d)}
/* phones: logo + language + sign up on the first row; "all tools" and the forum as words on a second row */
@media (max-width:640px){
.top .wrap{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"logo acts" "links links";height:auto;padding-top:10px;padding-bottom:6px;row-gap:6px;column-gap:8px}
.hnav{display:contents}
.top .logo{grid-area:logo}
.hacts{grid-area:acts;justify-self:end}
.hlinks{grid-area:links;justify-content:center;gap:4px;border-top:1px solid var(--mist);padding-top:4px}
.hlinks .hbtn{border:0;background:none;min-height:38px;padding:6px 12px}
.hlinks .hbtn:hover{background:var(--teal-xl)}
}
.hnum{display:inline-block;min-width:24px;padding:0 7px;border-radius:999px;background:var(--teal);color:#fff;font-size:12px;line-height:20px;text-align:center}
@media (max-width:400px){.top .logo img{width:100px}.hbtn{padding:8px 10px;font-size:14px;gap:5px}.hlinks .hbtn{padding:6px 8px}}
@media (max-width:360px){.hacts .ico{display:none}.hacts{gap:6px}}

/* hero */
.hero{position:relative;padding:40px 0 28px;text-align:center;isolation:isolate;overflow-x:clip}
.hero::before,.hero::after{pointer-events:none}
.hero::before{content:"";position:absolute;inset:-60% auto auto -10%;width:620px;height:620px;background:radial-gradient(closest-side,rgba(68,110,125,.18),transparent 70%);z-index:-1}
.hero::after{content:"";position:absolute;inset:-40% -10% auto auto;width:560px;height:560px;background:radial-gradient(closest-side,rgba(196,165,116,.22),transparent 70%);z-index:-1}
.pills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pills span{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--teal-d);background:var(--white);border:1px solid var(--mist);padding:5px 13px;border-radius:99px}
.pills .ico{width:16px;height:16px;color:var(--ok)}
.hero h1{font-size:clamp(32px,5vw,52px);font-weight:700;margin-top:16px;letter-spacing:-.02em}
.hero h1 .kw{color:var(--teal);position:relative;white-space:nowrap}
.hero h1 .kw::after{content:"";position:absolute;inset:auto 0 .08em 0;height:.22em;background:linear-gradient(90deg,rgba(196,165,116,.55),rgba(216,180,92,.35));z-index:-1;border-radius:4px}
.hero .sub{font-size:clamp(17px,1.7vw,19px);color:var(--muted);margin:12px auto 0;max-width:620px}

/* tool card */
.tool{position:relative;z-index:1;background:var(--white);border:1px solid rgba(11,18,21,.06);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:24px}
.tabs{display:inline-flex;background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:4px;gap:4px;margin-bottom:20px}
.tabs button{font:inherit;font-weight:600;font-size:15px;border:0;background:none;color:var(--muted);padding:8px 18px;border-radius:10px;cursor:pointer;min-height:42px}
.tabs button[aria-selected=true]{background:var(--white);color:var(--ink);box-shadow:0 2px 8px -2px rgba(11,18,21,.15)}
.tgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:start}
/* phones: type -> value -> result -> design options, so the barcode shows right under the input */
@media (max-width:860px){.tgrid{display:flex;flex-direction:column;align-items:stretch;gap:20px}.tgrid>div{display:contents}.tgrid .field,.tgrid .opts{margin:0}.preview{min-height:170px}.tgrid .opts{order:1}}
.lbl{display:block;font-weight:700;font-size:15px;color:var(--ink);margin-bottom:8px}
.lbl small{font-weight:500;color:var(--muted)}
.field+.field{margin-top:20px}

/* type chooser */
.types{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.types label{position:relative;display:block;cursor:pointer;border:1.5px solid var(--mist);border-radius:12px;padding:9px 12px;line-height:1.35;transition:border-color .15s, background .15s}
.types label:hover{border-color:var(--teal-l)}
.types input{position:absolute;opacity:0;pointer-events:none}
.types b{display:block;font-size:15px;color:var(--ink);direction:ltr;text-align:start}
.types span{font-size:13px;color:var(--muted)}
.types input:checked+b{color:var(--teal-d)}
.types label:has(input:checked){border-color:var(--teal);background:var(--teal-xl)}
.types label:has(input:focus-visible){outline:3px solid rgba(68,110,125,.35);outline-offset:2px}

.types.kinds b{direction:inherit}
.types.sm{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
.types.sm label{padding:8px 10px;text-align:center}
.types.sm b{font-size:14px;direction:inherit;text-align:center}

/* inputs */
.inp{width:100%;font:600 20px/1.4 ui-monospace,"SF Mono",Consolas,monospace;letter-spacing:.04em;color:var(--ink);background:var(--paper);border:1.5px solid var(--mist);border-radius:12px;padding:13px 14px;direction:ltr;text-align:left;transition:border-color .15s, background .15s}
.inp:focus{outline:none;border-color:var(--teal);background:var(--white);box-shadow:0 0 0 4px rgba(68,110,125,.14)}
/* phones show a date/time field as one local string; Arabic ones hold RLM marks that ltr scrambles ("012021/11/") */
input::-webkit-date-and-time-value{unicode-bidi:plaintext}
textarea.inp{font-size:16px;line-height:1.7;min-height:190px;resize:vertical}
.inp.bad{border-color:var(--err)}
.hint{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.6}
.status{display:none;font-size:14px;font-weight:600;margin-top:10px;padding:8px 12px;border-radius:10px;line-height:1.6}
.status.err{display:block;color:var(--err);background:var(--err-bg)}
.status.ok{display:block;color:var(--ok);background:var(--ok-bg)}

.inp.txt{font:500 17px/1.6 var(--font);letter-spacing:0;direction:auto;text-align:start}
textarea.inp.txt{min-height:110px}
select.inp{font:500 16px/1.4 var(--font);letter-spacing:0;direction:inherit;text-align:start;cursor:pointer}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:480px){.row2{grid-template-columns:1fr}}
.sub{display:block;font-size:14px;font-weight:600;color:var(--ink-3);margin-bottom:5px}
.stack{display:grid;gap:12px}
.chkline{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink-3);cursor:pointer}
.chkline input{width:18px;height:18px;accent-color:var(--teal)}
.filebtn{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--ink);background:var(--white);border:1.5px dashed var(--teal-l);border-radius:12px;padding:10px 16px;cursor:pointer}
.filebtn:hover{background:var(--teal-xl)}
.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.linkbtn{font:inherit;font-size:14px;font-weight:600;color:var(--err);background:none;border:0;cursor:pointer;padding:6px}

/* design options */
.opts{margin-top:20px;border:1px solid var(--mist);border-radius:14px}
.opts summary{cursor:pointer;font-weight:700;font-size:15px;color:var(--ink);padding:12px 16px;list-style:none;display:flex;align-items:center;justify-content:space-between}
.opts summary::-webkit-details-marker{display:none}
.opts summary::after{content:"+";font-size:22px;line-height:1;color:var(--teal)}
.opts[open] summary::after{content:"−"}
.ogrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;padding:4px 16px 16px}
@media (max-width:480px){.ogrid{grid-template-columns:1fr}}
.ogrid label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600;color:var(--ink-3)}
.ogrid label output{font-weight:500;color:var(--muted)}
.ogrid input[type=range]{width:100%;accent-color:var(--teal)}
.ogrid input[type=color]{width:100%;height:40px;border:1px solid var(--mist);border-radius:10px;background:var(--white);padding:3px;cursor:pointer}
.ogrid .chk{flex-direction:row;align-items:center;gap:8px;cursor:pointer}
.ogrid .chk input{width:18px;height:18px;accent-color:var(--teal)}

/* preview */
.preview{background:var(--paper);border:1px dashed #cdd7da;border-radius:16px;min-height:260px;display:grid;place-items:center;padding:24px;overflow:auto}
.preview{direction:ltr}
.preview svg{display:block;width:min(100%,440px);height:auto;box-shadow:0 1px 3px rgba(11,18,21,.08)}
.preview .empty{color:var(--muted);font-size:15px;text-align:center}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;font-size:16px;text-decoration:none;border-radius:12px;padding:12px 20px;border:1px solid transparent;cursor:pointer;min-height:50px;transition:transform .15s, background .15s, border-color .15s}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-main{background:var(--teal);color:#fff;box-shadow:0 10px 24px -10px rgba(47,85,99,.7);flex:1 1 100%}
.btn-main:hover:not(:disabled){background:var(--teal-d)}
.btn-alt{background:var(--white);color:var(--ink);border-color:var(--mist)}
.actions .btn-alt{flex:1 1 0;white-space:nowrap}
.btn-alt:hover:not(:disabled){border-color:var(--teal-l)}
.btn .ico{width:20px;height:20px}
.toast{position:fixed;inset-inline:0;bottom:20px;margin-inline:auto;width:max-content;max-width:calc(100% - 32px);background:var(--ink);color:#fff;font-size:15px;font-weight:600;padding:10px 18px;border-radius:12px;opacity:0;transform:translateY(10px);transition:opacity .2s, transform .2s;pointer-events:none;z-index:50}
.toast.show{opacity:1;transform:none}

/* batch */
.seq{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-top:10px;font-size:14px}
.seq label{display:flex;flex-direction:column;gap:3px;font-weight:600;color:var(--ink-3)}
.seq input{font:500 15px/1.3 ui-monospace,Consolas,monospace;width:118px;border:1.5px solid var(--mist);border-radius:10px;padding:8px 10px;direction:ltr;background:var(--white)}
.seq input.short{width:78px}
.seq .btn{min-height:40px;padding:8px 14px;font-size:14px}
.sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;background:var(--paper);border:1px dashed #cdd7da;border-radius:16px;padding:14px;max-height:560px;overflow:auto;min-height:260px;align-content:start}
.sheet .cell{background:#fff;border:1px solid var(--mist);border-radius:10px;padding:10px;display:grid;place-items:center;cursor:pointer;transition:border-color .15s}
.sheet .cell:hover{border-color:var(--teal-l)}
.sheet{direction:ltr}
.sheet .cell svg{width:100%;height:auto}
.sheet .cell.bad{cursor:default;color:var(--err);font-size:13px;text-align:center;direction:ltr;word-break:break-all}
.count{font-size:14px;color:var(--muted);margin-top:10px}

/* cross-link to a sibling tool (one line, under the tool) */
.sibling{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;margin:-6px auto 8px;font-size:15px;color:var(--muted)}
.sibling a{font-weight:700;color:var(--teal-d);text-decoration:none;border-bottom:1.5px solid var(--teal-xl)}
.sibling a:hover{border-color:var(--teal)}

/* date tools */
.today{display:inline-block;margin-top:16px;font-size:16px;color:var(--ink-3);background:var(--white);border:1px solid var(--mist);border-radius:14px;padding:8px 16px}
.today b{color:var(--teal-d)}
.dsel{display:grid;grid-template-columns:.8fr 1.6fr 1fr;gap:10px}
.dsel .inp{font-size:17px;padding:12px}
@media (max-width:480px){.dsel{grid-template-columns:1fr 1fr}.dsel label:nth-child(2){grid-column:1/-1;order:-1}}
.swap{margin-top:18px;width:100%}
.result{background:linear-gradient(160deg,var(--teal-xl),#f7f2e8);border:1px solid #d6e2e6;border-radius:18px;padding:26px 22px;text-align:center}
.result .r-lbl{display:block;font-size:14px;font-weight:700;color:var(--teal-d)}
.result .r-main{font-size:clamp(24px,3.2vw,34px);font-weight:700;color:var(--ink);line-height:1.35;margin-top:8px}
.result .r-sub{color:var(--ink-3);margin-top:8px;font-size:16px}
.result .r-rel{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;color:var(--bronze-d);background:#fff8ea;border:1px solid #ecdcb9;padding:3px 12px;border-radius:99px}
.result .r-rel:empty{display:none}
.result .btn{margin-top:18px;width:100%}
.result .r-main.r-alt{font-size:clamp(20px,2.4vw,26px);color:var(--teal-d);margin-top:4px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}
@media (max-width:480px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stats div{background:rgba(255,255,255,.75);border:1px solid #dbe5e8;border-radius:12px;padding:10px 6px}
.stats b{display:block;font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}
.stats span{font-size:13px;color:var(--muted)}
.facts{list-style:none;margin:16px 0 0;padding:0;text-align:start;font-size:15px;color:var(--ink-3);display:grid;gap:6px}
.facts li{background:rgba(255,255,255,.6);border-radius:10px;padding:8px 12px}
.facts b{color:var(--ink)}
.field .tabs{margin-bottom:12px}
.money{position:relative}
/* amount inputs are LTR (digits), so the unit always sits on the physical right, away from the text */
.money .inp{font-size:26px;padding-right:72px}
.money .unit{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-weight:700;color:var(--muted);pointer-events:none}
.money.pct .inp{font-size:20px;padding-right:44px}
@media (max-width:480px){.lines li{font-size:15px}.lines li b{font-size:18px}.lines li.total b{font-size:22px}}
.lines{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px;text-align:start}
.lines li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:rgba(255,255,255,.7);border:1px solid #dbe5e8;border-radius:12px;padding:12px 16px;font-size:16px;color:var(--ink-3)}
.lines li{flex-wrap:wrap;row-gap:4px}  /* on phones the value drops under its label instead of squeezing it */
.lines li>:last-child:not(:first-child){margin-inline-start:auto}
.lines li b{font-size:20px;color:var(--ink);font-variant-numeric:tabular-nums;direction:ltr}
.lines li small{font-weight:600;color:var(--muted);margin:0 5px}
.lines li.total{background:var(--teal);border-color:var(--teal);color:#fff}
.lines li.total b,.lines li.total small{color:#fff}
.lines li.total b{font-size:26px}
.calcline{margin-top:12px;font-size:14px;color:var(--muted);direction:auto}
.calcline.okline{color:var(--ok);font-weight:700}
.warn{color:var(--err)!important;font-weight:700}
.money.sm .inp{font-size:18px;padding:11px 12px;padding-right:56px}
.money.sm .unit{font-size:14px}
input[type=date].inp{font:600 17px/1.4 var(--font);letter-spacing:0;min-height:50px}
.types.reasons{grid-template-columns:1fr}
.types.reasons b{direction:inherit;font-size:15.5px}
.disclaimer{margin-top:12px;font-size:13px;color:var(--muted);line-height:1.6}
.fxrow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end}
.fxrow .swapbtn{width:50px;height:50px;border-radius:14px;border:1px solid var(--mist);background:var(--white);display:grid;place-items:center;cursor:pointer;color:var(--teal-d)}
.fxrow .swapbtn:hover{border-color:var(--teal-l);background:var(--teal-xl)}
@media (max-width:480px){.fxrow{grid-template-columns:1fr}.fxrow .swapbtn{justify-self:center;transform:rotate(90deg)}}
.result .r-from{font-size:16px;color:var(--ink-3)}
.result .r-to{font-size:18px;font-weight:700;color:var(--teal-d)}
.result .r-unit{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:12px;font-size:14.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.result .r-date{margin-top:8px;font-size:13px;color:var(--muted)}
.tbl td small{color:var(--muted);font-weight:600}
/* file tools */
.drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;min-height:200px;padding:28px 20px;border:2px dashed #c3d3d8;border-radius:18px;background:var(--paper);cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.drop.over{border-color:var(--teal);background:var(--teal-xl)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop>.ico{width:44px;height:44px;color:var(--teal);margin-bottom:6px}
.drop b{font-size:18px;color:var(--ink)}
.drop span{font-size:14.5px;color:var(--muted)}
.optrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
@media (max-width:860px){.optrow{grid-template-columns:repeat(2,minmax(0,1fr))}}
.optrow label{display:flex;flex-direction:column}
.optrow .inp{font-size:15.5px;padding:11px 12px}
.optrow input[type=range]{margin-top:16px;accent-color:var(--teal)}
.optrow output{font-weight:500;color:var(--muted)}
.imgs{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.img-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--white);border:1px solid var(--mist);border-radius:14px;padding:10px 12px}
.img-item .thumb{width:64px;height:64px;border-radius:10px;background:#eef2f3 center/cover no-repeat;background-color:#eef2f3}
.img-item .meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.img-item .nm{font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:start}
[dir=rtl] .img-item .nm{text-align:right}
.img-item .sz{font-size:14.5px;color:var(--ink-3)}
.img-item .sz em{font-style:normal;font-weight:700;color:var(--ok);background:var(--ok-bg);border-radius:8px;padding:1px 8px;margin-inline-start:6px}
.img-item .dm{display:block;font-size:13px;color:var(--muted);background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.img-item .dm .px{margin-inline-end:8px}
[dir=rtl] .img-item .dm .px{margin-right:0;margin-left:8px}
.img-item .dl{min-height:42px;padding:8px 16px;font-size:15px}
.img-item.busy .thumb{animation:pulse 1s ease-in-out infinite alternate}
.img-item.bad .sz{color:var(--err)}
@keyframes pulse{from{opacity:.4}to{opacity:1}}
@media (max-width:480px){.img-item{grid-template-columns:52px minmax(0,1fr)}.img-item .thumb{width:52px;height:52px}.img-item .dl{grid-column:1/-1}}
.bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--mist)}
.bar p{font-weight:700;color:var(--ink-3)}
.pages{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.pages:empty{display:none}
.pg{position:relative;background:var(--white);border:1px solid var(--mist);border-radius:14px;padding:8px;cursor:grab;transition:border-color .15s,opacity .15s}
.pg:hover{border-color:var(--teal-l)}
.pg.dragging{opacity:.4}
.pgimg{display:grid;place-items:center;aspect-ratio:3/4;background:#eef2f3;border-radius:8px;overflow:hidden}
.pgimg img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .2s}
.pgno{display:block;text-align:center;font-size:13px;font-weight:700;color:var(--ink-3);margin-top:6px}
.pgbtns{display:flex;justify-content:center;gap:4px;margin-top:6px}
.pgbtns button{width:30px;height:30px;border-radius:8px;border:1px solid var(--mist);background:var(--paper);color:var(--ink);font:600 15px/1 var(--font);cursor:pointer;display:grid;place-items:center}
.pgbtns button:hover{border-color:var(--teal-l);background:var(--teal-xl)}
.pgbtns .del:hover{border-color:var(--err);background:var(--err-bg);color:var(--err)}
.bar .fname{display:flex;flex-direction:column;min-width:180px;flex:1 1 200px;max-width:320px}
.bar .fname .inp{font-size:16px;padding:10px 12px}
/* domain checker */
.dsearch{display:flex;gap:10px;max-width:640px;margin:22px auto 0}
.dsearch input{flex:1;min-width:0;font:600 19px/1.4 var(--font);color:var(--ink);background:var(--white);border:1.5px solid var(--mist);border-radius:16px;padding:14px 18px;box-shadow:0 10px 30px -22px rgba(11,18,21,.35)}
.dsearch input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(68,110,125,.14)}
.dsearch .btn{flex:none;border-radius:16px}
@media (max-width:480px){.dsearch{flex-direction:column}}
.dsum{text-align:center;font-weight:700;color:var(--ink-3);margin:4px 0 12px}
.dms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.dm{display:flex;flex-direction:column;gap:2px;background:var(--white);border:1px solid var(--mist);border-inline-start:4px solid var(--mist);border-radius:14px;padding:12px 14px}
.dm b{font-size:17px;color:var(--ink);word-break:break-all;text-align:start}
[dir=rtl] .dm b{text-align:right}
@media (max-width:480px){.dms{grid-template-columns:1fr 1fr;gap:8px}.dm{padding:10px}.dm b{font-size:14.5px}.dm .st{font-size:13.5px}.dm small{font-size:11.5px}}
.dm .st{font-weight:700;font-size:15px;color:var(--muted)}
.dm small{font-size:12.5px;color:var(--muted);line-height:1.5}
.dm.main{box-shadow:0 0 0 2px var(--teal-xl)}
.dm.busy .st{animation:pulse 1s ease-in-out infinite alternate}
.dm.free{border-inline-start-color:var(--ok);background:#f4fbf7}.dm.free .st{color:var(--ok)}
.dm.likely{border-inline-start-color:#8bbf9f}.dm.likely .st{color:#2f7a52}
.dm.taken,.dm.likelyTaken{border-inline-start-color:#e3b4b1}.dm.taken .st,.dm.likelyTaken .st{color:var(--err)}
.dsugg{margin-top:16px}
.dsugg ul{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.dsugg li{background:var(--white);border:1px solid #ecdcb9;border-radius:10px;padding:4px 12px;font-weight:700;color:var(--ok)}
/* favicon */
.clr{width:100%;height:46px;border:1px solid var(--mist);border-radius:12px;background:var(--white);padding:3px;cursor:pointer}
.drop.sm{min-height:150px;margin-bottom:6px}
.drop.has{border-style:solid;border-color:var(--ok);background:var(--ok-bg)}
.favpv{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fbig{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:22px;background:repeating-conic-gradient(#eef2f3 0 25%,#fff 0 50%) 0 0/20px 20px;border:1px solid var(--mist);border-radius:16px;padding:18px}
.fbig>canvas{width:170px;height:170px;filter:drop-shadow(0 8px 20px rgba(11,18,21,.18))}
@media (max-width:420px){.fbig{gap:12px;padding:12px}.fbig>canvas{width:120px;height:120px}.favpv{grid-template-columns:1fr}}
.fsz{display:flex;flex-direction:column;align-items:center;gap:4px}
.fsz canvas{image-rendering:pixelated;background:#fff;border:1px solid var(--mist)}
.fsz small{font-size:11px;color:var(--muted);margin-bottom:6px}
.mock{background:var(--white);border:1px solid var(--mist);border-radius:14px;padding:10px 12px}
.mock .mlbl{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.tabbar{display:flex;align-items:center;gap:8px;background:#dee3e6;border-radius:10px 10px 0 0;padding:8px 10px;font-size:13px;color:var(--ink)}
.tabbar span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tabbar i{font-style:normal;font-size:11px;color:var(--muted)}
.gres{display:flex;align-items:center;gap:10px}
.gres canvas{width:28px;height:28px;border-radius:50%;background:#f1f3f4;border:1px solid #e3e6e8;padding:3px;box-sizing:content-box}
.gres b{display:block;font-size:14px;color:var(--ink)}
.gres small{font-size:12px;color:#4d5156}
.ios{grid-column:1/-1}
.iosbox{display:flex;flex-direction:column;align-items:center;gap:4px;background:linear-gradient(160deg,#3b5b8c,#7a5f9c);border-radius:12px;padding:14px}
.iosbox canvas{width:60px;height:60px;border-radius:14px}
.iosbox small{color:#fff;font-size:12px}
.codebox{margin-top:18px;border-top:1px solid var(--mist);padding-top:16px}
.cbhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cbhead .btn{min-height:40px;padding:8px 14px;font-size:14px}
.codebox pre{margin:10px 0 0;background:var(--ink);color:#e6edf0;border-radius:12px;padding:14px 16px;overflow-x:auto;font:13.5px/1.7 ui-monospace,Consolas,monospace;text-align:left}
/* serp preview */
.meter{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:13px;color:var(--muted)}
.meter b{flex:1;height:7px;border-radius:99px;background:var(--mist);overflow:hidden}
.meter i{display:block;height:100%;border-radius:99px;background:var(--ok);transition:width .2s}
.meter.low i{background:var(--gold)}.meter.bad i{background:var(--err)}
.meter span{white-space:nowrap;font-variant-numeric:tabular-nums}
.serp{background:#fff;border:1px solid var(--mist);border-radius:16px;padding:18px;font-family:Arial,Helvetica,sans-serif}
.serp[data-mode=desk] .mob,.serp[data-mode=mob] .desk{display:none}
.serp[data-mode=mob]{max-width:380px;margin-inline:auto}
.g-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.g-fav{width:28px;height:28px;flex:none;border-radius:50%;background:#e8eaed;color:#5f6368;display:grid;place-items:center;font:700 13px Arial}
.g-site{display:block;font-size:14px;color:#202124;line-height:1.3}
.g-url{display:block;font-size:12px;color:#4d5156;line-height:1.3;word-break:break-all}
.g-title{font-size:20px;line-height:1.3;color:#1a0dab;white-space:nowrap;overflow:hidden}
.g-desc{font-size:14px;line-height:1.58;color:#4d5156;margin-top:4px}
.g-desc b{color:#202124}
.mob .g-title{font-size:18px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mob .g-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.checks{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px;font-size:14.5px}
.checks li{display:flex;gap:8px;align-items:flex-start;line-height:1.5}
.checks li::before{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font:700 12px/1 var(--font);margin-top:1px}
.checks li.ok::before{content:"✓";background:var(--ok-bg);color:var(--ok)}
.checks li.no::before{content:"!";background:#fdf1dc;color:var(--bronze-d)}
/* whatsapp */
.result.wa{text-align:start;padding:18px}
.wa-chat{border-radius:14px;overflow:hidden;border:1px solid #d7e2dc}
.wa-head{display:flex;align-items:center;gap:10px;background:#075e54;color:#fff;padding:10px 12px}
.wa-head b{font-size:15px}
.wa-av{width:30px;height:30px;border-radius:50%;background:#cfd8dc}
.wa-body{background:#efe7dd;padding:16px 12px;min-height:90px}
.wa-bubble{display:inline-block;max-width:85%;background:#d9fdd3;color:#111b21;border-radius:10px;padding:8px 12px;font-size:15px;line-height:1.6;box-shadow:0 1px 1px rgba(0,0,0,.08)}
[dir=rtl] .wa-body{text-align:left}[dir=ltr] .wa-body{text-align:right}
.wa-link{margin-top:12px;background:var(--white);border:1px solid var(--mist);border-radius:12px;padding:10px 12px;overflow-x:auto}
.wa-link code{font:13.5px/1.6 ui-monospace,Consolas,monospace;color:var(--ink);word-break:break-all;white-space:normal;text-align:left;display:block}
.wa-qr{display:flex;gap:14px;align-items:center;margin-top:14px;background:rgba(255,255,255,.7);border:1px solid #dbe5e8;border-radius:14px;padding:12px}
.wa-qr #w-qr svg{width:110px;height:110px;display:block}
.wa-qr .btn{min-height:40px;padding:8px 14px;font-size:14px}
/* meta tags */
.share{background:var(--paper);border:1px solid var(--mist);border-radius:16px;padding:16px}
.share .sh{display:none}
.share[data-net=wa] .wa,.share[data-net=x] .x,.share[data-net=fb] .fb,.share[data-net=li] .li{display:block}
.p-img{aspect-ratio:1.91/1;background:#dfe5e8 center/cover no-repeat;display:grid;place-items:center;color:var(--muted);font-size:13px;text-align:center;padding:8px}
.p-img:not(.none){font-size:0}
.sh-meta{display:flex;flex-direction:column;gap:2px;padding:10px 12px;font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif}
.sh-meta b{font-size:15px;color:#111;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sh-meta span{font-size:13px;color:#555;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sh-meta small{font-size:12px;color:#777}
.wa{background:#efe7dd;border-radius:12px;padding:14px}
.sh-bubble{max-width:330px;margin-inline-start:auto;background:#d9fdd3;border-radius:10px;padding:4px;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.sh-bubble .p-img{border-radius:8px 8px 0 0}
.sh-bubble .sh-meta{background:#cbeec4;border-radius:0 0 8px 8px}
.sh-card{background:#fff;border:1px solid #dadde1;border-radius:14px;overflow:hidden;position:relative}
.x .sh-over{position:absolute;inset-inline-start:10px;bottom:10px;max-width:85%;background:rgba(0,0,0,.6);color:#fff;font:600 13px system-ui,sans-serif;padding:3px 8px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-from{display:block;margin-top:6px;font:13px system-ui,sans-serif;color:#536471}
.fb .sh-card{border-radius:0}.fb .sh-meta{background:#f0f2f5}.fb .sh-meta small{text-transform:uppercase;font-size:12px;color:#65676b}
.fb .sh-meta span{-webkit-line-clamp:1}
.li .sh-card{border-radius:8px}.li .sh-meta b{font-size:14px}
/* tabs overflow */
.tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;white-space:nowrap}
/* schema */
.sform{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sform>label,.sform>div{display:flex;flex-direction:column;min-width:0}
.sform .wide{grid-column:1/-1}
@media (max-width:480px){.sform{grid-template-columns:1fr}}
.sform .inp{font-size:15.5px;padding:10px 12px}
.lv{font-style:normal;font-size:11px;font-weight:700;border-radius:99px;padding:0 7px;margin-inline-start:4px;vertical-align:1px}
.lv.req{background:var(--err-bg);color:var(--err)}.lv.rec{background:#fdf1dc;color:var(--bronze-d)}
.hours{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.hours .days{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.hours .days label{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;background:var(--paper);border:1px solid var(--mist);border-radius:8px;padding:4px 8px;cursor:pointer}
.hours label{font-size:14px;color:var(--ink-3)}
.hours input[type=time]{width:auto;display:inline-block;padding:6px 8px;font-size:14px}
.faqrow{display:grid;gap:6px;background:var(--paper);border:1px solid var(--mist);border-radius:12px;padding:10px;margin-bottom:8px}
.faqrow .linkbtn{justify-self:end}
#addq{min-height:40px;padding:8px 14px;font-size:14px;align-self:flex-start}
pre.tall{max-height:460px;overflow:auto}
.checks li.rec::before{content:"+";background:#fdf1dc;color:var(--bronze-d)}
/* robots */
.tool[data-mode=gen] [data-only=test],.tool[data-mode=test] [data-only=gen]{display:none!important}
textarea.inp[dir=ltr]{font:14.5px/1.7 ui-monospace,Consolas,monospace;letter-spacing:0}
.aibots{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.aibots label{display:flex;gap:8px;align-items:flex-start;background:var(--paper);border:1px solid var(--mist);border-radius:10px;padding:8px 10px;cursor:pointer}
.aibots input{margin-top:4px;accent-color:var(--teal)}
.aibots b{display:block;font-size:14px;color:var(--ink)}
.aibots small{display:block;font-size:12px;color:var(--muted)}
.rres{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rres li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;background:var(--white);border:1px solid var(--mist);border-inline-start:4px solid var(--mist);border-radius:12px;padding:10px 12px}
.rres b{font:600 14px ui-monospace,Consolas,monospace;color:var(--ink);word-break:break-all;text-align:start}
.rres em{font-style:normal;font-weight:700;font-size:14px}
.rres span{grid-column:1/-1;font-size:13px;color:var(--muted)}
.rres li.ok{border-inline-start-color:var(--ok)}.rres li.ok em{color:var(--ok)}
.rres li.no{border-inline-start-color:var(--err)}.rres li.no em{color:var(--err)}
.rres li.bad span{color:var(--err)}
/* keyword density */
.kstats{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.kstats div{background:var(--paper);border-color:var(--mist)}
.kfocus{margin-top:14px;background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:12px 14px}
.kfhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:700;color:var(--ink-3)}
.kfhead b{color:var(--teal-d);font-size:18px;font-variant-numeric:tabular-nums}
.kfocus .checks{margin-top:8px}
.klist{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:k}
.klist li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto auto;align-items:center;gap:10px;font-size:15px;counter-increment:k}
.klist b{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.klist b::before{content:counter(k) ". ";color:var(--muted);font-weight:500}
.klist .bar{height:8px;background:var(--mist);border-radius:99px;overflow:hidden}
.klist .bar i{display:block;height:100%;background:var(--teal);border-radius:99px}
.klist em{font-style:normal;font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums}
.klist small{color:var(--muted);font-variant-numeric:tabular-nums;min-width:44px;text-align:end}
/* slug */
.sl-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sl-list li{background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:12px 14px}
.sl-t{margin:0 0 8px;font-weight:700;color:var(--ink-3);font-size:15px;overflow-wrap:anywhere}
.sl-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center}
.sl-row+.sl-row{margin-top:10px;padding-top:10px;border-top:1px dashed var(--mist)}
.sl-k{grid-column:1/-1;font-size:13px;font-weight:700;color:var(--teal-d)}
.sl-row code{background:var(--white);border:1px solid var(--mist);border-radius:10px;padding:8px 10px;font:600 14.5px/1.6 ui-monospace,Consolas,monospace;color:var(--ink);overflow-wrap:anywhere;text-align:start}
.sl-row code.ar{font-family:var(--font);font-size:15.5px}
.sl-row .btn{min-height:40px;padding:8px 14px;font-size:14px}
.sl-row small{grid-column:1/-1;color:var(--muted);font-size:13px}
.sl-row .sl-warn{color:var(--err);font-weight:600}
.sl-empty{color:var(--muted);text-align:center;margin:20px 0}
.sl-all{width:100%;margin-top:14px}
/* sitemap */
.checks li.err::before{content:"×";background:var(--err-bg);color:var(--err)}
.smopts{margin-top:12px;display:grid;gap:10px;background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:12px 14px}
.smopts .inp{font-size:16px}
.cbhead small{font-weight:500;color:var(--muted);font-size:14px;margin-inline-start:6px}
.smmsg{margin:10px 0 0}
.smrobots{margin-top:10px}
.smrobots .hint{margin:0 0 6px}
.smrobots code{display:block;background:var(--white);border:1px solid var(--mist);border-radius:10px;padding:8px 10px;font:13.5px/1.6 ui-monospace,Consolas,monospace;overflow-wrap:anywhere;text-align:left}
.smstats{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 6px}
.smstats div{background:var(--paper);border-color:var(--mist)}
.smres{margin-top:8px}
.smres li span{overflow-wrap:anywhere;min-width:0}
/* utm */
.upre{display:flex;flex-wrap:wrap;gap:8px}
.upre button{font:600 14px/1.3 var(--font);padding:8px 12px;border-radius:99px;border:1px solid var(--mist);background:var(--white);color:var(--ink-3);cursor:pointer;transition:background .15s,border-color .15s}
.upre button:hover{border-color:var(--teal-l)}
.upre button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}
.uopt{margin-top:16px;border:1px solid var(--mist);border-radius:14px;padding:12px 14px;background:var(--paper)}
.uopt summary{cursor:pointer;font-weight:700;color:var(--ink-3)}
.uopt[open] summary{margin-bottom:10px}
.ubox{background:linear-gradient(160deg,var(--teal-xl),#f7f2e8);border:1px solid #d6e2e6;border-radius:18px;padding:18px}
.ubox .r-lbl{display:block;font-size:14px;font-weight:700;color:var(--teal-d)}
.ubox #u-out{display:block;margin-top:8px;background:var(--white);border:1px solid var(--mist);border-radius:12px;padding:10px 12px;font:13.5px/1.6 ui-monospace,Consolas,monospace;color:var(--ink);word-break:break-all;text-align:left}
.ubox .actions{display:flex;gap:8px;margin-top:12px}
.ubox .actions .btn{flex:1}
@media (max-width:440px){.ubox .actions{flex-direction:column}}
.uga{margin-top:14px;background:var(--white);border:1px solid var(--mist);border-radius:14px;padding:12px 14px}
.uga h3{margin:0 0 10px;font-size:15px;color:var(--ink)}
.uga dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;font-size:14.5px;align-items:baseline}
.uga dt{color:var(--muted)}
.uga dd{margin:0;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.uch{display:inline-block;padding:2px 10px;border-radius:99px;background:var(--ok-bg);color:var(--ok);font-weight:700}
.uga[data-ch=warn] .uch{background:#fdf1dc;color:var(--bronze-d)}
.uga[data-ch=none] .uch{background:var(--err-bg);color:var(--err)}
.uga dd small{color:var(--muted);font-weight:500;margin-inline-start:8px}
.ubox .checks{margin-top:12px}
.ubox .wa-qr #u-qr svg{width:110px;height:110px;display:block}
/* redirect */
.rsrv{margin:0 0 18px}
.rsrv .types{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}
.rsrv .types b{direction:ltr}
#r-list,#r-out{unicode-bidi:plaintext}
/* palette */
.pprev{margin-top:14px;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#eef2f3 0 25%,#fff 0 50%) 0 0/18px 18px;border:1px solid var(--mist);border-radius:14px;padding:16px;min-height:140px}
.pprev img{max-width:100%;max-height:200px;display:block}
.pbar{display:flex;height:14px;border-radius:99px;overflow:hidden;border:1px solid var(--mist);margin-bottom:14px}
.pbar:empty{display:none}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.psw{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;border:1px solid var(--mist);border-radius:14px;overflow:hidden;background:var(--white);transition:transform .15s,box-shadow .15s}
.psw:hover{transform:translateY(-2px);box-shadow:0 8px 20px -10px rgba(11,18,21,.3)}
.psw:focus-visible{outline:3px solid rgba(68,110,125,.45);outline-offset:2px}
.pblock{background:var(--c);min-height:96px;display:flex;flex-direction:column;justify-content:flex-end;padding:10px 12px;gap:2px}
.pblock b{font:700 17px/1.2 ui-monospace,Consolas,monospace}
.pblock small{font-size:12.5px;opacity:.92}
.pinfo{display:grid;gap:2px;padding:9px 12px;font:12.5px/1.5 ui-monospace,Consolas,monospace;color:var(--ink-3)}
[dir=rtl] .pinfo span{text-align:right}
.pinfo em{font:600 12.5px/1.5 var(--font);color:var(--muted);font-style:normal}
.pfmt{margin:0}
.pfmt button{padding:6px 14px;font-size:14px}
/* contrast */
.cpair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end}
.cpair .field+.field{margin-top:0}
.cin{display:flex;gap:8px}
.cin input[type=color]{flex:none;width:52px;height:52px;padding:4px;border:1.5px solid var(--mist);border-radius:12px;background:var(--white);cursor:pointer}
.cin .inp{font-size:17px;padding:12px}
.cin .inp.bad{border-color:var(--err)}
.cswap{min-height:52px;padding:10px 12px}
.cswap .ico{transform:rotate(90deg)}
@media (max-width:520px){.cpair{grid-template-columns:1fr}.cswap{justify-self:center}.cswap .ico{transform:none}}
.cscore{margin-top:16px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:14px;background:var(--paper);border:1px solid var(--mist)}
.cscore b{font-size:clamp(30px,4vw,40px);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.cscore span{font-weight:700}
.cscore[data-level=aaa] span,.cscore[data-level=aa] span{color:var(--ok)}
.cscore[data-level=large] span{color:var(--bronze-d)}
.cscore[data-level=fail] span{color:var(--err)}
.ctbl{margin-top:12px}
.ctbl td.ok{color:var(--ok);font-weight:700}
.ctbl td.no{color:var(--err);font-weight:700}
.cprev{border-radius:16px;padding:22px 20px;border:1px solid var(--mist);transition:background .2s,color .2s}
.cprev h3{margin:0 0 8px;font-size:24px;font-weight:700;color:inherit}
.cprev p{margin:0 0 10px;font-size:16px;line-height:1.75}
.cprev .csmall{font-size:13px}
.cdemo{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.cbtn{background:var(--fg);color:var(--bg);font-weight:700;padding:10px 18px;border-radius:10px}
.cfield{border:2px solid var(--fg);padding:8px 14px;border-radius:10px;font-size:14px}
.csug{margin-top:16px;background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:12px 14px}
.csug h3{margin:0 0 8px;font-size:15px}
.csug ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.csug li{display:flex;align-items:center;gap:10px;font-size:14.5px}
.csug li i{flex:none;width:28px;height:28px;border-radius:8px;border:1px solid var(--mist)}
.csug li span{flex:1;min-width:0}
.csug li .btn{min-height:38px;padding:6px 14px;font-size:14px}
/* feedback card + dialog */
/* the card is a yellow sticky note: tape on top, folded bottom corner (cut by the gradient, so the shadow is a
   drop-shadow that follows it), slight tilt only while it floats; text #3b2f08/#5b4a12 on #fff4a8 = 13:1 / 7.9:1 */
.fbfloat{position:absolute;top:84px;inset-inline-end:16px;z-index:30;width:300px;display:flex;gap:12px;align-items:flex-start;padding:18px 16px 18px 14px;border-radius:6px;background:linear-gradient(-45deg,transparent 16px,#fff4a8 16px);filter:drop-shadow(0 0 .6px rgba(110,85,0,.5)) drop-shadow(0 12px 14px rgba(70,55,0,.2));transform:rotate(-1.2deg)}
[dir=rtl] .fbfloat{background:linear-gradient(45deg,transparent 16px,#fff4a8 16px)}
.fbfloat::before{content:"";position:absolute;top:-11px;left:50%;width:88px;height:22px;transform:translateX(-50%) rotate(-2.5deg);background:rgba(255,255,255,.62);box-shadow:0 1px 2px rgba(60,45,0,.12)}
.fbfloat::after{content:"";position:absolute;bottom:0;inset-inline-end:0;width:23px;height:23px;border-start-start-radius:4px;background:linear-gradient(-45deg,transparent 50%,#e3c84f 50%,#f4df7c)}
[dir=rtl] .fbfloat::after{background:linear-gradient(45deg,transparent 50%,#e3c84f 50%,#f4df7c)}
@media (prefers-reduced-motion:no-preference){.fbfloat{transition:transform .2s}}
.fbfloat:hover,.fbfloat:focus-within{transform:none}
.fbfloat .ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#ffe066;color:#6b5200}
.fbfloat .ic .ico{width:22px;height:22px}
.fbtext{flex:1;min-width:0}
.fbtext b{display:block;font-size:16px;color:#3b2f08;padding-inline-end:30px}
.fbtext p{margin:4px 0 10px;color:#5b4a12;font-size:14px;line-height:1.65}
.fbfloat .btn{min-height:40px;padding:8px 14px;font-size:14.5px;width:100%}
.fbmin{all:unset;box-sizing:border-box;position:absolute;top:10px;inset-inline-end:10px;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.6);border:1.5px solid rgba(122,92,0,.3);color:#3b2f08}
.fbmin .ico{width:16px;height:16px;stroke-width:2.6}
.fbmin:hover{background:#fff;border-color:rgba(122,92,0,.55)}
.fbplus{all:unset;box-sizing:border-box;position:absolute;top:84px;inset-inline-end:16px;z-index:30;cursor:pointer;width:34px;height:34px;border-radius:6px;display:grid;place-items:center;background:#fff4a8;color:#3b2f08;font:700 24px/1 system-ui,sans-serif;filter:drop-shadow(0 0 .6px rgba(110,85,0,.6)) drop-shadow(0 6px 8px rgba(70,55,0,.25));transform:rotate(-3deg)}
.fbplus:hover{background:#ffe066}
.fbplus:focus-visible,.fbmin:focus-visible{outline:3px solid rgba(68,110,125,.45);outline-offset:2px}
.fbplus[hidden]{display:none!important}
@media (max-width:1180px){.fbplus{position:relative;top:auto;inset-inline-end:auto;margin:12px 16px 0;margin-inline-start:auto}
.fbfloat{position:relative;top:auto;inset-inline-end:auto;width:auto;max-width:1120px;margin:20px 16px 0;align-items:center;transform:none}
.fbtext{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap}.fbtext b{padding:0}.fbtext p{margin:0;flex:1 1 260px}.fbfloat .btn{width:auto}}
@media (min-width:1152px) and (max-width:1180px){.fbfloat{margin-inline:auto}}
.fbdlg{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:18px 20px 20px;border:0;border-radius:20px;box-shadow:var(--shadow);color:var(--text);background:var(--white);overflow-x:hidden;overflow-y:auto}
.fbdlg::backdrop{background:rgba(11,18,21,.45)}
/* the dialog is the same yellow sticky note as the card: tape on top and a folded bottom corner, both background layers
   so they stay in place while the note scrolls. Fields stay white. Text #3b2f08 / #5b4a12 on #fff4a8 = 13:1 / 7.9:1. */
.fbdlg{--ink:#3b2f08;--ink-3:#4a3c0c;--text:#3b2f08;--muted:#5b4a12;--mist:#dcc35a;--paper:rgba(255,255,255,.55);--teal-xl:rgba(255,255,255,.55);
padding-top:26px;border-radius:6px;box-shadow:none;filter:drop-shadow(0 0 .6px rgba(110,85,0,.5)) drop-shadow(0 20px 26px rgba(40,30,0,.32));
background:linear-gradient(rgba(255,255,255,.62),rgba(255,255,255,.62)) 50% 0/120px 16px no-repeat,linear-gradient(-45deg,transparent 50%,#e3c84f 50%,#f4df7c) 100% 100%/29px 29px no-repeat,linear-gradient(-45deg,transparent 20px,#fff4a8 20px)}
[dir=rtl] .fbdlg{background:linear-gradient(rgba(255,255,255,.62),rgba(255,255,255,.62)) 50% 0/120px 16px no-repeat,linear-gradient(45deg,transparent 50%,#e3c84f 50%,#f4df7c) 0 100%/29px 29px no-repeat,linear-gradient(45deg,transparent 20px,#fff4a8 20px)}
.fbdlg .inp,.fbdlg .inp:focus,.fbphone #fb-dial{background:#fff}
.fbdlg .fbx:hover{background:rgba(255,255,255,.6)}
.fbhead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fbhead h2{margin:0;font-size:20px;color:var(--ink)}
.fbx{all:unset;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-size:26px;line-height:1;color:var(--muted)}
.fbx:hover{background:var(--paper);color:var(--ink)}
.fbabout{margin:8px 0 16px;padding:10px 12px;border-radius:12px;background:var(--teal-xl);color:var(--ink-3);font-size:15px}
.fbabout b{color:var(--teal-d)}
.fbwait{color:var(--muted);text-align:center;margin:24px 0}
.fbsign-h{margin:0 0 4px;font-size:18px;color:var(--ink)}
.fbsign-p{margin:0 0 14px;color:var(--ink-3);font-size:14.5px;line-height:1.7}
.fbgoogle{width:100%;gap:10px}
.fbgoogle .ico{width:20px;height:20px}
.fbor{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--muted);font-size:13.5px}
.fbor::before,.fbor::after{content:"";flex:1;height:1px;background:var(--mist)}
.fbrow{display:flex;gap:8px}
.fbrow .inp{flex:1;min-width:0;font-size:16px;padding:10px 12px}
.fbrow .btn{flex:none;min-height:46px;padding:8px 16px}
.fbcode{letter-spacing:.3em;text-align:center}
.fbsent{margin:0 0 10px;font-size:14.5px;color:var(--ink-3)}
.fblink{all:unset;cursor:pointer;color:var(--teal-d);font-weight:700;text-decoration:underline}
#fb-s3 .lbl small{font-weight:500;color:var(--muted)}
.fbme{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--mist);border-radius:14px;margin-bottom:14px}
.fbav{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-weight:700;font-size:17px}
.fbme-t{flex:1;min-width:0;display:grid}
.fbme-t b{color:var(--ink);font-size:15.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fbme-t span{color:var(--muted);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start}
.fbin{flex:none;font-size:12.5px;font-weight:700;color:var(--ok);background:var(--ok-bg);padding:3px 10px;border-radius:99px}
.fbtypes{border:0;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fbtypes legend{width:100%;padding:0;margin-bottom:8px;font-weight:700;font-size:15px;color:var(--ink)}
.fbtypes legend small{font-weight:500;color:var(--muted)}
.fbtypes label{cursor:pointer}
.fbtypes input{position:absolute;opacity:0;pointer-events:none}
.fbtypes span{display:inline-block;font-weight:600;font-size:14.5px;padding:8px 14px;border-radius:99px;border:1px solid var(--mist);background:var(--white);color:var(--ink-3)}
.fbtypes input:checked+span{background:var(--teal);border-color:var(--teal);color:#fff}
.fbtypes input:focus-visible+span{outline:3px solid rgba(68,110,125,.35);outline-offset:2px}
#fb-msg{min-height:120px}
.fbmore{margin-top:12px;border:1px solid var(--mist);border-radius:14px;padding:10px 14px;background:var(--paper)}
.fbmore summary{cursor:pointer;font-weight:700;color:var(--ink-3)}
.fbmore summary small{font-weight:500;color:var(--muted)}
.fbmore[open] summary{margin-bottom:10px}
.fbmore .inp{font-size:16px;padding:10px 12px}
.fbphone{display:flex}
.fbphone #fb-dial{flex:none;display:grid;place-items:center;min-width:58px;padding:0 8px;border:1.5px solid var(--mist);border-right:0;border-radius:12px 0 0 12px;background:var(--white);font:600 15px ui-monospace,Consolas,monospace;color:var(--ink-3)}
.fbphone .inp{border-radius:0 12px 12px 0}
.fbhp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;margin:0;padding:0;border:0}
.fbsend{width:100%;margin-top:14px}
.busy{opacity:.6;pointer-events:none}
.fbnote{margin:8px 0 0;font-size:13.5px;color:var(--muted);text-align:center}
.fbdone{text-align:center;padding:4px 0}
.fbok{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ok-bg);color:var(--ok);font-size:26px;font-weight:700}
.fbdone h3{margin:10px 0 6px;font-size:20px;color:var(--ink)}
.fbdone>p{margin:0 0 12px;color:var(--ink-3);font-size:14.5px}
.fbreceipt{text-align:start;border:1px solid var(--mist);border-inline-start:4px solid var(--teal);border-radius:12px;padding:12px 14px;margin-bottom:16px;background:var(--paper)}
.fbr-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fbr-head b{color:var(--ink)}
.fbr-type{font-size:12.5px;font-weight:700;color:var(--teal-d);background:var(--teal-xl);padding:2px 10px;border-radius:99px}
.fbr-time{margin-inline-start:auto;font-size:13px;color:var(--muted)}
.fbr-page{margin:6px 0;font-size:13.5px;color:var(--muted)}
.fbr-page a{color:var(--teal-d);font-weight:600}
.fbr-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);font-size:15px;line-height:1.7}
@media (max-width:520px){.fbmore .row2{grid-template-columns:1fr}.fbrow{flex-wrap:wrap}.fbrow .btn{width:100%}}
/* gradient */
.tool[data-type=radial] .gangle,.tool[data-type=linear] .gposf,.tool[data-type=linear] .gradial,.tool[data-type=conic] .gradial{display:none}
.gtypes{margin:0}
.grow{display:flex;align-items:center;gap:10px}
.grow input[type=range]{flex:1;accent-color:var(--teal)}
.grow .inp{width:84px;font-size:16px;padding:8px 10px}
.gpos{direction:ltr;display:grid;grid-template-columns:repeat(3,40px);gap:6px}
.gpos button{all:unset;cursor:pointer;width:40px;height:40px;border-radius:10px;border:1px solid var(--mist);background:var(--white);display:grid;place-items:center}
.gpos button i{width:8px;height:8px;border-radius:50%;background:var(--mist)}
.gpos button[aria-pressed=true]{border-color:var(--teal);background:var(--teal-xl)}
.gpos button[aria-pressed=true] i{background:var(--teal)}
.gpos button:focus-visible{outline:3px solid rgba(68,110,125,.35)}
.gstop{display:grid;grid-template-columns:46px 104px minmax(0,1fr) 46px 32px;align-items:center;gap:8px;margin-bottom:8px}
.gstop input[type=color]{width:46px;height:42px;padding:3px;border:1.5px solid var(--mist);border-radius:10px;background:var(--white);cursor:pointer}
.gstop .inp{font-size:15px;padding:9px 8px}
.gstop .inp.bad{border-color:var(--err)}
.gstop input[type=range]{accent-color:var(--teal);min-width:0}
.gstop output{font:600 14px ui-monospace,Consolas,monospace;color:var(--ink-3);text-align:center}
.gx{all:unset;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;font-size:22px;color:var(--muted)}
button.gx:hover{background:var(--err-bg);color:var(--err)}
.gaddb{min-height:40px;padding:8px 14px;font-size:14px}
.gpre{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#g-presets{display:flex;flex-wrap:wrap;gap:8px}
#g-presets button{all:unset;cursor:pointer;width:38px;height:38px;border-radius:10px;border:2px solid var(--white);box-shadow:0 0 0 1px var(--mist)}
#g-presets button:hover{box-shadow:0 0 0 2px var(--teal)}
.gpre .btn{min-height:40px;padding:8px 14px;font-size:14px}
.gprev{aspect-ratio:16/10;border-radius:18px;border:1px solid var(--mist)}
.gfmt{margin:0}
.gfmt button{padding:6px 14px;font-size:14px}
.gpng{margin-top:16px;border-top:1px solid var(--mist);padding-top:14px}
.gpng .row2{grid-template-columns:minmax(0,1fr) auto}
.gpng select.inp{font-size:15px}
@media (max-width:420px){.gstop{grid-template-columns:42px 92px minmax(0,1fr) 30px;gap:6px}.gstop output{display:none}}
.gstop input[type=range],.grow input[type=range]{direction:ltr}
@media (max-width:860px){.gprev{order:-1}}
/* resize */
.rpv{background:var(--paper);border:1px dashed #c3d3d8;border-radius:18px;padding:16px;min-height:260px;display:flex;align-items:center;justify-content:center}
.rempty{color:var(--muted);text-align:center;margin:0}
.rwork{width:100%}
.rcanvas{display:flex;justify-content:center}
.rcbox{position:relative;display:inline-block;max-width:100%;overflow:hidden;line-height:0;border-radius:8px}
.rcanvas canvas{display:block;max-width:100%;height:auto;border-radius:8px;box-shadow:0 6px 18px -8px rgba(11,18,21,.35);cursor:grab;touch-action:none;background:repeating-conic-gradient(#eef2f3 0 25%,#fff 0 50%) 0 0/16px 16px}
.rcanvas canvas:active{cursor:grabbing}
.rsafe{position:absolute;pointer-events:none;border:2px dashed rgba(255,255,255,.95);box-shadow:0 0 0 2px rgba(11,18,21,.45),0 0 0 9999px rgba(11,18,21,.28);border-radius:4px}
.rinfo{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:12px 0 6px;font-size:14px;color:var(--muted)}
.rinfo b{color:var(--ink);font-variant-numeric:tabular-nums}
.rdl{margin-top:12px;grid-template-columns:120px minmax(0,1fr)}
.rbg{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rbg input[type=color]{width:44px;height:36px;padding:2px;border:1.5px solid var(--mist);border-radius:8px;background:var(--white)}
.rrange{width:100%;accent-color:var(--teal);direction:ltr}
/* lorem */
.lrow{grid-template-columns:110px minmax(0,1fr)}
.lrow .inp:first-child{text-align:center;font-weight:700}
#tool[data-lang=ar] .lc-la,#tool[data-lang=la] .lc-ar{display:none}
.lr-box{background:var(--white);border:1px solid var(--mist);border-radius:16px;max-height:460px;overflow:auto}
.lr-out{padding:18px 20px;font-size:16.5px;line-height:1.95;color:var(--ink);text-align:start}
.lr-out[lang=la]{font-family:Georgia,"Times New Roman",serif;line-height:1.75}
.lr-out p{margin:0 0 14px}.lr-out p:last-child{margin:0}
.lr-code{margin:0;padding:16px 18px;font:500 13.5px/1.7 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;unicode-bidi:plaintext;text-align:left}
.lr-stats{margin:10px 2px 0;color:var(--muted);font-size:14px}
.lr-act{margin-top:14px}
/* dns */
.dform{max-width:760px;margin:0 auto}
.drow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.drow .inp{font:600 17px/1.4 ui-monospace,Consolas,monospace;text-align:left}
.drow .btn{min-width:120px}
.dtry{font:600 13.5px ui-monospace,Consolas,monospace;background:var(--paper);border:1px solid var(--mist);border-radius:999px;padding:4px 12px;margin:2px;color:var(--teal-d);cursor:pointer}
.dtry:hover{border-color:var(--teal)}
.dres{margin-top:26px;border-top:1px solid var(--mist);padding-top:22px}
.dname{margin:0 0 14px;font-size:22px;font-weight:800;color:var(--ink);overflow-wrap:anywhere}
.dname small{font-size:15px;font-weight:600;color:var(--muted);margin-inline-start:8px}
.dmsg{margin:0 0 16px;padding:12px 16px;border-radius:12px;background:var(--paper);border:1px solid var(--mist)}
.dmsg.err{background:#fdf0ee;border-color:#f3c7bf;color:#8a2a17}
.dmsg.wait{color:var(--muted)}
.dsum{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0 0 24px}
.dsi{background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:12px 14px;min-width:0}
.dsi:empty{display:none}
.dsi dt{font-size:13px;font-weight:700;color:var(--teal-d);margin-bottom:4px}
.dsi dd{margin:0;font-weight:700;color:var(--ink);overflow-wrap:anywhere;line-height:1.6}
.dsi dd small{display:block;font-weight:500;font-size:13px;color:var(--muted);margin-top:4px}
.dasn{font-weight:600;font-size:13px;color:var(--muted)}
#d-recs h3,.dchead h3{margin:0 0 12px;font-size:18px}
.drecs{list-style:none;margin:0;padding:0;border:1px solid var(--mist);border-radius:14px;overflow:hidden}
.drecs li{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:4px 12px;align-items:baseline;padding:10px 14px;background:var(--white)}
.drecs li+li{border-top:1px solid var(--mist)}
.dty{font:700 13px ui-monospace,Consolas,monospace;color:var(--teal-d)}
.drecs code{font:500 14px/1.6 ui-monospace,Consolas,monospace;color:var(--ink);overflow-wrap:anywhere;text-align:left;unicode-bidi:plaintext}
.drecs small{color:var(--muted);font-size:12.5px;white-space:nowrap}
.dtag{grid-column:2;justify-self:start;font-size:12px;font-weight:700;background:var(--paper);border:1px solid var(--mist);border-radius:999px;padding:1px 10px;color:var(--teal-d)}
.dnone{color:var(--muted);font-size:14px;margin:10px 2px 0}
.dcmpw{margin-top:28px}
.dchead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dchead h3{margin:0}.dchead .inp{width:auto;min-width:120px}
.dcmp{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.dcmp li{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:4px 12px;align-items:baseline;padding:10px 14px;border:1px solid var(--mist);border-radius:12px;background:var(--white)}
.dcmp li b small{font-weight:500;color:var(--muted);font-size:12.5px}
.dcmp code{font:500 14px/1.6 ui-monospace,Consolas,monospace;overflow-wrap:anywhere;text-align:left;unicode-bidi:plaintext}
.dcmp li>small{color:var(--muted);font-size:12.5px;white-space:nowrap}
.dcmp li.ddiff{border-color:#f0c36d;background:#fffaf0}
.dbadge{display:inline-block;font-size:11.5px;font-weight:700;border-radius:999px;padding:0 8px;background:#e7f4ee;color:#1d6b46}
.ddiff .dbadge{background:#fdeccb;color:#8a5a00}
.derr{color:var(--err)}.dmuted{color:var(--muted)}
.dverdict{margin:14px 0 0;padding:12px 16px;border-radius:12px;font-weight:600}
.dverdict:empty{display:none}
.dverdict.ok{background:#e7f4ee;color:#1d6b46}.dverdict.warn{background:#fff4dc;color:#7a5100}
@media (max-width:640px){
.drow{grid-template-columns:1fr}.drow .btn{width:100%}
.drecs li{grid-template-columns:56px minmax(0,1fr)}.drecs small{grid-column:2;white-space:normal}
.dcmp li{grid-template-columns:1fr}.dcmp li>small{white-space:normal}
}
/* spf */
.stabs{display:flex;width:max-content;max-width:100%;margin:0 auto 22px}
.smore{margin-top:10px}.smore summary{cursor:pointer;color:var(--teal-d);font-weight:600;font-size:14.5px}
.smore .inp{margin-top:8px;max-width:320px;text-align:left;font-family:ui-monospace,Consolas,monospace}
.scards{display:grid;gap:14px}
.scard{border:1px solid var(--mist);border-radius:16px;padding:16px 18px;background:var(--white);border-inline-start:5px solid var(--mist)}
.scard.s-ok{border-inline-start-color:#2f9e6b}.scard.s-warn{border-inline-start-color:#e0a42b}.scard.s-bad{border-inline-start-color:#d0533a}.scard.s-unknown{border-inline-start-color:#9aa7ad}
.schead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.schead h3{margin:0;font-size:19px}
.sstate{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;border-radius:999px;padding:4px 12px}
.sstate .ico{width:16px;height:16px}
.s-ok .sstate{background:#e7f4ee;color:#1d6b46}.s-warn .sstate{background:#fff4dc;color:#7a5100}.s-bad .sstate{background:#fdeceb;color:#9a2f1c}.s-unknown .sstate{background:var(--paper);color:var(--muted)}
.scard p{margin:8px 0}
.srec{display:block;background:var(--paper);border:1px solid var(--mist);border-radius:10px;padding:10px 12px;margin:8px 0;font:500 14px/1.6 ui-monospace,Consolas,monospace;overflow-wrap:anywhere;text-align:left;unicode-bidi:plaintext}
.smeter{display:grid;gap:6px;margin:12px 0}.smeter b{font-size:14.5px}
.smeter i{display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--teal) var(--w),var(--mist) var(--w))}
.smeter i.near{background:linear-gradient(90deg,#e0a42b var(--w),var(--mist) var(--w))}.smeter i.over{background:#d0533a}
[dir=rtl] .smeter i{transform:scaleX(-1)}
.serr,.swarn{margin:10px 0 0;padding-inline-start:20px;display:grid;gap:6px}
.serr li{color:#9a2f1c}.swarn li{color:#6b4a00}
.serrt{color:#9a2f1c}
.sfacts{font-size:15px}
.stree summary{cursor:pointer;color:var(--teal-d);font-weight:600;margin-top:10px}
.stree ul{list-style:none;margin:6px 0 0;padding-inline-start:18px;border-inline-start:2px solid var(--mist)}
.stree li{margin:6px 0;font:500 14px/1.6 ui-monospace,Consolas,monospace}.stree small{font-family:var(--font);color:var(--muted)}
.stree .sbadt{color:#9a2f1c}
.sprov{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px}
.srecbox{border:1px solid var(--mist);border-radius:16px;padding:14px 16px;background:var(--white);display:grid;gap:10px}
.srecrow{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:baseline}
.srecrow span{color:var(--muted);font-size:14px}
.srecrow b{font:700 15px ui-monospace,Consolas,monospace;text-align:left;justify-self:start}
.srecrow code{font:600 14.5px/1.7 ui-monospace,Consolas,monospace;background:var(--paper);border:1px solid var(--mist);border-radius:10px;padding:10px 12px;overflow-wrap:anywhere;text-align:left;unicode-bidi:plaintext}
#m-ext code{font-size:13px;overflow-wrap:anywhere}
@media (max-width:640px){.srecrow{grid-template-columns:1fr;gap:4px}
.stabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.stabs button{white-space:normal;padding:8px 6px;font-size:14px;line-height:1.3}}
/* women */
.dfield{display:grid;gap:8px}
.dtoggle{display:inline-flex;gap:4px;background:var(--paper);border:1px solid var(--mist);border-radius:12px;padding:3px;justify-self:start}
.dtoggle button{font:inherit;font-size:14px;font-weight:600;border:0;background:none;color:var(--muted);padding:6px 14px;border-radius:9px;cursor:pointer;min-height:36px}
.dtoggle button[aria-pressed=true]{background:var(--white);color:var(--ink);box-shadow:0 2px 6px -2px rgba(11,18,21,.18)}
.dfield .dg{direction:ltr;text-align:start}
.dh{display:grid;grid-template-columns:76px minmax(0,1fr) 110px;gap:8px}
.pnum{max-width:120px;text-align:center;font-weight:700}
.pga{display:flex;align-items:center;gap:8px}.pga .inp{max-width:90px}
#tool:not([data-method=lmp]) .m-lmp,#tool:not([data-method=ivf]) .m-ivf,#tool:not([data-method=scan]) .m-scan{display:none}
.pout{display:grid;gap:14px}
.pbig{margin:0;display:grid;gap:4px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#fbeff2,#f4f1fa);border:1px solid #f0dbe2}
.pbig small{color:var(--muted);font-weight:600;font-size:14px}
.pbig>b{font-size:30px;line-height:1.3;color:var(--ink)}
.pbig>span:not(.dd){color:#8a3048;font-weight:700}
.dd{display:inline-grid;gap:2px}.dd b{color:var(--ink)}.dd small{color:var(--muted);font-weight:600}
.dd.big b{font-size:24px;line-height:1.35}.dd.big small{font-size:16px}
.pleft{margin:0;font-weight:700;color:#8a3048}
.pbar{position:relative;height:12px;border-radius:999px;background:var(--mist);overflow:hidden}
.pbar i{position:absolute;inset-block:0;inset-inline-start:0;width:var(--p);background:linear-gradient(90deg,#d77a95,#8a3048);border-radius:999px}
.pbar .t1,.pbar .t2{position:absolute;inset-block:0;width:2px;background:#fff}.pbar .t1{inset-inline-start:35%}.pbar .t2{inset-inline-start:70%}
.pbarl{margin:-8px 0 0;color:var(--muted);font-size:13.5px}
.pfacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0}
.pi{background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:10px 14px}
.pi dt{font-size:13px;font-weight:700;color:#8a3048;margin-bottom:2px}.pi dt:empty{display:none}
.pi dd{margin:0;font-weight:700;color:var(--ink)}
.pi.pterm{grid-column:1/-1;background:#fbeff2;border-color:#f0dbe2}
.prange{margin:0;color:var(--ink-3)}
.pmiles{list-style:none;margin:0;padding:0;border:1px solid var(--mist);border-radius:14px;overflow:hidden}
.pmiles li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 12px;align-items:center;padding:10px 14px;background:var(--white)}
.pmiles li+li{border-top:1px solid var(--mist)}
.pmiles li>span{font-weight:600;color:var(--ink-3)}
.pmiles li .dd b{font-size:14.5px}.pmiles li .dd small{font-size:13px}
.pmiles li.past{background:var(--paper)}.pmiles li.past>span{color:var(--muted)}
.pmiles em{font-style:normal;font-size:12px;font-weight:700;color:#1d6b46;background:#e7f4ee;border-radius:999px;padding:1px 9px}
.pdisc{margin:18px 0 0;padding:12px 16px;border-radius:12px;background:var(--paper);border:1px solid var(--mist);color:var(--ink-3);font-size:14.5px}
.cnow{margin:0;padding:10px 14px;border-radius:12px;background:#fbeff2;color:#8a3048;font-weight:700}
.cnotes{margin:0;padding:12px 16px 12px 16px;padding-inline-start:30px;border-radius:12px;background:#fff8ea;border:1px solid #ecdcb9;color:#6b4a00;display:grid;gap:6px}
.clist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.clist li{display:grid;gap:2px;padding:10px 14px;border:1px solid var(--mist);border-radius:12px;background:var(--white)}
.clist li b{color:#8a3048;font-size:14px}.clist li small{color:var(--muted)}
.cpast{margin-top:6px}.cpast summary{cursor:pointer;color:var(--teal-d);font-weight:600}
.mcal{border:1px solid var(--mist);border-radius:16px;padding:12px;background:var(--white)}
.mhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.mhead p{margin:0;display:grid;text-align:center}.mhead small{color:var(--muted);font-size:13px}
.mnav{font:inherit;font-size:22px;line-height:1;width:40px;height:40px;border-radius:12px;border:1px solid var(--mist);background:var(--paper);cursor:pointer;color:var(--ink)}
.mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.mgrid em{font-style:normal;text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:4px 0}
.mgrid span{display:grid;place-items:center;min-height:44px;border-radius:10px;font-size:14px;line-height:1.1}
.mgrid span b{font-weight:700}.mgrid span i{font-style:normal;font-size:10.5px;color:var(--muted)}
.mgrid .m-period{background:#f6d5dd;color:#7a2440}.mgrid .m-fertile{background:#dcefe5;color:#145c38}.mgrid .m-ov{background:#2f9e6b;color:#fff}.mgrid .m-ov i{color:#e7f4ee}
.mgrid .m-today{outline:2px solid var(--ink);outline-offset:-2px}
.mleg{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 0;font-size:13px;color:var(--ink-3)}
.mleg span::before{content:"";display:inline-block;width:12px;height:12px;border-radius:4px;margin-inline-end:6px;vertical-align:-1px}
.mleg .m-period::before{background:#f6d5dd}.mleg .m-fertile::before{background:#dcefe5}.mleg .m-ov::before{background:#2f9e6b}.mleg .m-today::before{outline:2px solid var(--ink);outline-offset:-2px}
@media (max-width:640px){.pmiles li{grid-template-columns:1fr auto}.pmiles li .dd{grid-column:1}.pbig>b{font-size:26px}.dh{grid-template-columns:64px minmax(0,1fr) 96px}}
/* wedding */
.rrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
#tool:not([data-how=d]) .r-d,#tool:not([data-how=c]) .r-c,#tool:not([data-how=size]) .r-size,#tool:not([data-how=screen]) .r-screen{display:none}
.rstep{margin:0 0 8px;font-weight:600}.rstep b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;font-size:13px;margin-inline-end:6px}
.r-screen input[type=range]{width:100%;margin:6px 0 10px}
.rcardw,.rringw{display:flex;justify-content:center;padding:10px 0;direction:ltr}
.rok{display:block;margin:0 auto 6px}
.rcard{border:2px dashed var(--teal-d);border-radius:12px;background:rgba(47,85,99,.06)}
.rring{border-radius:50%;border:2px solid #8a3048;background:rgba(138,48,72,.08)}
#r-step2.off{opacity:.45}
.rres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rres>div{background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:12px 14px;display:grid;gap:4px}
.rres span{font-size:13.5px;font-weight:600;color:var(--muted)}.rres b{font-size:26px;color:var(--ink);direction:ltr;text-align:start}
.rmeta{margin:12px 0 4px;color:var(--ink-3)}
.rchart{margin-top:22px}.rchart td,.rchart th{text-align:center}
.tbl tr.cur td{background:#fbeff2;font-weight:700}
.zres{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
#tool:not([data-how=size]) .z-size,#tool:not([data-how=body]) .z-body{display:none}
.zbody{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.zbody label{display:grid;gap:6px;font-weight:600;font-size:14px}.zbody .pnum{max-width:none}
.znote{margin:8px 0 0;padding-inline-start:20px;display:grid;gap:4px}
.wtop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:14px}.wtop label{display:grid;gap:6px}
.wdin{display:flex;flex-wrap:wrap;align-items:end;gap:8px 10px;padding:14px;border:1px solid #e6dcef;background:#f8f4fb;border-radius:16px;margin-bottom:12px}
.wdin>b{flex-basis:100%;color:#5b3b78}.wdin label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--ink-3)}.wdin .inp{width:130px}
.wx{font-size:20px;font-weight:700;color:var(--muted);padding-bottom:10px}.wdin output{font-weight:800;font-size:18px;padding-bottom:10px}
.witems{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.witems li{display:grid;grid-template-columns:minmax(0,1fr) 150px auto 40px;gap:6px 8px;align-items:center}
.wamt{text-align:left}
.wpaid{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--ink-3);cursor:pointer;padding-bottom:0}
.wpaid input{width:18px;height:18px;accent-color:var(--teal)}
.wdel,.bdel{width:36px;height:36px;border-radius:10px;border:1px solid var(--mist);background:var(--white);color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.wdel:hover,.bdel:hover{color:var(--err);border-color:var(--err)}
.wshare{grid-column:1/-1;color:var(--muted);font-size:12.5px;margin-top:-4px}.wshare:empty{display:none}.wdin .wshare{flex-basis:100%;margin:0}
.wacts{margin:14px 0}.wreset{color:var(--err)}
.wsum{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.wsum>div{background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:12px 14px;display:grid;gap:4px}
.wsum span{font-size:13.5px;font-weight:600;color:var(--muted)}.wsum b{font-size:20px;text-align:start}
.wsum-b i{display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--teal) var(--p),var(--mist) var(--p))}
.wsum-b.over{background:#fdeceb;border-color:#f3c7bf}.wsum-b.over b{color:var(--err)}.wsum-b.over i{background:var(--err)}
[dir=rtl] .wsum-b i,[dir=rtl] .bprog i{transform:scaleX(-1)}
.btop{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.bprog{flex:1 1 260px;display:grid;gap:6px}.bprog b{font-size:16px}
.bprog i{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,#5b3b78 var(--p),var(--mist) var(--p))}
.blist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.bcat{border:1px solid var(--mist);border-radius:16px;padding:14px;background:var(--white);display:grid;gap:8px;align-content:start}
.bhead{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.bhead h3{margin:0;font-size:17px;color:#5b3b78}.bhead span{font-size:13px;color:var(--muted);font-weight:600}
.bcat ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.bcat li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;border-radius:10px;padding:2px 4px}
.bcat li:hover{background:var(--paper)}
.bcat label{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:38px}
.bcat label input{width:20px;height:20px;flex:none;accent-color:#5b3b78}
.bcat li.done span{text-decoration:line-through;color:var(--muted)}
.bcat .bdel{width:30px;height:30px;font-size:17px;opacity:.55}.bcat li:hover .bdel,.bcat .bdel:focus{opacity:1}
.hidedone li.done{display:none}
.badd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.badd .btn{min-height:42px;padding:8px 14px}
.wprint h2,.bprint h2{margin:0 0 4mm}.wprint table{width:100%;border-collapse:collapse}.wprint td,.wprint th{border-bottom:1px solid #ccc;padding:2mm;text-align:start}
.bprint{width:100%}.bprint h3{margin:4mm 0 1mm}.bprint ul{list-style:none;margin:0;padding:0;columns:2}
@media (max-width:640px){
.witems li{grid-template-columns:minmax(0,1fr) 110px 36px}.witems .wpaid{grid-column:1;grid-row:2}.witems .wdel{grid-column:3;grid-row:1}
.wdin .inp{width:100px}.zbody{grid-template-columns:1fr 1fr 1fr}.rres b{font-size:22px}
.blist{grid-template-columns:1fr}.wtop{grid-template-columns:1fr}
}
/* pdf tools */
.status.busy{display:block;color:var(--ink-3);background:var(--paper)}
.c-brick{background:#f7e8e3;color:#9a3b26}
.pfile{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:10px 12px}
.pfile>.ico{width:30px;height:30px;color:var(--teal);flex:none}
.pfile>span{display:flex;flex-direction:column;min-width:0;flex:1}
.pfile b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15.5px}
.pfile small{color:var(--muted);font-size:13.5px}
.pchange{position:relative;overflow:hidden;cursor:pointer;min-height:42px;padding:8px 14px}
.pchange input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.pctl{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:14px}
.pctl .hint{margin:0;flex:1 1 220px}
.pctl .btn{min-height:44px}
.pctl label{display:flex;flex-direction:column;flex:1 1 240px;min-width:0}
.prange .rrow{grid-template-columns:minmax(0,1fr) auto}
.inp.rng{direction:ltr;text-align:left}[dir=rtl] .inp.rng{text-align:right}
.psplit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:end}
.ptool .g-r,.ptool .g-e{display:none}
.ptool[data-how=pick] .g-r,.ptool[data-how=ranges] .g-r{display:flex}.ptool[data-how=every] .g-e{display:flex}
.ptool .g-rr,.ptool[data-how=ranges] .g-rp{display:none}.ptool[data-how=ranges] .g-rr{display:inline}
.ptool[data-how=ranges] #g-apply{display:none}.ptool[data-how=ranges] .prange .rrow{grid-template-columns:1fr}
.psum{margin:12px 0 0;font-weight:700;color:var(--ink-3);min-height:1.6em}
.pgrid{margin-top:10px}
.pgrid .pg{cursor:default;padding:6px}
[data-mode=organize] .pgrid .pg{cursor:grab}
.pgface{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:pointer;position:relative;border-radius:8px;font:inherit}
.pgface:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.pgimg img{box-shadow:0 1px 4px rgba(11,18,21,.18);background:#fff}
.pgimg img:not([src]){visibility:hidden}
.pgmark{position:absolute;inset:0;border-radius:8px;display:none;place-items:center;font-size:42px;font-weight:700}
[data-mode=delete] .pg.on .pgmark{display:grid;background:rgba(180,40,30,.52);color:#fff}
[data-mode=delete] .pg.on .pgmark::after{content:"✕"}
[data-mode=delete] .pg.on{border-color:var(--err)}
[data-mode=split] .pg.on .pgmark{display:grid;background:rgba(47,85,99,.42);color:#fff}
[data-mode=split] .pg.on .pgmark::after{content:"✓"}
[data-mode=split] .pg.on{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-xl)}
.ptool .bar,.stool .bar,.xtool .bar{margin-top:16px}
.mlist{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.mlist:empty{display:none}
.mitem{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--white);border:1px solid var(--mist);border-radius:14px;padding:10px 12px;cursor:grab}
.mitem.dragging{opacity:.4}
.mthumb{width:58px;height:74px;border-radius:6px;background:#eef2f3;display:grid;place-items:center;overflow:hidden}
.mthumb img{width:100%;height:100%;object-fit:contain}
.mthumb img:not([src]),.mthumb img[src="data:,"]{visibility:hidden}
.mmeta{display:flex;flex-direction:column;gap:3px;min-width:0}
.mname{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mmeta small{color:var(--muted);font-size:13.5px}
.msel{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-3);margin-top:2px}
.msel .inp{padding:6px 10px;font-size:14.5px;max-width:190px;min-width:0}
.mitem .pgbtns{margin:0;flex-direction:column}
@media (max-width:480px){.mitem{grid-template-columns:48px minmax(0,1fr)}.mthumb{width:48px;height:62px}.mitem .pgbtns{grid-column:1/-1;flex-direction:row;justify-content:flex-end}}
.drop+.mlist:not(:empty){margin-top:14px}
.sgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:22px;margin-top:16px;align-items:start}
.sopts{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.sopts label{display:flex;flex-direction:column;min-width:0}
.sopts .inp{font-size:15.5px;padding:10px 12px}
.sopts .hint{grid-column:1/-1;margin:0}
.sopts input[type=range]{margin-top:12px;accent-color:var(--teal)}
.sopts output{font-weight:500;color:var(--muted)}
.sopts small{color:var(--muted);font-size:13px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stool .s-i{display:none}.stool[data-kind=image] .s-i{display:flex}.stool[data-kind=image] .s-t{display:none}
.spvw{position:sticky;top:12px}
.spager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.spager .btn{min-height:38px;padding:6px 12px;font-size:14.5px}
.spager span{font-weight:700;color:var(--ink-3);font-size:14.5px}
.spv{background:#eef2f3;border-radius:12px;padding:10px;display:grid;place-items:center;min-height:240px}
.spage{max-width:100%;height:auto;max-height:70vh;box-shadow:0 2px 10px rgba(11,18,21,.18);background:#fff}
.xgrid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px;margin-top:16px;align-items:start}
.xside{display:flex;flex-direction:column;gap:12px}
.xtabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--paper);border:1px solid var(--mist);border-radius:12px;padding:4px}
.xtabs label{display:block;cursor:pointer}
.xtabs input{position:absolute;opacity:0;pointer-events:none}
.xtabs span{display:block;text-align:center;padding:9px 6px;border-radius:9px;font-weight:700;font-size:14.5px;color:var(--ink-3)}
.xtabs input:checked+span{background:var(--white);color:var(--teal-d);box-shadow:0 1px 4px rgba(11,18,21,.12)}
.xtabs input:focus-visible+span{outline:2px solid var(--teal)}
.xtool .x-upload{display:none}.xtool[data-how=upload] .x-upload{display:block}.xtool[data-how=upload] .x-draw{display:none}
.xpad{display:block;width:100%;height:190px;background:#fff;border:1.5px dashed #c3d3d8;border-radius:14px;touch-action:none;cursor:crosshair}
.xpadbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
.xpadbar .inp{padding:8px 10px;font-size:15px}
.xchk{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:14.5px}
.xchk input{width:18px;height:18px;accent-color:var(--teal)}
.xsigpv{min-height:0;display:grid;place-items:center;background:repeating-conic-gradient(#eef2f3 0 25%,#fff 0 50%) 0 0/16px 16px;border-radius:10px}
.xsigpv:empty{display:none}
.xsigpv img{max-width:100%;max-height:90px;padding:8px}
.xtext .rrow{grid-template-columns:minmax(0,1fr) auto}
.xstage{position:relative;background:#eef2f3;border-radius:12px;padding:10px;min-height:260px;user-select:none;-webkit-user-select:none}
.xpage{display:block;width:100%;height:auto;background:#fff;box-shadow:0 2px 10px rgba(11,18,21,.18)}
.xitem{position:absolute;touch-action:none;cursor:move;outline:1.5px dashed var(--teal);outline-offset:1px;background:rgba(68,110,125,.06)}
.xitem img{width:100%;height:100%;display:block;pointer-events:none}
.xdel{position:absolute;top:-13px;inset-inline-end:-13px;width:26px;height:26px;border-radius:50%;border:0;background:var(--err);color:#fff;font:700 13px/1 var(--font);cursor:pointer;display:grid;place-items:center}
.xsize{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;border-radius:50%;background:var(--teal);border:2px solid #fff;cursor:nwse-resize;touch-action:none}
.xbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.xbar span{font-weight:700;color:var(--ink-3)}
.xbar .btn{min-height:40px;padding:8px 14px;font-size:14.5px}
.nothumb .xpage,.nothumb .spage{display:none}
@media (max-width:860px){.sgrid,.xgrid{grid-template-columns:1fr}.spvw{position:static}.psplit{grid-template-columns:1fr}}
@media (max-width:480px){.sopts{grid-template-columns:1fr 1fr;gap:10px}.pfile{flex-wrap:wrap}.pfile .pchange{flex:1 1 100%}
.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pgrid .pgbtns{flex-wrap:wrap;gap:3px}.pgrid .pgbtns button{width:25px;height:28px}}
/* /pdf tools */
/* business tools */
.c-amber{background:#fdf0d5;color:#8a5a0b}
.mtool .m-pct,.mtool .m-k,.mtool .m-g,.mtool .m-q{display:none}
.mtool[data-mode=price] .m-price{display:block}.mtool:not([data-mode=price]) .m-price{display:none}
.mtool:not([data-mode=price]) .m-pct{display:block}.mtool[data-mode=margin] .m-m{display:inline}.mtool[data-mode=markup] .m-m{display:none}.mtool[data-mode=markup] .m-k{display:inline}
.mtool:has(#p-vat:checked) .m-g{display:flex}
.mtool .m-v,.mtool:has(#p-vat:checked) .m-nv{display:none}.mtool:has(#p-vat:checked) .m-v{display:inline}.mtool.haveqty .m-q{display:flex}
.mtool.loss #r-profit{color:var(--err)}
.mchk{display:flex;align-items:center;gap:10px;margin-top:16px;font-weight:600;font-size:15px;cursor:pointer}
.mchk input{width:20px;height:20px;flex:none;accent-color:var(--teal)}
.result.dim .lines b,.result.dim .calcline{opacity:.35}
.calcline span{display:inline-block}
.dtool .d-b,.dtool .d-q{display:none}
.dtool[data-mode=between] .d-b,.dtool[data-mode=original] .d-b{display:block}.dtool[data-mode=between] .d-p,.dtool[data-mode=original] .d-a{display:none}
.dtool[data-mode=double] .d-q{display:block}
.qgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:24px;align-items:start}
.qbox{border:1px solid var(--mist);border-radius:14px;padding:12px 14px;margin-bottom:12px;background:var(--white)}
.qbox summary{font-weight:700;cursor:pointer;padding:2px 0}
.qbox[open] summary{margin-bottom:10px}
.qbt{display:block;margin-bottom:8px}
.qf{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qf label{display:flex;flex-direction:column;min-width:0}
.qf label.mchk{flex-direction:row;margin-top:4px}
.qf label:has(textarea),.qf .qwide,.qlogo-row{grid-column:1/-1}
.qtool .inp{font-size:15.5px;padding:10px 12px}
.qtool textarea.inp{min-height:0;line-height:1.6}
.qtool input[type=date].inp{font-size:15.5px;min-height:44px}
.qlogo-row{display:flex;gap:8px;flex-wrap:wrap}.qnologo{display:none;min-height:42px;padding:8px 14px}.haslogo .qnologo{display:inline-flex}
.qrowh,.qrow{display:grid;grid-template-columns:minmax(0,1fr) 62px 96px 32px;gap:6px;align-items:center}
.qrowh{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:4px}
.qitems{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.qn{text-align:center}
.qdel{width:32px;height:32px;border-radius:8px;border:1px solid var(--mist);background:var(--paper);cursor:pointer;font:600 14px/1 var(--font);color:var(--ink)}
.qdel:hover{border-color:var(--err);background:var(--err-bg);color:var(--err)}
.qaddb{margin:8px 0 12px;min-height:40px;padding:8px 14px}
.qdisc{margin-bottom:6px}
.qtool .actions .btn-main{flex:1 1 auto}
.qwarn{margin:0 0 14px}
.qpv{position:sticky;top:12px}
.qdoc{background:#fff;color:#111;border:1px solid var(--mist);border-radius:4px;box-shadow:0 6px 24px -12px rgba(11,18,21,.35);padding:28px 26px;font-size:13px;line-height:1.6;min-height:560px;text-align:start}
.qhead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;border-bottom:2px solid #2f5563;padding-bottom:14px}
.qlogo{max-width:96px;max-height:72px;object-fit:contain}
.qfrom b{display:block;font-size:16px}.qfrom span{display:block;color:#444;font-size:12px}
.qtitle{text-align:end}.qtitle h2{margin:0;font-size:22px;color:#2f5563}
.qtitle dl{display:grid;grid-template-columns:auto auto;gap:1px 10px;margin:6px 0 0;font-size:12px}.qtitle dt{color:#666}.qtitle dd{margin:0;font-weight:600}
.qh{display:block;color:#666;font-size:10.5px;font-weight:400}
.qto{margin:16px 0;padding:10px 12px;background:#f4f7f8;border-radius:8px}.qto>*{display:block}.qto>span:first-child{font-size:11px;color:#777}.qto span{color:#444}
.qtable{width:100%;border-collapse:collapse}
.qtable th{background:#2f5563;color:#fff;font-weight:600;padding:7px 8px;text-align:start;font-size:12px}
.qtable td{border-bottom:1px solid #e3e8ea;padding:7px 8px;vertical-align:top}
.qtable .n,.qtable th:nth-child(n+3){text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.qtable td:first-child,.qtable th:first-child{width:28px;color:#666}
.qnone{text-align:center!important;color:#999}
.qsum{margin-inline-start:auto;margin-top:10px;min-width:56%;border-collapse:collapse}
.qsum th{text-align:start;font-weight:500;color:#444;padding:5px 8px}.qsum td{padding:5px 8px;text-align:end;white-space:nowrap;font-variant-numeric:tabular-nums}
.qsum .qtot th,.qsum .qtot td{font-weight:700;font-size:15px;border-top:2px solid #2f5563;color:#111}
.qnotes{margin-top:18px;border-top:1px solid #e3e8ea;padding-top:10px}.qnotes p{margin:4px 0 0;color:#333}
@media (max-width:860px){.qgrid{grid-template-columns:1fr}.qpv{position:static}}
@media (max-width:480px){.qf{grid-template-columns:1fr}.qrowh{display:none}.qrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px;padding-bottom:6px;border-bottom:1px dashed var(--mist)}.qrow input[data-k=d]{grid-column:1/-1}
.qdoc{padding:16px 12px;font-size:11.5px;min-height:0}.qhead{grid-template-columns:minmax(0,1fr) auto}.qlogo{grid-column:1/-1;max-height:56px}.qtable th,.qtable td{padding:5px 4px}.qsum{min-width:0;width:100%}}
@media print{#print-area>div>.qdoc{width:190mm;border:0;box-shadow:none;border-radius:0;padding:0;min-height:0;font-size:11pt}
#print-area .qdoc *{-webkit-print-color-adjust:exact;print-color-adjust:exact}#print-area>div:has(.qdoc){display:block;padding:0}}
/* /business tools */
/* image tools 2 */
.status.busy{display:block;color:var(--ink-3);background:var(--paper)}
.pchange{position:relative;overflow:hidden;cursor:pointer;min-height:42px;padding:8px 14px}
.pchange input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.trow{display:flex;flex-direction:column;margin-top:12px;min-width:0}
.trow input[type=range]{width:100%;accent-color:var(--teal);direction:ltr}
.trow output{font-weight:500;color:var(--muted)}
.kgrid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:22px;align-items:start}
.kstage{height:min(64vh,560px);min-height:300px;border-radius:14px;overflow:hidden;background:#1d2a30}
.kstage img{display:block;max-width:100%}
.kround .cropper-view-box,.kround .cropper-face{border-radius:50%}
.kround .cropper-view-box{outline:0;box-shadow:0 0 0 1px #39f}
.kside{display:flex;flex-direction:column;min-width:0}
.kratio{grid-template-columns:repeat(4,minmax(0,1fr))}
.kratio label{padding:7px 4px}.kratio b{font-size:13.5px}
.kbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.kb{min-height:44px;flex:1 1 0;min-width:40px;max-width:58px;padding:0}
.kbtns{flex-wrap:nowrap}
.kb .ico{width:20px;height:20px}
.kdims{margin:12px 0 0;color:var(--ink-3);font-size:15px}
.kdims b{font-variant-numeric:tabular-nums}
.kout{display:flex;flex-direction:column;margin-top:10px}
.kout .inp,.cvopts .inp,.tsave .inp,.tblank .inp{font:600 15.5px/1.4 var(--font);letter-spacing:0;padding:10px 12px;direction:inherit;text-align:start}
#k-small:empty{display:none}
.kside .btn-main{margin-top:14px;flex:none}
.kmore{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.kmore>*{flex:1 1 auto}
.cvopts{grid-template-columns:repeat(3,minmax(0,1fr))}
.img-item .inf{font-size:13px;color:var(--muted)}
.img-item .inf .px{margin-inline-end:8px}
.cbg{display:flex;align-items:center;gap:10px;min-height:46px}
.cbg small{color:var(--muted);font-size:13px}
.imt input[type=color]{width:46px;height:40px;padding:2px;border:1.5px solid var(--mist);border-radius:10px;background:var(--white);cursor:pointer;flex:none}
.tblank{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;justify-content:center}
.tblank span{font-weight:600;color:var(--ink-3)}
.tblank .inp{width:auto;min-width:0;flex:0 1 230px}
.tgrid2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
.tstage{position:sticky;top:12px;text-align:center}
#t-cv{display:block;margin:0 auto;max-width:100%;height:auto;border-radius:10px;box-shadow:0 6px 18px -8px rgba(11,18,21,.35);touch-action:none;cursor:move;background:repeating-conic-gradient(#eef2f3 0 25%,#fff 0 50%) 0 0/16px 16px}
#t-cv:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.tside{min-width:0}
.tlayers{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.ttabs{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto;min-width:0}
.ttab{font:600 14px/1.3 var(--font);border:1.5px solid var(--mist);background:var(--white);color:var(--ink-3);border-radius:10px;padding:8px 12px;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ttab[aria-pressed=true]{border-color:var(--teal);background:var(--teal-xl);color:var(--teal-d)}
.tlayers .btn{min-height:40px;padding:6px 14px;font-size:15px}
.ttext{font:500 17px/1.6 var(--font);letter-spacing:0;resize:vertical;height:86px;min-height:60px;direction:inherit;text-align:start}
.tfonts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:212px;overflow:auto;padding:2px}
.tfont{font-size:17px;line-height:1.4;border:1.5px solid var(--mist);background:var(--white);color:var(--ink);border-radius:10px;padding:8px 4px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-height:46px}
.tfont[aria-pressed=true]{border-color:var(--teal);background:var(--teal-xl)}
.tline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.tline>.sub{margin:0;min-width:56px}
.tline .trow{flex:1 1 160px;margin-top:0}
.tsw{display:flex;flex-wrap:wrap;gap:6px}
.tsw button{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--mist);cursor:pointer;padding:0}
.talign{display:flex;gap:6px}
.talign .btn,.tline>.btn{min-height:40px;padding:6px 10px}
.talign .btn[aria-pressed=true]{border-color:var(--teal);background:var(--teal-xl)}
.tline>.btn{font-size:14.5px}
.tdel{margin-top:14px;color:var(--err);min-height:42px;width:100%}
.tsave{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--mist)}
.tsave label{grid-column:1/-1;display:flex;flex-direction:column}
.tsave .btn-main{grid-column:1/-1}
.tsave .btn{min-height:46px}
.tsave label.pchange{grid-column:auto}
.tsave #t-new{grid-column:1/-1}
.sgrid2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:22px;align-items:start}
.sgpv{border-radius:14px;padding:16px;min-height:220px;display:flex;align-items:center;justify-content:center;border:1px solid var(--mist)}
.sgpv[data-bg=check]{background:repeating-conic-gradient(#e8edef 0 25%,#fff 0 50%) 0 0/18px 18px}
.sgpv[data-bg=white]{background:#fff}
.sgpv[data-bg=dark]{background:#1d2a30}
.sgpv canvas{display:block;max-width:100%;height:auto}
.sside{display:flex;flex-direction:column;min-width:0}
.sside .trow{margin-top:0}
.sink{grid-template-columns:repeat(4,minmax(0,1fr))}
#s-color{margin-top:8px}
.sside .btn-main{flex:none}
@media (max-width:860px){.kgrid,.tgrid2,.sgrid2{grid-template-columns:1fr}.kstage{height:min(58vh,460px)}.tstage{position:static}.cvopts{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.kratio,.sink{grid-template-columns:repeat(2,minmax(0,1fr))}.tfonts{grid-template-columns:repeat(3,minmax(0,1fr))}.cvopts{grid-template-columns:1fr}.tsave{grid-template-columns:1fr}}
/* /image tools 2 */
/* students tools */
.stu .stu-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.stu .stu-top .tabs{margin-bottom:0}.stu .stu-top .lbl{margin:0}
.stu .stu-snd{min-height:40px;padding:6px 12px;font-size:14px;flex:none}.stu .stu-snd[aria-pressed=false]{color:var(--muted)}
.stu .stu-mt{margin-top:16px}.stu .stu-pad{padding:0 16px 14px}.stu .stu-wide{grid-column:1/-1}
.stu .stu-addb{margin-top:8px;min-height:42px;padding:8px 16px;font-size:15px}
.stu .stu-del{width:34px;height:34px;flex:none;border-radius:9px;border:1px solid var(--mist);background:var(--paper);cursor:pointer;font:600 18px/1 var(--font);color:var(--muted)}
.stu .stu-del:hover{border-color:var(--err);background:var(--err-bg);color:var(--err)}
.stu .stu-danger:hover{border-color:var(--err);color:var(--err)}
.stu .inp.bad,.stu li.bad .inp{border-color:var(--err)}
.stu .inp::placeholder{color:#9aa7ac;font-weight:400;opacity:1}
.stu .stu-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.stu .stu-rows .inp{font-size:16px;padding:10px 10px;min-height:46px}
.stu .stu-rows select.inp{padding:8px 6px;font-size:15px}
.stu .stu-note{margin-top:12px;font-size:15px;font-weight:600;line-height:1.6;text-align:start}
.stu .stu-note.ok{color:var(--ok)}.stu .stu-note.no{color:var(--err)}.stu .stu-note:empty{display:none}
.stu .stu-bar2{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px}
.stu .stu-bar2 label{display:flex;flex-direction:column;min-width:110px}
.stu .stu-bar2 .btn{min-height:46px;padding:8px 14px;font-size:15px}
.stu .stu-opts3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stu .stu-opts3 label{display:flex;flex-direction:column;min-width:0}
.stu select.inp{min-height:46px;padding:9px 10px}
.stu .stu-kopts{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 4px}
.stu .stu-linkbox{margin-top:14px;padding:14px;border:1px dashed var(--teal-l);border-radius:14px;background:var(--paper)}
.stu .stu-linkbox .inp{font-size:14px;padding:10px 12px}
.stu .stu-warn{margin-top:10px;font-size:14px;line-height:1.7;color:var(--ink-3);background:#fff4e5;border:1px solid #f2d3a8;border-radius:12px;padding:10px 12px}
.stu .stu-warn b{color:#a24a10}
/* GPA */
.stu-g .stu-ghead,.stu-g .stu-grow{display:grid;grid-template-columns:minmax(0,1.2fr) 70px minmax(0,1.5fr) 34px;gap:6px;align-items:center}
.stu-g .stu-ghead{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:4px}
.stu-g .stu-prev{margin-top:16px}
.stu-g .tgrid .stu-prev{order:0}
.stu-g .ogrid .inp{font-size:17px;padding:10px 12px}
.stu-g:not(.g-hasprev) .g-cumrow{display:none}
.stu-g.g-us .g-band{display:none}
.stu-g .lines li.stu-cum{background:var(--teal-d);border-color:var(--teal-d)}
/* grade calculator */
.stu-r .stu-rhead,.stu-r .stu-rrow{display:grid;grid-template-columns:minmax(0,1.4fr) 64px 64px 64px 34px;gap:6px;align-items:center}
.stu-r .stu-rhead{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:4px}
.stu-r .stu-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.stu-r .stu-quick .btn{min-height:36px;padding:4px 10px;font-size:13.5px;direction:ltr}
.stu-r .stu-letter{display:inline-block;font-size:.7em;color:#a24a10;background:#fde9d9;border-radius:10px;padding:0 10px;vertical-align:middle}
.stu-r .row2 .inp{font-size:18px;padding:11px 12px}
.stu .stu-mini{width:100%;border-collapse:collapse;margin-top:8px;font-size:15px;background:rgba(255,255,255,.7);border-radius:12px;overflow:hidden}
.stu .stu-mini th,.stu .stu-mini td{padding:7px 10px;border-bottom:1px solid #dbe5e8;text-align:center}
.stu .stu-mini th{font-size:13px;color:var(--muted)}
/* multiplication table */
.stu-m:not([data-mode=chart]) .m-chart,.stu-m:not([data-mode=one]) .m-one,.stu-m:not([data-mode=quiz]) .m-quiz{display:none}
.stu .stu-ttwrap{overflow-x:auto;direction:ltr;-webkit-overflow-scrolling:touch}
.stu-tt{border-collapse:separate;border-spacing:3px;margin:0 auto;font-variant-numeric:tabular-nums;direction:ltr}
.stu-tt th,.stu-tt td{min-width:44px;height:40px;text-align:center;border-radius:8px;font-size:17px;padding:0 2px}
@media (max-width:1100px){.stu-tt th,.stu-tt td{min-width:34px;height:34px;font-size:15px}}
.stu-tt th{background:#fde9d9;color:#a24a10;font-weight:700}
.stu-tt th.x{background:none;color:var(--muted)}
.stu-tt td{background:var(--paper);color:var(--ink);cursor:pointer;transition:background .12s}
.stu-tt td.sq{background:#fff3e6;font-weight:700}
.stu-tt td.hl,.stu-tt th.hl{background:#ffe0c2}
.stu-tt td.on{background:#e8590c;color:#fff;font-weight:700;transform:scale(1.08)}
.stu .stu-say{text-align:center;font-size:22px;min-height:36px;margin-bottom:6px;color:var(--ink-3)}
.stu .stu-say b{color:#e8590c;font-size:26px}
.stu-one{max-width:420px;margin:0 auto}
.stu-one h3{text-align:center;margin-bottom:10px}
.stu-one ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.stu-one li{display:flex;justify-content:space-between;gap:10px;background:var(--paper);border-radius:10px;padding:6px 16px;font-size:22px;font-variant-numeric:tabular-nums}
.stu-one li b{color:#e8590c}
.stu .stu-all{font-size:14px;color:var(--teal-d);padding:2px 8px}
.stu .stu-nums{grid-template-columns:repeat(6,minmax(0,1fr))}
.stu .stu-nums b{direction:ltr}
/* drill */
.stu-drill{max-width:560px;margin:6px auto 0;text-align:center}
.stu-dhead{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700;color:var(--ink-3);font-size:15px}
.stu-score{display:inline-flex;align-items:center;gap:4px;color:#e8590c}
.stu-score svg,.stu-stars svg{width:20px;height:20px;fill:currentColor}
.stu-time{font-variant-numeric:tabular-nums}
.stu-bar{height:8px;background:var(--mist);border-radius:99px;overflow:hidden;margin:10px 0 4px}
.stu-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f59f00,#e8590c);border-radius:99px;transition:width .3s}
.stu-q{font-size:clamp(34px,8vw,52px);font-weight:700;color:var(--ink);margin:18px 0 14px;line-height:1.3;font-variant-numeric:tabular-nums}
.stu-ans{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.stu-ans .stu-in{max-width:200px;text-align:center;font-size:30px;padding:10px}
.stu-ans .btn-main{flex:0 0 auto;min-width:120px}
.stu-choices{display:flex;gap:12px;justify-content:center}
.stu-choices .btn{min-width:84px;min-height:64px;font-size:30px}
.stu-choices .btn.ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.stu-choices .btn.no{background:var(--err-bg);border-color:var(--err);color:var(--err)}
.stu-fb{min-height:30px;margin-top:12px;font-weight:700;font-size:18px}
.stu-fb.ok{color:var(--ok)}.stu-fb.no{color:var(--err)}
.stu-dfoot{margin-top:6px}.stu-dfoot .linkbtn{color:var(--muted)}
.stu-end h3{font-size:24px;margin-top:6px}.stu-msg{color:var(--ink-3);margin-top:4px}.stu-up{color:var(--err);font-weight:700}
.stu-stars{display:flex;justify-content:center;gap:6px}
.stu-stars span{color:#e6eaec}.stu-stars span.on{color:#f59f00}
.stu-stars svg{width:44px;height:44px}
.stu-end .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.stu-review{margin-top:16px;text-align:start;border:1px solid var(--mist);border-radius:14px;padding:8px 14px}
.stu-review summary{font-weight:700;cursor:pointer}
.stu-review ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.stu-review li{display:flex;flex-wrap:wrap;gap:4px 16px;background:var(--paper);border-radius:10px;padding:6px 12px;font-size:15px}
.stu-review li>span:first-child{font-weight:700;min-width:110px}
.stu-review b.ok{color:var(--ok)}.stu-review b.no{color:var(--err)}
/* math */
.stu .stu-ops b{font-size:16px}
.stu .stu-lv{grid-template-columns:repeat(4,minmax(0,1fr))}
.stu .stu-lv span{display:block;font-size:12.5px;color:var(--muted);text-align:start}
/* fractions */
.stu-f:not([data-mode=see]) .f-see,.stu-f:not([data-mode=practice]) .f-practice,.stu-f:not([data-mode=calc]) .f-calc{display:none}
.stu .stu-fin{display:grid;gap:8px;justify-items:center;max-width:300px;margin:0 auto}
.stu .stu-fpart{display:flex;flex-direction:column;align-items:center;width:100%}
.stu .stu-fline{width:70%;height:4px;background:var(--ink);border-radius:4px}
.stu .stu-stepper{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:8px;width:100%}
.stu .stu-stepper .inp{text-align:center;font-size:30px;padding:6px}
.stu .stu-step{min-height:52px;padding:0;font-size:26px}
.stu-pie path.f,.stu-pie circle.f,.stu-fbar rect.f{fill:#f59f00}
.stu-pie path.e,.stu-pie circle.e,.stu-fbar rect.e{fill:#fff}
.stu-pie path,.stu-pie circle,.stu-fbar rect{stroke:#a24a10;stroke-width:1.5}
.stu .stu-pies{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0}
.stu .stu-fbar{width:100%;height:44px;display:block;margin:6px 0}
.stu .stu-fbig{font-size:34px}
.stu-fr{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 2px}
.stu-fr b{font-weight:700;border-bottom:2px solid currentColor;padding:0 4px}
.stu-fr i{font-style:normal;font-weight:700;padding:0 4px}
.stu-mx{display:inline-flex;align-items:center;gap:2px}
.stu .stu-facts li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.stu .stu-facts li>span:first-child{color:var(--muted);font-size:14px}
.stu .stu-facts .stu-fr{font-size:16px}
.stu-qf{display:inline-flex;align-items:center;gap:10px}
.stu-q .stu-fr{font-size:.85em}
.stu-qm{color:#e8590c}
.stu-qpies{margin-top:6px}
.stu .stu-kinds{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.stu .stu-calc{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);gap:10px;max-width:520px;margin:0 auto}
.stu .stu-calc .inp{text-align:center;font-size:24px}
.stu .stu-cres{margin-top:14px}
.stu .stu-cres .r-main{font-size:30px}.stu .stu-cres small{font-size:18px;color:var(--muted)}
.stu .stu-steps{text-align:start;margin:14px 0 0;padding-inline-start:22px;display:grid;gap:8px;font-size:15.5px;color:var(--ink-3)}
.stu .stu-steps li>span{display:block}
[dir=rtl] .stu .stu-steps li>span[dir=ltr]{text-align:right}.stu .stu-steps .stu-fr{font-size:15px}
/* flashcards */
.stu-k:not([data-mode=edit]) .k-edit,.stu-k:not([data-mode=study]) .k-study{display:none}
.stu .stu-deckbar{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--mist)}
.stu .stu-deckbar label{display:flex;flex-direction:column;flex:1 1 200px;min-width:0}
.stu .stu-deckbar .btn{min-height:46px;padding:8px 14px;font-size:15px}
.stu .stu-klist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.stu-krow{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 34px;gap:8px;align-items:start}
.stu-krow .inp,.stu-krow textarea.inp.txt{min-height:0;font-size:16px;padding:9px 11px}
.stu-kn{color:var(--muted);font-weight:700;text-align:center;padding-top:10px}
.stu .stu-got{background:#fff4e5;border:1px solid #f2d3a8;border-radius:14px;padding:12px 14px;margin-bottom:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}
.stu .stu-got .btn{flex:none;min-height:44px}
.stu .stu-kprog{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--ink-3);max-width:560px;margin:0 auto}
.stu .stu-kprog .stu-bar{flex:1;margin:0}
.stu .stu-card{display:block;width:100%;max-width:560px;height:260px;margin:14px auto 6px;perspective:1200px;background:none;border:0;padding:0;cursor:pointer;font:inherit}
.stu-cin{position:relative;display:block;width:100%;height:100%;transition:transform .45s;transform-style:preserve-3d}
.stu-card.on .stu-cin{transform:rotateY(180deg)}
.stu-cf,.stu-cb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;border-radius:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden;font-size:clamp(20px,4vw,28px);font-weight:700;line-height:1.5;overflow:auto;white-space:pre-wrap;word-break:break-word;text-align:center}
.stu-cf{background:#fff;border:2px solid #f2d3a8;color:var(--ink);box-shadow:0 10px 30px -14px rgba(162,74,16,.45)}
.stu-cb{background:linear-gradient(160deg,#fde9d9,#fff6ec);border:2px solid #f59f00;color:#7a3507;transform:rotateY(180deg)}
.stu .stu-kbtns{max-width:560px;margin-inline:auto}
.stu .stu-kbtns .btn{flex:1 1 0}
.stu .stu-no{color:var(--err)}
.stu .stu-kend{max-width:560px;margin:10px auto 0}
.stu .stu-kend h3{margin:6px 0}
/* quiz maker */
.stu-z[data-view=build] .z-take,.stu-z[data-view=take] .z-build{display:none}
.stu .stu-zmeta{display:grid;gap:8px}
.stu .stu-zmeta textarea.inp{min-height:0}
.stu .stu-zqs{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.stu-zq{border:1px solid var(--mist);border-radius:16px;padding:12px 14px;background:var(--white);min-width:0}
.stu-zqh{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.stu-zqh b{flex:1;min-width:0}
.stu .actions .btn-alt{white-space:normal}
.stu-zqh select.inp{width:auto;max-width:100%;min-width:0;flex:0 1 auto;min-height:40px;font-size:14px;padding:6px 8px}
.stu-zq textarea.inp{min-height:0;font-size:16px}
.stu-zopts{display:grid;gap:6px;margin-top:8px}
.stu-zopts>.sub{margin:0}
.stu-zo{display:grid;grid-template-columns:26px minmax(0,1fr) 34px;gap:6px;align-items:center}
.stu-zo input[type=radio]{width:22px;height:22px;accent-color:var(--ok);margin:0 auto}
.stu-zo .inp{font-size:15.5px;padding:8px 10px}
.stu-zo.tf{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;justify-self:start;padding:4px 0}
.stu-zo.tf input[type=radio]{margin:0}
.stu .stu-zadd{color:var(--teal-d);justify-self:start}
.stu .stu-zadds{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.stu .stu-zadds .btn{min-height:44px;padding:8px 14px;font-size:15px;flex:1 1 auto}
.stu .stu-ttitle{font-size:clamp(22px,3vw,28px)}
.stu .stu-tdesc{color:var(--ink-3);margin-top:6px;white-space:pre-wrap}
.stu .stu-tname{display:flex;flex-direction:column;max-width:360px;margin-top:14px}
.stu .stu-tbar:has(#z-back[hidden]){display:none}.stu .stu-tbar{margin-bottom:12px}.stu .stu-tbar .btn{min-height:42px;padding:6px 14px}
.stu .stu-tform{display:grid;gap:12px;margin-top:16px}
.stu-tq{border:1px solid var(--mist);border-radius:16px;padding:12px 14px;margin:0;min-width:0}
.stu-tq legend{display:flex;gap:10px;align-items:baseline;font-weight:700;font-size:17px;color:var(--ink);padding:0 4px;white-space:pre-wrap;max-width:100%}
.stu-tn{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#fde9d9;color:#a24a10;font-size:14px}
.stu-to{display:flex;align-items:center;gap:10px;padding:9px 12px;margin-top:6px;border:1.5px solid var(--mist);border-radius:12px;cursor:pointer}
.stu-to:has(input:checked){border-color:var(--teal);background:var(--teal-xl)}
.stu-to input{width:20px;height:20px;flex:none;accent-color:var(--teal)}
.stu-to.right{border-color:var(--ok);background:var(--ok-bg)}
.stu-to.wrong{border-color:var(--err);background:var(--err-bg)}
.stu-tq.ok legend .stu-tn{background:var(--ok-bg);color:var(--ok)}.stu-tq.no legend .stu-tn{background:var(--err-bg);color:var(--err)}
.stu-tfb{margin-top:8px;font-size:14.5px;color:var(--ink-3)}
.stu .stu-zres{margin-top:16px}.stu .stu-rname{font-weight:700;color:var(--ink-3)}
/* typing test */
.stu .stu-ybar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px}
.stu .stu-ybar label{display:flex;flex-direction:column;min-width:120px}
.stu .stu-ylive{display:flex;gap:8px;margin-inline-start:auto}
.stu .stu-ylive div{min-width:78px;text-align:center;background:var(--paper);border:1px solid var(--mist);border-radius:12px;padding:4px 8px}
.stu .stu-ylive b{display:block;font-size:20px;color:var(--ink);font-variant-numeric:tabular-nums}
.stu .stu-ylive span{font-size:12px;color:var(--muted)}
.stu-y.y-run .stu-ylive div:first-child b{color:#e8590c}
.stu .stu-ytext{position:relative;height:calc(2.1em * 4 + 24px);overflow:hidden;font-size:22px;line-height:2.1;padding:12px 16px;background:var(--paper);border:1px solid var(--mist);border-radius:14px;color:#8a979c;word-break:break-word;cursor:text}
.stu .stu-ytext[dir=ltr]{font-family:ui-monospace,"SF Mono",Consolas,monospace;font-size:20px;letter-spacing:.01em}
.stu-ytext span.ok{color:var(--ink)}
.stu-ytext span.no{color:var(--err);background:var(--err-bg);border-radius:3px}
.stu-ytext span.cur{box-shadow:inset 0 -3px 0 #e8590c;color:var(--ink)}
.stu textarea.stu-yin{margin-top:10px;min-height:0;font:500 20px/1.6 var(--font);letter-spacing:0}
.stu textarea.stu-yin[dir=ltr]{font:18px/1.6 ui-monospace,"SF Mono",Consolas,monospace}
.stu .stu-yres{margin-top:16px}
.stu .stu-yres .r-main small{font-size:16px;color:var(--muted)}
@media (max-width:860px){.stu .stu-ylive{margin-inline-start:0;width:100%}.stu .stu-ylive div{flex:1}}
@media (max-width:640px){
  .stu .tabs button{padding:8px 9px;font-size:14.5px}
  .stu .stu-opts3{grid-template-columns:1fr 1fr}
  .stu .stu-lv{grid-template-columns:1fr 1fr}
  .stu .stu-nums{grid-template-columns:repeat(4,minmax(0,1fr))}
  .stu-g .stu-ghead,.stu-r .stu-rhead{display:none}
  .stu-g .stu-grow{grid-template-columns:minmax(0,1fr) 64px 34px;padding-bottom:8px;border-bottom:1px dashed var(--mist)}
  .stu-g .stu-grow [data-k=g]{grid-column:1/3;grid-row:2}
  .stu-r .stu-rrow{grid-template-columns:repeat(3,minmax(0,1fr)) 34px;padding-bottom:8px;border-bottom:1px dashed var(--mist)}
  .stu-r .stu-rrow [data-k=n]{grid-column:1/4}
  .stu-r .stu-rrow [data-k=w]::placeholder{opacity:1}
  .stu-krow{grid-template-columns:minmax(0,1fr) 34px}.stu-kn{display:none}.stu-krow [data-k="1"]{grid-column:1;grid-row:2}
  .stu .stu-card{height:220px}
  .stu-tt{width:100%;table-layout:fixed;border-spacing:1.5px}.stu-tt th,.stu-tt td{min-width:0;height:28px;font-size:12px;border-radius:5px;padding:0;letter-spacing:-.03em}
  .stu-tt.big{width:auto;table-layout:auto}.stu-tt.big th,.stu-tt.big td{min-width:26px}
  .stu .stu-ytext{font-size:19px}.stu .stu-ytext[dir=ltr]{font-size:17px}
  .stu-end .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:380px){.stu-tt th,.stu-tt td{height:24px;font-size:10.5px;border-radius:4px}.stu-tt{border-spacing:1px}.stu .stu-calc{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr)}.stu-choices .btn{min-width:70px}}
/* print sheets (WN.STU.printHtml puts class stu-p on #print-area) */
@media print{
  #print-area.stu-p{display:block!important;direction:inherit;font-family:var(--font);color:#000}
  #print-area.stu-p .stu-sheet{break-after:page;page-break-after:always}
  #print-area.stu-p .stu-sheet:last-child{break-after:auto;page-break-after:auto}
  #print-area.stu-p h2{font-size:20pt;text-align:center;margin:0 0 6mm}
  #print-area.stu-p .stu-tt{width:100%;border-spacing:1.2mm}
  #print-area.stu-p .stu-tt th,#print-area.stu-p .stu-tt td{font-size:11pt;height:9mm;min-width:0;border:1px solid #bbb;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #print-area.stu-p .stu-ones{display:grid;grid-template-columns:repeat(4,1fr);gap:4mm}
  #print-area.stu-p .stu-ones .stu-one h3{font-size:12pt;margin:0 0 2mm}
  #print-area.stu-p .stu-ones .stu-one li{font-size:11pt;padding:.6mm 2mm;background:none;border-bottom:1px solid #ddd;border-radius:0}
  #print-area.stu-p .stu-big .stu-one li{font-size:22pt;padding:2mm 6mm}
  #print-area.stu-p .stu-shead{display:flex;justify-content:space-between;font-size:13pt;margin-bottom:6mm}
  #print-area.stu-p .stu-probs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:7mm 6mm;font-size:15pt;counter-reset:p}
  #print-area.stu-p .stu-probs.wide{grid-template-columns:repeat(3,1fr)}
  #print-area.stu-p .stu-probs li{display:flex;align-items:baseline;gap:2mm;counter-increment:p}
  #print-area.stu-p .stu-probs li::before{content:counter(p) ")";font-size:9pt;color:#777;min-width:6mm}
  #print-area.stu-p .stu-probs li i{flex:1;border-bottom:1px solid #444;min-width:12mm;height:1em}
  #print-area.stu-p .stu-key .stu-probs{font-size:11pt;gap:3mm}
  #print-area.stu-p .stu-pnote{text-align:center;font-size:10pt;color:#555;margin-bottom:4mm}
  #print-area.stu-p .stu-pc{display:grid;grid-template-columns:1fr 1fr;border:1px dashed #888;border-top:0;break-inside:avoid;page-break-inside:avoid}
  #print-area.stu-p .stu-pc:first-child{border-top:1px dashed #888}
  #print-area.stu-p .stu-pc div{min-height:40mm;display:flex;align-items:center;justify-content:center;text-align:center;padding:4mm;font-size:15pt;font-weight:600;white-space:pre-wrap;word-break:break-word}
  #print-area.stu-p .stu-pc div+div{border-inline-start:1px solid #444}
}
/* /students tools */
/* media tools */
.gmed .pchange{position:relative;overflow:hidden;cursor:pointer;min-height:42px;padding:8px 14px}
.gmed .pchange input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.gmed .status.busy{display:block;color:var(--ink-3);background:var(--paper)}
.gmed .mfile{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;padding:12px 14px;border:1px solid var(--mist);border-radius:14px;background:var(--paper)}
.gmed .mfmeta{min-width:0;flex:1 1 200px}
.gmed .mfmeta b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;color:var(--ink)}
.gmed .mfmeta span{display:block;font-size:13.5px;color:var(--muted);text-align:start}
.gmed .mstage{margin-top:14px;min-width:0}
.gmed .mvid{display:block;width:100%;max-height:min(58vh,520px);background:#0b1215;border-radius:14px}
.gmed .maud{display:block;width:100%;margin-top:10px}
.gmed .mnoprev{margin:0;padding:12px 14px;border-radius:12px;background:var(--paper)}
.gmed .mtl{margin-top:14px;padding:14px 11px 4px;user-select:none;-webkit-user-select:none}
.gmed .mtl-track{position:relative;height:40px;border-radius:10px;background:var(--paper);border:1px solid var(--mist);touch-action:none;cursor:pointer}
.gmed .mtl.wave .mtl-track{height:112px;background:#f7fafb}
.gmed .mtl-wave{position:absolute;inset:0;overflow:hidden;border-radius:10px;pointer-events:none}
.gmed .mtl-wave img{display:block;width:100%;height:100%}
.gmed .mtl-sel{position:absolute;top:-1px;bottom:-1px;background:rgba(68,110,125,.16);border-top:3px solid var(--teal);border-bottom:3px solid var(--teal);pointer-events:none}
.gmed .mtl.rm .mtl-sel{background:rgba(180,35,27,.14);border-color:var(--err)}
.gmed .mtl-ph{position:absolute;top:-6px;bottom:-6px;width:2px;margin-left:-1px;background:var(--ink);pointer-events:none}
.gmed .mtl-h{position:absolute;top:50%;width:22px;height:54px;margin:-27px 0 0 -11px;border-radius:9px;border:2px solid #fff;background:var(--teal);box-shadow:0 2px 8px rgba(11,18,21,.35);cursor:ew-resize;touch-action:none;padding:0}
.gmed .mtl.wave .mtl-h{height:96px;margin-top:-48px}
.gmed .mtl-h::after{content:"";position:absolute;left:6px;right:6px;top:35%;bottom:35%;border-left:2px solid rgba(255,255,255,.85);border-right:2px solid rgba(255,255,255,.85)}
.gmed .mtl-h:focus-visible{outline:3px solid rgba(68,110,125,.5);outline-offset:2px}
.gmed .mtl.rm .mtl-h{background:var(--err)}
.gmed .mtimes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;direction:ltr}
.gmed .mtime{min-width:0}
[dir=rtl] .gmed .mtime{direction:rtl}
.gmed .mrow{display:flex;gap:8px}
.gmed .mrow .inp{font:600 17px/1.4 ui-monospace,"SF Mono",Consolas,monospace;letter-spacing:0;padding:10px 12px;min-width:0;flex:1 1 90px;text-align:center}
.gmed .mrow .btn{min-height:46px;padding:6px 12px;font-size:14px;flex:0 1 auto;white-space:nowrap}
.gmed .inp.bad{border-color:var(--err);background:var(--err-bg)}
.gmed .mlen{margin:10px 0 0;color:var(--ink-3);font-size:15px}
.gmed .mlen b{font-variant-numeric:tabular-nums}
.gmed .mplay{margin-top:10px;min-height:44px;padding:8px 16px;font-size:15px}
.gmed .mtop{margin-top:18px}
.gmed .types.sm label{min-height:44px;display:flex;align-items:center;justify-content:center}
.gmed .types.kinds{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.gmed .types.kinds b{direction:inherit;text-align:start}
.gmed .mfield{display:flex;flex-direction:column;margin-top:14px;min-width:0}
.gmed .mfield .inp,.gmed select.inp{font:600 15.5px/1.4 var(--font);letter-spacing:0;padding:10px 12px;direction:inherit;text-align:start}
.gmed .mfield input[type=number].inp{font-family:ui-monospace,"SF Mono",Consolas,monospace;direction:ltr;text-align:start}
.gmed .mgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.gmed .trow input[type=range]{width:100%;accent-color:var(--teal);direction:ltr;margin-top:10px}
.gmed .trow output{font-weight:500;color:var(--muted)}
.gmed .mchk{display:flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;color:var(--ink-3);cursor:pointer}
.gmed .mchk input{width:20px;height:20px;accent-color:var(--teal);flex:none}
.gmed .mcopy{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:10px 12px;border:1.5px solid var(--mist);border-radius:12px;cursor:pointer;font-size:14px;color:var(--muted)}
.gmed .mcopy b{color:var(--ink);font-size:15px}
.gmed .mcopy input{accent-color:var(--teal);width:18px;height:18px;margin-top:3px;flex:none}
.gmed .mcopy:has(input:checked){border-color:var(--teal);background:var(--teal-xl)}
.gmed .mcolor input[type=color]{width:56px;height:42px;padding:2px;border:1.5px solid var(--mist);border-radius:10px;background:var(--white);cursor:pointer}
.gmed .mquick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.gmed .mquick .btn{min-height:40px;padding:6px 12px;font-size:14px;flex:1 1 0}
.gmed .mgo{width:100%;margin-top:18px}
.gmed .mrun{margin-top:16px;padding:14px;border-radius:14px;background:var(--paper);border:1px solid var(--mist)}
.gmed .mbar{height:10px;border-radius:6px;background:var(--mist);overflow:hidden;position:relative}
.gmed .mbar i{display:block;height:100%;width:0;background:var(--teal);border-radius:6px;transition:width .3s}
.gmed .mbar.ind i{width:35%!important;animation:gmedind 1.3s ease-in-out infinite}
@keyframes gmedind{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}
[dir=rtl] .gmed .mbar.ind i{animation-name:gmedindr}
@keyframes gmedindr{0%{transform:translateX(110%)}100%{transform:translateX(-300%)}}
.gmed .mrunrow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
.gmed .mrunrow p{margin:0;font-weight:600;color:var(--ink-3);font-size:15px;min-width:0;flex:1 1 200px}
.gmed .mrunrow b{font-variant-numeric:tabular-nums;color:var(--teal-d)}
.gmed .mrunrow .btn{min-height:42px;padding:6px 16px}
.gmed .mres{margin-top:16px;padding:16px;border-radius:14px;border:1.5px solid var(--teal-l);background:var(--teal-xl)}
.gmed .mres-pv{display:block;max-width:100%;margin:0 auto;border-radius:10px;max-height:60vh;background:#0b1215}
.gmed audio.mres-pv{width:100%;background:none}
.gmed img.mres-pv{background:repeating-conic-gradient(#e8edef 0 25%,#fff 0 50%) 0 0/16px 16px}
.gmed .mres-info{margin:12px 0;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.gmed .mres .btn-main{width:100%}
.gmed .mgood{color:var(--ok);font-weight:700;white-space:nowrap}
.gmed .mwarn{color:var(--err);font-size:14.5px;margin:0 0 12px}
.gmed .mbad{color:var(--err)}
.gmed .mlog{margin-top:8px;font-weight:400}
.gmed .mlog summary{cursor:pointer}
.gmed .mlog pre{white-space:pre-wrap;font-size:12px;max-height:220px;overflow:auto;text-align:left;margin:6px 0 0}
.gmed .mlist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.gmed .mitem{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 12px;border:1px solid var(--mist);border-radius:12px;background:var(--white);flex-wrap:wrap}
.gmed .mi-main{min-width:0;flex:1 1 180px}
.gmed .mi-main b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:var(--ink)}
.gmed .mi-meta,.gmed .mi-st{display:block;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.gmed .mi-act{display:flex;gap:6px;flex-wrap:wrap}
.gmed .mi-act .btn{min-height:40px;padding:6px 10px;font-size:14px}
.gmed .mi-act .btn-main{flex:0 1 auto}
.gmed .mitem.bad{border-color:var(--err);background:var(--err-bg)}
.gmed .mitem.ok{border-color:var(--teal-l)}
.gmed .madd{margin-top:10px;width:100%}
.gmed #m-zipb{margin-top:14px;width:100%}
@media (max-width:640px){.gmed .mtimes{grid-template-columns:1fr}.gmed .mgrid2{grid-template-columns:1fr}}
@media (max-width:380px){.gmed .mrow{flex-wrap:wrap}.gmed .mrow .btn{flex:1 1 100%}}
/* /media tools */
/* finance tools */
.fin .ftop{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 14px;margin-bottom:20px}
.fin .ftop .tabs{margin-bottom:0}
.fin .fcurw{margin-inline-start:auto;display:flex;flex-direction:column;min-width:0}
.fin .fcurw .sub{font-size:13px;margin-bottom:3px}
.fin select.fcur{width:auto;max-width:100%;font-size:15px;padding:8px 12px;min-height:42px}
.fin .money.fu .inp{padding-right:72px}
.fin .money.fu .unit{font-size:15px}
.fin .fterm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,150px);gap:8px}
.fin .fterm select.inp{min-height:100%}
.fin .fseg{display:flex;flex-wrap:wrap;gap:4px;background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:4px}
.fin .fseg label{flex:1 1 140px;position:relative;cursor:pointer}
.fin .fseg input{position:absolute;opacity:0;pointer-events:none}
.fin .fseg span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:42px;padding:6px 10px;border-radius:10px;font-weight:600;font-size:14.5px;line-height:1.35;color:var(--muted)}
.fin .fseg input:checked+span{background:var(--white);color:var(--ink);box-shadow:0 2px 8px -2px rgba(11,18,21,.15)}
.fin .fseg input:focus-visible+span{outline:3px solid rgba(68,110,125,.35)}
.fin .frow2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:20px}
.fin .frow2>.field{margin:0}
.fin .frow2+.field{margin-top:20px}
.fin .frow2 .money .inp{font-size:20px}
.fin .fchk{display:flex;align-items:center;gap:10px;margin-top:16px;font-weight:600;font-size:15px;cursor:pointer;color:var(--ink-3)}
.fin .fchk input{width:20px;height:20px;flex:none;accent-color:var(--teal)}
.fin .fchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.fin .fchip{font:600 14px/1 var(--font);border:1px solid var(--mist);background:var(--white);color:var(--ink-3);border-radius:99px;padding:9px 14px;cursor:pointer;min-height:38px}
.fin .fchip:hover{border-color:var(--teal-l);background:var(--teal-xl)}
.fin input[type=month].inp,.fin input[type=date].inp{font:600 17px/1.4 var(--font);letter-spacing:0;min-height:50px}
.fin .result.dim .lines b,.fin .result.dim .calcline,.fin .result.dim .fsplit{opacity:.35}
.fin .lines li{flex-wrap:wrap;row-gap:2px}
.fin .lines li>span:first-child{min-width:0}
.fin .lines li>span:last-child{white-space:nowrap;margin-inline-start:auto}
.fin .calcline span{display:inline-block}
.fin .factions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fin .result .factions .btn{margin-top:0;width:auto;flex:1 1 auto;min-height:46px;padding:10px 14px;font-size:15px}
.fin .result .factions .btn-main{flex-basis:100%}
.fin .fbarp{display:flex;gap:2px;height:14px;border-radius:7px;overflow:hidden;margin-top:14px;background:var(--white)}
.fin .fbarp i{display:block;height:100%;min-width:0}
.fin .fleg{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:13.5px;color:var(--ink-3);margin-top:8px}
.fin .fleg span{display:inline-flex;align-items:center;gap:6px}
.fin .fleg i{display:inline-block;width:10px;height:10px;border-radius:3px}
.fin .fsched{margin-top:26px;border-top:1px solid var(--mist);padding-top:18px}
.fin .fsh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.fin .fsh h3,.fin .xh{font-size:18px}
.fin .fviews{margin:0}
.fin .fct{font-weight:600;color:var(--ink-3);font-size:14.5px;margin-top:14px}
.fin .fchart svg{display:block;width:100%;height:auto;margin-top:4px}
.fin .fgrid{stroke:#e6eaec}
.fin .fbase{stroke:#9aa7ad}
.fin .fax{font:12px var(--font);fill:#5b6b72}
.fin .fbar:hover rect{opacity:.85}
.fin .ftbl{margin-top:14px;max-height:460px;overflow:auto;border:1px solid var(--mist);border-radius:14px;background:var(--white)}
.fin .ftbl table{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums}
.fin .ftbl th{position:sticky;top:0;z-index:1;background:var(--paper);font-weight:700;padding:9px 12px;text-align:right;white-space:nowrap;color:var(--ink)}
.fin .ftbl td{padding:7px 12px;border-top:1px solid var(--mist);text-align:right;white-space:nowrap;direction:ltr}
.fin .ftbl th:first-child,.fin .ftbl td:first-child{text-align:start;direction:inherit}
.fin .ftbl tfoot td{font-weight:700;background:var(--paper);position:sticky;bottom:0}
.fin .ftbl tr.fbest td{background:var(--ok-bg);font-weight:700}
.fin .ftbl tr.cur td{background:#fff8ea;font-weight:700}
.fin .flist .frows{display:grid;gap:8px}
.fin .frow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 36px;gap:6px;align-items:center}
.fin .frow .inp{font-size:16px;padding:10px 12px}
.fin .frow .money.sm .inp{font-size:17px;padding-right:50px}
.fin .frow .money.sm .unit{right:10px;font-size:13px}
.fin .fbrow{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr) 36px}
.fin .fbrow select.inp{font-size:14.5px;padding:10px 8px}
.fin .fdel{width:36px;height:36px;border-radius:9px;border:1px solid var(--mist);background:var(--paper);cursor:pointer;font:600 16px/1 var(--font);color:var(--ink)}
.fin .fdel:hover:not(:disabled){border-color:var(--err);background:var(--err-bg);color:var(--err)}
.fin .fdel:disabled{opacity:.35;cursor:not-allowed}
.fin .fadd{margin-top:8px;min-height:42px;padding:8px 14px;font-size:15px}
.fin .freset{margin-top:18px;min-height:42px;padding:8px 14px;font-size:15px}
.fin .furow{grid-template-columns:auto minmax(0,1fr) minmax(0,.7fr) minmax(0,.8fr) minmax(0,.9fr) 36px;align-items:end;border-bottom:1px dashed var(--mist);padding-bottom:8px}
.fin .furow label{display:flex;flex-direction:column;min-width:0}
.fin .furow .sub{font-size:12.5px;margin-bottom:3px}
.fin .furow .fnum{font-weight:700;font-size:13px;color:var(--teal-d);align-self:center;white-space:nowrap}
.fin.funit .tgrid,.fin.fbudget .tgrid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.fin .xtools{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.fin .xtools .btn{flex:1 1 auto;min-height:44px;padding:8px 12px;font-size:14.5px}
.fin .xfile{position:relative;overflow:hidden}
.fin .xfile input{position:absolute;inset:0;opacity:0;cursor:pointer}
.fin .xclear{color:var(--err)}
.fin .xmonth{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fin .xmonth label{font-weight:700;color:var(--teal-d)}
.fin .xmonth .inp{width:auto;max-width:60%;background:var(--white)}
.fin .xcats,.fin .xlist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;text-align:start}
.fin .xcats li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:14.5px}
.fin .xcats .xb{height:10px;background:rgba(255,255,255,.8);border-radius:5px;overflow:hidden}
.fin .xcats .xb i{display:block;height:100%;background:#1479a0;border-radius:5px}
.fin .xcats b{font-variant-numeric:tabular-nums;direction:ltr}
.fin .xcats small{color:var(--muted);font-weight:600;min-width:42px;text-align:end}
.fin .xcats .xnone{display:block;color:var(--muted)}
.fin .xh{margin-top:18px}
.fin .xbelow{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:start}
.fin .xbelow .xh{margin-top:0}
.fin .xlist{max-height:480px;overflow:auto}
.fin .xlist li{display:grid;grid-template-columns:auto minmax(0,1fr) auto 36px;gap:10px;align-items:center;background:var(--paper);border-radius:10px;padding:8px 10px}
.fin .xlist .xd{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.fin .xlist .xn b{display:block;font-size:15px}.fin .xlist .xn small{display:block;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.fin .xlist .xa{font-weight:700;font-variant-numeric:tabular-nums;direction:ltr}
.fin .ftbl tr[data-m]{cursor:pointer}
@media (max-width:860px){.fin.funit .tgrid,.fin.fbudget .tgrid{grid-template-columns:1fr}.fin .xbelow{grid-template-columns:1fr}}
@media (max-width:560px){
.fin .ftop{align-items:stretch}.fin .fcurw{margin-inline-start:0;width:100%}.fin select.fcur{width:100%}
.fin .furow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}.fin .furow .fnum{grid-column:1/-1}.fin .furow .fdel{grid-row:2;grid-column:3;align-self:end}
.fin .fbrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}.fin .fbrow input[data-f=name]{grid-column:1/-1}
.fin .xcats li{grid-template-columns:minmax(0,1fr) auto auto}.fin .xcats .xb{grid-column:1/-1;grid-row:2}
}
.fin .ftbl td bdi{unicode-bidi:isolate}
@media (max-width:600px){
.fin .ftbl{max-height:520px}
.fin .ftbl thead{display:none}
.fin .ftbl table,.fin .ftbl tbody,.fin .ftbl tfoot{display:block}
.fin .ftbl tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;padding:8px 12px;border-top:1px solid var(--mist)}
.fin .ftbl tbody tr:first-child{border-top:0}
.fin .ftbl td{display:block;border:0;padding:0;white-space:normal;text-align:start;direction:inherit;font-size:14px}
.fin .ftbl td:first-child{grid-column:1/-1;font-weight:700;color:var(--teal-d)}
.fin .ftbl td:not(:first-child)::before{content:attr(data-th);display:block;font-size:12px;color:var(--muted);font-weight:600}
.fin .ftbl td:empty{display:none}
.fin .ftbl tfoot td{position:static;background:none}
.fin .ftbl tfoot tr{background:var(--paper);position:sticky;bottom:0}
}
@media (max-width:420px){.fin .lines li.total b{font-size:22px}.fin .result{padding:20px 14px}.fin .frow2{grid-template-columns:1fr}.fin .fterm{grid-template-columns:minmax(0,1fr) minmax(0,118px)}.fin .tabs button{padding:8px 12px;font-size:14px}}
@media print{#print-area .fprint{width:100%;font-size:10.5pt;color:#111;text-align:start}
#print-area>div:has(.fprint){display:block;padding:0}
#print-area .fprint h2{font-size:15pt;margin:0 0 6px}#print-area .fprint h3{font-size:12pt;margin:10px 0 4px}
#print-area .fprint dl{display:grid;grid-template-columns:auto 1fr;gap:1px 12px;margin:0 0 8px}#print-area .fprint dt{color:#555}#print-area .fprint dd{margin:0;font-weight:600}
#print-area .fprint .lines,#print-area .fprint .xcats,#print-area .fprint .xlist{list-style:none;margin:6px 0;padding:0}
#print-area .fprint .lines li,#print-area .fprint .xcats li,#print-area .fprint .xlist li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ddd;padding:3px 0}
#print-area .fprint .xb,#print-area .fprint .fdel{display:none}
#print-area .fprint table{width:100%;border-collapse:collapse;font-size:9pt}#print-area .fprint th,#print-area .fprint td{border:1px solid #ccc;padding:2px 5px;text-align:right}
#print-area .fprint .calcline{font-size:9pt;color:#444}#print-area .fprint .fpf{margin-top:8px;font-size:8pt;color:#777}}
/* /finance tools */
/* business tools 2 */
.bz .bz2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.bz .bz2>.field{margin:0}
.bz .bz3{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr);gap:12px;margin-bottom:14px}.bz .bz3>.field{margin:0}
.bz .bz2+.bz2,.bz .bz2+.field,.bz .field+.bz2,.bz .mchk+.bz2,.bz .bz2+.mchk{margin-top:14px}
.bz .bzgt{display:block;margin:18px 0 8px;font-size:15px;color:var(--teal-d)}.bz .tgrid>div>.bzgt:first-child{margin-top:0}
.bz .money.sm .inp{font-size:18px}
.bz .bzopt{padding:4px 16px 16px}.bz .bzopt .field+.field{margin-top:14px}
.bz .o-t,.bz .o-q,.bz .o-m,.bz .o-vat,.bz .o-base,.bz li.m-target{display:none!important}
.bz.has-t .o-t,.bz.has-q .o-q,.bz.has-m .o-m,.bz.has-vat .o-vat,.bz.has-base .o-base,.bz[data-mode=target] li.m-target{display:flex!important}
.bz.loss .lines li.total{background:var(--err);border-color:var(--err)}
.bz .lines li.total2{background:var(--teal-d);border-color:var(--teal-d);color:#fff}.bz .lines li.total2 b,.bz .lines li.total2 small{color:#fff}
.bz .mf{display:none}
.bz[data-mode=flat] .m-flat,.bz[data-mode=tiers] .m-tiers,.bz[data-mode=target] .m-target,.bz[data-mode=z] .m-z,.bz[data-mode=maxavg] .m-maxavg,.bz[data-mode=manual] .m-manual,.bz[data-mode=list] .m-list,.bz[data-mode=moves] .m-moves{display:block}
.bz .field.mf+.field,.bz .mf+.field{margin-top:20px}
.bz .mf .bz2,.bz .mf>.field+.field{margin-top:14px}.bz .mf>.bz2:first-child{margin-top:0}
.bz .tabs{flex-wrap:wrap;max-width:100%}
.bz .bzrows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bz .bzrows .inp{font-size:16px;padding:9px 10px;letter-spacing:0}
.bz .bzdel,.bz .bzup{width:36px;height:42px;border-radius:10px;border:1px solid var(--mist);background:var(--white);color:var(--muted);cursor:pointer;font:600 15px/1 var(--font);flex:none}
.bz .bzdel:hover{color:var(--err);border-color:var(--err)}.bz .bzup:hover{color:var(--teal-d);border-color:var(--teal)}
.bz .bzaddb{margin:10px 0 4px;min-height:42px;padding:8px 14px}
.bz .bzacts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.bz .bzacts .btn{min-height:44px;padding:9px 16px}
.bz .bzradio{display:grid;gap:8px;margin-top:12px}
.bz .bztier{display:grid;grid-template-columns:76px minmax(0,1fr) 96px 36px;gap:8px;align-items:end}
.bz .bztier label{display:flex;flex-direction:column;min-width:0}.bz .bzt-n{font-weight:700;font-size:14px;color:var(--ink-3);padding-bottom:12px}
.bz .bzt-above{font-weight:600;color:var(--muted);padding-bottom:12px}
.bz .bzseg{display:flex;gap:6px;flex-wrap:wrap}.bz .bzseg label{display:flex;align-items:center;gap:6px;border:1.5px solid var(--mist);border-radius:12px;padding:10px 12px;font-weight:600;font-size:15px;cursor:pointer}
.bz .bzseg label:has(input:checked){border-color:var(--teal);background:var(--teal-xl)}.bz .bzseg input{accent-color:var(--teal)}
.bz .bzdivrow{margin-top:16px}.bz #vw-div[readonly]{background:var(--white);color:var(--ink-3)}
.bz .bzboxes{margin-top:16px}
.bz .bzbox{border:1px solid var(--mist);border-radius:14px;padding:10px 12px;background:var(--paper)}
.bz .bzbox-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.bz .bzbox-h .bzdel{height:34px;width:34px}
.bz .bzdims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bz .bzdims2{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:8px;margin-top:8px}
.bz .bzf{display:flex;flex-direction:column;min-width:0}.bz .bzf .sub{font-size:13px}.bz .bzf small{font-weight:500;color:var(--muted)}
.bz .bzrow-out{margin:8px 0 0;font-size:13.5px;color:var(--muted)}.bz .bzrow-out:empty{display:none}
.bz .bzcfh,.bz .bzcf{display:grid;grid-template-columns:104px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) 36px;gap:6px;align-items:center}
.bz .bzcfh{font-size:12.5px;font-weight:600;color:var(--muted);padding:0 8px 4px}
.bz .bzcf{padding:6px;border-radius:12px;border-inline-start:4px solid}
.bz .bzcf.k-in{border-color:#1a7f4b;background:#f1f8f4}.bz .bzcf.k-out{border-color:#c0392b;background:#fbf1ef}
.bz .bzcf select.inp{font-size:14.5px;padding:9px 6px}
.bz .bzivh,.bz .bziv{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1fr) 36px;gap:6px;align-items:center}
.bz .bzivh{font-size:12.5px;font-weight:600;color:var(--muted);padding:0 2px 4px}
.bz .bzval{text-align:end;font-weight:700;direction:ltr;font-variant-numeric:tabular-nums;font-size:15px;color:var(--ink)}
.bz .bzmv{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 36px;gap:6px;align-items:center}
.bz .bzmv-n{font-weight:700;color:var(--muted);text-align:center}.bz .bzmv.t-sell .bzmv-c{visibility:hidden}
.bz .bzmv.t-buy{border-inline-start:3px solid #1a7f4b;padding-inline-start:4px}.bz .bzmv.t-sell{border-inline-start:3px solid #c0392b;padding-inline-start:4px}
.bz .bzmv select.inp{font-size:14.5px;padding:9px 6px}
.bz .m-moves .bz2{margin-bottom:6px}
.bztw{overflow-x:auto;margin-top:14px;border:1px solid var(--mist);border-radius:14px;background:var(--white)}
.bzt{width:100%;border-collapse:collapse;font-size:14.5px;min-width:440px}
.bzt th,.bzt td{padding:8px 10px;border-bottom:1px solid var(--mist);text-align:start}
.bzt thead th{background:var(--paper);font-size:13.5px}.bzt tbody th{font-weight:600}
.bzt .n{text-align:end;font-variant-numeric:tabular-nums;direction:ltr;white-space:nowrap}.bzt .b{font-weight:700}
.bzt tr.neg td{color:var(--err);background:#fdf3f2}.bzt tr:last-child td,.bzt tr:last-child th{border-bottom:0}
.bz .result .bztw{margin-top:12px;text-align:start}
.bz .bzchartw{margin-top:20px}
.bzchart{width:100%;height:auto;display:block;direction:ltr;font:12px var(--font)}
.bzchart .g{stroke:#e3e8ea;stroke-width:1}.bzchart .g.z{stroke:#9fb3ba}
.bzchart text{fill:#5b6b70}.bzchart .ty{text-anchor:end}.bzchart .tx,.bzchart .al,.bzchart .ml{text-anchor:middle}.bzchart .al{font-weight:600}
.bzchart polyline{fill:none;stroke-width:2.6;stroke-linejoin:round}
.bzchart .l-rev{stroke:#2f5563}.bzchart .l-cost{stroke:#c0392b}.bzchart .l-fix{stroke:#b08a3e;stroke-dasharray:6 4}.bzchart .l-bal{stroke:#1d3b45}
.bzchart .b-net{fill:#8cc3a4}.bzchart .b-net.neg{fill:#e8a99f}
.bzchart .mk{fill:#fff;stroke:#0b1215;stroke-width:2.5}.bzchart .ml{font-weight:700;fill:#0b1215}
.bz .bzleg{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;font-size:13.5px;color:var(--muted);margin-top:6px}
.bz .bzleg i{display:inline-block;width:18px;height:4px;border-radius:2px;vertical-align:middle;margin-inline-end:6px}
.bz .bzleg .c-rev{background:#2f5563}.bz .bzleg .c-cost{background:#c0392b}.bz .bzleg .c-fix{background:#b08a3e}.bz .bzleg .c-net{background:#8cc3a4;height:10px}.bz .bzleg .c-bal{background:#1d3b45}
.bz .calcline bdi{display:inline}
.bz .lines li{flex-wrap:wrap}.bz .result{min-width:0}
.bz .lines li b{unicode-bidi:isolate}
.bzdoc .bzd-head:not(:has(.bzd-logo)){grid-template-columns:minmax(0,1fr) auto}
.bz .bzit-2{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
.bzrcw .bzrc-ref,.bzrcw .bzrc-bank{display:none!important}
.bzrcw[data-method=cheque] .bzrc-ref,.bzrcw[data-method=cheque] .bzrc-bank,.bzrcw[data-method=transfer] .bzrc-ref,.bzrcw[data-method=transfer] .bzrc-bank,.bzrcw[data-method=card] .bzrc-ref,.bzrcw[data-method=other] .bzrc-ref{display:flex!important}
.bz .bzsec{border:1px solid var(--mist);border-radius:14px;padding:10px;margin-bottom:10px;background:var(--white)}
.bz .bzsec-h{display:flex;gap:6px;margin-bottom:8px}.bz .bzsec-h .inp{flex:1;min-width:0;font-weight:700}
.bz .bzits{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bz .bzit{display:grid;grid-template-columns:minmax(0,1fr) 92px 36px;gap:6px;padding-bottom:8px;border-bottom:1px dashed var(--mist)}
.bz .bzit-d,.bz .bzit-n2,.bz .bzit-u,.bz .bzit-x{grid-column:1/-1}
.bz .bzit-x{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px;align-items:center}
.bz .bzsec .inp{font-size:15px;padding:8px 10px}
.bz .bzsalt{display:flex;gap:6px;align-items:center;font-size:13.5px;font-weight:600;white-space:nowrap;cursor:pointer}.bz .bzsalt input{width:18px;height:18px;accent-color:var(--teal)}
.bz .bzsec .bzadd-i{margin-top:8px;min-height:38px;padding:6px 12px;font-size:14px}
.bzdoc{background:#fff;color:#111;border:1px solid var(--mist);border-radius:4px;box-shadow:0 6px 24px -12px rgba(11,18,21,.35);padding:28px 26px;font-size:13px;line-height:1.6;text-align:start;font-family:var(--font)}
.bzdoc .bzh{display:block;color:#666;font-size:10.5px;font-weight:400}
.bzdoc .bzd-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;border-bottom:2px solid #2f5563;padding-bottom:12px}
.bzdoc .bzd-logo{max-width:96px;max-height:72px;object-fit:contain}
.bzdoc .bzd-from b{display:block;font-size:16px}.bzdoc .bzd-from span{display:block;color:#444;font-size:12px}
.bzdoc .bzd-title{text-align:end}.bzdoc .bzd-title h2{margin:0;font-size:22px;color:#2f5563}
.bzdoc .bzd-title dl{display:grid;grid-template-columns:auto auto;gap:1px 10px;margin:6px 0 0;font-size:12px}.bzdoc .bzd-title dt{color:#666}.bzdoc .bzd-title dd{margin:0;font-weight:600}
.bzdoc .bzrc{position:relative}
.bzdoc .bzrc-tag{display:table;margin:0 auto 8px;font-size:10.5px;font-weight:700;color:#2f5563;border:1px solid #2f5563;border-radius:99px;padding:0 8px;background:#fff}
.bzdoc .bzrc-amt{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 12px;padding:10px 14px;background:#f4f7f8;border:1.5px solid #2f5563;border-radius:10px}
.bzdoc .bzrc-amt span{color:#555}.bzdoc .bzrc-amt b{font-size:20px;font-variant-numeric:tabular-nums}
.bzdoc .bzrc-rows{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:0 14px;margin:0}
.bzdoc .bzrc-rows dt{color:#555;padding:7px 0;border-bottom:1px dotted #c9d3d6}.bzdoc .bzrc-rows dd{margin:0;padding:7px 0;border-bottom:1px dotted #c9d3d6;font-weight:600;min-height:2.2em}
.bzdoc .bzrc-sign{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
.bzdoc .bzrc-sign div{display:flex;flex-direction:column;gap:4px}.bzdoc .bzrc-sign span{color:#555;font-size:12px}
.bzdoc .bzrc-sign b{min-height:1.6em;border-bottom:1px solid #999}.bzdoc .bzrc-sign i{display:block;height:44px;border-bottom:1px solid #999}
.bzdoc .bzrc-sign div:last-child i{border:1px dashed #aaa;border-radius:50%;width:70px;height:70px}
.bzdoc .bzcut{border-top:1.5px dashed #999;margin:22px -10px 26px}
.bzdoc.bzl{--bzc:#2f5563;padding:30px 28px;min-height:560px}
.bzdoc.th-warm{--bzc:#8a5a0b;background:#fffaf0}.bzdoc.th-dark{--bzc:#d8b45c;background:#1d2326;color:#f3efe6}.bzdoc.th-fresh{--bzc:#1a6b40}
.bzl .bzl-head{text-align:center;padding-bottom:14px;margin-bottom:18px;border-bottom:2px solid var(--bzc)}
.bzl .bzl-logo{max-height:80px;max-width:170px;object-fit:contain}
.bzl .bzl-head h2{margin:6px 0 0;font-size:26px;color:var(--bzc);line-height:1.3}.bzl .bzl-head p{margin:2px 0 0;opacity:.75}
.bzl.cols-2 .bzl-body{columns:2;column-gap:30px}
.bzl .bzl-sec{margin-bottom:16px}.bzl .bzl-sec h3{font-size:17px;color:var(--bzc);border-bottom:1px solid currentColor;padding-bottom:4px;margin:0 0 6px;break-after:avoid}
.bzl ul{list-style:none;margin:0;padding:0}
.bzl .bzl-it{display:flex;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px dotted rgba(128,128,128,.45);break-inside:avoid}
.bzl .bzl-nm{flex:1;min-width:0}.bzl .bzl-nm b{font-size:14.5px}.bzl .bzl-nm small{display:block;opacity:.7;font-size:12px}
.bzl .bzl-nm p{margin:1px 0 0;opacity:.7;font-size:12px}.bzl .bzl-meta{display:block;font-size:11.5px;color:var(--bzc)}
.bzl .bzl-pr{font-weight:700;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--bzc)}.bzl .bzl-pr small{font-weight:500;opacity:.75;font-size:11px;margin-inline-start:4px;color:inherit}
.bzl .bzl-foot{margin-top:16px;border-top:1px solid rgba(128,128,128,.4);padding-top:8px;font-size:11.5px;opacity:.9;text-align:center}.bzl .bzl-foot p{margin:3px 0}
.bzl .bzl-sfda{font-weight:600}
.bzl .bzsalt-i{width:15px;height:15px;vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:1.8;margin-inline-start:4px;color:var(--bzc)}
.bzprint{width:190mm;font-family:var(--font)}.bzprint h2{margin:0 0 3mm}.bzprint .bzt{min-width:0;font-size:10pt}
@media (max-width:860px){.bz .bz3{grid-template-columns:1fr 1fr}.bz .bz3>.field:first-child{grid-column:1/-1}}
@media (max-width:640px){
.bz .bzcfh{display:none}
.bz .bzcf{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;grid-template-areas:"k a d" "n n n" "f s s"}
.bz .bzcf .bzk{grid-area:k}.bz .bzcf .bzn{grid-area:n}.bz .bzcf .bza{grid-area:a}.bz .bzcf .bzfq{grid-area:f}.bz .bzcf .bzs{grid-area:s}.bz .bzcf .bzdel{grid-area:d}
.bz .bzivh{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;grid-template-areas:"n n d" "q c c";row-gap:0}
.bz .bzivh span:nth-child(1){grid-area:n}.bz .bzivh span:nth-child(2){grid-area:q}.bz .bzivh span:nth-child(3){grid-area:c}.bz .bzivh span:nth-child(4){display:none}.bz .bzivh span:nth-child(5){grid-area:d}
.bz .bziv{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;grid-template-areas:"n n d" "q c c" "v v v"}
.bz .bziv [data-k=n]{grid-area:n}.bz .bziv [data-k=q]{grid-area:q}.bz .bziv [data-k=c]{grid-area:c}.bz .bziv .bzval{grid-area:v}.bz .bziv .bzdel{grid-area:d}
}
@media (max-width:480px){
.bz .bz2,.bz .bz3{grid-template-columns:1fr}.bz .bz3>.field:first-child{grid-column:auto}
.bz .bztier{grid-template-columns:minmax(0,1fr) 80px 36px}.bz .bzt-n{grid-column:1/-1;padding:0}
.bz .bzdims2{grid-template-columns:1fr}
.bztw .bzt{min-width:0}.bztw .bzt thead{display:none}.bztw .bzt tr{display:block;padding:6px 10px;border-bottom:1px solid var(--mist)}.bztw .bzt tr:last-child{border-bottom:0}
.bztw .bzt td,.bztw .bzt tbody th{display:flex;justify-content:space-between;gap:10px;border:0;padding:2px 0}.bztw .bzt td:first-child,.bztw .bzt tbody th{font-weight:700}
.bztw .bzt td[data-th]::before{content:attr(data-th);font-weight:500;color:var(--muted);direction:inherit}.bztw .bzt td.n{direction:inherit;text-align:end}
.bzdoc{padding:16px 12px;font-size:11.5px}.bzdoc .bzd-head{grid-template-columns:minmax(0,1fr) auto}.bzdoc .bzd-logo{grid-column:1/-1;max-height:56px}
.bzdoc .bzrc-sign{gap:8px}.bzdoc .bzrc-amt b{font-size:17px}.bzdoc.bzl{padding:18px 14px;min-height:0}.bzl.cols-2 .bzl-body{columns:1}
.bz .bzit{grid-template-columns:minmax(0,1fr) 80px 36px}.bz .bzit-2{grid-template-columns:1fr}
}
@media print{#print-area>div:has(.bzdoc),#print-area>div:has(.bzprint){display:block;padding:0;break-inside:auto}
#print-area .bzdoc{width:190mm;border:0;box-shadow:none;border-radius:0;min-height:0;font-size:11pt}
#print-area .bzdoc.bzl{padding:6mm 7mm}#print-area .bzdoc:not(.bzl){padding:0}
#print-area .bzdoc *,#print-area .bzdoc{-webkit-print-color-adjust:exact;print-color-adjust:exact}
#print-area .bzdoc svg.bzsalt-i{width:13px;height:13px}#print-area .bzdoc.two .bzrc{height:128mm;overflow:hidden}#print-area .bzdoc.two .bzcut{margin:5mm 0 7mm}}
/* /business tools 2 */
/* image tools 3 */
.g-im3 [hidden]{display:none!important}
.g-im3 .inp{font:600 15.5px/1.4 var(--font);letter-spacing:0;padding:10px 12px;direction:inherit;text-align:start;min-height:0}
.g-im3 .m3grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
.g-im3 .m3stage{position:sticky;top:12px;min-width:0;text-align:center;border:1px solid var(--mist);border-radius:14px;padding:12px;background:repeating-conic-gradient(#e8edef 0 25%,#fff 0 50%) 0 0/18px 18px}
.g-im3 .m3cmp{position:relative;display:inline-block;max-width:100%;line-height:0;vertical-align:top}
.g-im3 .m3cmp canvas{display:block;max-width:100%;max-height:62vh;width:auto;height:auto;margin:0 auto}
.g-im3 .m3cmp .m3before{position:absolute;inset:0;width:100%;height:100%;max-height:none}
.g-im3 .m3cmp:has(.m3before)::after{content:"";position:absolute;top:0;bottom:0;left:var(--m3cut,50%);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(11,18,21,.35);pointer-events:none}
.g-im3 .m3tag{position:absolute;top:8px;font:700 12.5px/1 var(--font);color:#fff;background:rgba(11,18,21,.62);border-radius:8px;padding:5px 8px;pointer-events:none}
.g-im3 .m3tb{inset-inline-start:8px}.g-im3 .m3ta{inset-inline-end:8px}
.g-im3 .m3cmpr{display:block;width:100%;max-width:440px;margin:12px auto 0;accent-color:var(--teal)}
.g-im3 .zoomed .m3cmp canvas{max-height:none}
.g-im3 .zoomed .m3cmp{cursor:grab;touch-action:none}
.g-im3 .m3info{margin:10px auto 0;background:rgba(255,255,255,.9);border-radius:8px;padding:4px 10px;display:table;color:var(--ink-3)}
.g-im3 .m3info:empty{display:none}
.g-im3 .m3side{display:flex;flex-direction:column;min-width:0}
.g-im3 .m3side>.lbl{margin:16px 0 8px}
.g-im3 .m3side>.lbl:first-child{margin-top:0}
.g-im3 .m3side .hint{margin:8px 0 0}
.g-im3 .m3btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.g-im3 .m3btns.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-im3 .m3btns .btn{min-height:46px;padding:6px 8px;font-size:14px;gap:6px;white-space:normal;line-height:1.25;margin:0;width:auto}
.g-im3 .m3btns .btn[aria-pressed=true]{border-color:var(--teal);background:var(--teal-xl);color:var(--teal-d)}
.g-im3 .m3two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
.g-im3 .m3three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
.g-im3 .m3four{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}
.g-im3 .types.sm label{padding:8px 6px}
.g-im3 .types.sm b{font-size:14px;line-height:1.3}
.g-im3 .m3angle{display:flex;align-items:center;gap:10px}
.g-im3 .m3angle input[type=range]{flex:1 1 auto;min-width:0;accent-color:var(--teal);direction:ltr}
.g-im3 .m3angle .inp{width:92px;flex:none;direction:ltr;text-align:center}
.g-im3 #r-fine{margin-top:4px}
.g-im3 #r-color{margin-top:8px}
.g-im3 .m3deg{margin:14px 0 0;color:var(--ink-3);font-size:15px}
.g-im3 .m3reset{margin-top:12px;min-height:44px;flex:none}
.g-im3 .trow.off{opacity:.5}
.g-im3 .m3fmt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end;margin-top:16px;padding-top:14px;border-top:1px solid var(--mist)}
.g-im3 .m3fmt label{display:flex;flex-direction:column;min-width:0}
.g-im3 .m3fmt .trow{margin-top:0}
.g-im3 .m3side .btn-main{margin-top:14px;flex:none}
.g-im3 .m3side .m3zip{margin-top:8px}
.g-im3 .m3count{margin:16px 0 0;font-weight:700;color:var(--ink-3)}
.g-im3 .m3count:empty{display:none}
.g-im3 .m3list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.g-im3 .m3list[hidden]{display:none}
.g-im3 .m3it{position:relative;width:92px}
.g-im3 .m3pick{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;min-height:84px;padding:6px;border:1.5px solid var(--mist);border-radius:12px;background:var(--white);cursor:pointer;font:inherit}
.g-im3 .m3it.on .m3pick{border-color:var(--teal);background:var(--teal-xl)}
.g-im3 .m3pick canvas{display:block;max-width:76px;max-height:56px;background:repeating-conic-gradient(#e8edef 0 25%,#fff 0 50%) 0 0/10px 10px}
.g-im3 .m3nm{font-size:11.5px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr}
.g-im3 .m3x{position:absolute;top:-8px;inset-inline-end:-8px;width:30px;height:30px;border-radius:50%;border:1px solid var(--mist);background:var(--white);cursor:pointer;font-size:18px;line-height:1;color:var(--ink-3);padding:0}
.g-im3 .m3x:hover{color:var(--err);border-color:var(--err)}
.g-im3 .m3it.busy canvas{animation:pulse 1s ease-in-out infinite alternate;min-width:56px;min-height:42px}
.g-im3 .m3five{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none}
.g-im3 .m3inl{display:flex;flex-direction:column;margin-top:10px;min-width:0}
.g-im3 .m3text{min-height:64px;resize:vertical;font:600 16px/1.5 var(--font)}
.g-im3 .m3line{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}
.g-im3 .m3line .chkline{margin-top:0}
.g-im3 .m3line .pchange{flex:none}
.g-im3 #s-color,.g-im3 #r-color{display:block}
.g-im3 .m3posw{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.g-im3 .m3pos{display:grid;grid-template-columns:repeat(3,44px);gap:6px;flex:none}
.g-im3 .m3pos label{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid var(--mist);border-radius:10px;cursor:pointer;background:var(--white)}
.g-im3 .m3pos input,.g-im3 .m3tile input{position:absolute;opacity:0;pointer-events:none}
.g-im3 .m3pos i{width:12px;height:12px;border-radius:50%;background:var(--mist)}
.g-im3 .m3pos label:has(input:checked){border-color:var(--teal);background:var(--teal-xl)}
.g-im3 .m3pos label:has(input:checked) i{background:var(--teal)}
.g-im3 .m3pos label:has(input:focus-visible),.g-im3 .m3tile:has(input:focus-visible){outline:3px solid rgba(68,110,125,.35);outline-offset:2px}
.g-im3 .m3tile{position:relative;flex:1 1 120px;display:flex;align-items:center;justify-content:center;text-align:center;border:1.5px dashed var(--mist);border-radius:12px;padding:8px 10px;cursor:pointer;min-height:44px}
.g-im3 .m3tile b{font-size:14px;color:var(--ink);line-height:1.35}
.g-im3 .m3tile:has(input:checked){border-style:solid;border-color:var(--teal);background:var(--teal-xl)}
.g-im3 .m3col{display:block;margin-top:8px}
.g-im3 .m3ov{position:absolute;inset:0;width:100%;height:100%;max-height:none;touch-action:none}
.g-im3 .m3ov:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.g-im3 #b-areabtns .btn{flex:1 1 140px;min-height:44px;margin:0;font-size:14px}
.g-im3 .m3pan canvas{cursor:grab;touch-action:none}
.g-im3 .m3order .m3it{width:104px}
.g-im3 .m3order .m3pick{cursor:default}
.g-im3 .m3mv{display:flex;gap:6px;margin-top:6px}
.g-im3 .m3mv button{flex:1 1 0;min-height:36px;border:1.5px solid var(--mist);border-radius:10px;background:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;color:var(--ink-3)}
.g-im3 .m3mv button:hover{border-color:var(--teal-l)}
.g-im3 .m3mv .ico{width:18px;height:18px}
.g-im3 .m3mv .m3dn .ico{transform:scaleX(-1)}
[dir=rtl] .g-im3 .m3mv .m3up .ico{transform:scaleX(-1)}
[dir=rtl] .g-im3 .m3mv .m3dn .ico{transform:none}
.g-im3.m3vert .m3mv .m3up .ico{transform:rotate(90deg)}
.g-im3.m3vert .m3mv .m3dn .ico{transform:rotate(-90deg)}
.g-im3 .m3order+.hint{margin-top:8px}
.g-im3 .m3lay{display:flex;flex-wrap:wrap;gap:8px}
.g-im3 .m3layb{width:52px;height:52px;padding:5px;border:1.5px solid var(--mist);border-radius:10px;background:var(--white);cursor:pointer}
.g-im3 .m3layb svg{display:block;width:100%;height:100%;fill:#c3d3d8}
.g-im3 .m3layb[aria-pressed=true]{border-color:var(--teal);background:var(--teal-xl)}
.g-im3 .m3layb[aria-pressed=true] svg{fill:var(--teal)}
.g-im3 .m3pre .btn{font-size:13.5px;min-height:44px}
.g-im3 .m3rc{display:flex;align-items:flex-end;gap:10px;margin-top:12px}
.g-im3 .m3rc label{display:flex;flex-direction:column;flex:1 1 0;min-width:0}
.g-im3 .m3rc>span{padding-bottom:12px;font-weight:700;color:var(--muted)}
.g-im3 .m3rc .inp{direction:ltr;text-align:center}
.g-im3 .m3show{margin-top:8px;min-height:46px;flex:none;white-space:normal}
.g-im3 .m3pieces{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:8px}
.g-im3 .m3pieces:empty{display:none}
.g-im3 .m3pieces li{display:flex;flex-direction:column;gap:6px;min-width:0}
.g-im3 .m3pieces img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--mist)}
.g-im3 .m3pieces .btn{min-height:40px;padding:6px;font-size:13.5px;margin:0;width:100%}
.g-im3 .m3gif{display:block;max-width:100%;max-height:62vh;margin:0 auto;image-rendering:auto}
.g-im3 .m3gif:not([src]){min-height:160px}
.g-im3 .m3two2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.g-im3 .m3ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;text-align:start}
.g-im3 .m3ba>div{background:rgba(255,255,255,.94);border:1px solid var(--mist);border-radius:12px;padding:10px 12px;min-width:0}
.g-im3 .m3ba span{display:block;font-size:13px;font-weight:700;color:var(--muted)}
.g-im3 .m3ba p{margin:2px 0 0;font-size:14px;color:var(--ink-3);line-height:1.6}
.g-im3 .m3ba b{font-size:18px;color:var(--ink)}
.g-im3 .m3save{font-weight:700;color:var(--ok);background:var(--ok-bg);border-radius:8px;padding:1px 8px;font-size:13px}
.g-im3 #z-setrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.g-im3 .m3exl{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.g-im3 .m3exl:empty{display:none}
.g-im3 .m3ex{background:var(--white);border:1px solid var(--mist);border-radius:14px;padding:12px 14px}
.g-im3 .m3ex.hasgps{border-color:#e5a9a2}
.g-im3 .m3exh{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.g-im3 .m3exh .m3nm{flex:1 1 160px;min-width:0;font-size:15px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:start}
.g-im3 .m3exh .m3sz{font-size:14px;color:var(--ink-3)}
.g-im3 .m3exh .btn{flex:none;min-height:42px;padding:8px 16px;font-size:15px;margin:0;width:auto}
.g-im3 .m3found{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.g-im3 .m3found:empty{display:none}
.g-im3 .m3found li{font-size:13.5px;background:var(--paper);border:1px solid var(--mist);border-radius:8px;padding:3px 9px;max-width:100%;overflow-wrap:anywhere}
.g-im3 .m3found li span{font-weight:700;color:var(--ink-3)}
.g-im3 .m3found .m3f-gps{background:var(--err-bg);border-color:#e5a9a2;color:var(--err)}
.g-im3 .m3found .m3f-gps span{color:var(--err)}
.g-im3 .m3found .m3f-orient{background:var(--teal-xl)}
.g-im3 .m3note{margin:8px 0 0;font-size:14px;color:var(--ok);line-height:1.6}
.g-im3 .m3ex.bad .m3note{color:var(--err)}
.g-im3 .m3ex.busy{opacity:.7}
@media (max-width:860px){.g-im3 .m3grid{grid-template-columns:1fr}.g-im3 .m3stage{position:static}.g-im3 .m3cmp canvas{max-height:52vh}}
@media (max-width:420px){.g-im3 #z-setrow{grid-template-columns:1fr}.g-im3 .m3four{grid-template-columns:repeat(2,minmax(0,1fr))}.g-im3 .m3five{grid-template-columns:repeat(3,minmax(0,1fr))}.g-im3 .m3btns .btn{font-size:13px;padding:6px 4px}.g-im3 .m3fmt{grid-template-columns:1fr}}
/* /image tools 3 */
/* kids tools */
.g-kid .kbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:18px}
.g-kid .kbar .tabs{margin-bottom:0}
.g-kid .tabs{display:flex;flex-wrap:wrap;overflow:visible}.g-kid .tabs button{flex:1 1 auto}
.g-kid .kid-snd{min-height:42px;padding:8px 14px;font-size:14px;flex:none}
.g-kid .kseg{display:flex;flex-wrap:wrap;gap:6px}
.g-kid .kseg label{position:relative;cursor:pointer;border:1.5px solid var(--mist);border-radius:12px;padding:7px 12px;line-height:1.35;background:var(--white);transition:border-color .15s,background .15s}
.g-kid .kseg label:hover{border-color:var(--teal-l)}
.g-kid .kseg input{position:absolute;opacity:0;pointer-events:none}
.g-kid .kseg b{font-size:14.5px;font-weight:600;color:var(--ink-3)}
.g-kid .kseg label:has(input:checked){border-color:var(--teal);background:var(--teal-xl)}
.g-kid .kseg label:has(input:checked) b{color:var(--teal-d)}
.g-kid .kseg label:has(input:focus-visible){outline:3px solid rgba(68,110,125,.35);outline-offset:2px}
.g-kid .kfield{margin-top:16px}
.g-kid .kcols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.g-kid .krow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.g-kid .krow .hint{margin:0}
.g-kid .klink{font:inherit;font-size:14px;font-weight:600;color:var(--teal-d);background:none;border:0;cursor:pointer;padding:6px;text-decoration:underline;text-underline-offset:3px}
.g-kid .kvoice{margin-top:14px;background:#fff8ea;border:1px solid #ecdcb9;border-radius:12px;padding:10px 14px;color:var(--bronze-d);font-size:14.5px;line-height:1.6}
.g-kid .chkline{margin-top:12px;align-items:flex-start;line-height:1.5}
.g-kid .chkline input{flex:none;margin-top:2px}
.g-kid .kprog{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--muted)}
.g-kid .kbarp{flex:1;height:8px;background:var(--paper);border-radius:99px;overflow:hidden}
.g-kid .kbarp i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));border-radius:99px;transition:width .3s}
.g-kid .kq{font-size:clamp(20px,2.6vw,26px);text-align:center;margin:18px 0 10px}
.g-kid .kqshow{display:flex;justify-content:center;align-items:center;gap:14px;margin:6px 0}
.g-kid .kqshow b{font-size:34px}
.g-kid .kemo{font-size:52px;line-height:1.1}
.g-kid .kfbig{font-size:64px!important;line-height:1.3;color:var(--teal-d)}
.g-kid .ksay{display:flex;margin:6px auto 0;min-height:44px;padding:8px 16px}
.g-kid .kopts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.g-kid .kopt{font:700 34px/1.3 var(--font);color:var(--ink);background:var(--white);border:2px solid var(--mist);border-radius:16px;min-height:76px;padding:8px;cursor:pointer;transition:transform .12s,border-color .15s,background .15s;box-shadow:0 4px 0 var(--mist)}
.g-kid .kopt:hover:not(:disabled){border-color:var(--teal-l)}
.g-kid .kopt:active{transform:translateY(2px);box-shadow:0 2px 0 var(--mist)}
.g-kid .kopt.ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ok);box-shadow:0 4px 0 #b9e0c8}
.g-kid .kopt.no{background:var(--err-bg);border-color:var(--err);color:var(--err);opacity:.75;animation:kshake .35s}
.g-kid .kfb{min-height:30px;text-align:center;font-weight:700;color:var(--ok);margin-top:12px}
.g-kid .kdone{text-align:center;padding:26px 10px}
.g-kid .kdone p{font-size:19px;font-weight:600;margin:10px 0 18px}
.g-kid .kdone .btn{width:auto;min-width:220px}
.g-kid .kstars{font-size:48px;letter-spacing:6px;animation:kpop .5s}
.g-kid .shake{animation:kshake .35s}
@keyframes kshake{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@keyframes kpop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.15)}100%{transform:none;opacity:1}}
.kid-confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:60}
/* alphabet */
.g-kid .klearn{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.g-kid .kcard{background:linear-gradient(160deg,var(--teal-xl),#f7f2e8);border:1px solid #d6e2e6;border-radius:18px;padding:18px;text-align:center}
.g-kid .kbig{font-size:120px;line-height:1.15;font-weight:700;color:var(--teal-d)}
.g-kid .kbig .klow{font-size:.62em;color:var(--bronze-d);margin-inline-start:.15em}
.g-kid .kname{font-size:20px;font-weight:700;color:var(--ink)}
.g-kid .kforms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:14px}
.g-kid .kforms div{background:rgba(255,255,255,.75);border:1px solid #dbe5e8;border-radius:12px;padding:6px 2px}
.g-kid .kforms b{display:block;font-size:34px;line-height:1.5;color:var(--ink)}
.g-kid .kforms span{display:block;font-size:12px;color:var(--muted);line-height:1.3}
.g-kid .knote{font-size:14px;color:var(--bronze-d);margin-top:8px}
.g-kid .kword{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;margin-top:14px}
.g-kid .kword b{font-size:32px}
.g-kid .kword u{text-decoration-color:var(--gold);text-decoration-thickness:4px;text-underline-offset:6px}
.g-kid .kword small{width:100%;color:var(--muted);font-size:15px}
.g-kid .kacts{display:grid;grid-template-columns:56px 1fr 56px;gap:8px;margin-top:16px}
.g-kid .kacts .btn{min-height:50px;padding:8px}
.g-kid .kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px;align-content:start}
.g-kid .kl{font:700 30px/1.2 var(--font);color:var(--ink);background:var(--white);border:1.5px solid var(--mist);border-radius:14px;min-height:62px;cursor:pointer;padding:4px;box-shadow:0 3px 0 var(--mist);transition:transform .12s,border-color .15s}
.g-kid .kl small{font-size:.7em;color:var(--bronze-d);margin-inline-start:2px}
.g-kid .kl:hover{border-color:var(--teal-l)}
.g-kid .kl[aria-current=true]{border-color:var(--teal);background:var(--teal-xl);color:var(--teal-d)}
.g-kid .kquiz{max-width:640px;margin:0 auto}
.g-kid[data-mode=ar] .kopt{font-size:40px}
.g-kid .tlet{font-size:22px}
/* spelling */
.g-kid .sstage{max-width:620px;margin:0 auto;text-align:center}
.g-kid .semo{font-size:92px;line-height:1.15;margin-top:12px}
.g-kid .sslots{display:flex;justify-content:center;gap:8px;margin-top:18px;flex-wrap:wrap}
.g-kid .sslot{display:grid;place-items:center;width:58px;height:66px;border:2px dashed var(--teal-l);border-radius:14px;font:700 34px/1 var(--font);color:var(--teal-d);background:var(--paper)}
.g-kid .sslot.on{border-style:solid;background:var(--white);animation:kpop .25s}
.g-kid .sslots.done .sslot{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}
.g-kid .sbuilt{min-height:52px;font-size:40px;font-weight:700;color:var(--ink);margin-top:6px}
.g-kid .stiles{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:8px}
.g-kid .stile{font:700 32px/1 var(--font);width:62px;height:66px;color:var(--ink);background:#fff8ea;border:2px solid #ecdcb9;border-radius:14px;cursor:pointer;box-shadow:0 4px 0 #ecdcb9;transition:transform .12s,opacity .2s}
.g-kid .stile:active{transform:translateY(2px);box-shadow:0 2px 0 #ecdcb9}
.g-kid .stile.used{opacity:.25;cursor:default;box-shadow:none}
.g-kid .sacts{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:6px}
.g-kid .sacts .btn{min-height:44px;padding:8px 16px;font-size:15px}
/* clock */
.g-kid .ccols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.g-kid .cwrap{text-align:center}
.g-kid #c-face{width:min(100%,380px);height:auto;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;display:block;margin:0 auto;border-radius:50%}
.g-kid #c-face:focus-visible{outline:3px solid rgba(68,110,125,.4);outline-offset:4px}
.g-kid .cf-rim{fill:var(--teal)}
.g-kid .cf-bg{fill:#fff}
.g-kid .cf-t1{stroke:#9fb3ba;stroke-width:1}
.g-kid .cf-t5{stroke:var(--ink-3);stroke-width:2.4;stroke-linecap:round}
.g-kid .cf-n{font:700 17px var(--font);fill:var(--ink);text-anchor:middle;dominant-baseline:central}
.g-kid .cf-m{font:600 6.5px var(--font);fill:#fff;text-anchor:middle;dominant-baseline:central}
.g-kid .cf-hl{stroke:var(--ink);stroke-width:7;stroke-linecap:round}
.g-kid .cf-ml{stroke:#e0684b;stroke-width:4.5;stroke-linecap:round}
.g-kid .cf-hit{stroke:transparent;stroke-width:24;stroke-linecap:round;cursor:grab}
.g-kid .cf-c{fill:var(--ink)}
.g-kid #c-face.drag-h,.g-kid #c-face.drag-m{cursor:grabbing}
.g-kid #c-face.drag-h .cf-hl{stroke:var(--teal-d)}
.g-kid #c-face.drag-m .cf-ml{stroke:#c24a2c}
.g-kid .cread{margin-top:12px}
.g-kid .cread b{display:block;font:700 36px/1.2 var(--font);font-variant-numeric:tabular-nums;color:var(--teal-d)}
.g-kid .cread p{font-size:21px;font-weight:700;color:var(--ink);margin-top:4px}
.g-kid[data-mode=free] .clevel,.g-kid:not([data-mode=free]) .cread{display:none}
.g-kid .cpanel .kq{margin-top:14px}
.g-kid .cop{grid-template-columns:1fr 1fr}
.g-kid .cop .kopt{font-size:17px;min-height:72px;line-height:1.45}
.g-kid .cop .kopt small{display:block;font-size:14px;color:var(--muted);font-weight:600}
.g-kid .ctarget{font-size:22px;font-weight:700;text-align:center;color:var(--teal-d);margin-bottom:12px}
.g-kid .cpanel .btn-main{width:100%}
.g-kid .kfb:not(.good){color:var(--ink-3)}
.g-kid .cpanel .kfb.good,.g-kid .kopt.ok~.kfb{color:var(--ok)}
/* counting */
.g-kid .nstage{margin-top:12px;text-align:center}
.g-kid .ctap{text-align:center;margin:0 0 8px}
.g-kid .ccount{color:var(--teal-d)}
.g-kid .cobjs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:352px;margin:8px auto}
.g-kid .cobj{position:relative;display:grid;place-items:center;font-size:40px;line-height:1;width:64px;height:64px;background:var(--paper);border:1.5px solid var(--mist);border-radius:14px;cursor:pointer;padding:0}
button.cobj.on{background:var(--teal-xl);border-color:var(--teal)}
.g-kid .cobj.on::after{content:attr(data-n);position:absolute;top:-8px;inset-inline-end:-6px;min-width:24px;height:24px;border-radius:99px;background:var(--teal);color:#fff;font:700 14px/24px var(--font);text-align:center;padding:0 4px}
.g-kid .cobjs.many .cobj{font-size:32px}
.g-kid .nopts .kopt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:86px}
.g-kid .ca{font-size:36px;line-height:1.15}
.g-kid .cw{font-size:20px;color:var(--muted);font-weight:600}
.g-kid .kopt.ok .cw{color:var(--ok)}
.g-kid .ngrid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}
.g-kid .nl{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:68px}
.g-kid .nl .ca{font-size:26px}.g-kid .nl .cw{font-size:15px}
.g-kid .nbig{display:flex;justify-content:center;align-items:baseline;gap:20px}
.g-kid .nbig .ca{font-size:96px;color:var(--teal-d);font-weight:700}
.g-kid .nbig .cw{font-size:64px;color:var(--bronze-d)}
.g-kid .ncard .cobjs{margin-top:12px}
.g-kid .ncard .cobj{cursor:default;font-size:30px}
/* picker + wheel */
.g-kid textarea.inp.txt{min-height:180px;font-size:16px}
.g-kid .pstage{display:grid;place-items:center;min-height:170px;background:linear-gradient(160deg,var(--teal-xl),#f7f2e8);border:1px solid #d6e2e6;border-radius:18px;padding:16px;text-align:center;margin-bottom:12px;overflow:hidden}
.g-kid .pq{font-size:64px;font-weight:700;color:var(--teal-l)}
.g-kid .proll{font-size:clamp(26px,4vw,36px);font-weight:700;color:var(--ink-3);overflow-wrap:anywhere}
.g-kid .pwin{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}
.g-kid .pwin b{font-size:clamp(28px,4.4vw,42px);color:var(--teal-d);animation:kpop .45s;overflow-wrap:anywhere}
.g-kid .pstage.won{border-color:var(--gold);box-shadow:0 0 0 4px rgba(216,180,92,.25)}
.g-kid .phist h3{font-size:16px;margin:16px 0 6px}
.g-kid .phist ol{margin:0;padding-inline-start:26px;color:var(--ink-3);font-size:15.5px;max-height:220px;overflow:auto}
.g-kid .wwrap{position:relative;max-width:480px;width:100%;margin:0 auto}
.g-kid #w-cv{display:block;width:100%;aspect-ratio:1;height:auto;cursor:pointer;border-radius:50%;touch-action:manipulation}
.g-kid #w-cv:focus-visible{outline:3px solid rgba(68,110,125,.4);outline-offset:4px}
.g-kid .wres{position:absolute;inset:18% 6%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:rgba(255,255,255,.96);border:2px solid var(--gold);border-radius:20px;box-shadow:var(--shadow);padding:16px;text-align:center;animation:kpop .35s}
.g-kid .wres span{font-weight:700;color:var(--muted)}
.g-kid .wres b{font-size:clamp(26px,5vw,40px);color:var(--teal-d);line-height:1.25;overflow-wrap:anywhere}
.g-kid .wres .actions{width:100%}
.g-kid .wres .btn{min-height:44px;padding:8px 12px;font-size:15px}
.g-kid #w-go{width:100%;font-size:18px}
.g-kid .wlbl{margin-top:16px}
/* memory */
.g-kid .mstats{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:14px;font-weight:600;color:var(--ink-3)}
.g-kid .mstats .btn{min-height:42px;padding:8px 14px;font-size:14px;margin-inline-start:auto}
.g-kid .mgrid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:10px;max-width:560px;margin:0 auto;perspective:900px}
.g-kid .mgrid[data-lv=expert]{max-width:620px;gap:7px}
.g-kid .mcard{position:relative;aspect-ratio:1;border:0;padding:0;background:none;cursor:pointer;transform-style:preserve-3d;transition:transform .35s}
.g-kid .mcard.up,.g-kid .mcard.got{transform:rotateY(180deg)}
.g-kid .mback,.g-kid .mface{position:absolute;inset:0;display:grid;place-items:center;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.g-kid .mback{background:linear-gradient(135deg,var(--teal),var(--teal-d));box-shadow:0 4px 0 #24434e}
.g-kid .mback::after{content:"";width:34%;height:34%;border-radius:50%;border:3px solid rgba(255,255,255,.4)}
.g-kid .mface{background:#fff;border:2px solid var(--mist);transform:rotateY(180deg);font-size:clamp(26px,7vw,46px)}
.g-kid .mgrid[data-lv=expert] .mface{font-size:clamp(20px,5vw,36px)}
.g-kid .mcard.got .mface{border-color:var(--ok);background:var(--ok-bg)}
.g-kid .mcard:focus-visible{outline:3px solid rgba(68,110,125,.45);outline-offset:3px;border-radius:14px}
.g-kid .mbest{text-align:center}
/* sudoku */
.g-kid .sstat{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-weight:600;color:var(--ink-3)}
.g-kid .sstat .btn{min-height:42px;padding:8px 14px;font-size:14px}
.g-kid .scols{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.g-kid .sboard{position:relative}
.g-kid .sgrid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));width:min(100%,520px);aspect-ratio:1;margin:0 auto;border:3px solid var(--ink);border-radius:8px;overflow:hidden;background:var(--ink);gap:1px}
.g-kid .sgrid.busy{opacity:.5}
.g-kid .smaking{grid-column:1/-1;align-self:center;text-align:center;color:#fff;font-weight:600}
.g-kid .sc{position:relative;width:100%;height:100%;border:0;padding:0;background:#fff;font:600 clamp(18px,4.6vw,30px)/1 var(--font);color:var(--teal-d);cursor:pointer;display:grid;place-items:center;min-width:0}
.g-kid .sc.br{box-shadow:inset -2px 0 0 var(--ink)}.g-kid .sc.bb{box-shadow:inset 0 -2px 0 var(--ink)}.g-kid .sc.br.bb{box-shadow:inset -2px -2px 0 var(--ink)}
.g-kid .sc.g{color:var(--ink);font-weight:700}
.g-kid .sc.peer{background:#eef3f5}
.g-kid .sc.same{background:#f6e7c4}
.g-kid .sc.sel{background:#cfe0e6}
.g-kid .sc.bad{color:var(--err);background:var(--err-bg)}
.g-kid .sc.sel.bad{background:#f8d0cc}
.g-kid .sc:focus-visible{outline:3px solid var(--teal);outline-offset:-3px;z-index:1}
.g-kid .sn{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:2px}
.g-kid .sn i{font:600 clamp(8px,1.6vw,11px)/1 var(--font);font-style:normal;color:var(--muted);display:grid;place-items:center}
.g-kid .sgrid.over .sc{background:var(--ok-bg)}
.g-kid .spad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.g-kid .spad button{font:700 28px/1 var(--font);color:var(--teal-d);background:var(--white);border:1.5px solid var(--mist);border-radius:12px;min-height:58px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 3px 0 var(--mist)}
.g-kid .spad button:hover:not(:disabled){border-color:var(--teal-l)}
.g-kid .spad button:disabled{opacity:.35;cursor:default}
.g-kid .spad small{font-size:11px;color:var(--muted);font-weight:600}
.g-kid .stools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.g-kid .stools .btn{min-height:46px;padding:8px;font-size:15px}
.g-kid #s-notes[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}
.g-kid .sdone{padding:16px 6px}
@media (max-width:860px){
.g-kid .kcols,.g-kid .klearn,.g-kid .ccols,.g-kid .scols{grid-template-columns:minmax(0,1fr);gap:18px}
.g-kid .scols .sside{max-width:520px;width:100%;margin:0 auto}
.g-kid .spad{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}
.g-kid .spad button{font-size:22px;min-height:52px;padding:0}
.g-kid .stools{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-kid .stools .btn{font-size:13px;padding:6px 2px;flex-direction:column;gap:0;line-height:1.3}
}
@media (max-width:560px){
.g-kid{padding:16px 12px}
.g-kid .kopts{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-kid .cop{grid-template-columns:1fr}
.g-kid .kbig{font-size:96px}
.g-kid .kforms b{font-size:28px}
.g-kid .kgrid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px}
.g-kid .kl{font-size:24px;min-height:52px;border-radius:12px}
.g-kid .ngrid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}
.g-kid .sslot{width:48px;height:56px;font-size:28px}
.g-kid .stile{width:52px;height:58px;font-size:28px}
.g-kid .semo{font-size:76px}
.g-kid .cobjs{max-width:292px;gap:6px}.g-kid .cobj{width:53px;height:53px}
.g-kid .cobj{font-size:30px}
.g-kid .cobjs.many .cobj{font-size:26px}
.g-kid .mgrid{gap:7px}
.g-kid .mgrid[data-lv=expert]{gap:4px}
.g-kid .mback,.g-kid .mface{border-radius:10px}
.g-kid .kseg b{font-size:13.5px}
.g-kid .kseg label{padding:6px 9px}
}
@media (max-width:360px){.g-kid .cobjs{max-width:250px;gap:5px}.g-kid .cobj,.g-kid .cobjs.many .cobj{width:46px;height:46px;font-size:24px}}
@media print{#print-area .sprint{display:block;text-align:center}#print-area .sprint p{font:600 12pt Arial,sans-serif;margin:0 0 6mm}}
/* /kids tools */
/* dev2 tools */
.d2 .d2-bar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:16px}
.d2 .d2-opt{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink-3)}
.d2 .d2-sel{width:auto;max-width:100%;font:600 15px/1.3 var(--font);letter-spacing:0;padding:8px 12px;min-height:44px;border-radius:10px;direction:inherit;text-align:start}
.d2 .d2-io{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.d2 .d2-pane{min-width:0}
.d2 .d2-ph{display:flex;align-items:center;justify-content:space-between;gap:6px 8px;margin-bottom:8px;flex-wrap:wrap;min-height:44px}
.d2 .d2-ph .lbl{margin:0}
.d2 .d2-ph .lbl small{font-weight:600;color:var(--muted);margin-inline-start:4px}
.d2 .d2-acts{display:flex;flex-wrap:wrap;gap:6px}
.d2 .d2-mini{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 14px/1.2 var(--font);color:var(--ink);background:var(--white);border:1px solid var(--mist);border-radius:10px;padding:8px 12px;min-height:40px;cursor:pointer}
.d2 .d2-mini:hover{border-color:var(--teal-l)}
.d2 .d2-mini:disabled{opacity:.45;cursor:not-allowed}
.d2 .d2-file{overflow:hidden}
.d2 .d2-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;font-size:0}
.d2 .d2-ta{font:500 14px/1.6 ui-monospace,"SF Mono",Consolas,"Liberation Mono",monospace;letter-spacing:0;min-height:340px;white-space:pre;overflow:auto;tab-size:4;overflow-wrap:normal;resize:vertical}
.d2 .d2-ta[readonly]{background:#fbfcfc}
.d2 .d2-stats{margin-top:8px;font-size:15px;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.d2 .d2-stats b{font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.d2 .d2-stats .good{color:var(--ok)}
.d2 .d2-stats .sep{color:var(--mist)}
.d2 .d2-warn{margin-top:10px;font-size:14.5px;font-weight:600;color:#7a5100;background:#fff4dc;border-radius:10px;padding:8px 12px}
.d2 .d2-err{margin-top:10px;border:1px solid #f1c4bf;background:var(--err-bg);border-radius:12px;padding:10px 12px;color:var(--err);font-size:15px;line-height:1.6}
.d2 .d2-err b{display:block}
.d2 .d2-err p{color:var(--ink-3);font-weight:600;overflow-wrap:anywhere}
.d2 .d2-err pre{margin:6px 0 0;font:13px/1.45 ui-monospace,Consolas,monospace;color:var(--ink);background:var(--white);border-radius:8px;padding:6px 8px;overflow-x:auto;white-space:pre;text-align:left}
.d2 .d2-err .btn{margin-top:8px;min-height:38px;padding:6px 12px;font-size:14px;color:var(--err);border-color:#f1c4bf}
.d2 .actions .btn-alt{flex:1 1 auto}
.d2-priv{text-align:center}
.d2 .d2c-top{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;align-items:start}
.d2 .d2c-sw{--c:#446e7d;position:relative;display:flex;align-items:flex-end;justify-content:center;aspect-ratio:1;border-radius:18px;border:1px solid var(--mist);cursor:pointer;overflow:hidden;background:linear-gradient(var(--c),var(--c)),repeating-conic-gradient(#e8edef 0 25%,#fff 0 50%) 0 0/18px 18px}
.d2 .d2c-sw input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
.d2 .d2c-sw span{margin:10px;font-size:13.5px;font-weight:700;color:var(--ink);background:rgba(255,255,255,.88);border-radius:8px;padding:3px 10px;pointer-events:none}
.d2 .d2c-in{min-width:0}
.d2 #c-in{font-size:19px}
.d2 #c-in.bad{border-color:var(--err)}
.d2 .d2c-msg{font-size:14.5px;font-weight:600;color:#7a5100;margin-top:6px}
.d2 .d2c-msg:empty{display:none}
.d2 .d2c-sls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;margin-top:10px}
.d2 .d2c-sl{display:flex;flex-direction:column;font-size:14.5px;font-weight:600;color:var(--ink-3)}
.d2 .d2c-sl output{font-variant-numeric:tabular-nums;color:var(--muted)}
.d2 .d2c-sl input{width:100%;accent-color:var(--teal);direction:ltr}
.d2 .d2c-list{margin-top:18px;border:1px solid var(--mist);border-radius:14px;overflow:hidden}
.d2 .d2c-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--mist)}
.d2 .d2c-row:first-child{border-top:0}
.d2 .d2c-k{font-weight:700;font-size:14.5px;color:var(--ink-3)}
.d2 .d2c-row code{font:600 15.5px/1.5 ui-monospace,Consolas,monospace;color:var(--ink);text-align:left;overflow-wrap:anywhere;user-select:all}
.d2 .d2c-name{margin-top:14px;font-size:15.5px;color:var(--ink-3);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.d2 .d2c-name .d2-mini{direction:ltr}
.d2 .d2c-names{margin-top:14px;border-top:1px solid var(--mist);padding-top:12px}
.d2 .d2c-names summary{cursor:pointer;font-weight:700;color:var(--ink);min-height:40px;display:flex;align-items:center}
.d2 .d2c-filter{font-size:16px;margin:10px 0}
.d2 .d2c-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;max-height:420px;overflow:auto;direction:ltr}
.d2 .d2c-grid button{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;font:inherit;background:var(--white);border:1px solid var(--mist);border-radius:10px;padding:6px 8px;cursor:pointer;min-height:44px}
.d2 .d2c-grid button:hover{border-color:var(--teal-l)}
.d2 .d2c-grid i{grid-row:1/3;width:22px;height:22px;border-radius:6px;border:1px solid rgba(0,0,0,.12)}
.d2 .d2c-grid span{font-size:13.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis}
.d2 .d2c-grid small{font:12px ui-monospace,Consolas,monospace;color:var(--muted)}
.d2 .d2s-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
.d2 .d2s-view{position:sticky;top:12px;min-width:0}
.d2 .d2s-stage{display:grid;place-items:center;min-height:300px;border-radius:16px;border:1px solid var(--mist);background:#f3f6f7;padding:40px}
.d2 .d2s-box{width:min(200px,60%);aspect-ratio:1;background:#fff;border-radius:16px}
.d2 .d2s-look{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:10px}
.d2 .d2s-look label{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--ink-3)}
.d2 .d2s-look .d2s-rad{flex:1 1 180px;flex-direction:column;align-items:stretch;gap:0}
.d2 .d2s-look .d2s-rad input{accent-color:var(--teal);direction:ltr}
.d2 input[type=color]{width:46px;height:40px;padding:2px;border:1.5px solid var(--mist);border-radius:10px;background:var(--white);cursor:pointer;flex:none}
.d2 .d2s-code pre{white-space:pre-wrap;overflow-wrap:anywhere}
.d2 .d2s-code .cbhead+pre{margin-bottom:12px}
.d2 .d2s-ctl{min-width:0}
.d2 .d2s-pre{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.d2 .d2s-pre button{display:flex;flex-direction:column;align-items:center;gap:8px;font:600 13px/1.3 var(--font);color:var(--ink-3);background:#f6f8f9;border:1px solid var(--mist);border-radius:12px;padding:12px 6px 8px;cursor:pointer;min-height:44px}
.d2 .d2s-pre button:hover{border-color:var(--teal-l)}
.d2 .d2s-pre span{width:38px;height:28px;border-radius:7px;background:#fff}
.d2 .d2s-tabs{display:flex;flex-wrap:wrap;gap:6px}
.d2 .d2s-tabs button{display:inline-flex;align-items:center;gap:6px;font:600 14px/1.2 var(--font);color:var(--muted);background:var(--white);border:1px solid var(--mist);border-radius:10px;padding:8px 12px;min-height:40px;cursor:pointer}
.d2 .d2s-tabs button[aria-selected=true]{color:var(--teal-d);border-color:var(--teal);background:var(--teal-xl)}
.d2 .d2s-tabs i{width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.15)}
.d2 .d2s-lbtn{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 6px}
.d2 .d2s-del{color:var(--err)}
.d2 .d2s-f{display:grid;grid-template-columns:minmax(0,1fr) 108px;grid-template-areas:"l n" "r r";gap:2px 10px;align-items:center;margin-top:12px}
.d2 .d2s-f label{grid-area:l;font-size:15px;font-weight:600;color:var(--ink-3)}
.d2 .d2s-f input[type=range]{grid-area:r;width:100%;accent-color:var(--teal);direction:ltr}
.d2 .d2s-n{grid-area:n;display:flex;align-items:center;gap:4px}
.d2 .d2s-n .inp{font:600 15px/1.3 ui-monospace,Consolas,monospace;letter-spacing:0;padding:6px 8px;text-align:center;min-width:0}
.d2 .d2s-n small{color:var(--muted);font-size:13px;width:18px}
.d2 .d2s-col{grid-area:r;display:flex;gap:8px;align-items:center}
.d2 .d2s-col .inp{font:600 15px/1.3 ui-monospace,Consolas,monospace;letter-spacing:0;padding:8px 10px;max-width:130px}
.d2 .d2s-inset{margin-top:14px}
.d2 .d2s-reset{margin-top:16px;width:100%;min-height:44px}
@media (max-width:860px){.d2 .d2-io,.d2 .d2s-grid{grid-template-columns:1fr}.d2 .d2-ta{min-height:220px}.d2 .d2s-view{position:static}.d2 .d2c-top{grid-template-columns:140px minmax(0,1fr)}}
@media (max-width:520px){.d2{padding:16px}.d2 .d2c-top{grid-template-columns:1fr}.d2 .d2c-sw{aspect-ratio:auto;height:110px}.d2 .d2c-row{grid-template-columns:76px minmax(0,1fr) auto;padding:8px 10px;gap:8px}.d2 .d2c-row code{font-size:14px}.d2 .actions .btn{flex:1 1 100%}.d2 .d2s-stage{min-height:220px;padding:28px}}
/* /dev2 tools */
/* datetime tools */
.dtt .status.note{display:block;color:var(--ink-3);background:var(--paper);border:1px solid var(--mist)}
.dtt .dim{opacity:.45}
.dtt .dtime{font:600 17px/1.4 var(--font);letter-spacing:0;min-height:50px;text-align:start}
.dtt input[type=date],.dtt input[type=time]{min-width:0;overflow:hidden}
.dtt .field,.dtt .row2>*{min-width:0}
.dtt .field>.dtime{margin-top:8px}
.dtt .dtf .dhy{font:600 17px/1.4 var(--font);letter-spacing:0;text-align:center;padding:12px 8px}
.dtt .dtf .dh select.inp{padding:12px 8px}
.dtt .dtbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.dtt .btn-sm{min-height:40px;padding:7px 14px;font-size:14.5px;font-weight:600;flex:0 0 auto}
.dtt .chkline{margin-top:12px}
.dtt .r-lbl.dtgap{margin-top:14px}
.dtt .result .r-main{overflow-wrap:anywhere}
.dtt .result .facts em{font-style:normal;color:var(--muted);font-size:13.5px}
.dtt .stats b{overflow-wrap:anywhere}
.dtd{display:inline-grid;gap:2px}.dtd b{color:var(--ink)}.dtd small{color:var(--muted);font-weight:600}
.dtd.big b{font-size:clamp(21px,2.6vw,27px);line-height:1.35}.dtd.big small{font-size:16px}
.dtt .dtres{margin-top:6px}
.dtt .lines li b.dtrtl{direction:inherit}
.dtt .dtkv b.tx{font:600 15.5px/1.5 var(--font)}
@media (max-width:860px){.dtt .dtimer .dtstage,.dtt.dtimer .dtstage{order:-1}}
.dtt .dtsm{font-size:15px}
.dtt .dtper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.dtt .dtper.dt3{grid-template-columns:repeat(3,minmax(0,1fr))}.dtt .dtper.dt2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dtt .dtper label{display:flex;flex-direction:column;gap:4px;font-size:13.5px;font-weight:600;color:var(--muted);text-align:center;min-width:0}
.dtt .dtper .inp{text-align:center;font-size:20px;padding:11px 6px}
.dtt .dtchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.dtt .dtchip{font:inherit;font-size:14px;font-weight:600;border:1px solid var(--mist);background:var(--white);color:var(--ink-3);border-radius:999px;padding:6px 12px;min-height:38px;cursor:pointer}
.dtt .dtchip:hover{border-color:var(--teal-l);background:var(--teal-xl)}
.dtt .dtev .dtchip{display:grid;text-align:start;border-radius:12px;padding:6px 12px;line-height:1.4}
.dtt .dtev .dtchip small{font-weight:500;color:var(--muted);font-size:12.5px}
.dtt .dtx{font:inherit;font-size:18px;line-height:1;min-width:36px;min-height:36px;border-radius:10px;border:1px solid var(--mist);background:var(--white);color:var(--ink-3);cursor:pointer;padding:0 8px}
.dtt .dtx:hover:not(:disabled){border-color:var(--teal-l);background:var(--teal-xl)}
.dtt .dtx:disabled{opacity:.35;cursor:default}
.dtt .dtnone{color:var(--muted);font-size:14px;text-align:center}
.dtt[data-mode=count] .m-add,.dtt[data-mode=add] .m-count{display:none}
.dtt .dtdays{margin-top:10px}.dtt .dtdays>div{display:flex;flex-wrap:wrap;gap:6px}
.dtt .dtdays label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--mist);border-radius:10px;padding:6px 10px;font-size:14px;font-weight:600;cursor:pointer;background:var(--white)}
.dtt .dtdays input{accent-color:var(--teal);width:17px;height:17px}
.dtt .dthol summary span{color:var(--teal-d)}
.dtt .dtholin{padding:0 16px 16px}
.dtt .dthl{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;max-height:260px;overflow:auto}
.dtt .dthl li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--mist);border-radius:10px;padding:6px 10px;background:var(--white);font-size:14.5px}
.dtt .dthl li span{display:grid}.dtt .dthl li small{color:var(--muted)}
.dtt .lines li b{overflow-wrap:anywhere}
.dtnowcard{display:grid;justify-items:center;gap:2px;text-align:center;max-width:520px;margin:0 auto 18px;padding:16px 18px;border-radius:18px;background:var(--white);border:1px solid var(--mist);box-shadow:var(--shadow)}
.dtnowcard>span{font-weight:700;color:var(--teal-d)}.dtnowcard>span small{font-weight:500;color:var(--muted)}
.dtnowcard>b{font-size:56px;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.dtnowcard>small{color:var(--ink-3);font-size:14.5px}
.dtt[data-mode=date] .m-week,.dtt[data-mode=week] .m-date{display:none}
.dtt .dtwn{font-size:clamp(40px,6vw,56px)!important}
.dtt .dtwdays{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;text-align:start}
.dtt .dtwdays li{background:rgba(255,255,255,.7);border:1px solid #dbe5e8;border-radius:10px;padding:6px 12px}
.dtt .dtwdays .dtd b{font-size:15px}.dtt .dtwdays .dtd small{font-size:13px}
.dtt[data-mode=date] .m-dur,.dtt[data-mode=dur] .m-date{display:none}
.dtt .dtopts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:6px}
.dtt .dtopts .chkline{margin-top:8px}.dtt .dtopts .btn-sm{margin-top:8px}
.dtt .dtstage{background:linear-gradient(160deg,var(--teal-xl),#f7f2e8);border:1px solid #d6e2e6;border-radius:18px;padding:22px 18px;text-align:center}
.dtt .dtstage:fullscreen{display:flex;flex-direction:column;justify-content:center;border-radius:0;padding:5vh 4vw;overflow:auto}
.dtt .dtttl{font-size:20px;font-weight:700;color:var(--ink);min-height:0}.dtt .dtttl:empty{display:none}
.dtt .dtcd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 4px;direction:ltr}
.dtt .nodays .dtcd{grid-template-columns:repeat(3,minmax(0,1fr))}.dtt .nodays .cdd{display:none}
.dtt .dtcd div{background:rgba(255,255,255,.8);border:1px solid #dbe5e8;border-radius:14px;padding:10px 4px;display:grid;min-width:0}
.dtt .dtcd b{font-size:clamp(26px,5vw,48px);line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dtt .dtcd span{font-size:13px;color:var(--muted);font-weight:600}
.dtt .dtstage:fullscreen .dtcd b{font-size:min(14vw,22vh)}.dtt .dtstage:fullscreen .dtbig{font-size:min(16vw,30vh)}
.dtt .dtbar{height:10px;border-radius:99px;background:rgba(255,255,255,.8);border:1px solid #dbe5e8;overflow:hidden;margin-top:10px}
.dtt .dtbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal-l),var(--teal-d));transition:width .25s linear}
.dtt .dtdone{display:none;font-size:22px;font-weight:700;color:var(--err);margin-top:10px}
.dtt .done .dtdone{display:block;animation:dtblink 1s steps(2) 6}
@keyframes dtblink{50%{opacity:.25}}
.dtt .dtend{color:var(--ink-3);font-size:15px;margin-top:10px}
.dtt .dtsnd{color:var(--bronze-d);background:#fff8ea;border:1px solid #ecdcb9;border-radius:10px;padding:6px 10px;margin-top:10px;font-size:14px;font-weight:600}
.dtt .dtstage .actions .btn-alt{flex:1 1 0}
.dtt .dtbig{font:700 clamp(44px,9vw,76px)/1.1 ui-monospace,"SF Mono",Consolas,monospace;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:6px 0}
.dtt .dtlap{min-height:1.6em;color:var(--teal-d);font-weight:700;font-variant-numeric:tabular-nums}
.dtt .dtctl .btn{flex:1 1 0;min-width:0}
.dtt .dtctl .btn-main.stop{background:var(--err)}
.dtt .dtlaps{border:1px solid var(--mist);border-radius:14px;max-height:420px;overflow:auto;background:var(--white)}
.dtt .dtlaps table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.dtt .dtlaps th{position:sticky;top:0;background:var(--paper);font-size:14px;color:var(--ink-3);padding:9px 10px;text-align:start}
.dtt .dtlaps td{padding:8px 10px;border-top:1px solid var(--mist);font-size:16px;font-family:ui-monospace,Consolas,monospace}
.dtt .dtlaps td:first-child{font-family:var(--font);font-weight:700;color:var(--ink-3)}
.dtt .dtlaps td small{font-size:11.5px;font-weight:700;border-radius:99px;padding:1px 7px;margin-inline-start:4px}
.dtt .dtlaps .fast td{color:var(--ok)}.dtt .dtlaps .fast small{background:var(--ok-bg)}
.dtt .dtlaps .slow td{color:var(--err)}.dtt .dtlaps .slow small{background:var(--err-bg)}
.dtt .dtring{position:relative;width:min(280px,100%);margin:6px auto 0;aspect-ratio:1}
.dtt .dtring svg{width:100%;height:100%;transform:rotate(-90deg)}
.dtt .dtring circle{fill:none;stroke-width:7}.dtt .dtring .rbg{stroke:rgba(255,255,255,.85)}
.dtt .dtring .rfg{stroke:var(--teal);stroke-linecap:round;transition:stroke-dashoffset .3s linear}
.dtt[data-phase=short] .dtring .rfg{stroke:#2f9e6b}.dtt[data-phase=long] .dtring .rfg{stroke:#3b6fb6}
.dtt .dtring>div{position:absolute;inset:0;display:grid;place-content:center}
.dtt .dtring .dtbig{font-size:clamp(40px,11vw,62px);margin:0}
.dtt .dtph{font-weight:700;color:var(--teal-d)}
.dtt .dtdots{display:flex;justify-content:center;gap:8px;margin:10px 0 2px;min-height:14px}
.dtt .dtdots i{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.9);border:2px solid var(--teal-l)}
.dtt .dtdots i.on{background:var(--teal);border-color:var(--teal)}.dtt .dtdots i.cur{border-color:var(--teal-d);box-shadow:0 0 0 3px rgba(68,110,125,.18)}
.dtt .dtcnt{color:var(--ink-3);font-size:14.5px}
.dtt .dtpset{margin-top:18px}.dtt .dtpsetin{padding:0 16px 16px}
.dtt .dtzhead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;align-items:end}
.dtt .dtzwhen{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr);gap:10px}
.dtt .dtzwhen .field+.field{margin-top:0}
.dtt .dtsearch{position:relative}
.dtt .dtsug{position:absolute;inset-inline:0;top:100%;z-index:5;list-style:none;margin:4px 0 0;padding:4px;background:var(--white);border:1px solid var(--mist);border-radius:12px;box-shadow:var(--shadow);max-height:320px;overflow:auto}
.dtt .dtsug li{display:grid;padding:8px 10px;border-radius:9px;cursor:pointer}
.dtt .dtsug li small{color:var(--muted)}
.dtt .dtsug li:hover,.dtt .dtsug li.act{background:var(--teal-xl)}
.dtt .dtzmode{margin:14px 0 0;font-size:14px;font-weight:700;color:var(--teal-d)}
.dtt .dtzlist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.dtt .dtzlist li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,1fr) auto;gap:6px 14px;align-items:center;border:1px solid var(--mist);border-radius:14px;padding:10px 14px;background:var(--white)}
.dtt .dtzlist li.night{background:#f2f4f8}
.dtt .dtzlist li.src{border-color:var(--teal);box-shadow:0 0 0 2px rgba(68,110,125,.15)}
.dtt .dtzlist .zc,.dtt .dtzlist .zt,.dtt .dtzlist .zo{display:grid;min-width:0}
.dtt .dtzlist .zc b{font-size:17px;color:var(--ink)}.dtt .dtzlist .zc em{font-style:normal;font-size:12px;color:var(--teal-d)}
.dtt .dtzlist small{color:var(--muted);font-size:13px}
.dtt .dtzlist .zt b{font-size:24px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:start}
.dtt .dtzlist .zo{font-size:13.5px;color:var(--ink-3)}
.dtt .dtzlist .zd,.dtt .dtzlist .zdst,.dtt .dtzlist .zsrc{font-style:normal;font-size:12px;font-weight:700;border-radius:99px;padding:0 8px;justify-self:start}
.dtt .dtzlist .zd{background:#fff8ea;color:var(--bronze-d)}.dtt .dtzlist .zdst{background:#eef0da;color:#59611a}.dtt .dtzlist .zsrc{background:var(--teal-xl);color:var(--teal-d)}
.dtt .dtzlist .za{display:flex;gap:6px}
.dtt .dtrows{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.dtt .dtrows li{display:grid;grid-template-columns:58px repeat(3,minmax(0,1fr)) 36px;gap:6px;align-items:end}
.dtt .dtrows label{display:flex;flex-direction:column-reverse;gap:2px;font-size:12.5px;font-weight:600;color:var(--muted);text-align:center;min-width:0}
.dtt .dtrows .inp{text-align:center;font-size:18px;padding:10px 4px}
.dtt .dtrows select.inp{text-align:center;font-size:20px;padding:10px 4px}
.dtt .dtrows .dtx{min-height:48px}
.dtt[data-mode=sum] :is(.m-between,.m-clock,.m-decimal),.dtt[data-mode=between] :is(.m-sum,.m-clock,.m-decimal),.dtt[data-mode=clock] :is(.m-sum,.m-between,.m-decimal),.dtt[data-mode=decimal] :is(.m-sum,.m-between,.m-clock){display:none}
.dtt .dtw{font-size:16px!important;direction:inherit!important}
.dtt .dteq{text-align:center;font-size:22px;color:var(--teal);margin:10px 0 -4px}
.dtt .m-clock .tabs{margin:14px 0 0}
.dtnow,.dtt .dtnow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;margin:0 0 18px;padding:12px 14px;border-radius:14px;background:var(--paper);border:1px solid var(--mist)}
.dtt .dtnow span{font-weight:700;color:var(--ink-3)}.dtt .dtnow b{font:700 24px/1.2 ui-monospace,Consolas,monospace;color:var(--ink)}.dtt .dtnow small{color:var(--muted);font-family:ui-monospace,Consolas,monospace}
.dtt .dtnow .dtx{font-size:14px;font-weight:700}
.dtt .dth{font-size:19px;margin:0 0 12px}
.dtt .dtbot{display:flex;align-items:end}
.dtt .dtkv{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.dtt .dtkv li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;border:1px solid var(--mist);border-radius:12px;padding:8px 12px;background:var(--white)}
.dtt .dtkv span{font-size:13px;font-weight:700;color:var(--muted);grid-column:1}
.dtt .dtkv b{grid-column:1;font:600 15.5px/1.45 ui-monospace,Consolas,monospace;color:var(--ink);overflow-wrap:anywhere;text-align:start}
.dtt .dtkv .dtx{grid-column:2;grid-row:1/3;font-size:13px;font-weight:700}
@media (max-width:860px){.dtt .dtzhead{grid-template-columns:1fr}}
@media (max-width:640px){.dtt .dtzlist li{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}.dtt .dtzlist .zt{grid-column:1/-1;grid-row:2}.dtt .dtzlist .zo{grid-column:1/-1;grid-row:3;display:flex;flex-wrap:wrap;gap:4px 10px}.dtt .dtzlist .za{grid-column:2;grid-row:1}
.dtt .dtzwhen{grid-template-columns:1fr 1fr}.dtt .dtzwhen .field:first-child{grid-column:1/-1}}
@media (max-width:480px){.dtt .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dtt .dtper{grid-template-columns:repeat(2,minmax(0,1fr))}.dtt .dtper.dt3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dtt .dtrows li{grid-template-columns:48px repeat(3,minmax(0,1fr)) 32px;gap:4px}.dtt .dtrows label{font-size:11.5px}.dtt .dtcd{gap:5px}.dtt .dtcd div{padding:8px 2px}.dtt .dtcd span{font-size:12px}
.dtnowcard>b{font-size:46px}.dtt .tabs{display:flex;flex-wrap:wrap}.dtt .tabs button{flex:1 1 auto;padding:8px 10px;font-size:14px}}
/* /datetime tools */
/* files group tools */
.flt .fl-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px;align-items:end}
.flt .fl-f{display:flex;flex-direction:column;min-width:0}
.flt .fl-f .inp,.flt .fname .inp,.flt .fl-q .inp,.flt .fl-passbox .inp{font:600 15.5px/1.4 var(--font);letter-spacing:0;padding:10px 12px;direction:inherit;text-align:start}
.flt #z-pass,.flt #u-pass,.flt #s-n{direction:ltr;text-align:left}
.flt .fl-small{font-size:12.5px;color:var(--muted);margin-top:4px}
.flt .fl-chkf{gap:10px;justify-content:center;min-height:46px}
.flt .fl-chkf .chkline{font-size:14.5px;line-height:1.4}
.flt .fl-books,.flt .fl-parts,.flt .fl-zlist,.flt .fl-ulist{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.flt .fl-book{background:var(--white);border:1px solid var(--mist);border-radius:14px;padding:10px 12px;min-width:0}
.flt .fl-bhead{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}
.flt .fl-fn{font-size:15.5px;color:var(--ink);overflow-wrap:anywhere;min-width:0;flex:1 1 160px}
.flt .fl-meta{font-size:13.5px;color:var(--muted);overflow-wrap:anywhere}
.flt .fl-x{flex:none;width:36px;height:36px;border-radius:10px;border:1px solid var(--mist);background:var(--white);color:var(--ink-3);font:700 18px/1 var(--font);cursor:pointer}
.flt .fl-x:hover:not(:disabled){border-color:var(--teal-l)}
.flt .fl-x:disabled{opacity:.35;cursor:default}
.flt .fl-n{font-style:normal;font-weight:700;color:var(--teal-d);background:var(--teal-xl);border-radius:8px;min-width:28px;text-align:center;padding:2px 6px}
.flt .fl-sheet{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 0 0;margin-top:8px;border-top:1px dashed var(--mist)}
.flt .fl-chk{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink-3);cursor:pointer;flex:1 1 140px;min-width:0}
.flt .fl-chk input{width:18px;height:18px;accent-color:var(--teal);flex:none}
.flt .fl-sn{overflow-wrap:anywhere;min-width:0}
.flt .fl-acts{display:flex;gap:6px;flex-wrap:wrap;margin-inline-start:auto}
.flt .btn.fl-sm{min-height:38px;padding:6px 12px;font-size:14px;flex:none}
.flt .fl-pick{position:relative;overflow:hidden;cursor:pointer}
.flt .fl-pick input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.flt .fl-pvbox{margin-top:8px}
.flt .fl-pv{overflow:auto;max-height:300px;border:1px solid var(--mist);border-radius:10px}
.flt .fl-pv table{border-collapse:collapse;font-size:13.5px;min-width:100%}
.flt .fl-pv th,.flt .fl-pv td{border:1px solid var(--mist);padding:5px 8px;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;text-align:start}
.flt .fl-pv th{background:var(--paper);font-weight:700}
.flt .fl-outs{display:flex;flex-direction:column;gap:8px;flex:1 1 260px}
.flt .fl-how{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
.flt .fl-how b{direction:inherit;font-size:15.5px}
.flt .fl-one{background:var(--paper);border-radius:12px;padding:10px 12px}
.flt .fl-part,.flt .fl-zi,.flt .fl-ui{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;background:var(--white);border:1px solid var(--mist);border-radius:12px;padding:8px 12px;min-width:0}
.flt .fl-part .fl-sn,.flt .fl-zi .fl-sn,.flt .fl-ui .fl-sn{flex:1 1 160px;font-weight:600;color:var(--ink)}
.flt .fl-more{justify-content:center;color:var(--muted);font-size:14px}
.flt .fl-zlist{max-height:360px;overflow:auto}
.flt .fl-zsum{margin:12px 0 0;font-weight:600;color:var(--ink-3)}
.flt .fl-drops{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.flt .fl-dropd{min-height:200px}
.flt .fl-ulist{gap:4px;max-height:560px;overflow:auto}
.flt .fl-ui{padding:6px 10px;padding-inline-start:calc(10px + var(--d,0) * 18px);border-radius:10px}
.flt .fl-udir{background:var(--paper);border-style:dashed}
.flt .fl-udir .fl-sn::before{content:"📁 "}
.flt .fl-umeta{margin:10px 0 0}
.flt .fl-passbox{margin-top:12px;background:#f6eedd;border:1px solid #ecdcb9;border-radius:12px;padding:12px}
.flt .fl-passbox p{margin:0 0 8px;font-weight:600;color:var(--ink-3)}
.flt .fl-qrow{display:flex;gap:8px;min-width:0}
.flt .fl-qrow .inp{flex:1 1 auto;min-width:0}
.flt .fl-qrow select.inp{flex:0 1 40%}
.flt .fl-qrow .btn{min-height:44px;flex:none}
.flt #u-encl{margin-top:12px}
.flt .fl-pvpanel{margin-top:14px;border:1px solid var(--mist);border-radius:14px;padding:10px 12px;background:var(--white)}
.flt .fl-pvpanel img{display:block;max-width:100%;max-height:70vh;margin:10px auto 0;background:repeating-conic-gradient(#eef2f3 0 25%,#fff 0 50%) 0 0/16px 16px}
.flt .fl-pre{margin:10px 0 0;max-height:60vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:13.5px/1.6 ui-monospace,Consolas,monospace;background:var(--paper);border-radius:10px;padding:10px;text-align:start}
.flt .fl-or{text-align:center;margin:12px 0 0}
.flt .fl-or .btn{flex:none}
.flt .fl-vopts{grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,1fr)}
.flt .fl-csvopts{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.flt .fl-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.flt .fl-tb{flex:0 1 auto;min-height:40px;padding:6px 12px;font-size:14px}
.flt .fl-tb .ico{width:16px;height:16px}
.flt .fl-tb:disabled{opacity:.45}
.flt .fl-grid{margin-top:10px;border:1px solid var(--mist);border-radius:12px;overflow:hidden;background:var(--white)}
.flt .fl-ghead{overflow:hidden;background:var(--paper);border-bottom:1px solid var(--mist)}
.flt .fl-gbody{position:relative;overflow:auto;height:min(62vh,560px);min-height:260px;outline:0}
.flt .fl-gbody:focus-visible{box-shadow:inset 0 0 0 2px var(--teal)}
.flt .fl-gspace{height:1px}
.flt .fl-grid table{table-layout:fixed;border-collapse:collapse;font-size:14px}
.flt #v-tbl{position:absolute;top:0;inset-inline-start:0}
.flt .fl-grid th,.flt .fl-grid td{height:34px;box-sizing:border-box;border-bottom:1px solid #eef2f3;border-inline-end:1px solid #eef2f3;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start;cursor:cell}
.flt .fl-grid thead th{font-weight:700;color:var(--ink);position:relative;padding-inline-end:30px;cursor:pointer}
.flt .fl-grid .fl-rn{color:var(--muted);font-weight:500;font-size:12.5px;text-align:center;background:var(--paper);cursor:pointer;padding:0 4px}
.flt .fl-grid thead th.fl-on,.flt .fl-grid td.fl-con,.flt .fl-grid tr.fl-on td,.flt .fl-grid tr.fl-on .fl-rn{background:var(--teal-xl)}
.flt .fl-grid td.fl-cur{box-shadow:inset 0 0 0 2px var(--teal);background:#fff}
.flt .fl-grid td.fl-editing{padding:0;overflow:visible;position:relative}
.flt .fl-ed{position:absolute;inset:0;width:100%;min-height:34px;border:2px solid var(--teal);border-radius:0;font:14px/1.5 var(--font);padding:5px 6px;resize:none;background:#fff;z-index:2;box-sizing:border-box}
.flt .fl-sort{position:absolute;inset-inline-end:4px;top:5px;width:24px;height:24px;border:0;border-radius:6px;background:transparent;cursor:pointer;color:var(--muted)}
.flt .fl-sort::before{content:"⇅";font-size:14px}
.flt .fl-asc .fl-sort::before{content:"↑";color:var(--teal-d)}
.flt .fl-desc .fl-sort::before{content:"↓";color:var(--teal-d)}
.flt .fl-sort:hover{background:var(--teal-xl)}
.flt .fl-export{align-items:flex-end}
.flt .fl-export>.fl-f{flex:0 1 220px}
.flt .fl-export .fl-chkf{flex:1 1 220px;align-items:flex-start}
.flt .fl-fmt{flex:0 1 160px}
.flu .u-cats{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));max-width:none}
.flu .u-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto minmax(0,1.5fr);gap:10px;align-items:end;margin-top:18px}
.flu .u-f{display:flex;flex-direction:column;min-width:0}
.flu .u-f .inp{font:600 16px/1.4 var(--font);letter-spacing:0;padding:11px 12px;direction:inherit;text-align:start}
.flu #u-val{font:600 20px/1.4 ui-monospace,Consolas,monospace;direction:ltr;text-align:left}
.flu #u-val.bad{border-color:var(--err);background:var(--err-bg)}
.flu .u-swap{flex:none;min-height:48px;padding:0 12px}
.flu .u-resbox{margin-top:16px;background:var(--teal-xl);border-radius:16px;padding:14px 16px}
.flu .u-res{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;min-height:40px}
.flu .u-res b{font-size:clamp(24px,6vw,34px);color:var(--teal-d);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.flu .u-sign{font-size:24px;font-weight:700;color:var(--ink-3)}
.flu .u-unit{font-size:17px;font-weight:600;color:var(--ink-3)}
.flu .u-eq{margin:4px 0 0;color:var(--ink-3);font-size:15px;overflow-wrap:anywhere}
.flu .u-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.flu .u-sig{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink-3);font-size:14.5px}
.flu .u-sig .inp{font:600 15px/1.4 var(--font);padding:8px 10px;width:auto;direction:inherit}
.flu .u-acts .btn{flex:none;min-height:42px}
.flu .u-tbl{margin-top:14px;border:1px solid var(--mist);border-radius:14px;overflow:hidden;background:var(--white)}
.flu .u-tbl table{width:100%;border-collapse:collapse;font-size:15px}
.flu .u-tbl th,.flu .u-tbl td{padding:9px 12px;border-bottom:1px solid #eef2f3;vertical-align:top}
.flu .u-tbl thead th{background:var(--paper);font-size:14px;color:var(--ink-3);text-align:start}
.flu .u-tbl tbody tr:last-child th,.flu .u-tbl tbody tr:last-child td{border-bottom:0}
.flu .u-tbl tbody tr{cursor:pointer}
.flu .u-tbl tbody tr.on{background:var(--teal-xl)}
.flu .u-tbl tbody tr:hover{background:#f3f7f8}
.flu .u-tbl th[scope=row]{font-weight:600;text-align:start}
.flu .u-tbl td{font-variant-numeric:tabular-nums;text-align:left;overflow-wrap:anywhere}
[dir=rtl] .flu .u-tbl td{text-align:right}
@media (max-width:760px){.flt .fl-drops{grid-template-columns:1fr}.flt .fl-dropd{min-height:120px}.flt .fl-vopts,.flt .fl-how{grid-template-columns:1fr}.flu .u-row{grid-template-columns:1fr}.flu .u-swap{justify-self:center;min-height:44px;transform:rotate(90deg)}}
@media (max-width:480px){.flt .fl-csvopts{grid-template-columns:1fr}.flt .fl-opts{grid-template-columns:1fr}.flt .fl-acts{margin-inline-start:0}.flt .bar .actions,.flt .bar .actions .btn{width:100%}.flt .fl-qrow{flex-wrap:wrap}.flt .fl-qrow select.inp{flex:1 1 100%}}
/* /files group tools */
/* pdf tools 2 */
.p2 .p2opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin-top:14px;align-items:end}
.p2 .p2opts>label,.p2 .p2opts>span>label{display:flex;flex-direction:column;min-width:0}
.p2 .p2opts .inp{font-size:16px;padding:10px 12px}
.p2 .p2opts small{color:var(--muted);font-size:13px;margin-top:4px}
.p2 .p2opts input[type=range]{margin-top:12px;accent-color:var(--teal)}
.p2 .p2opts output{font-weight:500;color:var(--muted)}
.p2 .p2chk{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:15px;min-height:44px;cursor:pointer}
.p2 .p2chk input{width:20px;height:20px;accent-color:var(--teal);flex:none}
.p2 .p2pw{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:14px}
.p2 .p2pw label{display:flex;flex-direction:column;min-width:0}.p2 .p2pw .inp{font-size:16px;padding:10px 12px}
.p2 .p2lv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.p2 .p2lv label{display:block;cursor:pointer}
.p2 .p2lv input{position:absolute;opacity:0;pointer-events:none}
.p2 .p2lv span{display:flex;flex-direction:column;gap:3px;height:100%;padding:12px;border:1.5px solid var(--mist);border-radius:12px;background:var(--paper)}
.p2 .p2lv b{font-size:15.5px}.p2 .p2lv small{font-size:13px;color:var(--muted);line-height:1.5}
.p2 .p2lv input:checked+span{border-color:var(--teal);background:var(--teal-xl);box-shadow:0 0 0 2px var(--teal-xl)}
.p2 .p2lv input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}
.p2 .p2more{margin-top:12px;border:1px solid var(--mist);border-radius:12px;padding:0 12px;background:var(--white)}
.p2 .p2more summary{cursor:pointer;font-weight:700;font-size:15px;color:var(--ink-3);padding:12px 0;min-height:44px;display:flex;align-items:center}
.p2 .p2more[open]{padding-bottom:12px}.p2 .p2more .p2opts{margin-top:0}.p2 .p2more .hint{margin:8px 0 0}
.p2 .p2prog{position:relative;margin-top:14px;height:30px;border-radius:9px;background:var(--paper);border:1px solid var(--mist);overflow:hidden}
.p2 .p2prog i{position:absolute;inset-block:0;inset-inline-start:0;width:0;background:var(--teal-xl);transition:width .2s}
.p2 .p2prog span{position:relative;display:block;padding:4px 10px;font-size:14px;font-weight:600;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p2 .p2res{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.p2 .p2res>div{background:var(--paper);border:1px solid var(--mist);border-radius:12px;padding:10px;text-align:center}
.p2 .p2res small{display:block;color:var(--muted);font-size:13px}.p2 .p2res b{font-size:19px}
.p2 .p2res p{grid-column:1/-1;margin:0;font-size:14.5px;color:var(--ink-3)}
.p2 .p2grid{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.p2 .p2grid:empty{display:none}
.p2 .p2grid li{display:flex;flex-direction:column;gap:6px;background:var(--white);border:1px solid var(--mist);border-radius:12px;padding:8px;min-width:0}
.p2 .p2grid .p2im{display:grid;place-items:center;height:150px;background:repeating-conic-gradient(#eef2f3 0 25%,#fff 0 50%) 0 0/14px 14px;border-radius:8px;overflow:hidden}
.p2 .p2grid img{max-width:100%;max-height:150px;object-fit:contain}
.p2 .p2grid small{font-size:12.5px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.p2 .p2grid a{display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:9px;border:1px solid var(--mist);font-weight:700;font-size:14px;color:var(--teal-d);text-decoration:none}
.p2 .p2grid a:hover{background:var(--teal-xl)}
.p2 .p2out{font:400 16px/1.8 var(--font);letter-spacing:0;min-height:260px;text-align:start;direction:inherit;unicode-bidi:plaintext;white-space:pre-wrap}
.p2 .p2txt .bar{margin-top:10px}
.p2[data-src=img] .q-pdfonly{display:none}
.p2 .p2state{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--paper);font-weight:600;font-size:15px}
.p2 .p2state:empty{display:none}
.p2 .p2state.ok{background:var(--ok-bg);color:var(--ok)}.p2 .p2state.err{background:var(--err-bg);color:var(--err)}
.p2 .p2meter{margin:0;font-size:14px;font-weight:600;min-height:1.5em}
.p2 .p2meter.weak{color:var(--err)}.p2 .p2meter.fair{color:#9a6a00}.p2 .p2meter.good{color:var(--ok)}
.p2 .p2meta{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.p2 .p2meta .rrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.p2 .p2meta .rrow .btn{min-height:44px;padding:8px 14px}
.p2 input[type=datetime-local].inp{font:500 16px/1.4 var(--font);letter-spacing:0;min-height:46px}
.p2 .p2fpages{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:12px}
.p2 .p2fpage{position:relative;margin:0 auto;max-width:100%;background:#fff;box-shadow:0 2px 10px rgba(11,18,21,.18)}
.p2 .p2fpage canvas{display:block;width:100%;height:auto}
.p2 .p2fpage .p2no{position:absolute;top:-10px;inset-inline-start:8px;background:var(--ink-3);color:#fff;font-size:12px;font-weight:700;border-radius:99px;padding:1px 8px}
.p2 .p2f{position:absolute;box-sizing:border-box;margin:0;border:1px solid rgba(47,85,99,.55);background:rgba(220,236,240,.62);color:#000;font-family:Arial,"Segoe UI",Tahoma,sans-serif;padding:0 2px;border-radius:2px;min-width:0;min-height:0}
.p2 .p2f:focus{outline:2px solid var(--teal);background:rgba(255,255,255,.95);z-index:2}
.p2 textarea.p2f{resize:none;line-height:1.15;overflow:auto}
.p2 input[type=checkbox].p2f,.p2 input[type=radio].p2f{appearance:auto;accent-color:#0b1215;background:transparent;border:0;padding:0;margin:0}
.p2 select.p2f{padding:0 1px}
.p2 .p2f:disabled{background:rgba(238,240,241,.5);border-style:dashed}
@media (max-width:640px){.p2 .p2lv{grid-template-columns:1fr}.p2 .p2lv span{flex-direction:row;align-items:baseline;gap:8px;flex-wrap:wrap}}
@media (max-width:480px){.p2 .p2res{grid-template-columns:1fr 1fr 1fr;gap:6px}.p2 .p2res b{font-size:16px}.p2 .p2grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p2 .p2pw{grid-template-columns:1fr}}
/* /pdf tools 2 */
/* dev1 tools */
.d1 .d1-bar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:16px}
.d1 .d1-opt{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink-3)}
.d1 .d1-sel{width:auto;max-width:100%;font-size:15px;padding:8px 12px;min-height:44px;border-radius:10px}
.d1 .d1-io{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.d1 .d1-pane{min-width:0}
.d1 .d1-ph{display:flex;align-items:center;justify-content:space-between;gap:6px 8px;margin-bottom:8px;flex-wrap:wrap;min-height:44px}
.d1 .d1-ph .lbl{margin:0}
.d1 .d1-acts{display:flex;flex-wrap:wrap;gap:6px}
.d1 .d1-mini{position:relative;display:inline-flex;align-items:center;gap:6px;font:600 14px/1.2 var(--font);color:var(--ink);background:var(--white);border:1px solid var(--mist);border-radius:10px;padding:8px 12px;min-height:40px;cursor:pointer}
.d1 .d1-mini:hover{border-color:var(--teal-l)}
.d1 .d1-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.d1 .inp.d1-ta{font:500 14px/1.6 ui-monospace,"SF Mono",Consolas,"Liberation Mono","IBM Plex Sans Arabic",Tahoma,monospace;letter-spacing:0;min-height:340px;white-space:pre;overflow:auto;tab-size:4;overflow-wrap:normal}
.d1 .d1-ta.wrap{white-space:pre-wrap;overflow-wrap:anywhere}
.d1 .d1-ta[readonly]{background:#fbfcfc}
.d1 .d1-ta.d1-over,.d1 .d1-over{border-color:var(--teal);background:var(--teal-xl)}
.d1 .d1-tabs{margin:0}
.d1 .d1-tabs button{min-height:38px;padding:6px 14px;font-size:14px}
.d1 .status{white-space:pre-line}
.d1 .status.d1-warn{color:#8a5a0b;background:#fdf0d5}
.d1.d1-bad #j-in,.d1 .d1-ta.bad{border-color:var(--err)}
.d1 .d1-errbox{margin-top:10px;border:1px solid #f1c4bf;background:var(--err-bg);border-radius:12px;padding:10px 12px;color:var(--err);font-size:15px;line-height:1.6}
.d1 .d1-emsg{display:block}
.d1 .d1-ewhere{display:block;font-size:14px;font-weight:600;color:var(--ink-3)}
.d1 .d1-eline{margin:6px 0 0;font:13px/1.45 ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace;color:var(--ink);background:var(--white);border-radius:8px;padding:6px 8px;overflow-x:auto;white-space:pre;text-align:left}
.d1 .d1-ego{margin-top:8px;font:600 14px var(--font);color:var(--err);background:var(--white);border:1px solid #f1c4bf;border-radius:9px;padding:6px 12px;min-height:38px;cursor:pointer}
.d1 .d1-tree{font:14px/1.75 ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace;direction:ltr;text-align:left;background:var(--paper);border:1.5px solid var(--mist);border-radius:12px;padding:10px 12px;min-height:340px;max-height:620px;overflow:auto}
.d1 .d1-tree summary{cursor:pointer;white-space:nowrap}
.d1 .d1-kids{padding-left:18px;margin-left:5px;border-left:1px dashed #c9d3d6}
.d1 .d1-leaf{white-space:nowrap}
.d1 .d1-k{color:#5b3b78}.d1 .d1-s{color:#1a6b40;white-space:pre-wrap}.d1 .d1-n{color:#245a80}.d1 .d1-b{color:#9a3b26}.d1 .d1-z{color:var(--muted)}.d1 .d1-c{color:var(--muted)}
.d1 .d1-more,.d1 .d1-empty{color:var(--muted);font-family:var(--font)}
.d1 .actions .btn-alt{flex:1 1 auto}
.d1 code,.d1-pg code{font:13.5px ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace;direction:ltr;unicode-bidi:isolate}
.d1-priv{text-align:center}
.d1 .d1-ta.d1-txt{font:400 16px/1.7 var(--font);min-height:200px}
.d1 .d1-ta.d1-short{min-height:110px}
.d1 .d1-in{font:500 16px/1.4 ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace;letter-spacing:0;padding:11px 12px;direction:ltr;text-align:left}
.d1 .d1-in[dir=auto]{text-align:start}
.d1 .d1-num{width:110px;font:600 16px/1.3 var(--font);letter-spacing:0;padding:8px 10px;min-height:44px;text-align:center}
.d1 .d1-mt{display:flex;align-items:center;gap:8px;margin-top:16px}
.d1 .d1-h3{font-size:16px;margin:18px 0 8px}
.d1 .d1-opts{margin-top:14px}
.d1 .d1-pad{padding:0 16px 14px}
.d1 .d1-m-text,.d1 .d1-m-file,.d1 .d1-m-code,.d1 .d1-m-parse,.d1 .d1-m-pass,.d1 .d1-m-phrase{display:none}
.d1[data-mode=text] .d1-m-text,.d1[data-mode=file] .d1-m-file,.d1[data-mode=code] .d1-m-code,.d1[data-mode=parse] .d1-m-parse,.d1[data-mode=pass] .d1-m-pass,.d1[data-mode=phrase] .d1-m-phrase{display:block}
.d1>.tabs{margin-bottom:16px}
.d1 .d1-drop{min-height:130px;margin-bottom:8px}
.d1 .d1-drop b{font-size:16px}
.d1 .d1-thumb{display:block;max-width:100%;max-height:180px;border-radius:10px;border:1px solid var(--mist);margin:8px 0;background:repeating-conic-gradient(#eef1f2 0 25%,#fff 0 50%) 0 0/16px 16px}
.d1 .d1-bin{margin-top:10px;padding:12px;border:1px dashed var(--teal-l);border-radius:12px;background:var(--teal-xl)}
.d1 .d1-bin p{margin-bottom:8px;font-weight:600}
.d1 .d1-prev{margin-top:14px;max-height:440px;overflow:auto}
.d1 .d1-prev table{font-size:14px}
.d1 .d1-prev th,.d1 .d1-prev td{padding:7px 12px;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}
.d1 .d1-prev td:first-child{font-weight:400}
.d1 .d1-dir button{direction:ltr;unicode-bidi:isolate}
.d1[data-mode=encode] .d1-dec,.d1[data-mode=decode] .d1-enc{display:none}
.d1 .d1-algs{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:6px}
.d1 .d1-algs .chkline{font-size:14.5px}
.d1 .d1-bar-p{width:100%;height:10px;margin-top:6px;accent-color:var(--teal)}
.d1 .d1-hashes:empty{display:none}
.d1 .d1-hrow{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:8px 10px;align-items:center;padding:8px 10px;border:1px solid var(--mist);border-radius:10px;margin-bottom:6px;background:var(--white)}
.d1 .d1-hn{font-weight:700;font-size:13.5px;color:var(--ink-3)}
.d1 .d1-hv{font:13px/1.5 ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace;word-break:break-all;text-align:left}
.d1 .d1-hrow .d1-mini{min-height:34px;padding:6px 10px;font-size:13px}
.d1 .d1-hit{border-color:var(--ok);background:var(--ok-bg)}
.d1 .d1-uuids{min-height:200px}
.d1 .d1-check{margin-top:22px;border-top:1px solid var(--mist);padding-top:18px}
.d1 .d1-pw .d1-pwout{font:600 21px/1.55 ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace;min-height:62px;text-align:center;white-space:pre-wrap;word-break:break-all;field-sizing:content;max-height:420px;resize:none}
.d1 .d1-meter{height:10px;border-radius:6px;background:var(--mist);overflow:hidden;margin-top:12px}
.d1 .d1-meter i{display:block;height:100%;width:var(--p,0%);background:var(--teal);transition:width .2s}
.d1 .d1-meter[data-s=w] i{background:#c0392b}.d1 .d1-meter[data-s=f] i{background:#d68910}.d1 .d1-meter[data-s=s] i{background:#1e8449}.d1 .d1-meter[data-s=v] i{background:#145a32}
.d1 .d1-popts{margin-top:18px}
.d1 .d1-range{display:block;font-weight:600;color:var(--ink-3)}
.d1 .d1-range input{display:block;width:100%;margin-top:6px;accent-color:var(--teal);height:28px}
.d1 .d1-cnt{margin:14px 0 0}
.d1 .d1-pwrow{display:flex;gap:8px}
.d1 .d1-pwrow .d1-in{flex:1 1 auto;min-width:0;font-size:19px}
.d1 .d1-pwrow .d1-mini{flex:none;min-height:50px}
.d1 .d1-wres{margin-top:16px}
.d1 .d1-score i{width:6%;background:#c0392b}
.d1[data-s="1"] .d1-score i{width:28%;background:#e67e22}.d1[data-s="2"] .d1-score i{width:52%;background:#d4ac0d}.d1[data-s="3"] .d1-score i{width:78%;background:#1e8449}.d1[data-s="4"] .d1-score i{width:100%;background:#145a32}
.d1 .d1-wl{margin-top:10px;font-size:15px;color:var(--muted)}
.d1 .d1-wl b{font-size:20px;color:var(--ink);margin-inline-end:8px}
.d1 .d1-wgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 24px}
.d1 .d1-times,.d1 .d1-fb,.d1 .d1-checks{list-style:none;margin:0;padding:0}
.d1 .d1-times li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--mist);font-size:14.5px}
.d1 .d1-times b{white-space:nowrap}
.d1 .d1-fb li,.d1 .d1-checks li{position:relative;padding-inline-start:24px;margin-bottom:6px;font-size:15px}
.d1 .d1-fb li::before{content:"•";position:absolute;inset-inline-start:8px;color:var(--teal)}
.d1 .d1-fb .d1-fw{color:var(--err);font-weight:600}.d1 .d1-fb .d1-fw::before{content:"!";color:var(--err);font-weight:700}
.d1 .d1-fb .d1-fok{color:var(--ok)}
.d1 .d1-checks{margin-top:10px}
.d1 .d1-checks .d1-cy::before{content:"✓";position:absolute;inset-inline-start:4px;color:var(--ok);font-weight:700}
.d1 .d1-checks .d1-cx{color:var(--muted)}.d1 .d1-checks .d1-cx::before{content:"✗";position:absolute;inset-inline-start:4px;color:var(--err)}
.d1 .d1-checks .d1-cn::before{content:"i";position:absolute;inset-inline-start:6px;color:var(--teal-d);font-weight:700}
.d1 .d1-pat{display:flex;flex-wrap:wrap;gap:6px;text-align:left}
.d1 .d1-pat span{display:inline-flex;flex-direction:column;border:1px solid var(--mist);border-radius:9px;padding:4px 10px;font:600 15px ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace;background:var(--paper);max-width:100%;word-break:break-all}
.d1 .d1-pat small{font:500 12px var(--font);color:var(--muted)}
.d1 .d1-re{display:flex;align-items:center;gap:6px}
.d1 .d1-re>span{font:600 22px ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace;color:var(--muted);flex:none}
.d1 .d1-re .d1-in{flex:1 1 auto;min-width:0;font-size:17px}
.d1 .d1-flags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px}
.d1 .d1-flag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--mist);border-radius:9px;padding:5px 10px;font-size:13px;cursor:pointer;min-height:36px}
.d1 .d1-flag input{width:16px;height:16px;accent-color:var(--teal)}
.d1 .d1-flag b{font:700 15px ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace}
.d1 .d1-flag span{color:var(--muted)}
.d1 .d1-flag:has(input:checked){border-color:var(--teal);background:var(--teal-xl)}
.d1 .d1-flag:has(input:disabled){opacity:.45}
.d1 .d1-hl{white-space:pre-wrap;word-break:break-word;background:var(--paper);border:1.5px solid var(--mist);border-radius:12px;padding:12px 14px;min-height:200px;max-height:440px;overflow:auto;font:16px/1.85 var(--font);margin-top:8px}
.d1 .d1-hl mark{border-radius:3px;color:inherit;padding:1px 0}
.d1 .d1-hl .d1-m0{background:#fde68a}.d1 .d1-hl .d1-m1{background:#bde0fe}
.d1 .d1-hl .d1-z{display:inline-block;width:2px;height:1.2em;vertical-align:middle;background:var(--err);padding:0}
.d1 .d1-mlist{list-style:none;margin:10px 0 0;padding:0;max-height:440px;overflow:auto}
.d1 .d1-mrow{border:1px solid var(--mist);border-radius:10px;padding:8px 10px;margin-bottom:6px;font-size:14px;overflow-wrap:anywhere}
.d1 .d1-mrow small{color:var(--muted)}
.d1 .d1-groups{margin:6px 0 0;padding-inline-start:18px;font-size:13.5px;list-style:none}
.d1 .d1-und{color:var(--muted)}
.d1 .d1-repbox{display:grid;gap:8px;margin-top:8px}
.d1:not(.d1-rep) .d1-repbox{display:none}
.d1 .d1-repbox .d1-ta{min-height:110px}
.d1 .d1-tok{font:13px/1.6 ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace;word-break:break-all;margin-top:10px;padding:10px 12px;background:var(--paper);border-radius:12px;text-align:left}
.d1 .d1-tok:empty{display:none}
.d1 .d1-th,.d1 .d1-lh{color:#b4231b}.d1 .d1-tp,.d1 .d1-lp{color:#6232a8}.d1 .d1-ts,.d1 .d1-ls{color:#245a80}
.d1 .d1-json{background:var(--paper);border:1.5px solid var(--mist);border-radius:12px;padding:10px 12px;font:13.5px/1.6 ui-monospace,Consolas,"IBM Plex Sans Arabic",Tahoma,monospace;white-space:pre-wrap;word-break:break-word;margin:6px 0 14px;text-align:left;color:var(--ink)}
.d1 .d1-claims{margin-top:6px}
.d1 .d1-claims th{width:34%;font-weight:600;background:var(--paper)}
.d1 .d1-claims td small{display:block;color:var(--muted);font-weight:500}
.d1 .d1-claims table{min-width:0}
.d1 .d1-verify{margin-top:16px;border-top:1px solid var(--mist);padding-top:6px}
.d1 .d1-hs .chkline{margin-top:8px}
.d1[data-alg=hs] .d1-pk,.d1[data-alg=hs] .d1-none,.d1[data-alg=pk] .d1-hs,.d1[data-alg=pk] .d1-none,.d1[data-alg=none] .d1-hs,.d1[data-alg=none] .d1-pk{display:none}
.d1 .d1-qres{margin-top:12px}
.d1 .d1-kv,.d1 .d1-q{width:100%;border-collapse:collapse;font-size:15px}
.d1 .d1-kv th,.d1 .d1-kv td,.d1 .d1-q th,.d1 .d1-q td{border-bottom:1px solid var(--mist);padding:8px 10px;text-align:start;vertical-align:top;overflow-wrap:anywhere}
.d1 .d1-kv th{width:30%;color:var(--ink-3);font-weight:600}
.d1 .d1-q th{background:var(--paper)}
.d1 .d1-qwrap{border:1px solid var(--mist);border-radius:12px;overflow:hidden}
@media (max-width:860px){.d1 .d1-io{grid-template-columns:1fr}.d1 .inp.d1-ta{min-height:220px}.d1 .d1-tree{min-height:220px}.d1 .d1-wgrid{grid-template-columns:1fr}}
@media (max-width:480px){.d1{padding:16px}.d1 .d1-bar{gap:10px}.d1 .d1-opt{display:flex;width:100%;min-width:0}.d1 .d1-opt span{flex:none}.d1 .d1-sel{flex:1 1 auto;min-width:0;width:100%}.d1 .actions .btn{flex:1 1 100%}.d1 .d1-hrow{grid-template-columns:minmax(0,1fr) auto}.d1 .d1-hv{grid-column:1/-1;grid-row:2}.d1 .d1-flag span{display:none}.d1 .d1-pw .d1-pwout{font-size:18px}}
/* /dev1 tools */
/* text tools */
.g-text .tx-opts{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.g-text .tx-chips{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.g-text .tx-chips b{direction:inherit}
.g-text .tx-case{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.g-text .tx-case b{direction:ltr;font-family:ui-monospace,"SF Mono",Consolas,monospace;font-size:14.5px;letter-spacing:0}
.g-text .tx-rev{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.g-text .tx-checks{display:flex;flex-wrap:wrap;gap:10px 22px}
.g-text .tx-checks .chkline{font-size:14.5px;line-height:1.45;align-items:flex-start;min-height:28px}
.g-text .tx-checks .chkline input{flex:none;margin-top:2px}
.g-text .tx-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.g-text .tx-sel{display:flex;flex-direction:column;min-width:0;flex:1 1 200px}
.g-text .tx-sel .inp{font:600 15px/1.4 var(--font);letter-spacing:0;padding:10px 12px;direction:inherit;text-align:start}
.g-text .tx-sel input.inp[dir=ltr]{direction:ltr}
.g-text .tx-io{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.g-text .tx-pane{min-width:0;display:flex;flex-direction:column}
.g-text .tx-head{display:flex;align-items:baseline;justify-content:space-between;gap:4px 10px;flex-wrap:wrap}
.g-text .tx-head .lbl{margin-bottom:6px}
.g-text .tx-cnt{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.g-text textarea.inp.txt{min-height:240px;font-size:16px;line-height:1.75;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere}
.g-text textarea.tx-res{background:#fbfcfc}
.g-text .tx-mini{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.g-text .tx-mini .filebtn{font-size:14px;padding:8px 12px;border-radius:10px}
.g-text .tx-mini .filebtn .ico{width:18px;height:18px}
.g-text .tx-acts{margin-top:10px}
.g-text .tx-acts .btn{min-height:46px;font-size:15px;padding:10px 14px}
.g-text .tx-acts .btn-main{flex:1 1 auto}
.g-text .tx-sum{display:block;margin-top:14px;color:var(--ink-3);background:var(--paper)}
.g-text .tx-h3{font-size:16px;margin:16px 0 8px}
.g-text .tx-reps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;max-height:300px;overflow:auto}
.g-text .tx-reps li{display:flex;gap:10px;align-items:baseline;background:var(--paper);border-radius:10px;padding:6px 10px;min-width:0}
.g-text .tx-reps b{color:var(--teal-d);font-variant-numeric:tabular-nums;flex:none}
.g-text .tx-reps span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.g-text .tx-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.g-text .tx-tag{font-size:13.5px;background:var(--teal-xl);color:var(--teal-d);border-radius:99px;padding:3px 10px}
.g-text .df-row{display:flex;flex-direction:column;gap:6px}
.g-text .df-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px}
.g-text #df-a,.g-text #df-b{min-height:150px;height:190px}
.g-text .df-row .types{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.g-text .df-acts .btn{flex:0 1 auto;min-height:44px;font-size:15px;padding:8px 14px}
.g-text .df-sum{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 10px;font-weight:700}
.g-text .df-c{border-radius:99px;padding:4px 12px;font-size:14.5px}
.g-text .df-add{background:#e6f6ea;color:#14632f}
.g-text .df-del{background:#fdeaea;color:#9b1c1c}
.g-text .df-same{background:var(--ok-bg);color:var(--ok);border-radius:10px;padding:8px 12px}
.g-text .df-scroll{overflow:auto;max-height:70vh;border:1px solid var(--mist);border-radius:12px}
.g-text .df-t{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7;table-layout:fixed}
.g-text .df-t th{position:sticky;top:0;background:var(--paper);font-size:14px;padding:6px 10px;text-align:start;border-bottom:1px solid var(--mist);z-index:1}
.g-text .df-t td{vertical-align:top;border-bottom:1px solid #f0f3f4}
.g-text .df-t col.cl{width:46px}
.g-text .df-t .ln{color:var(--muted);font-size:12.5px;text-align:center;font-variant-numeric:tabular-nums;background:#fafbfb;user-select:none;padding:2px 4px}
.g-text .df-t .tx{padding:2px 10px;white-space:pre-wrap;overflow-wrap:anywhere;text-align:start}
.g-text .df-t .tx.del{background:#fff1f1}
.g-text .df-t .tx.add{background:#effaf2}
.g-text .df-t .tx.none{background:repeating-linear-gradient(135deg,#f6f8f9 0 6px,#fff 6px 12px)}
.g-text .df-skip td{text-align:center;color:var(--muted);font-size:13px;background:var(--paper);padding:4px}
.g-text .df-out del,.g-text .df-out ins{text-decoration:none;border-radius:3px}
.g-text .df-out del{background:#f9c9c9;color:#7f1414}
.g-text .df-out ins{background:#bfe9c9;color:#0f4d24}
.g-text .df-m-chars del,.g-text .df-m-chars ins{box-shadow:0 0 0 1px currentColor inset}
.g-text .df-flow{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--mist);border-radius:12px;padding:12px 14px;line-height:1.9;font-size:16px;max-height:70vh;overflow:auto;text-align:start}
.g-text .df-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.g-text .df-two h3{font-size:15px;margin:0 0 6px;color:var(--ink-3)}
.g-text .tts-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
.g-text .tts-main{min-width:0}
.g-text .tts-view{margin-top:12px;border:1px solid var(--mist);border-radius:12px;padding:12px 14px;max-height:220px;overflow:auto;line-height:1.9;font-size:16.5px;white-space:pre-wrap;background:#fbfcfc;text-align:start}
.g-text .tts-view span{cursor:pointer;border-radius:4px}
.g-text .tts-view span.on{background:#fff2c2}
.g-text .tts-view mark{background:#f5c518;color:inherit;border-radius:3px}
.g-text .tts-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.g-text .tts-side .tx-sel{flex:none}
.g-text .tx-rng{display:flex;flex-direction:column}
.g-text .tx-rng input{width:100%;accent-color:var(--teal);direction:ltr}
.g-text .tx-rng output{font-weight:500;color:var(--muted)}
.g-text .tts-btns{display:grid;grid-template-columns:2fr 1fr;gap:8px}
.g-text .tts-btns .btn{min-height:52px}
.g-text .tts-warn{margin:0;font-size:14px;color:#8a5a00;background:#fff6e0;border-radius:10px;padding:8px 12px}
.g-text .tts-help{margin-top:16px;background:#fff6e0;border:1px solid #f1dfb0;border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.7}
.g-text .tts-help ul{margin:6px 0 0;padding-inline-start:20px}
.g-text .tts-noar{margin:0 0 8px;font-weight:700;color:#8a5a00}
.g-text .stt-top{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:12px}
.g-text .stt-top .tx-sel{flex:1 1 220px}
.g-text .stt-btn{flex:1 1 260px;position:relative;min-height:52px}
.g-text .stt-btn.rec{background:#b4231b;box-shadow:0 10px 24px -10px rgba(180,35,27,.7)}
.g-text .stt-btn.rec:hover{background:#951c16}
.g-text .stt-dot{width:10px;height:10px;border-radius:50%;background:#fff;animation:wnsttp 1s ease-in-out infinite}
@keyframes wnsttp{50%{opacity:.25}}
.g-text .stt-live{margin:10px 0 0;color:var(--muted);font-style:italic;background:var(--paper);border-radius:10px;padding:6px 12px}
.g-text #stt-cmdl{margin:4px 0 6px;font-size:14.5px;line-height:1.5;align-items:flex-start}
.g-text #stt-cmdl input{flex:none;margin-top:3px}
.g-text .tp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.g-text .tp-left{min-width:0}
.g-text .tp-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:14px 0}
.g-text .tp-opts .tp-wide,.g-text .tp-opts .chkline{grid-column:1/-1}
.g-text .tp-right{min-width:0;position:sticky;top:12px}
.g-text .tp-pv{background:#e9eef0;border-radius:14px;padding:14px;max-height:78vh;overflow:auto}
.g-text .tp-paper{background:#fff;width:var(--pw);min-height:var(--ph);padding:var(--pm);box-shadow:0 4px 18px -6px rgba(11,18,21,.3);margin:0 auto;color:#111}
.g-text .tpdoc p,#print-area .tpdoc p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;text-align:start;orphans:2;widows:2}
.g-text .tpdoc h1,#print-area .tpdoc h1{font-size:1.6em;line-height:1.3;margin:0 0 .7em;text-align:center}
.g-text .tpdoc[data-align=right] p,#print-area .tpdoc[data-align=right] p{text-align:right}
.g-text .tpdoc[data-align=left] p,#print-area .tpdoc[data-align=left] p{text-align:left}
.g-text .tpdoc[data-align=center] p,#print-area .tpdoc[data-align=center] p{text-align:center}
.g-text .tpdoc[data-align=justify] p,#print-area .tpdoc[data-align=justify] p{text-align:justify}
#print-area .tpdoc{color:#000}
.g-text .mg-list{list-style:none;margin:16px 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}
.g-text .mg-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1.5px solid var(--mist);border-radius:12px;padding:8px 10px;background:#fff}
.g-text .mg-n{width:28px;height:28px;flex:none;border-radius:50%;background:var(--teal-xl);color:var(--teal-d);font-weight:700;display:grid;place-items:center;font-size:14px}
.g-text .mg-info{flex:1 1 180px;min-width:0;display:flex;flex-direction:column}
.g-text .mg-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-text .mg-info span{font-size:13px;color:var(--muted)}
.g-text .mg-enc{width:auto;flex:0 1 230px;min-width:0;font:600 14px/1.3 var(--font);letter-spacing:0;padding:8px 10px;direction:inherit;text-align:start}
.g-text .mg-btns{display:flex;gap:6px}
.g-text .mg-btns .btn{min-height:42px;min-width:42px;padding:0 10px;font-size:18px}
.g-text .mg-add{margin-bottom:14px}
.g-text #mg-work{margin-top:18px}
.g-text .sp-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 10px}
.g-text .sp-sum{margin:0;font-weight:700;color:var(--ink-3)}
.g-text .sp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.g-text .sp-part{border:1.5px solid var(--mist);border-radius:12px;overflow:hidden}
.g-text .sp-head{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;background:var(--paper);padding:6px 10px}
.g-text .sp-head span{font-size:13px;color:var(--muted);flex:1 1 auto}
.g-text .sp-copy{min-height:40px;padding:4px 14px;font-size:14px}
.g-text .sp-copy.done{border-color:var(--ok);color:var(--ok)}
.g-text .sp-body{padding:8px 12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;line-height:1.75;text-align:start}
.g-text .sp-bar .btn{min-height:46px}
.g-text .wc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:22px;align-items:start}
.g-text .wc-left,.g-text .wc-right{min-width:0}
.g-text .wc-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:14px 0 0}
.g-text .wc-opts .wc-wide{grid-column:1/-1}
.g-text .wc-stage{border:1px solid var(--mist);border-radius:14px;overflow:hidden;background:repeating-conic-gradient(#eef2f3 0 25%,#fff 0 50%) 0 0/16px 16px}
.g-text #wc-cv{display:block;width:100%;height:auto}
.g-text .wc-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.g-text .wc-list li{display:flex;gap:6px;align-items:baseline;background:var(--paper);border-radius:99px;padding:3px 10px;font-size:14px}
.g-text .wc-list b{color:var(--teal-d);font-size:12.5px}
@media (max-width:860px){.g-text .tx-io,.g-text .tts-grid,.g-text .tp-grid,.g-text .wc-grid,.g-text .df-two,.g-text .df-grid{grid-template-columns:minmax(0,1fr)}.g-text .tp-right{position:static}}
@media (max-width:520px){.g-text .tp-opts,.g-text .wc-opts{grid-template-columns:minmax(0,1fr)}.g-text .df-t{font-size:14px}.g-text .df-t col.cl{width:32px}.g-text .df-t .ln{font-size:11px}.g-text .tx-acts .btn,.g-text .df-acts .btn{flex:1 1 100%}.g-text .tts-btns{grid-template-columns:1fr}.g-text .tx-chips,.g-text .tx-case{grid-template-columns:repeat(2,minmax(0,1fr))}.g-text .tool{padding:16px}}
/* /text tools */
/* sleep sounds */
.slp .slp-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,var(--ink-2),var(--teal-d));color:#fff}
.slp .slp-play{width:64px;height:64px;border-radius:50%;border:0;background:#fff;color:var(--teal-d);display:grid;place-items:center;cursor:pointer;flex:none;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.slp .slp-play svg{width:26px;height:26px;fill:currentColor}
.slp .slp-play .i-pause,.slp .slp-play[aria-pressed=true] .i-play{display:none}.slp .slp-play[aria-pressed=true] .i-pause{display:block}
[dir=rtl] .slp .slp-play .i-play{transform:scaleX(-1)}
.slp .slp-now{flex:1 1 220px;min-width:0}.slp .slp-now b{display:block;font-size:17px;line-height:1.5}
.slp .slp-left{display:block;font-size:14px;opacity:.85;min-height:21px;font-variant-numeric:tabular-nums}
.slp .slp-vol{display:flex;align-items:center;gap:8px;flex:1 1 180px;max-width:280px}
.slp .slp-vol svg{width:22px;height:22px;flex:none;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.slp .slp-vol input{accent-color:#fff;margin:0}
.slp .slp-sec{margin-top:18px}
.slp .slp-mixes,.slp .slp-timer{display:flex;flex-wrap:wrap;gap:8px}
.slp .slp-mix,.slp .slp-timer button{font:inherit;font-size:14px;font-weight:600;border:1px solid var(--mist);background:var(--white);color:var(--ink-3);border-radius:999px;padding:7px 14px;min-height:40px;cursor:pointer}
.slp .slp-mix[aria-pressed=true],.slp .slp-timer button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}
.slp .slp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.slp .slp-tile{border:1px solid var(--mist);background:var(--paper);border-radius:14px;padding:8px 12px 12px;transition:background .15s,border-color .15s}
.slp .slp-tile button{display:flex;align-items:center;gap:10px;width:100%;font:inherit;font-size:15px;font-weight:700;color:var(--ink-3);background:none;border:0;padding:6px 0;cursor:pointer;text-align:start;min-height:40px}
.slp .slp-tile .ico{width:26px;height:26px;stroke:var(--muted)}
.slp .slp-sw{width:12px;height:12px;border-radius:50%;border:1px solid rgba(11,18,21,.25);margin-inline-start:auto;flex:none}
.slp .slp-tile input{display:block;width:100%;margin:6px 0 0;opacity:.45;accent-color:var(--teal)}
.slp .slp-tile.on{background:var(--teal-xl);border-color:var(--teal)}
.slp .slp-tile.on .ico{stroke:var(--teal-d)}.slp .slp-tile.on button{color:var(--ink)}.slp .slp-tile.on input{opacity:1}
.slp .actions .btn{flex:1 1 auto;margin-top:0}
.slp-night{position:fixed;inset:0;z-index:100000;background:#000;color:#454545;display:grid;place-items:center;text-align:center;cursor:none;user-select:none;-webkit-user-select:none}
.slp-night .slp-clock{font-size:clamp(56px,16vw,140px);font-weight:300;line-height:1.1;margin:0;font-variant-numeric:tabular-nums}
.slp-night p{margin:8px 0;font-size:17px}
.slp-night .slp-tap{font-size:13px;color:#2c2c2c}
.slp-night button{margin-top:22px;font:inherit;font-size:16px;color:#a0a0a0;background:#121212;border:1px solid #333;border-radius:999px;padding:10px 28px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s}
.slp-night.hint{cursor:default}.slp-night.hint button{opacity:1;pointer-events:auto}.slp-night.hint .slp-tap{visibility:hidden}
html.slp-dark,html.slp-dark body{overflow:hidden}
@media (max-width:480px){.slp .slp-top{padding:14px}.slp .slp-vol{max-width:none}.slp .slp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.slp .slp-tile{padding:6px 10px 10px}.slp .slp-tile button{font-size:14px;gap:8px}.slp .slp-tile .ico{width:22px;height:22px}}
/* /sleep sounds */
/* docs tools */
.g-doc .nw-in{font-size:24px;text-align:left}
.g-doc .nw-ex{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;font-size:14px;color:var(--muted)}
.g-doc .nw-ex button{font:inherit;font-size:14px;font-weight:600;color:var(--ink-3);background:var(--paper);border:1px solid var(--mist);border-radius:999px;padding:5px 12px;cursor:pointer;direction:ltr}
.g-doc .nw-ex button:hover{border-color:var(--teal-l)}
.g-doc .nw-opts{display:grid;gap:12px;margin-top:20px}
.g-doc.nw:not(.nw-plainnum) .nw-p,.g-doc.nw.nw-plainnum .nw-c{display:none}
.g-doc .nw-res{text-align:start;padding:20px}
.g-doc .nw-num{text-align:center;font-size:16px;unicode-bidi:isolate}
.g-doc .nw-out{background:var(--white);border:1px solid #d6e2e6;border-radius:14px;padding:14px 16px;margin-top:14px}
.g-doc .nw-h{display:block;font-size:13px;color:var(--teal-d)}
.g-doc .nw-out p{font-size:20px;line-height:1.9;font-weight:600;color:var(--ink);margin:6px 0 12px;overflow-wrap:anywhere;text-align:start}
.g-doc .nw-out .btn{width:100%}
.g-doc.nw-dim .nw-out p{color:var(--muted)}
.g-doc.ct .ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start}
.g-doc .ct-pv{position:sticky;top:12px}
.g-doc .ct-cw{background:var(--paper);border:1px solid var(--mist);border-radius:14px;padding:10px}
.g-doc #ct-canvas{display:block;max-width:100%;box-shadow:0 8px 22px -10px rgba(11,18,21,.45);transition:opacity .2s}
.g-doc.ct-loading #ct-canvas{opacity:.55}
.g-doc .ct-box{border:1px solid var(--mist);border-radius:14px;padding:14px;margin-bottom:12px;display:grid;gap:12px}
.g-doc .ct-box>label,.g-doc .ct-2>label{display:block}
.g-doc .ct-t{font-size:16px}
.g-doc .ct-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}
.g-doc .ct-seg{display:flex;gap:6px;flex-wrap:wrap}
.g-doc .ct-seg label{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--mist);border-radius:12px;padding:10px 12px;font-weight:600;font-size:15px;cursor:pointer;min-height:46px}
.g-doc .ct-seg label:has(input:checked){border-color:var(--teal);background:var(--teal-xl)}
.g-doc .ct-seg input{accent-color:var(--teal)}
.g-doc.ct-en .ct-aronly{display:none}
.g-doc .ct-designs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.g-doc .ct-designs button{font:inherit;font-size:13px;font-weight:600;color:var(--ink-3);background:var(--white);border:1.5px solid var(--mist);border-radius:12px;padding:6px;cursor:pointer;display:grid;gap:4px;justify-items:center}
.g-doc .ct-designs button[aria-pressed=true]{border-color:var(--teal);background:var(--teal-xl);color:var(--ink)}
.g-doc .ct-th{width:100%;height:auto;aspect-ratio:120/85;border-radius:4px;border:1px solid var(--mist)}
.g-doc .ct-sw{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.g-doc .ct-swb{width:36px;height:36px;border-radius:50%;border:3px solid var(--white);box-shadow:0 0 0 1.5px var(--mist);cursor:pointer;padding:0}
.g-doc .ct-swb[aria-pressed=true]{box-shadow:0 0 0 2.5px var(--ink)}
.g-doc .ct-cpick input{width:46px;height:38px;padding:2px;border:1.5px solid var(--mist);border-radius:10px;background:var(--white);cursor:pointer}
.g-doc .ct-up{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.g-doc .ct-up .filebtn{min-height:46px}
.g-doc .ct-date{font:500 16px/1.4 var(--font);letter-spacing:0;min-height:52px}
.g-doc .ct-name input{font-weight:700}
.g-doc .ct-pv .actions .btn{flex:1 1 0}
.g-doc .ct-foot{margin-top:12px}
.g-doc .ct-foot-b{display:flex;gap:8px}.g-doc .ct-foot-b .btn{flex:1 1 auto}
@media (max-width:900px){.g-doc.ct .ct-grid{grid-template-columns:minmax(0,1fr)}.g-doc .ct-pv{position:static;order:-1}}
@media (max-width:480px){.g-doc .ct-2{grid-template-columns:minmax(0,1fr)}.g-doc .ct-pv .actions{flex-direction:column}}
/* /docs tools */
/* resume builder */
.rsm{padding:16px}
.rsm .rsm-tabs{display:none}
.rsm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:22px;align-items:start}
.rsm-pvcol{position:sticky;top:10px;min-width:0;max-height:calc(100vh - 20px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding-bottom:2px}
.rsm-bar{display:flex;flex-wrap:wrap;gap:8px}
.rsm-bar .btn,.rsm .rsm-file{min-height:44px;padding:8px 14px;font-size:15px}
.rsm .rsm-file{position:relative;overflow:hidden;cursor:pointer}
.rsm .rsm-file input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.rsm-saved{min-height:1.6em;margin:6px 2px 8px;font-size:13.5px;color:var(--ok);font-weight:600}
.rsm-saved.bad{color:var(--err)}
.rsm-box{border:1px solid var(--mist);border-radius:14px;margin-bottom:10px;background:var(--white)}
.rsm-box>summary{cursor:pointer;font-weight:700;font-size:16px;padding:11px 14px;list-style:none;display:flex;align-items:center;gap:6px}
.rsm-box>summary::-webkit-details-marker{display:none}
.rsm-box>summary::after{content:"+";margin-inline-start:auto;font-size:22px;line-height:1;color:var(--teal)}
.rsm-box[open]>summary::after{content:"−"}
.rsm-n{color:var(--muted);font-weight:600;font-size:14px}
.rsm-bb{padding:0 14px 14px}
.rsm-ig{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rsm-ig>.rsm-wide,.rsm-bb>.rsm-wide{grid-column:1/-1}
.rsm-f{display:flex;flex-direction:column;min-width:0}
.rsm .inp.txt{font-size:15.5px;padding:9px 11px}
.rsm textarea.inp.txt{min-height:0;line-height:1.6;resize:vertical}
.rsm select.inp{font-size:15px;padding:9px 8px;min-height:44px}
.rsm-date{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rsm-date select:disabled{opacity:.45}
.rsm-items:empty{display:none}
.rsm-item{border:1px dashed #cdd7da;border-radius:12px;padding:10px;margin-bottom:10px;background:var(--paper)}
.rsm-ibar{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.rsm-it{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:var(--ink-3)}
.rsm-ib{flex:none;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--mist);background:var(--white);color:var(--ink);cursor:pointer;padding:0}
.rsm-ib .ico{width:18px;height:18px}
.rsm-ib:hover:not(:disabled){border-color:var(--teal-l)}
.rsm-ib:disabled{opacity:.35;cursor:default}
.rsm-ib.rsm-del:hover{border-color:var(--err);color:var(--err);background:var(--err-bg)}
.rsm .rsm-add{min-height:42px;padding:8px 14px;font-size:15px}
.rsm-sh{font-size:15px;margin:16px 0 6px}
.rsm-photo{display:flex;gap:12px;align-items:flex-start;margin-top:12px}
.rsm-thumb{flex:none;width:64px;height:64px;border-radius:50%;background:var(--paper) center/cover;border:1px dashed #cdd7da;overflow:hidden}
.rsm-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rsm-photo .hint{margin-top:4px}
.rsm .rsm-nophoto{display:none}.rsm.rsm-hasphoto .rsm-nophoto{display:inline}
.rsm .rsm-chk{margin:0 0 10px;font-size:15px}
.rsm-wipe{text-align:center;margin-top:6px}
.rsm-design{border:1px solid var(--mist);border-radius:14px;padding:12px 14px;background:var(--white)}
.rsm-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:10px}
.rsm-row>.sub{margin:0}
.rsm-seg{display:inline-flex;background:var(--paper);border:1px solid var(--mist);border-radius:12px;padding:3px;gap:3px}
.rsm-seg button{font:inherit;font-weight:600;font-size:15px;border:0;background:none;color:var(--muted);padding:6px 16px;border-radius:9px;cursor:pointer;min-height:38px}
.rsm-seg button[aria-pressed=true]{background:var(--white);color:var(--ink);box-shadow:0 2px 8px -2px rgba(11,18,21,.15)}
.rsm-tpls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:6px}
.rsm-tpl{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;border:1.5px solid var(--mist);border-radius:12px;padding:8px 4px;cursor:pointer;background:var(--white)}
.rsm-tpl input{position:absolute;opacity:0;pointer-events:none}
.rsm-tpl svg{width:38px;height:50px}
.rsm-tpl .pg{fill:#fff;stroke:#c9d3d6}.rsm-tpl .dk{fill:#41525a}.rsm-tpl .lt{fill:#cdd6d9}.rsm-tpl .ac{fill:var(--teal)}.rsm-tpl .tn{fill:var(--teal-xl)}.rsm-tpl .wh{fill:#fff}
.rsm-tpl b{font-size:13.5px;line-height:1.3}
.rsm-tpl small{font-size:11.5px;color:var(--muted);line-height:1.3}
.rsm-tpl:has(input:checked){border-color:var(--teal);background:var(--teal-xl)}
.rsm-tpl:has(input:focus-visible){outline:3px solid rgba(68,110,125,.35);outline-offset:2px}
.rsm .rsm-atsnote{display:none;margin:2px 0 10px}
.rsm.rsm-hasphoto[data-tpl=ats] .rsm-atsnote{display:block}
.rsm-sws{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rsm-sw{width:30px;height:30px;border-radius:50%;border:2px solid #fff;background:var(--c);box-shadow:0 0 0 1px var(--mist);cursor:pointer;padding:0}
.rsm-sw[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}
.rsm-acc{position:relative;width:30px;height:30px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px var(--mist);background:conic-gradient(red,#ff0,lime,cyan,blue,#f0f,red);cursor:pointer}
.rsm-acc input{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);opacity:0;cursor:pointer}
.rsm-row3{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.rsm-row3 label{display:flex;flex-direction:column;min-width:0}
.rsm-row3 .mchk{flex-direction:row;margin:0 0 10px;font-size:15px}
.rsm-ord{margin-top:10px;border-top:1px solid var(--mist);padding-top:8px}
.rsm-ord summary{cursor:pointer;font-weight:700;font-size:15px}
.rsm-ord ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.rsm-ord li{display:flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--mist);border-radius:10px;font-size:15px}
.rsm-ord li span{flex:1}
.rsm-ord .rsm-ib{width:34px;height:34px}
.rsm-acts .btn{min-height:46px;font-size:15px;padding:8px 12px}
.rsm-pinfo{margin:6px 2px 8px;font-size:13.5px}
.rsm-ghost{margin:0 0 8px;padding:6px 10px;border-radius:10px;background:#fff6e0;color:#7a5f30;font-size:14px;font-weight:600;text-align:center}
.rsm-pv{direction:ltr;position:relative;overflow:hidden;background:#dde3e5;border-radius:12px}
.rsm-sheet{position:relative;width:210mm;box-sizing:border-box;padding-top:var(--rs-top,12mm);padding-bottom:12mm;background:#fff;transform-origin:0 0;box-shadow:0 1px 3px rgba(11,18,21,.12)}
.rsm-pb{position:absolute;left:0;right:0;height:0;border-top:2px dashed #d9932b;pointer-events:none;z-index:3}
.rsm-pb::after{content:attr(data-t);position:absolute;right:6mm;top:-18px;font:600 11px/1.4 var(--font);color:#9a6512;background:#fff;padding:0 6px;border-radius:4px}
.rsm-sheet .rv-ghost{opacity:.5}
@media (max-width:860px){
.rsm .rsm-tabs{display:inline-flex;width:100%;margin-bottom:14px}.rsm .rsm-tabs button{flex:1}
.rsm-grid{grid-template-columns:minmax(0,1fr)}.rsm-pvcol{position:static;max-height:none;overflow:visible}
.rsm[data-show=form] .rsm-pvcol,.rsm[data-show=pv] .rsm-form{display:none}}
@media (max-width:480px){.rsm{padding:12px}.rsm-ig{grid-template-columns:minmax(0,1fr)}.rsm-tpls{grid-template-columns:repeat(2,minmax(0,1fr))}
.rsm-row3{grid-template-columns:1fr 1fr}.rsm-row3 .mchk{grid-column:1/-1}.rsm-acts .btn-alt{flex:1 1 100%}.rsm-bar .btn,.rsm-bar .rsm-file{flex:1 1 100%}}
/* the CV document (screen and print share every size, so the preview breaks pages where the print engine does) */
.rvdoc{--rv-acc:#2f5563;--rv-fs:10.5pt;--rv-tint:color-mix(in srgb,var(--rv-acc) 9%,#fff);position:relative;box-sizing:border-box;width:210mm;background:#fff;color:#1d1d1d;font:400 var(--rv-fs)/1.45 "IBM Plex Sans Arabic",Arial,sans-serif;text-align:start;letter-spacing:0;overflow-wrap:anywhere;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rvdoc *{box-sizing:border-box}
.rvdoc h1,.rvdoc h2,.rvdoc h3,.rvdoc p,.rvdoc ul{margin:0;padding:0;letter-spacing:0;line-height:inherit}
.rvdoc a{color:inherit;text-decoration:none}
.rvdoc .rv-keep,.rvdoc .rv-item{break-inside:avoid;page-break-inside:avoid}
.rvdoc .rv-brk{margin-top:0!important}
.rvdoc .rv-sec{margin-top:1em}
.rvdoc .rv-h{font-size:1.13em;font-weight:700;color:var(--rv-acc);margin-bottom:.4em;padding-bottom:.15em;border-bottom:1px solid var(--rv-acc)}
.rvdoc .rv-item{margin-top:.7em}
.rvdoc .rv-keep>.rv-item{margin-top:0}
.rvdoc .rv-ih{display:flex;justify-content:space-between;align-items:baseline;gap:1em}
.rvdoc .rv-it{min-width:0}
.rvdoc .rv-t{font-size:1.03em;font-weight:700;color:#111}
.rvdoc .rv-sub{color:#444}
.rvdoc .rv-date{flex:none;color:#555;font-size:.93em;white-space:nowrap}
.rvdoc .rv-p{margin-top:.2em}
.rvdoc .rv-ul{margin-top:.25em;padding-inline-start:1.25em}
.rvdoc .rv-ul li{margin-top:.08em}
.rvdoc .rv-dot,.rvdoc .rv-sep{color:#8a8a8a}
.rvdoc .rv-head{display:flex;align-items:center;gap:6mm}
.rvdoc .rv-hd{min-width:0;flex:1}
.rvdoc .rv-name{font-size:2.1em;font-weight:700;line-height:1.25;color:#111}
.rvdoc .rv-label{font-size:1.2em;font-weight:600;color:var(--rv-acc);margin-top:.05em}
.rvdoc .rv-contact,.rvdoc .rv-details{margin-top:.35em;color:#333;font-size:.95em}
.rvdoc .rv-dl{color:#666}
.rvdoc .rv-photo{display:block;flex:none;width:30mm;height:30mm;object-fit:cover}
.rvdoc .rv-ph-circle{border-radius:50%}.rvdoc .rv-ph-square{border-radius:2.5mm}
.rvdoc .rv-chips{list-style:none}
.rvdoc .rv-chips li{display:inline}
.rvdoc .rv-chips li+li::before{content:" · ";color:#8a8a8a}
.rvdoc .rv-lv{color:#555}
.rvdoc .rv-lv::before{content:" ("}.rvdoc .rv-lv::after{content:")"}
.rvdoc .rv-kw::before{content:": "}
.rvdoc .rv-chips:has(.rv-kw) li{display:block}
.rvdoc .rv-chips:has(.rv-kw) li+li::before{content:none}
.rvdoc .rv-bar{display:block;height:1.2mm;margin-top:.3em;background:color-mix(in srgb,var(--rv-acc) 18%,#fff);border-radius:1mm;overflow:hidden}
.rvdoc .rv-bar i{display:block;height:100%;background:var(--rv-acc)}
.rvdoc .rv-list{list-style:none}
.rvdoc .rv-list li+li{margin-top:.25em}
/* ATS: one column, plain */
.rvdoc.t-ats{padding:2mm 17mm 0}
.rvdoc.t-ats .rv-h{color:#111;border-bottom-width:1.2pt}
.rvdoc.t-ats[lang=en] .rv-h{text-transform:uppercase;letter-spacing:.04em}
.rvdoc.t-ats .rv-label{color:#333}
.rvdoc.t-ats .rv-ih{display:block}
.rvdoc.t-ats .rv-date{font-size:1em;color:inherit}
/* classic: centred name, lines around the headings */
.rvdoc.t-classic{padding:2mm 18mm 0}
.rvdoc.t-classic .rv-head{flex-direction:column;text-align:center;gap:3mm}
.rvdoc.t-classic .rv-photo{width:28mm;height:28mm}
.rvdoc.t-classic .rv-h{display:flex;align-items:center;gap:.6em;border:0;padding:0;text-align:center;justify-content:center}
.rvdoc.t-classic .rv-h::before,.rvdoc.t-classic .rv-h::after{content:"";flex:1;height:0;border-top:1px solid var(--rv-acc)}
.rvdoc.t-classic .rv-name{font-size:2.2em}
/* modern: tinted sidebar */
.rvdoc.t-modern{padding:0}
.rvdoc.t-modern .rv-cols{display:grid;grid-template-columns:64mm minmax(0,1fr);min-height:284mm}
.rvdoc.t-modern .rv-side{background:var(--rv-tint);padding:12mm 7mm 4mm;font-size:.95em}
.rvdoc.t-modern .rv-main{padding:12mm 13mm 0 11mm}
.rvdoc.t-modern .rv-side .rv-photo{width:36mm;height:36mm;margin:0 auto 2mm}
.rvdoc.t-modern .rv-side .rv-sec:first-child{margin-top:0}
.rvdoc.t-modern .rv-side .rv-h{font-size:1.05em;border-bottom-color:color-mix(in srgb,var(--rv-acc) 40%,#fff)}
.rvdoc.t-modern .rv-side .rv-chips li{display:block}
.rvdoc.t-modern .rv-side .rv-chips li+li{margin-top:.45em}
.rvdoc.t-modern .rv-side .rv-chips li+li::before{content:none}
.rvdoc.t-modern .rv-side .rv-lv{display:block;font-size:.9em}
.rvdoc.t-modern .rv-side .rv-lv::before,.rvdoc.t-modern .rv-side .rv-lv::after{content:none}
.rvdoc.t-modern .rv-side .rv-kw{display:block;font-size:.9em;color:#444}
.rvdoc.t-modern .rv-side .rv-kw::before{content:none}
.rvdoc.t-modern .rv-head{margin-bottom:.2em}
.rvdoc.t-modern .rv-main .rv-h{border:0;border-inline-start:3pt solid var(--rv-acc);padding:0;padding-inline-start:.5em}
/* elegant: coloured header band, dates in their own column */
.rvdoc.t-elegant{padding:0}
.rvdoc.t-elegant .rv-head{background:var(--rv-acc);color:#fff;padding:9mm 16mm 7mm}
.rvdoc.t-elegant .rv-name,.rvdoc.t-elegant .rv-label,.rvdoc.t-elegant .rv-contact,.rvdoc.t-elegant .rv-details,.rvdoc.t-elegant .rv-dl,.rvdoc.t-elegant .rv-sep{color:#fff}
.rvdoc.t-elegant .rv-label{opacity:.92}
.rvdoc.t-elegant .rv-photo{border:1mm solid rgba(255,255,255,.85)}
.rvdoc.t-elegant .rv-sec{margin-inline:16mm}
.rvdoc.t-elegant .rv-h{border-bottom:1px solid color-mix(in srgb,var(--rv-acc) 35%,#fff)}
.rvdoc.t-elegant .rv-item{display:grid;grid-template-columns:29mm minmax(0,1fr);column-gap:5mm}
.rvdoc.t-elegant .rv-ih{display:contents}
.rvdoc.t-elegant .rv-item>*,.rvdoc.t-elegant .rv-it{grid-column:2}
.rvdoc.t-elegant .rv-date{grid-column:1;grid-row:1;white-space:normal;color:var(--rv-acc);font-weight:600;padding-top:.1em}
.rvdoc.t-elegant .rv-chips:not(:has(.rv-kw)) li{display:inline-block;background:var(--rv-tint);border-radius:99px;padding:.05em .7em;margin:0 0 .35em;margin-inline-end:.35em}
.rvdoc.t-elegant .rv-chips:not(:has(.rv-kw)) li+li::before{content:none}
@media print{#print-area.rsm-print .rvdoc{width:auto;box-shadow:none}}
/* /resume builder */
/* calc tools */
.gcalc [hidden]{display:none!important}
.gcalc>.tabs{display:flex;flex-wrap:wrap;overflow:visible}
.gcalc>.tabs button{flex:1 1 auto;white-space:normal}
@media (max-width:420px){.gcalc>.tabs button{padding:8px 10px;font-size:14px}}
.gcalc .cmt{margin-top:12px}
.gcalc .tgrid .field{margin-top:22px}
.gcalc .cf{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:14px;font-weight:600;color:var(--ink-3)}
.gcalc .cf>span{line-height:1.35}
.gcalc .cf .inp{font-size:18px;padding:10px 12px;min-height:48px;letter-spacing:.02em}
.gcalc .cf select.inp{font-size:15px;padding:9px 10px}
.gcalc .cf i{font-style:normal;color:var(--muted);font-weight:500}
.gcalc .cg2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gcalc .cg3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gcalc .types.cwide{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.gcalc .chkline{line-height:1.4}
.gcalc .chkline input{flex:none}
.gcalc .inp.bad{border-color:var(--err)}
.gcalc .inp::placeholder{color:#9aa7ac;font-weight:400;opacity:1}
.gcalc .inp:disabled{opacity:.7;cursor:not-allowed}
.gcalc .cpre{display:flex;flex-wrap:wrap;gap:6px}
.gcalc .cbtn{font:600 14px/1.25 var(--font);border:1px solid var(--mist);background:var(--white);color:var(--ink-3);border-radius:99px;padding:9px 13px;cursor:pointer;min-height:40px}
.gcalc .cbtn:hover{border-color:var(--teal-l);background:var(--teal-xl)}
.gcalc .cbtn[aria-pressed=true]{border-color:var(--teal);background:var(--teal-xl);color:var(--teal-d)}
.gcalc .caddb{margin-top:10px;min-height:44px;padding:8px 14px;font-size:15px}
.gcalc .cnote{margin-top:12px;font-size:15px;font-weight:600;line-height:1.65;text-align:start}
.gcalc .cnote:empty{display:none}
.gcalc .cnote.ok,.gcalc .cnote.edge{color:var(--ok)}.gcalc .cnote.warn{color:#9a5b00}.gcalc .cnote.no,.gcalc .cnote.over{color:var(--err)}
.gcalc .result .r-main{overflow-wrap:anywhere}
.gcalc .result.dim .r-main,.gcalc .result.dim .lines b{opacity:.35}
.gcalc .lines li>span:first-child{min-width:0}
.gcalc .lines li b{overflow-wrap:anywhere}
.gcalc .calcline{line-height:1.6;text-align:start}
.gcalc .calcline:empty{display:none}
.gcalc .cacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.gcalc .result .cacts .btn{margin-top:0;width:auto;flex:1 1 auto;min-height:46px;padding:10px 14px;font-size:15px}
.gcalc .result .cacts .btn-main{flex-basis:100%}
.gcalc .ctab{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px;background:rgba(255,255,255,.7);border:1px solid #dbe5e8;border-radius:12px;overflow:hidden;text-align:start}
.gcalc .ctab caption{caption-side:top;text-align:start;font-weight:700;font-size:14px;color:var(--teal-d);padding:0 2px 6px}
.gcalc .ctab th,.gcalc .ctab td{padding:8px 10px;border-bottom:1px solid #dbe5e8;text-align:start;vertical-align:top}
.gcalc .ctab th{font-size:12.5px;color:var(--muted);font-weight:700}
.gcalc .ctab tr:last-child td{border-bottom:0}
.gcalc .ctab td+td{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:end}
.gcalc .ctab td small{color:var(--muted);font-weight:600;white-space:normal}
.gcalc .ctab tr.cur td{background:#fff8ea;font-weight:700}
.gcalc .ctab b.no{color:var(--err)}
/* weighted */
.gcalc .cw-head,.gcalc .cw-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 78px;gap:8px;align-items:center}
.gcalc .cw-head{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:6px}
.gcalc .cw-rows{display:grid;gap:8px}
.gcalc .cw-row label{font-weight:700;font-size:15px;color:var(--ink);line-height:1.35;min-width:0}
.gcalc .cw-row label small{display:block;font-weight:500;font-size:12.5px;color:var(--muted)}
.gcalc .cw-row .inp{font-size:18px;padding:10px 6px;min-height:48px;text-align:center;letter-spacing:0}
.gcalc .cw-row.cw-unk .inp:first-of-type{background:var(--teal-xl);border-style:dashed}
.gcalc .cw-sum{margin-top:10px;font-size:14px;font-weight:700}
.gcalc .cw-sum.ok{color:var(--ok)}.gcalc .cw-sum.no{color:var(--err)}
.gcalc .ctab td:first-child{line-height:1.5}
@media (max-width:380px){.gcalc .cw-head,.gcalc .cw-row{grid-template-columns:minmax(0,1fr) 76px 64px;gap:6px}}
/* attendance */
.gcalc .ca-bar{margin:16px 0 4px;text-align:start}
.gcalc .ca-track{position:relative;height:14px;border-radius:7px;background:var(--white);border:1px solid #d6e2e6;overflow:hidden}
.gcalc .ca-track i{display:block;height:100%;width:0;background:var(--ok);border-radius:7px;transition:width .2s}
.gcalc .ca-bar.warn .ca-track i{background:#d98a1c}.gcalc .ca-bar.over .ca-track i{background:var(--err)}
.gcalc .ca-mark{position:absolute;top:0;bottom:0;width:2px;margin-inline-start:-1px;background:var(--ink)}
.gcalc .ca-bar em{display:block;margin-top:5px;font-style:normal;font-size:12.5px;color:var(--muted);font-weight:600}
.gcalc .ca-bar em::before{content:"";display:inline-block;width:2px;height:11px;background:var(--ink);margin-inline-end:6px;vertical-align:-1px}
/* electricity */
.gcalc .ce-rows,.gcalc .ct-rows{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gcalc .ce-row,.gcalc .ct-row{border:1px solid var(--mist);border-radius:14px;padding:10px;background:var(--paper)}
.gcalc .ce-rtop,.gcalc .ct-rtop{display:flex;gap:8px;align-items:center}
.gcalc .ce-rtop select.inp{flex:1;min-width:0;min-height:44px;padding:8px 10px;font-size:15px;background:var(--white)}
.gcalc .ce-del,.gcalc .ct-del{width:36px;height:36px;flex:none;border-radius:9px;border:1px solid var(--mist);background:var(--white);cursor:pointer;font:600 18px/1 var(--font);color:var(--muted)}
.gcalc .ce-del:hover,.gcalc .ct-del:hover{border-color:var(--err);background:var(--err-bg);color:var(--err)}
.gcalc .ce-name{margin-top:8px;font-size:15px;padding:9px 10px;background:var(--white)}
.gcalc .ce-f4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.gcalc .ce-f4 label,.gcalc .ct-f3 label{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:12.5px;font-weight:600;color:var(--ink-3)}
.gcalc .ce-f4 .inp,.gcalc .ct-f3 .inp{font-size:16px;padding:8px 6px;min-height:42px;text-align:center;letter-spacing:0;background:var(--white)}
.gcalc .ce-rout{margin-top:6px;font-size:13px;color:var(--teal-d);font-weight:600;line-height:1.5}
.gcalc .ce-rout:empty{display:none}
.gcalc .ce-row .inp.bad,.gcalc .ct-row .inp.bad{border-color:var(--err)}
@media (max-width:420px){.gcalc .ce-f4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* tiles */
.gcalc .ct-rtop b{font-size:14.5px;color:var(--ink)}
.gcalc .ct-rarea{margin-inline-start:auto;font-size:13.5px;font-weight:700;color:var(--teal-d);font-variant-numeric:tabular-nums}
.gcalc .ct-open{border-style:dashed;background:#fdf6f6}
.gcalc .ct-open .ct-rarea{color:var(--err)}
.gcalc .ct-f3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px;gap:6px;margin-top:8px}
.gcalc .ct-f3 label i{font-style:normal;color:var(--muted);font-weight:500}
.gcalc .ct-add{display:flex;flex-wrap:wrap;gap:6px}
.gcalc .ct-add .caddb{flex:1 1 auto}
.gcalc .ct-units{margin-bottom:16px}
.gcalc .ct-more{margin-top:20px}
.gcalc .ct-pad{padding:4px 16px 16px}
@media (max-width:480px){.gcalc .cg3{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* printed summary (WN.CALC.printCard) */
@media print{#print-area>div:has(.calc-print){display:block;padding:0}
#print-area .calc-print{width:100%;font-family:var(--font);font-size:11pt;color:#111;text-align:start}
#print-area .calc-print h2{font-size:16pt;margin:0 0 4mm}
#print-area .calc-print table{width:100%;border-collapse:collapse;margin-bottom:4mm}
#print-area .calc-print th,#print-area .calc-print td{border:1px solid #bbb;padding:2mm 3mm;text-align:start;vertical-align:top}
#print-area .calc-print th{width:45%;font-weight:600;color:#333}
#print-area .calc-print p{margin:0 0 2mm;line-height:1.6}
#print-area .calc-print .calc-pf{margin-top:5mm;font-size:8.5pt;color:#666}}
/* /calc tools */
/* bg tool */
.g-bg .bgload{margin-top:16px;padding:16px;border:1px solid var(--mist);border-radius:14px;background:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:center}
.g-bg .bgload[hidden]{display:none}
.g-bg .bgload p{margin:0;font-weight:600;color:var(--ink-3);grid-column:1/-1;font-size:15px}
.g-bg .bgtrack{height:10px;border-radius:6px;background:#dde7ea;overflow:hidden}
.g-bg .bgtrack i{display:block;height:100%;width:0;background:var(--teal);transition:width .2s}
.g-bg .bgload .btn{min-height:40px;padding:6px 16px}
.g-bg .bggrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
.g-bg .bgstage{min-width:0}
.g-bg .bgcmp{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--mist);touch-action:pan-y;cursor:ew-resize;user-select:none;--cut:50%;--bgc:transparent;background:repeating-conic-gradient(#e8edef 0 25%,#fff 0 50%) 0 0/18px 18px}
.g-bg .bgcmp[hidden]{display:none}
.g-bg .bgcmp[data-bg=white],.g-bg .bgcmp[data-bg=color]{background:var(--bgc)}
.g-bg .bgcmp canvas{display:block;width:100%;height:auto}
.g-bg .bgcmp #b-before{position:absolute;inset:0;width:100%;height:100%}
.g-bg .bgknob{position:absolute;top:0;bottom:0;left:var(--cut);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(11,18,21,.35);pointer-events:none}
.g-bg .bgknob::after{content:"";position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(11,18,21,.35)}
.g-bg .bgcut{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:14px;color:var(--muted);font-weight:600}
.g-bg .bgcut input{flex:1 1 auto;min-width:0;accent-color:var(--teal);direction:inherit}
.g-bg .bgmeta{margin:8px 0 0;font-size:14px;color:var(--ink-3);min-height:1.4em}
.g-bg .bgside{display:flex;flex-direction:column;min-width:0}
.g-bg .bgbgs{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-bg #b-color[hidden]{display:none}
.g-bg #b-color{margin-top:10px;width:46px;height:40px;padding:2px;border:1.5px solid var(--mist);border-radius:10px;background:var(--white);cursor:pointer}
.g-bg .bgfmt{display:flex;flex-direction:column;margin-top:12px}
.g-bg .bgfmt[hidden]{display:none}
.g-bg .bgfmt .inp{font:600 15.5px/1.4 var(--font);letter-spacing:0;padding:10px 12px;direction:inherit;text-align:start}
.g-bg .bgtrim{margin-top:14px}
.g-bg .bgside .btn-main{margin-top:14px;flex:none}
.g-bg .bgside .btn-main[hidden]{display:none}
.g-bg .bgmore{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.g-bg .bgmore>*{flex:1 1 auto}
.g-bg .bgmore [hidden]{display:none}
.g-bg .bgmore .btn{min-height:44px;padding:8px 14px}
.g-bg .bgadd{position:relative;overflow:hidden;cursor:pointer}
.g-bg .bgadd input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.g-bg .bgsum{margin:18px 0 8px;font-weight:600;color:var(--ink-3)}
.g-bg .bglist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.g-bg .bgit{display:flex;align-items:center;gap:6px;border:1.5px solid var(--mist);border-radius:12px;padding:6px;background:var(--white);min-width:0}
.g-bg .bgit.on{border-color:var(--teal);background:var(--teal-xl)}
.g-bg .bgpick{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;border:0;background:none;padding:0;cursor:pointer;text-align:start;font:inherit;color:inherit}
.g-bg .bgtx{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;gap:2px}
.g-bg .bgth{flex:none;width:48px;height:48px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#e8edef 0 25%,#fff 0 50%) 0 0/10px 10px}
.g-bg .bgth canvas{max-width:100%;max-height:100%}
.g-bg .bgnm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;color:var(--ink)}
.g-bg .bgst{flex:none;font-size:13px;color:var(--muted)}
.g-bg .bgit[data-state=run] .bgst{color:var(--teal-d);font-weight:700}
.g-bg .bgit[data-state=err] .bgst{color:var(--err)}
.g-bg .bgsave{flex:none;min-height:36px;padding:4px 10px;font-size:13.5px}
.g-bg .bgsave[hidden]{display:none}
.g-bg .bgdel{flex:none;width:34px;height:34px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
.g-bg .bgdel:hover{background:var(--err-bg);color:var(--err)}
.g-bg .bgnote{margin-top:14px}
@media (max-width:860px){.g-bg .bggrid{grid-template-columns:1fr}}
@media (max-width:480px){.g-bg .bglist{grid-template-columns:1fr}.g-bg .bgsum{margin-top:14px}}
/* /bg tool */
/* vmerge tools */
.gvm .vm-item{flex-wrap:nowrap;gap:8px;padding:8px 10px}
.gvm .vm-grip{flex:none;width:32px;min-height:44px;display:flex;align-items:center;justify-content:center;border:0;background:none;border-radius:8px;cursor:grab;touch-action:none;color:var(--muted);padding:0}
.gvm .vm-grip:active{cursor:grabbing}
.gvm .vm-grip:focus-visible{outline:3px solid rgba(68,110,125,.5);outline-offset:1px}
.gvm .vm-n{flex:none;min-width:20px;font-weight:700;color:var(--teal-d);text-align:center;font-variant-numeric:tabular-nums}
.gvm .vm-thw{flex:none;width:64px;height:48px;border-radius:8px;background:#0b1215;overflow:hidden;display:flex;align-items:center;justify-content:center}
.gvm .vm-th{display:block;max-width:100%;max-height:100%}
.gvm .vm-item .mi-main{flex:1 1 auto;min-width:0}
.gvm .vm-item .mi-meta bdi{white-space:nowrap}
.gvm .vm-item.vm-drag{box-shadow:0 6px 18px rgba(11,18,21,.18);border-color:var(--teal);position:relative;z-index:2}
.gvm.vm-busy .vm-grip{cursor:default;opacity:.4}
.gvm .vm-why{margin:14px 0 0;padding:10px 12px;border-radius:12px;background:var(--paper);color:var(--ink-3)}
.gvm .vm-why.ok{background:var(--teal-xl)}
.gvm .types label.vm-off{opacity:.45;cursor:not-allowed}
@media (max-width:560px){.gvm .vm-item{flex-wrap:wrap}.gvm .vm-item .mi-main{flex:1 1 120px}.gvm .vm-item .mi-act{width:100%;justify-content:flex-end}}
/* /vmerge tools */
.yearbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.ynav{display:flex;gap:8px}
.ynav .btn{min-height:42px;padding:8px 14px;font-size:15px}
.tbl tr.cur td{background:#fff8ea}
.tbl tr.cur td:first-child{color:var(--bronze-d)}

/* tool cards: index page and related tools */
.ic{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px}
.ic .ico{width:26px;height:26px}
.c-teal{background:var(--teal-xl);color:var(--teal-d)}
.c-bronze{background:#f6eedd;color:var(--bronze-d)}
.c-slate{background:var(--mist);color:var(--ink-3)}
.c-moss{background:#e3f1e8;color:#1a6b40}
.c-sky{background:#e1edf6;color:#245a80}
.c-rose{background:#f8e6ea;color:#8a3048}
.c-plum{background:#efe7f3;color:#5b3b78}
.c-indigo{background:#e4e7f8;color:#323f96}
.c-cyan{background:#ddf2f4;color:#18646e}
.c-olive{background:#eef0da;color:#59611a}
.c-violet{background:#efe6fb;color:#6232a8}
.c-ink{background:#ecebf3;color:#45406b}
.c-jade{background:#ddf1ea;color:#0f6a52}
.c-orange{background:#fde9d9;color:#a24a10}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.card{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--mist);border-radius:18px;padding:18px;text-decoration:none;color:inherit;box-shadow:0 10px 30px -24px rgba(11,18,21,.4);transition:transform .15s,border-color .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);border-color:var(--teal-l);box-shadow:0 18px 40px -26px rgba(11,18,21,.45)}
.card h3{font-size:17.5px;font-weight:700;color:var(--ink);line-height:1.4}
.card p{color:var(--muted);font-size:15px;line-height:1.6;margin-top:3px}
.related{padding:8px 0 72px}
.relhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px;padding-top:36px;border-top:1px solid var(--mist)}
.relhead h2{font-size:clamp(22px,2.6vw,28px)}
.relhead a{font-weight:700;color:var(--teal-d);text-decoration:none;white-space:nowrap}
.search{position:relative;max-width:560px;margin:24px auto 0}
.search .ico{position:absolute;inset-inline-start:16px;top:50%;transform:translateY(-50%);color:var(--muted)}
.search input{width:100%;font:500 17px/1.4 var(--font);color:var(--ink);background:var(--white);border:1.5px solid var(--mist);border-radius:16px;padding:15px 18px;padding-inline-start:48px;box-shadow:0 10px 30px -22px rgba(11,18,21,.35)}
.search input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(68,110,125,.14)}
.hub{padding-bottom:80px}
.catnav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:4px 0 8px}
.catnav a{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;background:var(--white);border:1px solid var(--mist);border-radius:14px;padding:6px 14px 6px 6px}
[dir=rtl] .catnav a{padding:6px 6px 6px 14px}
.catnav a:hover{border-color:var(--teal-l)}
.catnav .ic{width:34px;height:34px;border-radius:10px}
.catnav .ic .ico{width:18px;height:18px}
.catnav small{font-weight:600;color:var(--muted);background:var(--paper);border-radius:99px;padding:0 8px}
@media (max-width:600px){.catnav{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding:2px 16px 6px}.catnav::-webkit-scrollbar{display:none}.catnav a{flex:none}}
.cat{margin-top:40px;scroll-margin-top:16px}
.cathead{margin-bottom:16px}
.cathead h2{font-size:clamp(22px,2.6vw,28px)}
.cathead p{color:var(--muted);margin-top:4px}
.hub .empty{text-align:center;color:var(--muted);margin-top:40px}
.hub .hint{text-align:center;color:var(--muted);margin-top:16px}

/* content (SEO) */
.content{padding:36px 0 64px}
.content section{margin-top:44px}
.content section:first-child{margin-top:0}
.content h2{font-size:clamp(24px,3vw,32px);font-weight:700}
.content h3{font-size:19px;font-weight:700}
.content .intro{color:var(--muted);margin-top:10px;max-width:760px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.step{background:var(--white);border:1px solid var(--mist);border-radius:16px;padding:18px}
.step i{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--teal-xl);color:var(--teal-d);font-style:normal;font-weight:700;margin-bottom:10px}
.step p{color:var(--muted);font-size:16px;margin-top:4px}
.tbl{overflow-x:auto;margin-top:18px;border:1px solid var(--mist);border-radius:16px;background:var(--white)}
.tbl table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:560px}
.tbl th,.tbl td{text-align:start;padding:12px 16px;border-bottom:1px solid var(--mist);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl th{background:var(--paper);font-weight:700;color:var(--ink)}
.tbl td:first-child{font-weight:700;color:var(--ink);white-space:nowrap;direction:ltr;text-align:start}
.tbl.plain td:first-child{white-space:normal;direction:inherit}
@media (max-width:600px){
  .tbl table{min-width:0}
  .tbl thead{display:none}
  .tbl tr{display:block;padding:12px 16px;border-bottom:1px solid var(--mist)}
  .tbl tr:last-child{border-bottom:0}
  .tbl td{display:block;padding:2px 0;border:0}
  .tbl td:first-child{font-size:17px;margin-bottom:2px;direction:inherit}
  .tbl td:not(:first-child)::before{content:attr(data-th) ": ";font-weight:600;color:var(--ink-3)}
}
.tips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
@media (max-width:760px){.tips{grid-template-columns:1fr}}
.tip{display:flex;gap:12px;background:var(--white);border:1px solid var(--mist);border-radius:16px;padding:16px}
.tip .ico{color:var(--teal);margin-top:4px}
.tip p{color:var(--muted);font-size:16px}
.tip b{color:var(--ink)}
.note{margin-top:18px;background:#f6eedd;border:1px solid #ecdcb9;border-radius:16px;padding:18px 20px;color:var(--ink-3)}
.note b{color:var(--bronze-d)}
.faq{margin-top:18px;display:grid;gap:10px}
.faq details{background:var(--white);border:1px solid var(--mist);border-radius:14px}
.faq summary{cursor:pointer;font-weight:700;color:var(--ink);padding:14px 18px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;line-height:1.2;color:var(--teal);flex:none}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 18px 16px;color:var(--muted)}

/* print: only the barcodes */
#print-area{display:none}
@media print{
  @page{margin:10mm}
  body{background:#fff}
  body>*:not(#print-area){display:none!important}
  #print-area{display:grid!important;grid-template-columns:repeat(3,1fr);gap:6mm;direction:ltr}
  #print-area.single{grid-template-columns:1fr;justify-items:center}
  #print-area>div{break-inside:avoid;display:grid;place-items:center;padding:2mm}
  #print-area svg{width:100%;height:auto}
  #print-area.single svg{width:auto;max-width:100%}
}
/* «من نحن» / About us: gold button (the About page's gold) with a soft shine, so it stands out on every screen */
.hbtn[href$="/about/"],.hlinks .hbtn[href$="/about/"]{position:relative;overflow:hidden;background:linear-gradient(135deg,#f3dc97,#d4af37);border:1px solid #c99a2e;color:#3d2c06;box-shadow:0 2px 8px rgba(168,128,47,.35)}
.hbtn[href$="/about/"] .ico{color:#3d2c06}
.hbtn[href$="/about/"]:hover,.hlinks .hbtn[href$="/about/"]:hover{background:linear-gradient(135deg,#f6e3a8,#c99a2e);border-color:#a8802f}
.hbtn[href$="/about/"]::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);transform:translateX(-120%);animation:wn-shine 3.5s ease-in-out infinite;pointer-events:none}
@keyframes wn-shine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce){.hbtn[href$="/about/"]::after{display:none}}

/* website offer: one quiet line before the related tools and at the end of the index pages (build.py offer()) */
.wnoffer{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--mist);border-radius:18px;padding:16px 18px;margin:8px 0 30px;box-shadow:0 10px 30px -26px rgba(11,18,21,.4)}
.wnoffer .ic{width:44px;height:44px;border-radius:12px;background:var(--teal-xl);color:var(--teal-d);display:grid;place-items:center;flex:none}
.wnoffer>div{flex:1;min-width:0}
.wnoffer b{display:block;color:var(--ink);font-size:16.5px;line-height:1.45}
.wnoffer p{color:var(--muted);font-size:15px;line-height:1.6;margin-top:2px}
.wnoffer a{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 15px;border:1px solid var(--mist);border-radius:12px;font-weight:700;font-size:15px;color:var(--teal-d);text-decoration:none;white-space:nowrap;transition:border-color .15s,background .15s}
.wnoffer a:hover{border-color:var(--teal-l);background:var(--teal-xl)}
.hub+.wrap .wnoffer{margin:-40px 0 72px}
@media (max-width:600px){.wnoffer{flex-wrap:wrap;align-items:flex-start;padding:14px}.wnoffer>div{flex-basis:calc(100% - 58px)}.wnoffer a{width:100%}}
/* /website offer */
/* tool first (progressive disclosure, 2026-10-30; build.py with_focus + focus.js). <body class="tfocus"> shows the header,
   the tool's name and the tool itself. The badges, the line under the title, the explanations / tips / FAQ, the offer
   and the related tools stay in the HTML (readers and search engines get them) behind one button #wn-more, which adds
   .tfull to the body. On the /tools/ index the button sits under the search and shows the intro. */
/* the white header was hard to tell from the light grey page under it: solid white, a clearer line and a soft shadow */
.tfocus .top{position:relative;z-index:5;background:var(--white);border-bottom-color:#d3dce0;box-shadow:0 2px 4px rgba(11,18,21,.04),0 14px 30px -14px rgba(11,18,21,.3)}
/* «+» (and its note) and the title sit lower, clear of the header, as one block. The «+» follows the header's real
   height (top:auto = right under it) instead of a fixed 84px, which touched a taller header (e.g. the owner's). */
@media (min-width:1181px){.tfocus .fbplus,.tfocus .fbfloat{top:auto;margin-top:44px}.tfocus .hero{padding-top:76px}}
@media (max-width:1180px){.tfocus .fbplus{margin-top:44px}.tfocus .fbfloat{margin-top:44px}.tfocus .hero{padding-top:26px}}
.tfocus:not(.tfull) .hero .pills,.tfocus:not(.tfull) .hero .sub,.tfocus:not(.tfull) .content,.tfocus:not(.tfull) .wnoffer,.tfocus:not(.tfull) .related{display:none}
.tfocus .hero h1{font-size:clamp(28px,4vw,42px);margin-top:0}
.tfocus.tfull .hero h1{margin-top:14px}
.tfocus .hero .sub{margin-top:6px}
.tmore{display:flex;justify-content:center;margin:-2px 0 22px}
.tfocus:not(.tfull) .tmore{margin-bottom:56px}
.tmore button{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 22px;border-radius:999px;cursor:pointer;
  background:var(--white);border:1px solid var(--mist);color:var(--teal-d);font:600 15.5px/1.4 var(--font);box-shadow:0 8px 22px -18px rgba(11,18,21,.45)}
.tmore button:hover{border-color:var(--teal);color:var(--teal)}
.tmore button:focus-visible{outline:3px solid rgba(68,110,125,.45);outline-offset:2px}
.tmore .ico{width:18px;height:18px}
.tmore .chev{transition:transform .2s}
.tfull .tmore .chev{transform:rotate(180deg)}
.tfocus .tmore-hub,.tfocus:not(.tfull) .tmore-hub{margin:14px 0 0}
.tmore-hub button{min-height:38px;padding:6px 16px;font-size:14.5px;background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){.tfull .content,.tfull .wnoffer,.tfull .related,.tfull .hero .pills,.tfull .hero .sub{animation:tmore-in .25s ease-out}}
@keyframes tmore-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:640px){.tmore:not(.tmore-hub) button{width:100%;justify-content:center}}
@media print{.tfocus .content,.tfocus .related{display:block}.tmore{display:none}}
/* /tool first */
/* «+» follows the visitor (2026-10-30, feedback.js puts #fb-plus and #fb-float into .fbdock). The dock is sticky, full
   width and lets clicks through: the «+» starts where it was (44px under the header) and then stays 12px from the top of
   the screen while the page scrolls (feedback.js sets the dock's top); the «+» keeps its normal look and place (owner, 2026-10-30: no slim tab at the screen edge on phones). .is-away hides it
   while someone types in a field. The card opens where the «+» is, over the page, at any scroll position. */
.fbdock{position:sticky;top:-32px;z-index:30;height:0;pointer-events:none}
.fbdock>*{pointer-events:auto}
.fbdock .fbplus,.fbdock .fbfloat{position:absolute;top:44px;inset-inline-end:16px;margin:0}
.fbdock .fbfloat{width:min(300px,calc(100vw - 32px));max-width:none;align-items:flex-start}
.fbdock .fbtext{display:block}
.fbdock .fbtext b{padding-inline-end:30px}
.fbdock .fbtext p{margin:4px 0 10px}
.fbdock .fbfloat .btn{width:100%}
.fbdock.is-away{opacity:0;visibility:hidden}
@media (max-width:1180px){.fbdock{height:78px}}
@media (prefers-reduced-motion:no-preference){.fbdock{transition:opacity .2s,visibility .2s}.fbdock .fbplus{transition:inset-inline-end .2s,width .2s,height .2s,transform .2s}}
@media print{.fbdock{display:none}}
/* /«+» follows */
/* The whole header stays in view while scrolling, as on webnaa.com (owner, 2026-10-31). Solid white so the page does
   not show through it; above the «+» dock (z-index 30), which feedback.js keeps 12px under it. Links to a spot on the
   page (#…) land below it. */
.top,.tfocus .top{position:sticky;top:0;z-index:40;background:var(--white)}
html{scroll-padding-top:84px}
@media (max-width:640px){html{scroll-padding-top:116px}}
@media print{.top,.tfocus .top{position:static}}
/* /sticky header */
