/* 홍라이프 도구 — honglife.co.kr. 2026-11 redesign: mist ground, white work surfaces, one blue accent (no green), Pretendard only.
   Legacy token names (--grass, --gold*, --cream, --paper, --navy …) are kept and remapped because ~5,000 generated pages use them inline. */
:root{color-scheme:only light;
  --bg:#F2F4F6;--surface:#FFFFFF;--sunk:#F2F4F6;
  --ink:#333D4B;--head:#191F28;--muted:#4E5968;--muted2:#66707C;
  --line:#E5E8EB;--line2:#E9ECEF;--line-s:#D1D6DB;
  --acc:#1B64DA;--acc-d:#1957C2;--acc-soft:#E8F3FF;--acc-line:#C9E2FF;
  --deep:#17202E;--deep2:#222D3F;--mint:#9ECBFF;
  /* legacy aliases */
  --grass:var(--acc);--grass-d:var(--acc-d);--cream:var(--sunk);--paper:#fff;--paper2:#F9FAFB;
  --gold:#9A6A00;--gold-l:var(--acc);--gold2:var(--acc);--gold-soft:#F2F6FC;
  --navy:var(--deep);--navy2:var(--deep2);--orange:#C2410C;--orange-d:#A3360A;--red:#B42318;--ok:#1B64DA;
  --r-lg:20px;--r:14px;--r-sm:10px;
  --sh-1:0 1px 2px rgba(25,31,40,.05);--sh-2:0 1px 2px rgba(25,31,40,.04),0 8px 24px -12px rgba(25,31,40,.14);
  --f:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;
  --hand:var(--f)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 var(--f);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere;min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;width:100%}
