/* Free online tools (assets/tools.js) */
.ttabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 0 6px;padding:2px 0}
.ttabs a{flex:none;font:500 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mu);text-decoration:none;border:1px solid var(--line2);border-radius:999px;padding:8px 14px;transition:.2s}
.ttabs a:hover{color:var(--tx);border-color:var(--mu)}
.ttabs a[aria-current="page"]{background:var(--volt);border-color:var(--volt);color:#06070A}
.tl{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line2);border-radius:20px;padding:clamp(18px,3vw,30px);position:relative;overflow:hidden}
.tl::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--volt),var(--ice),var(--vio))}
.tl label,.tl .lb{display:block;font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mu);margin:0 0 6px}
.tl input[type=text],.tl input[type=number],.tl input[type=date],.tl select,.tl textarea{font:15px var(--body);color:var(--tx);background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;width:100%;min-width:0}
.tl input[type=date]{color-scheme:dark}
.tl input:focus,.tl select:focus,.tl textarea:focus{outline:none;border-color:var(--ice);box-shadow:0 0 0 3px rgba(111,231,255,.15)}
.tl textarea{resize:vertical;line-height:1.5}
.tl .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0 0 14px}
.tl .sec{margin:22px 0 10px;font:700 15px var(--body);color:var(--tx)}
.tl .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tl .btn{margin:0}
.tl .sm{font-size:14px;color:var(--mu);margin:10px 0 0}
.tl .warn{color:var(--hot)}
/* rows editor */
.rws{display:grid;gap:8px}
.rw{display:grid;gap:8px;align-items:center}
.rw .x{all:unset;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--dim);border:1px solid var(--line)}
.rw .x:hover{color:var(--hot);border-color:var(--hot)}
.rw .x:focus-visible{outline:2px solid var(--ice)}
.rw .cell{min-width:0}.rw .cl{display:none;font:500 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:0 0 4px}
.rwh{display:grid;gap:8px;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:0 2px}
@media (max-width:620px){.rwh{display:none}.rw .cl{display:block}.rw{grid-template-columns:1fr 1fr !important;padding:10px;border:1px solid var(--line);border-radius:12px}.rw>:first-child{grid-column:1/-1}.rw .x{justify-self:end}}
/* results */
.res{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:20px 0 0}
.big{background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.big span{display:block;font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mu)}
.big b{display:block;margin-top:6px;font:800 clamp(20px,2.6vw,28px)/1.1 var(--disp);color:var(--tx);overflow-wrap:anywhere}
.big.hi{border-color:rgba(210,255,63,.5)}.big.hi b{color:var(--volt)}
.meter-row{display:grid;grid-template-columns:110px 1fr 120px;gap:12px;align-items:center;margin:10px 0;font-size:14px}
.meter-row .tr{height:12px;border-radius:999px;background:rgba(255,255,255,.07);position:relative;overflow:visible}
.meter-row .fl{height:100%;border-radius:999px;transition:width .4s}
.meter-row .tg{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--tx);opacity:.6}
.meter-row .v{font:600 13px var(--mono);text-align:right;color:var(--tx)}
@media (max-width:520px){.meter-row{grid-template-columns:80px 1fr;}.meter-row .v{grid-column:1/-1;text-align:left;margin-top:-6px}}
.grid-h{overflow-x:auto;margin-top:16px}
.tl table{width:100%;border-collapse:collapse;font-size:14px}
.tl th{text-align:left;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mu);padding:8px;border-bottom:1px solid var(--line2)}
.tl td{padding:8px;border-bottom:1px solid var(--line);color:#D3D9E3}
.tl td.n,.tl th.n{text-align:right;font-family:var(--mono)}
/* habit */
.hb{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.2)}
.hb-top{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.hb-top input{flex:1}
.hb-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}
.hb-grid button{all:unset;box-sizing:border-box;cursor:pointer;aspect-ratio:1;border-radius:8px;border:1px solid var(--line2);display:grid;place-items:center;font:600 11px var(--mono);color:var(--dim);transition:.15s}
.hb-grid button:hover{border-color:var(--ice);color:var(--ice)}
.hb-grid button[aria-pressed="true"]{background:var(--volt);border-color:var(--volt);color:#06070A}
.hb-grid button.today{box-shadow:0 0 0 2px var(--ice)}
.hb-grid button:focus-visible{outline:2px solid var(--ice);outline-offset:2px}
.hb-st{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font:500 12px var(--mono);color:var(--mu)}
.hb-st b{color:var(--tx)}
/* timer */
.tm-modes{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.tm-modes button,.chipb{font:500 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mu);background:transparent;border:1px solid var(--line2);border-radius:999px;padding:8px 14px;cursor:pointer}
.tm-modes button[aria-pressed="true"]{background:var(--volt);color:#06070A;border-color:var(--volt)}
.tm-face{text-align:center;margin:26px 0 8px;font:800 clamp(64px,14vw,132px)/1 var(--disp);letter-spacing:-.02em;color:var(--tx);font-variant-numeric:tabular-nums}
.tm-ring{height:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;max-width:520px;margin:10px auto 20px}
.tm-ring i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--volt),var(--ice));transition:width .5s linear}
.tm-ctl{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.tm-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.tm-dots i{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--line2)}
.tm-dots i.on{background:var(--ice);border-color:var(--ice)}
/* planner */
.wk{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.wk .day{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(0,0,0,.2)}
.wk .day b{display:flex;justify-content:space-between;font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ice);margin-bottom:8px}
.wk .day b small{color:var(--dim);font-weight:500}
.wk textarea{min-height:120px}
/* decision matrix */
#mx table{min-width:560px}
#mx td input,#mx th input{min-width:70px;text-align:center}
#mx td:first-child input,#mx th.opt input{min-width:120px;text-align:left}
#mx tfoot td{font:700 15px var(--mono);color:var(--tx)}
#mx td.win,#mx th.win{background:rgba(210,255,63,.08)}
#mx tfoot td.win{color:var(--volt)}
/* invoice */
.inv{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
@media (max-width:900px){.inv{grid-template-columns:1fr}}
.sheet{background:#fff;color:#111;border-radius:12px;padding:28px;font:14px/1.45 var(--body);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.sheet h3{font:800 26px/1 var(--disp);margin:0 0 4px;color:#111;letter-spacing:.02em}
.sheet .mt{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:16px 0}
.sheet .mt div{white-space:pre-line;min-width:140px}
.sheet .mt small{display:block;font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#777;margin-bottom:3px}
.sheet table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13.5px}
.sheet th{text-align:left;font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#777;border-bottom:2px solid #111;padding:6px 4px}
.sheet td{padding:7px 4px;border-bottom:1px solid #e3e3e3;color:#111}
.sheet .n{text-align:right;font-family:var(--mono)}
.sheet .tot{margin-left:auto;margin-top:12px;width:min(260px,100%)}
.sheet .tot div{display:flex;justify-content:space-between;padding:4px 0}
.sheet .tot .g{border-top:2px solid #111;margin-top:4px;padding-top:8px;font-weight:800;font-size:17px}
.sheet .nt{margin-top:18px;white-space:pre-line;color:#444;font-size:13px}
/* word counter */
#wc_t{min-height:260px;font-size:16px}
.kw{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.kw span{font:500 12px var(--mono);border:1px solid var(--line2);border-radius:999px;padding:5px 10px;color:#D3D9E3}
.kw span b{color:var(--volt);margin-left:6px}
/* hub */
.tgroup{margin:0 0 40px}
.tgroup h2{font-size:clamp(20px,2.4vw,26px);margin:0 0 6px}
.tgroup>p{color:var(--mu);margin:0 0 16px}
.tcard .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(210,255,63,.1);color:var(--volt);margin-bottom:14px}
.tcard .ico svg{width:22px;height:22px}
.tcard h3{margin:0 0 6px}
.tcard p{color:var(--mu);margin:0 0 14px;font-size:15px}
.tool-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:8px}
.tool-info h2{font-size:clamp(19px,2.2vw,24px);margin:0 0 10px}
.tool-info ol,.tool-info ul{padding-left:1.2em;color:#D3D9E3;margin:0}
.tool-info li{margin:.45em 0}
.tool-info p{color:#D3D9E3;margin:0 0 .8em}
.privacy-pill{display:inline-flex;align-items:center;gap:8px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ice);border:1px solid rgba(111,231,255,.4);border-radius:999px;padding:6px 12px;margin-top:16px}
/* print: only the tool */
@media print{
  body{background:#fff!important;color:#000!important}
  header.site,footer.site,.adwrap,.adrail,.adslot,.adbar,.ttabs,.hero,.no-print,.acts,.tool-info,.rel{display:none!important}
  .tl{border:0!important;background:#fff!important;box-shadow:none!important;padding:0!important;color:#000!important}
  .tl::before{display:none}
  .tl *{color:#000!important}
  .tl input,.tl textarea,.tl select{border:1px solid #bbb!important;background:#fff!important}
  .print-solo .inv>*:not(.sheet-wrap){display:none!important}
  .sheet{box-shadow:none!important;padding:0!important}
  .big{border:1px solid #bbb!important;background:#fff!important}
}