a{color:var(--acc);text-underline-offset:.18em}
a:hover{color:var(--acc-d)}
img,canvas,svg{max-width:100%}
:focus-visible{outline:2.5px solid var(--acc);outline-offset:2px;border-radius:6px}
::selection{background:#C9E2FF}
/* top bar — sticky, compact, translucent */
.brandbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line)}
.brandbar .in{max-width:1080px;margin:0 auto;padding:0 16px;height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{display:flex;align-items:center;gap:9px;font-weight:750;font-size:16.5px;letter-spacing:-.025em;color:var(--head);text-decoration:none;white-space:nowrap}
.logo:hover{color:var(--head)}
.logo i{width:27px;height:27px;border-radius:7px;background:var(--acc);display:grid;place-items:center;font-style:normal;font-size:14px;color:#fff;font-weight:900}
.logo .mark{width:28px;height:28px;flex:none;display:block;border-radius:7px}
.logo small{font-weight:500;font-size:12.5px;color:var(--muted);margin-left:2px}
.brandbar nav{display:flex;gap:2px;align-items:center;font-size:14px;white-space:nowrap;overflow:hidden;min-width:0}
.brandbar nav a{color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:9px;font-weight:550;line-height:1.4}
.brandbar nav a:focus-visible{outline-offset:-2.5px;border-radius:9px}
.brandbar nav a:hover{background:var(--sunk);color:var(--head)}
.brandbar nav a.srch{display:inline-flex;align-items:center;gap:7px;margin-left:8px;background:var(--sunk);border:1px solid var(--line);color:var(--muted);padding:6px 14px 6px 11px;min-width:150px;font-weight:500}
.brandbar nav a.srch::before{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") center/contain no-repeat}
.brandbar nav a.srch:hover{border-color:var(--line-s);background:#fff}
.brandbar nav a.lang{border:1px solid var(--line);padding:5px 10px;margin-left:6px;font-size:13px}
@media(max-width:900px){.brandbar nav a:not(.srch):not(.lang){display:none}.brandbar nav a.srch{min-width:0}}
@media(max-width:400px){.brandbar .in{height:54px}.brandbar .logo{font-size:15.5px}.brandbar nav a.srch{padding:6px 11px 6px 10px;margin-left:0}.brandbar nav a.lang{padding:5px 8px;margin-left:4px}}
/* page shell */
.wrap{max-width:900px;margin:0 auto;padding:0 16px 48px;position:relative;z-index:1}
.wrap.wide{max-width:1080px}
header.top{padding:34px 0 24px;position:relative}
.crumb{font-size:13.5px;color:var(--muted);margin:0 0 10px}
.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--acc);text-decoration:underline}
h1{margin:0;font-family:var(--f);font-weight:800;font-size:clamp(28px,5.2vw,38px);line-height:1.22;color:var(--head);letter-spacing:-.035em}
h1 b{color:inherit;font-weight:800}
header.top p.lead{margin:10px 0 0;color:var(--muted);max-width:640px;font-size:16.5px;line-height:1.65}
.safe{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:13.5px;font-weight:600;color:var(--acc-d);background:var(--acc-soft);border:1px solid var(--acc-line);border-radius:999px;padding:5px 13px 5px 10px;line-height:1.45}
.safe svg{flex:none}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;margin:0 0 16px;box-shadow:var(--sh-1)}
.card.tool{border-radius:var(--r-lg);border-color:#DDE1E6;box-shadow:var(--sh-2)}
h2{font-size:20px;margin:0 0 14px;letter-spacing:-.025em;color:var(--head);line-height:1.4;font-weight:750}
h2 small{font-size:13px;color:var(--muted);font-weight:500;margin-left:6px;letter-spacing:0}
h3{font-size:16.5px;margin:20px 0 6px;color:var(--head);letter-spacing:-.015em}
.guide p,.guide li{color:#333D4B}
.guide p{max-width:72ch}
.guide ul,.guide ol{padding-left:22px;margin:6px 0 12px}
.guide li{margin:3px 0}
.guide table{border-collapse:collapse;width:100%;font-size:14.5px;margin:8px 0 14px;background:#fff}
.guide th,.guide td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.guide th{background:var(--sunk);font-weight:650;color:var(--head)}
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.src{font-size:13px;color:var(--muted)}
.src a{color:var(--muted)}
/* forms */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px 16px}
.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.grid.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.f{min-width:0}
.f label,.f .lb{display:block;font-size:14px;font-weight:650;margin-bottom:6px;color:var(--head);letter-spacing:-.01em}
.f small,.hint{display:block;color:var(--muted);font-size:12.8px;line-height:1.5;margin-top:4px}
input[type=text],input[type=number],input[type=date],input[type=time],input[type=month],input[type=datetime-local],input[type=password],input[type=email],input[type=tel],input[type=url],input[type=search],input:not([type]),select,textarea{width:100%;font:inherit;font-size:16px;padding:9px 12px;border:1px solid var(--line-s);border-radius:var(--r-sm);background:#fff;color:var(--ink);min-height:46px;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#B0B8C1}
select{appearance:none;-webkit-appearance:none;padding-right:36px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2356625C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 13px center}
select[multiple],select[size]{padding-right:12px;background-image:none}
textarea{min-height:120px;line-height:1.6;resize:vertical}
textarea.code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14.5px}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3.5px rgba(49,130,246,.18)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--acc);vertical-align:-3px;margin:0 6px 0 0}
input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2.5px solid var(--acc);outline-offset:2px}
input[type=range]{width:100%;accent-color:var(--acc)}
input[type=range]:focus{box-shadow:none}
input[type=color]{width:52px;height:40px;padding:2px;border:1px solid var(--line-s);border-radius:8px;background:#fff}
.chk{display:inline-flex;align-items:center;gap:2px;font-size:14.5px;margin:4px 14px 4px 0;cursor:pointer}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg label{flex:1 1 auto;margin:0;font-weight:500;position:relative;min-width:0}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;text-align:center;padding:10px 12px;border:1px solid var(--line-s);border-radius:var(--r-sm);background:#fff;cursor:pointer;min-height:46px;font-size:14.5px;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.seg span:hover{border-color:#B0B8C1}
.seg input:checked+span{border-color:var(--acc);background:var(--acc-soft);color:var(--acc-d);font-weight:700;box-shadow:inset 0 0 0 1px var(--acc)}
.seg input:focus-visible+span{outline:2.5px solid var(--acc);outline-offset:2px}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;align-items:center}
.btn{white-space:nowrap;font:inherit;font-weight:700;font-size:15.5px;letter-spacing:-.01em;padding:11px 20px;border-radius:12px;border:0;background:var(--acc);color:#fff;cursor:pointer;min-height:48px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.3;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 1px 2px rgba(27,100,218,.25);transition:background .15s,transform .1s}
.btn:hover{background:var(--acc-d);color:#fff}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}
.btn.dl{background:var(--head);box-shadow:0 1px 2px rgba(25,31,40,.25)}.btn.dl:hover{background:#333D4B}
.btn.ghost{background:#fff;color:var(--head);box-shadow:inset 0 0 0 1px var(--line-s)}
.btn.ghost:hover{background:var(--sunk);color:var(--head)}
.btn.sm{font-size:14px;padding:7px 13px;min-height:38px;border-radius:10px}
.btn.xs{font-size:13px;padding:4px 10px;min-height:32px;border-radius:8px;font-weight:600}
.err{color:var(--red);font-weight:700;margin:10px 0 0}
.ok{color:var(--ok);font-weight:700}
.note{font-size:13.5px;color:var(--muted);line-height:1.65}
.warn{background:#FFF7ED;border:1px solid #F5D3B0;border-radius:12px;padding:11px 14px;font-size:14px;color:#5C2E0E;margin:0 0 16px;line-height:1.6}
.warn b{color:#8A3A0B}
.info{background:var(--acc-soft);border:1px solid var(--acc-line);border-radius:12px;padding:11px 14px;font-size:14px;color:#1A3561;margin:10px 0;line-height:1.6}
/* result */
.res{background:var(--deep);color:#fff;border-radius:16px;padding:20px 22px;margin:16px 0 0;box-shadow:0 10px 30px -16px rgba(23,32,46,.5)}
.res .k{font-size:14px;color:#B7C3D3}
.res .big{font-size:clamp(28px,6vw,42px);font-weight:800;letter-spacing:-.035em;line-height:1.22;margin:4px 0;font-variant-numeric:tabular-nums}
.res .big b{color:var(--mint)}
.res .sub{color:#D7DEE8;font-size:14.5px}
.res a{color:var(--mint)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;margin-top:14px}
.tile{background:var(--deep);color:#fff;border-radius:14px;padding:13px 15px}
.tile .k{font-size:13px;color:#B7C3D3}
.tile .v{font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--mint);font-variant-numeric:tabular-nums;line-height:1.3}
.tile.light{background:var(--sunk);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.tile.light .k{color:var(--muted)}.tile.light .v{color:var(--acc-d)}
.out{background:#fff;border:1px solid var(--line-s);border-radius:12px;padding:12px 14px;margin-top:12px;white-space:pre-wrap;word-break:break-all}
.formula{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;background:#191F28;color:#DCE8F7;border-radius:12px;padding:13px 15px;margin:10px 0;white-space:pre-wrap;word-break:break-all;position:relative}
.formula .cp{position:absolute;top:8px;right:8px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.chip{font:inherit;font-size:13.5px;border:1px solid var(--line-s);background:#fff;border-radius:999px;padding:5px 13px;cursor:pointer;color:var(--ink);line-height:1.4;transition:background .15s,border-color .15s}
.chip:hover{border-color:var(--acc);background:var(--acc-soft)}
.chip.on{background:var(--acc);border-color:var(--acc);color:#fff}
/* tables inside tools */
table.t{border-collapse:collapse;width:100%;font-size:14.5px;background:#fff}
table.t th,table.t td{border:1px solid var(--line);padding:7px 9px;text-align:left}
table.t th{background:var(--sunk);font-weight:700;color:var(--head);white-space:nowrap}
table.t td.n,table.t th.n{text-align:right;font-variant-numeric:tabular-nums}
table.t input,table.t select{min-height:38px;padding:6px 8px;font-size:15px;border-radius:8px}
.scroll{overflow:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.rows .row{display:grid;gap:8px;align-items:end;margin-bottom:8px}
/* dropzone */
.drop{border:1.5px dashed #B0B8C1;border-radius:16px;background:var(--paper2);padding:28px 16px;text-align:center;cursor:pointer;transition:background .15s,border-color .15s}
.drop:hover,.drop.over{background:var(--acc-soft);border-color:var(--acc)}
.drop b{display:block;font-size:16.5px;color:var(--head);letter-spacing:-.02em}
.drop span{font-size:13.5px;color:var(--muted)}
.files{list-style:none;padding:0;margin:12px 0 0}
.files li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:6px 0;font-size:14.5px}
.files li .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.files li .sz{color:var(--muted);font-size:12.5px;white-space:nowrap}
.files li button{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--paper2);border-radius:8px;padding:3px 8px;cursor:pointer}
.files li button:hover{border-color:var(--line-s);background:#fff}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:12px}
.thumbs figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px;text-align:center;font-size:12.5px;position:relative}
.thumbs img,.thumbs canvas{display:block;width:100%;height:120px;object-fit:contain;background:var(--sunk);border-radius:6px}
.thumbs figure.off{opacity:.35}
.thumbs figure.sel{outline:3px solid var(--acc)}
.prog{height:8px;border-radius:99px;background:#E5E8EB;overflow:hidden;margin-top:10px}
.prog i{display:block;height:100%;width:0;background:var(--acc);transition:width .2s}
.preview{background:#EBEEF1;border-radius:14px;padding:12px;margin-top:14px;overflow:auto;text-align:center}
.preview canvas{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.14);max-width:100%;height:auto}
/* faq */
.faq details{border-top:1px solid var(--line);padding:13px 0}
.faq details:first-of-type{border-top:0}
.faq summary{cursor:pointer;font-weight:700;color:var(--head);list-style:none;display:flex;gap:10px;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--acc-soft);color:var(--acc-d);font-weight:800;font-size:12.5px;margin-top:2px}
.faq summary::after{content:"";flex:none;margin:9px 2px 0 auto;width:8px;height:8px;border-right:2px solid var(--muted2);border-bottom:2px solid var(--muted2);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:12px}
.faq details p{margin:8px 0 0 32px;color:#333D4B}
/* related + lists */
.rel ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:8px}
.rel li a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px;text-decoration:none;color:var(--ink);height:100%;transition:border-color .15s,background .15s}
.rel li a:hover{border-color:var(--acc-line);background:var(--paper2)}
.rel li b{display:block;font-size:15px;color:var(--head);letter-spacing:-.015em}
.rel li span{display:block;font-size:12.8px;color:var(--muted);line-height:1.5;margin-top:2px}
/* home */
.hero{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:24px;padding:44px 40px 36px;margin:24px 0 36px;box-shadow:var(--sh-2);
  background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:28px 28px;background-position:-1px -1px}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#fff 30%,rgba(255,255,255,.82) 62%,rgba(255,255,255,.35));pointer-events:none}
.hero>*{position:relative}
.hero h1{font-size:clamp(34px,6.6vw,54px);letter-spacing:-.045em;line-height:1.12}

.hero p{color:var(--muted);margin:12px 0 0;max-width:560px;font-size:17px}
.hero .safe{margin-top:18px}
.search{position:relative;margin-top:24px;max-width:640px}
.search input{width:100%;padding-left:50px;min-height:58px;font-size:17px;border-radius:16px;border:1.5px solid var(--line-s);background:#fff;box-shadow:0 1px 2px rgba(25,31,40,.04),0 6px 20px -10px rgba(25,31,40,.18)}
.search input:focus{border-color:var(--acc);box-shadow:0 0 0 4px rgba(49,130,246,.16)}
.search svg{position:absolute;left:17px;top:18px;pointer-events:none;stroke:var(--muted2)}
.sres{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:6px;max-width:640px}
.sres li a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-decoration:none;color:var(--ink)}
.sres li a:hover,.sres li a:focus-visible{border-color:var(--acc-line);background:var(--paper2)}
.sres b{color:var(--head)}.sres span{font-size:13px;color:var(--muted);margin-left:6px}
.sres mark{background:#C9E2FF;color:inherit;border-radius:3px;padding:0 1px}
.cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cats a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 8px 14px;text-decoration:none;color:var(--ink);box-shadow:var(--sh-1);transition:border-color .15s,box-shadow .2s,transform .2s}
.cats a:hover{border-color:var(--acc-line);box-shadow:var(--sh-2);transform:translateY(-2px)}
.cats img{width:64px;height:64px;margin-bottom:8px;filter:drop-shadow(0 4px 6px rgba(25,31,40,.12))}
.cats b{font-size:15px;line-height:1.35;color:var(--head);letter-spacing:-.025em;font-weight:700}
.cats span{display:none}
.cats em{font-style:normal;font-size:12.5px;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
@media(max-width:480px){.cats{gap:8px}.cats a{padding:14px 4px 11px;border-radius:16px}.cats img{width:52px;height:52px;margin-bottom:6px}.cats b{font-size:13.5px}.cats em{font-size:12px}}
@media(min-width:760px){.cats{gap:14px}.cats a{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-areas:"i n" "i c";column-gap:18px;text-align:left;align-items:center;justify-items:start;padding:18px 22px}.cats img{grid-area:i;width:76px;height:76px;margin:0}.cats b{grid-area:n;align-self:end;font-size:17.5px}.cats em{grid-area:c;align-self:start;font-size:13.5px;margin-top:2px}}
.sec-h{color:var(--head);font-family:var(--f);font-size:21px;letter-spacing:-.03em;margin:40px 0 14px;font-weight:800;line-height:1.35}
.sec-h a:hover{color:var(--acc)!important}
.hero+.sec-h{margin-top:0}
.tlist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:8px}
.tlist a{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 15px;text-decoration:none;color:var(--ink);height:100%;transition:border-color .15s,background .15s}
.tlist a:hover{border-color:var(--acc-line);background:var(--paper2)}
.tlist a:hover b{color:var(--acc-d)}
.tlist b{display:block;font-size:15.5px;color:var(--head);letter-spacing:-.02em}
.tlist span{display:block;font-size:13px;color:var(--muted);line-height:1.5;margin-top:3px}
.card .tlist a{background:var(--paper2);border-color:var(--line2)}
.card .tlist a:hover{background:#fff;border-color:var(--acc-line)}
/* footer */
footer.site{width:100%;margin:24px 0 0;padding:0;border-top:1px solid var(--line);background:#fff;position:relative;z-index:1}
footer.site .in{max-width:1080px;margin:0 auto;padding:28px 16px calc(32px + env(safe-area-inset-bottom,0px));font-size:13px;color:var(--muted);line-height:1.8}
footer.site a{color:var(--muted);margin-right:14px;text-decoration:none;font-weight:600}
footer.site a:hover{color:var(--acc);text-decoration:underline}
footer.site .fl{margin-bottom:8px}
footer.site .in>div:not(.fl){max-width:72ch}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--head);color:#fff;padding:11px 18px;border-radius:12px;font-size:14.5px;z-index:9999;box-shadow:0 12px 32px -8px rgba(25,31,40,.45);max-width:calc(100% - 32px);text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kbd{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--sunk);border:1px solid var(--line-s);border-radius:5px;padding:0 5px;font-size:.92em}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--sunk);border-radius:5px;padding:1px 5px;font-size:.92em}
hr.sep{border:0;border-top:1px solid var(--line);margin:18px 0}
.tabs{display:flex;gap:2px;background:var(--sunk);border:1px solid var(--line);border-radius:12px;padding:4px;margin:0 0 16px;overflow-x:auto}
.tabs button{flex:1 0 auto;font:inherit;font-size:14.5px;font-weight:650;border:0;background:transparent;border-radius:9px;padding:8px 14px;cursor:pointer;color:var(--muted);white-space:nowrap;transition:background .15s,color .15s}
.tabs button:hover{color:var(--head)}
.tabs button[aria-selected=true]{background:#fff;color:var(--head);box-shadow:0 1px 2px rgba(25,31,40,.1),0 0 0 1px var(--line)}
@media print{body{background:#fff}.brandbar,footer.site,.no-print{display:none!important}.card{border:0;box-shadow:none}}
@media(max-width:520px){.card{padding:18px 16px;border-radius:16px}.card.tool{border-radius:18px}.res{padding:17px 18px}header.top{padding:24px 0 18px}header.top p.lead{font-size:15.5px}.hero{padding:30px 20px 24px;border-radius:20px;margin:16px 0 28px}.hero p{font-size:15.5px}.search input{min-height:54px;font-size:16px}.search svg{top:16px}.sec-h{font-size:19px;margin-top:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.cats a:hover{transform:none}}
.prog.over i{background:#D9534F}
.qrow{display:grid;grid-template-columns:1fr 110px 150px auto;gap:8px;align-items:end}
@media(max-width:640px){.qrow{grid-template-columns:1fr 1fr auto}.qrow>.f:first-child{grid-column:1/-1}}
.docgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.docgrid>div:last-child{position:sticky;top:74px}
@media(max-width:860px){.docgrid{grid-template-columns:minmax(0,1fr)}.docgrid>div:last-child{position:static}}
.sigbox{border:2px dashed #B0B8C1;border-radius:12px;background:#fff;touch-action:none;width:100%;height:180px;display:block}
.pgview{position:relative;display:inline-block;max-width:100%;box-shadow:0 2px 10px rgba(0,0,0,.15);background:#fff;user-select:none;-webkit-user-select:none}
.pgview canvas{display:block;max-width:100%;height:auto}
.stamp{position:absolute;border:1.5px dashed var(--orange);cursor:move;touch-action:none;box-sizing:border-box}
.stamp img{width:100%;height:100%;display:block;pointer-events:none}
.stamp .rs{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;border-radius:50%;background:var(--orange);cursor:nwse-resize;touch-action:none}
.stamp .x{position:absolute;right:-10px;top:-10px;width:20px;height:20px;border-radius:50%;background:#333;color:#fff;font-size:12px;line-height:20px;text-align:center;cursor:pointer;border:0;padding:0}
.pgnav{display:flex;gap:8px;align-items:center;justify-content:center;margin:10px 0}
.warpbox{position:relative;display:inline-block;max-width:100%;touch-action:none;user-select:none;-webkit-user-select:none}
.warpbox canvas{display:block;max-width:100%;height:auto}
.warpbox svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.warpbox .hd{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:rgba(232,131,74,.35);border:2.5px solid var(--orange);cursor:grab;touch-action:none;box-sizing:border-box}
.docgrid[hidden]{display:none}
.files li input{min-width:0}
@media(max-width:520px){.files li{flex-wrap:wrap}.files li .nm{flex:1 1 60%}}
input[type=file]{max-width:100%;min-width:0}
.search{max-width:640px}
.search input{width:100%;box-sizing:border-box}
.formula{padding-right:72px;min-height:44px}
.formula .cp{top:7px;right:8px;white-space:nowrap}
.cropwrap{position:relative;display:inline-block;max-width:100%;touch-action:none;user-select:none;-webkit-user-select:none;line-height:0}
.cropbox{position:absolute;border:2px solid #fff;outline:1px solid rgba(0,0,0,.5);box-shadow:0 0 0 9999px rgba(0,0,0,.45);cursor:move;touch-action:none}
.cropbox .h{position:absolute;width:22px;height:22px;background:var(--orange);border:2px solid #fff;border-radius:50%}
.cropbox .nw{left:-2px;top:-2px;cursor:nwse-resize}.cropbox .ne{right:-2px;top:-2px;cursor:nesw-resize}.cropbox .sw{left:-2px;bottom:-2px;cursor:nesw-resize}.cropbox .se{right:-2px;bottom:-2px;cursor:nwse-resize}
.cropwrap{overflow:hidden}
.stage{background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0 0/16px 16px;border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center;line-height:0}
.stage canvas{max-width:100%;height:auto}
.pos9{display:grid;grid-template-columns:repeat(3,44px);gap:6px}.pos9 .btn{min-width:0;padding:6px 0}
.docpv canvas{box-shadow:0 2px 10px rgba(0,0,0,.12);border-radius:4px}
.pastebox{min-height:120px;border:2px dashed var(--line2);border-radius:12px;padding:12px;background:var(--paper2);overflow:auto;max-height:260px;font-size:14px}
.pastebox:empty:before{content:attr(data-ph);color:#66707C}
.pastebox:focus{outline:3px solid var(--gold-soft);border-color:var(--gold2)}
.emojigrid{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}.emojigrid h3{width:100%;margin:10px 0 2px;font-size:15px}
.emojigrid button{font-size:26px;line-height:1;width:46px;height:46px;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;padding:0}.emojigrid button:hover{background:var(--gold-soft)}
.fancylist{display:grid;gap:6px;margin-top:10px}.fancy{display:grid;grid-template-columns:130px 1fr;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:4px 0}.fancy .nm{font-size:13px;color:var(--muted)}
.fancy .val{font:inherit;font-size:19px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer;overflow-wrap:anywhere;min-width:0}.fancy .val:hover{border-color:var(--gold2)}
@media (max-width:520px){.fancy{grid-template-columns:1fr}}
.lotto{display:grid;gap:8px;margin:10px 0}.lrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.lrow b{width:22px}
.ball{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#fff;font-weight:800;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
@media (max-width:420px){.ball{width:36px;height:36px;font-size:15px}}
.ty-ok{color:#1B64DA}.ty-bad{color:#fff;background:#C0392B;border-radius:3px}.ty-cur{border-bottom:3px solid var(--orange)}.ty-todo{color:#66707C}
.bigclock{font-size:clamp(52px,16vw,120px);font-weight:800;text-align:center;font-variant-numeric:tabular-nums;line-height:1.1;margin:8px 0;color:var(--ink)}
.bigclock.done{color:#C0392B;animation:hlblink 1s steps(2) infinite}@keyframes hlblink{50%{opacity:.35}}
[data-p]:fullscreen{background:#fff;display:flex;flex-direction:column;justify-content:center;padding:4vw}[data-p]:fullscreen .bigclock{font-size:22vw}
.pomo{text-align:center;border-radius:16px;padding:14px;margin-bottom:10px;background:#FDECE6}.pomo.ph-b,.pomo.ph-l{background:var(--acc-soft)}
.tbl.tz td{min-width:22px;font-size:12px}.tbl.tz th{white-space:nowrap;font-size:12.5px}
.mcal-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:10px 0}.mcal{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.mcal .mt{font-weight:800;text-align:center;margin-bottom:6px}
.mcal .mg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:13px}.mcal .mg b{font-size:12px}.mcal .mg span{padding:4px 0;border-radius:6px;line-height:1.2;min-height:34px}.mcal .mg i{display:block;font-style:normal;font-size:9.5px;color:#8A5A2B}
.mcal .sun{color:#C0392B}.mcal .sat{color:#1F5FA8}.mcal .son{background:#FFE2C7;font-weight:700}.mcal .today{outline:2px solid var(--grass)}
.examcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:6px 0 12px}.examcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}.examcard .en{font-weight:700}.examcard .ed{font-size:38px;font-weight:800;color:var(--grass);margin:4px 0}.examcard.past{opacity:.5}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin:8px 0}
table.tbl{border-collapse:collapse;width:100%;font-size:14.5px;background:#fff}
table.tbl th,table.tbl td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
table.tbl th{background:var(--gold-soft);font-weight:700;color:var(--head);white-space:nowrap}
table.tbl.tz td{padding:4px 2px}
.mdgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:860px){.mdgrid{grid-template-columns:1fr}}
mark.rx0{background:#FFE08A;border-radius:3px}mark.rx1{background:#BDE3FF;border-radius:3px}
.palette{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:12px 0}.palette .pc{border:0;border-radius:12px;min-height:110px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:10px;cursor:pointer;font:inherit}.palette .pc small{opacity:.8;font-size:11.5px}
.favpv{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;justify-content:center;margin:8px 0}.favpv figure{margin:0;text-align:center;font-size:12px}.favpv canvas{display:block;margin:0 auto 4px}
.tabmock{display:inline-flex;align-items:center;gap:6px;background:#EBEEF1;border-radius:10px 10px 0 0;padding:8px 14px;margin:10px auto 0;font-size:13px;max-width:100%}
.serp{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.serp .su{font-size:12.5px;color:#4D5156;overflow-wrap:anywhere}.serp .st{font-size:18px;color:#1A0DAB;margin:2px 0;overflow-wrap:anywhere}.serp .sd{font-size:13.5px;color:#4D5156}
.ogcard{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;max-width:420px}.ogcard .oi{aspect-ratio:1.91/1;background:#EBEEF1;display:flex;align-items:center;justify-content:center;color:#888;font-size:13px;overflow:hidden}.ogcard .oi img{width:100%;height:100%;object-fit:cover}.ogcard .ob{padding:10px 12px}.ogcard .ot{font-weight:700;overflow-wrap:anywhere}.ogcard .od{font-size:13px;color:#666;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ogcard .ou{font-size:12px;color:#999}
.fontlist{display:grid;gap:10px;margin-top:10px}.fontrow{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px}.fontrow .fh{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:space-between;margin-bottom:4px}.fontrow .fs{line-height:1.4;overflow-wrap:anywhere}
.ck-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:10px 0}.ck-sec{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.ck-sec h3{margin:0 0 6px;font-size:16px}
.ck-row{display:flex;align-items:center;gap:8px;padding:5px 2px;border-bottom:1px dashed var(--line);cursor:pointer}.ck-row input{width:20px;height:20px;flex:none}.ck-row .t{flex:1}.ck-row.on .t{text-decoration:line-through;color:#999}.ck-row .x{border:0;background:none;color:#8B95A1;font-size:18px;cursor:pointer;padding:0 4px}.ck-row small{font-size:12px}
.ck-add{display:flex;gap:6px;margin-top:6px}.ck-add input{min-height:36px;padding:4px 8px;font-size:14px}
/* life phase 2 */
.rclist{display:grid;gap:8px;margin-top:10px}.rc{border:1px solid var(--line,#E5E8EB);border-radius:12px;padding:10px 12px;background:#fff}.rc .rh{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.rc .rb{color:#fff;font-size:12px;border-radius:99px;padding:2px 9px;white-space:nowrap}
.msglist{display:grid;gap:10px;margin-top:10px}.msg{border:1px solid var(--line,#E5E8EB);border-radius:12px;padding:12px 14px;background:#fff}.msg p{margin:0 0 6px;white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere}.msg .mf{display:flex;justify-content:space-between;align-items:center;gap:8px}
/* net: speed gauge, reachability list; image: remove-bg; text: emoji meaning */
.gauge{position:relative;max-width:340px;margin:0 auto}
.gauge svg{display:block;width:100%;height:auto}
.gauge .gv{position:absolute;left:0;right:0;bottom:2px;text-align:center;line-height:1.15}
.gauge .gv b{display:block;font-size:44px;font-weight:800;color:var(--head);font-variant-numeric:tabular-nums}
.gauge .gv span{font-size:14px;color:var(--muted);font-weight:700}
.gauge .gv em{display:block;font-style:normal;font-size:13px;color:var(--muted2);margin-top:2px}
.svlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:6px;margin:8px 0}
.svlist label{display:flex;align-items:center;gap:6px;border:1px solid var(--line2);background:var(--paper2);border-radius:10px;padding:6px 10px;font-size:14.5px;cursor:pointer}
.svlist input{margin:0}
.st{display:inline-block;font-size:13px;font-weight:700;border-radius:999px;padding:2px 9px;white-space:nowrap}
.serp .st{white-space:normal}
.st.ok{background:#E8F3FF;color:#1957C2}.st.bad{background:#FBE4E1;color:#A3271C}.st.slow{background:#FFF1D6;color:#8A5A00}.st.wait{background:#EEE;color:#555}
.bgwork{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:860px){.bgwork{grid-template-columns:300px 1fr}}
.bgstage{position:relative;line-height:0;touch-action:none;user-select:none;-webkit-user-select:none}
.bgstage canvas{max-width:100%;max-height:75vh;width:auto;height:auto;border-radius:6px;cursor:crosshair}
.bgstage.cmp canvas{cursor:ew-resize}
.swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.swatches button{width:30px;height:30px;border-radius:8px;border:2px solid var(--line);cursor:pointer;padding:0}
.swatches button[aria-pressed=true]{border-color:var(--orange);box-shadow:0 0 0 2px #fff inset}
.swatches .tp{background:repeating-conic-gradient(#ddd 0 25%,#fff 0 50%) 0 0/10px 10px}
.emgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:4px;margin:10px 0}
.emgrid button{font-size:28px;line-height:1;height:52px;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;padding:0;position:relative}
.emgrid button:hover,.emgrid button[aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold2)}
.emgrid button.m::after{content:"";position:absolute;right:4px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.emdet{display:flex;gap:14px;align-items:flex-start;background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:8px 0}
.emdet .big{font-size:56px;line-height:1.1}
.emdet h3{margin:0 0 2px;font-size:18px}
.emdet p{margin:4px 0}
.emdet .kw{font-size:13.5px;color:var(--muted)}
@media(max-width:859px){.bgwork>div:last-child{order:-1}}
/* media + AI tools (video convert/merge/resize, screen record, upscale, object removal, vocal remover, speech to text) */
.mjob{background:var(--paper2);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;margin:12px 0}
.mjob-row{display:flex;gap:10px;align-items:center;justify-content:space-between}
.mjob-msg{font-size:14.5px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.mjob.fail{border-color:#F0C4B4;background:#FFF5F0}.mjob.fail .prog{display:none}
.mjob.done .prog i{background:var(--grass)}
.mres{border:1px solid var(--acc-line);background:var(--acc-soft);border-radius:14px;padding:12px;margin:12px 0}
.mres video,.mres img{display:block;max-width:100%;max-height:60vh;margin:0 auto 10px;border-radius:10px;background:#111}
.mres audio{width:100%;margin-bottom:8px}
.mres-info{display:flex;flex-direction:column;gap:2px;font-size:14px;overflow-wrap:anywhere}.mres-info span{color:var(--muted,#4E5968)}
.mfile{display:flex;gap:12px;align-items:center;margin:12px 0;padding:10px;border:1px solid var(--line2);border-radius:12px;background:#fff}
.mfile canvas,.mfile img{width:120px;height:auto;max-height:120px;object-fit:contain;border-radius:8px;background:#111;flex:none}
.mfile div{min-width:0;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.cliplist{list-style:none;padding:0;margin:12px 0;display:flex;flex-direction:column;gap:8px}
.cliplist li{display:grid;grid-template-columns:auto 88px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line2);border-radius:12px;background:#fff;padding:8px}
.cliplist li.drag{opacity:.5}.cliplist li.over{border-color:var(--grass)}
.cliplist canvas{width:88px;height:56px;object-fit:cover;border-radius:6px;background:#111}
.cliplist .meta{min-width:0;font-size:13.5px;line-height:1.45;overflow-wrap:anywhere}
.cliplist .meta b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cliplist .ops{display:flex;gap:4px}.cliplist .ops button{min-width:40px;min-height:40px;padding:0 8px}
.cliplist .grip{cursor:grab;color:#8B95A1;font-size:20px;padding:0 4px;touch-action:none}
.cliplist .rng{grid-column:2/-1;display:flex;gap:6px;align-items:center;font-size:13px}.cliplist .rng input{width:84px;min-height:36px;padding:4px 8px}
.rsz-pv{display:flex;justify-content:center;background:var(--sunk);border-radius:12px;padding:12px;margin:10px 0}
.rsz-pv canvas{max-width:100%;max-height:52vh;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.18);background:#000}
.cmpbox{position:relative;overflow:hidden;border-radius:12px;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0 0/20px 20px;touch-action:none;user-select:none;margin:10px 0}
.cmpbox canvas{display:block;width:100%;height:auto}
.cmpbox .cmp-a{position:absolute;inset:0;overflow:hidden;width:50%;border-right:2px solid #fff;box-shadow:1px 0 0 rgba(0,0,0,.3)}
.cmpbox .cmp-a canvas{width:auto;height:100%;max-width:none}
.cmpbox .cmp-h{position:absolute;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;font-size:14px;pointer-events:none}
.cmpbox .lab{position:absolute;top:8px;font-size:12px;background:rgba(0,0,0,.55);color:#fff;border-radius:6px;padding:2px 7px}
.devnote{font-size:13.5px;color:#4E5968;background:var(--sunk);border-radius:10px;padding:8px 12px;margin:10px 0;line-height:1.55}
.paint{position:relative;touch-action:none;margin:10px auto;border-radius:12px;overflow:hidden;background:#111;width:fit-content;max-width:100%}
.paint canvas{display:block;max-width:100%;max-height:72vh;width:auto;height:auto}
.paint canvas.mask{position:absolute;inset:0;width:100%;height:100%;opacity:.55;cursor:crosshair}
.segs{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto}
.segs li{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}
.segs time{font-variant-numeric:tabular-nums;font-size:12.5px;color:#4E5968;padding-top:9px;white-space:nowrap}
.segs textarea{width:100%;min-height:40px;resize:vertical;field-sizing:content;font:inherit;font-size:15px;padding:7px 10px;border:1px solid var(--line2);border-radius:10px;box-sizing:border-box}
.recbox{text-align:center;padding:16px;border:1px solid var(--line2);border-radius:14px;background:var(--paper2)}
.recbox .big{font-size:44px;font-weight:800;font-variant-numeric:tabular-nums}
.recbox video{max-width:100%;max-height:40vh;border-radius:10px;background:#111;margin-top:10px}
.cd{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);font-size:120px;font-weight:800;color:#fff;z-index:50}
@media (max-width:560px){.cliplist li{grid-template-columns:auto 72px minmax(0,1fr)}.cliplist canvas{width:72px;height:48px}.cliplist .ops{grid-column:2/-1;justify-content:flex-end}.cliplist .rng{grid-column:1/-1}}
/* tool toolbars that stick: sit below the sticky site header */
main .edtools,main .hwbar{top:62px}
main .hd-stagecol{top:74px}
/* dark surfaces: deep blue → near-black with hairline grid (home hero, hub header, results, CTA, footer) */
:root{--dk-grad:linear-gradient(140deg,#14286A 0%,#0B1736 52%,#060A14 100%);
  --dk-grid:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  --dk-glow:radial-gradient(120% 90% at 100% 0%,rgba(80,140,255,.22),transparent 60%)}
.hero,header.top.hub,.calcard,footer.site{background-color:#0B1736;background-image:var(--dk-glow),var(--dk-grid),var(--dk-grad);background-size:auto,32px 32px,32px 32px,auto;background-position:0 0,-1px -1px,-1px -1px,0 0;color:#E6ECF5;border-color:transparent}
.hero{box-shadow:0 24px 48px -28px rgba(6,10,20,.65)}
.hero::before{display:none}
.hero h1,header.top.hub h1,.calcard h2{color:#fff}
.hero p,header.top.hub p.lead,.calcard p{color:#C3CCDA}
.hero .safe,header.top.hub .safe{color:#CFE1FF;background:rgba(255,255,255,.07);border-color:rgba(158,203,255,.28)}
.search input{border-color:transparent}
.search input:focus{border-color:#3182F6;box-shadow:0 0 0 4px rgba(49,130,246,.35)}
.hero .note{color:#C3CCDA}
.hero :focus-visible,header.top.hub :focus-visible,.calcard :focus-visible,footer.site :focus-visible{outline-color:#9ECBFF}
header.top.hub{padding:36px 32px 30px;margin:24px 0 20px;border-radius:24px}
header.top.hub .crumb,header.top.hub .crumb a{color:#AEBACB}
header.top.hub .crumb a:hover{color:#fff}
.calcard{border:0}
.calcard a:not(.btn){color:#9ECBFF}
.calcard .btn.ghost{background:#fff;color:#191F28;box-shadow:none}
.calcard .btn.ghost:hover{background:#E8F3FF}
.res,.tile:not(.light){background-color:#0B1736;background-image:var(--dk-glow),var(--dk-grid),var(--dk-grad);background-size:auto,24px 24px,24px 24px,auto;background-position:0 0,-1px -1px,-1px -1px,0 0}
.res{box-shadow:0 14px 32px -18px rgba(6,10,20,.6)}
.res .k,.tile .k{color:#B7C3D3}
footer.site{border-top:0;margin-top:32px}
footer.site .in{color:#AEBACB}
footer.site a{color:#E6ECF5}
footer.site a:hover{color:#fff}
@media(max-width:520px){header.top.hub{padding:26px 20px 22px;border-radius:20px;margin-top:16px}}
/* generated SEO page blocks that carry their own (old green) <style>: re-tint with higher specificity */
main .xans{background-color:#0B1736;background-image:var(--dk-grid),var(--dk-grad);background-size:24px 24px,24px 24px,auto;color:#E6ECF5}
main .xans .q{color:#B7C3D3}
main .xans .lb{color:#E6ECF5}
main .xans .rv b{color:#9ECBFF}
main .xsteps>li::before{background:var(--acc)}
main .mcal em{color:var(--acc)}

/* mobile header tap targets (verify 2026-11-12) */
@media(max-width:900px){.brandbar nav a.srch,.brandbar nav a.lang{min-height:40px;display:inline-flex;align-items:center}}
