/* VikingTools: an expressive, shared system for every everyday shortcut. */
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182333;background:#f4f6fa;font-size:16px;--ink:#182333;--muted:#59677b;--line:#dce2eb;--accent:#6547d9;--soft:#eee8ff;--dark:#182333;--mint:#d6ff6f}*{box-sizing:border-box}body{margin:0}body[data-theme=images]{--accent:#285ddc;--soft:#e5edff}body[data-theme=internet]{--accent:#087b62;--soft:#dcf4e9}body[data-theme=writing]{--accent:#bf512e;--soft:#ffeadf}body[data-theme=travel]{--accent:#087d91;--soft:#dff6f5}body[data-theme=money]{--accent:#6747ce;--soft:#eee7ff}[hidden]{display:none!important}a{color:var(--accent)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9c69ff;outline-offset:4px}button:disabled{opacity:.5;cursor:not-allowed}button{cursor:pointer}header{background:#182333;color:#fff;padding:23px max(24px,calc((100vw - 1220px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff15}.brand{display:inline-flex;align-items:center;color:#fff;text-decoration:none;font-weight:800;letter-spacing:-1px;font-size:26px}.logo{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#d6ff6f;color:#182333;margin-right:11px;font-size:30px;font-weight:900;transform:rotate(-7deg);padding-bottom:5px}.headerlinks{display:flex;align-items:center;gap:30px}.headerlinks a{font-size:13px;color:#e3e9f4;text-decoration:none;font-weight:650}.headerlinks a:last-child{border:1px solid #556174;border-radius:100px;padding:10px 18px}.headerlinks a:hover{color:#d6ff6f}main{max-width:1284px;margin:auto;padding:38px 32px 20px}h1,h2,h3{color:var(--ink);margin-top:0}h1{font-size:clamp(36px,5vw,60px);letter-spacing:-2.5px;line-height:1.06}h2{font-size:26px;letter-spacing:-.8px;line-height:1.2}h3{font-size:19px;letter-spacing:-.35px}p{color:var(--muted);font-size:15px;line-height:1.75}svg{flex-shrink:0}.eyebrow,.toolkicker{font-size:11px;font-weight:800;letter-spacing:1.7px;line-height:1.6}.eyebrow{color:#65758a}.hero{position:relative;display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:center;border-radius:28px;background:#182333;padding:56px;margin:0 0 46px;overflow:hidden}.hero:before{content:"";position:absolute;width:440px;height:440px;right:-190px;top:-230px;border:70px solid #d6ff6f12;border-radius:50%;pointer-events:none}.hero>.eyebrow,.hero .eyebrow{color:#c9d5e8}.hero h1{font-size:clamp(54px,6.2vw,84px);letter-spacing:-4px;line-height:1.01;color:#fff;margin:24px 0}.hero h1 em{font-style:normal;color:#d6ff6f}.hero p{color:#b8c6d9;font-size:16px;line-height:1.8}.statusdot{display:inline-block;width:7px;height:7px;background:#d6ff6f;border-radius:50%;margin-right:8px}.herolink{display:inline-flex;align-items:center;gap:28px;background:#d6ff6f;color:#182333;padding:16px 22px;border-radius:12px;text-decoration:none;font-weight:800;font-size:14px;margin-top:12px;transition:transform .2s}.herolink:hover{transform:translateY(-2px)}.herolink span{font-size:22px}.herofacts{display:flex;gap:25px;margin-top:33px;color:#aebdd0;font-size:11px}.herofacts strong{display:block;color:#fff;font-size:21px;letter-spacing:-.7px;margin-bottom:5px}.featured{display:block;position:relative;color:#182333;text-decoration:none;background:#e8dcff;border-radius:22px;padding:26px 29px;transform:rotate(3deg);border:1px solid #fff5;box-shadow:0 18px 0 -8px #fff1;transition:transform .2s}.featured:hover{transform:rotate(0)}.featuredtop{display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:1.8px}.featuredtop span:last-child{font-size:26px;line-height:16px}.featured h2{font-size:32px;letter-spacing:-1.3px;margin:16px 0 10px}.featured p{font-size:13px;line-height:1.6;color:#544c6a;margin:0 0 20px}.featuredbottom{display:block;border-top:1px solid #cbbbe3;padding-top:16px;font-size:12px;font-weight:800}.photoart{position:relative;height:160px}.photosheet{position:absolute;left:38px;top:24px;width:160px;height:114px;background:#a8c7ef;border:8px solid #fff;border-radius:5px;box-shadow:0 10px 30px #18233325;transform:rotate(-12deg);overflow:hidden}.sun{position:absolute;width:25px;height:25px;right:20px;top:10px;background:#faffb6;border-radius:50%}.mountain{position:absolute;width:105px;height:105px;left:5px;top:60px;background:#477769;transform:rotate(45deg);box-shadow:40px -20px #76a783}.sizebadge{position:absolute;bottom:17px;right:0;background:#d6ff6f;border:2px solid #182333;color:#182333;font-weight:800;line-height:1.3;font-size:12px;padding:13px 16px;border-radius:13px;transform:rotate(7deg);box-shadow:3px 4px 0 #182333}.directoryhead{display:flex;align-items:end;justify-content:space-between;gap:24px}.directoryhead h2{font-size:34px;letter-spacing:-1.5px;margin:8px 0 0}.searchlabel{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);padding-left:16px;border-radius:12px;width:285px;margin:0}.searchlabel>span{font-size:26px;color:#718198}.searchlabel input{border:0!important;background:transparent!important;box-shadow:none!important;padding:14px 12px!important}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 20px}.filter{border:1px solid var(--line);background:#fff;color:#526174;border-radius:100px;padding:10px 18px;font-size:12px;font-weight:700}.filter:hover{background:#e5eaf2}.filter.selected{background:#182333;border-color:#182333;color:#fff}.homecards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0}.homecard{--cardaccent:#6547d9;--cardsoft:#eee8ff;position:relative;display:flex;flex-direction:column;min-width:0;padding:21px;border:1px solid #dce2eb;border-radius:18px;background:#fff;text-decoration:none;color:#182333;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.homecard[data-category=images]{--cardaccent:#285ddc;--cardsoft:#e5edff}.homecard[data-category=internet]{--cardaccent:#087b62;--cardsoft:#dcf4e9}.homecard[data-category=writing]{--cardaccent:#bf512e;--cardsoft:#ffeadf}.homecard[data-toolname=boats]{--cardaccent:#087d91;--cardsoft:#dff6f5}.homecard:hover{transform:translateY(-5px);box-shadow:0 15px 26px #18233312;border-color:var(--cardaccent)}.cardtop{position:relative;display:flex;justify-content:space-between;align-items:start;background:var(--cardsoft);padding:19px;border-radius:12px;margin:-7px -7px 20px;height:102px;overflow:hidden}.cardtop:after{content:"";width:95px;height:95px;border:18px solid var(--cardaccent);opacity:.07;position:absolute;right:30px;top:35px;border-radius:50%}.tileicon{display:grid;place-items:center;width:54px;height:54px;background:#fff;border-radius:15px;color:var(--cardaccent);box-shadow:0 5px 0 #18233308;transform:rotate(-5deg)}.tileicon svg{width:29px;height:29px}.cardarrow{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ffffffa8;color:var(--cardaccent);font-size:18px}.category{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--cardaccent)}.homecard h2{font-size:19px;line-height:1.25;letter-spacing:-.6px;margin:9px 0}.homecard p{font-size:12px;line-height:1.7;margin:0 0 20px;flex:1}.cardbottom{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #edf0f5;font-size:11px;font-weight:800}.cardbottom>span{font-size:20px;color:var(--cardaccent)}.shopbanner{display:flex;align-items:center;gap:25px;border-radius:20px;background:#d9e7fe;padding:29px 32px;margin:34px 0 0}.shopmark{background:#192c50;color:#c4b0ff;border-radius:14px;padding:19px 13px;font-size:25px;font-weight:800;white-space:nowrap;transform:rotate(-6deg)}.shopmark span{color:#ffb1d5;margin-left:7px}.shopbanner h2{font-size:24px;margin:6px 0}.shopbanner p{font-size:13px;margin:0;color:#465b7c}.shopbanner>a{margin-left:auto;color:#182333;background:#fff;padding:14px 17px;border-radius:12px;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap}.adslot{display:flex;flex-direction:column;justify-content:center;align-items:center;clear:both;gap:8px;max-width:970px;min-height:110px;border:1px solid #dfe4ec;border-radius:12px;background:repeating-linear-gradient(-45deg,#edf0f5,#edf0f5 4px,#f1f3f8 4px,#f1f3f8 8px);margin:30px auto 0;text-align:center;color:#637185;font-size:11px}.adslot>span{font-size:9px;letter-spacing:2px;font-weight:650}.adbody{width:100%;min-width:0}.directoryad,.tooltopad{margin:0 auto 26px}.tooltopad .adbody{min-height:60px;display:grid;place-items:center}.adslot:has(.adsbygoogle){background:transparent;border:0}.adslot ins{max-width:100%}.toolintro{position:relative;display:grid;grid-template-columns:1fr 300px;align-items:center;gap:24px;background:var(--soft);border:1px solid #18233308;border-radius:24px;padding:30px 40px;margin:0 0 26px;overflow:hidden}.toolintrocopy{position:relative;z-index:1}.back{display:inline-block;color:#526174;font-size:11px;font-weight:650;text-decoration:none;margin-bottom:24px}.toolkicker{color:var(--accent);font-size:10px;letter-spacing:1.6px;margin-bottom:12px}.toolintro h1{font-size:clamp(35px,4.1vw,52px);max-width:680px;margin:0 0 14px}.toolintro h1>span{color:var(--accent)}.toolintro p{font-size:14px;margin:0;max-width:56ch;color:#526174;line-height:1.7}.toolart{height:220px;position:relative;pointer-events:none}.artorbits{position:absolute;width:205px;height:205px;left:38px;top:6px;border:1px solid var(--accent);border-radius:50%;opacity:.18}.artorbits:before,.artorbits:after{content:"";position:absolute;inset:20px;border:1px solid var(--accent);border-radius:50%}.artorbits:after{inset:43px}.artnumber{position:absolute;left:30px;top:70px;min-width:175px;text-align:center;background:#182333;color:#fff;font-size:55px;font-weight:850;letter-spacing:-3px;line-height:1.2;padding:18px 25px;border-radius:19px;transform:rotate(-7deg);box-shadow:7px 8px 0 #18233314}.artstamp{position:absolute;z-index:1;right:15px;top:29px;background:#fff;color:var(--accent);width:76px;height:76px;border-radius:21px;display:grid;place-items:center;transform:rotate(13deg);box-shadow:0 8px 24px #1823330d}.artstamp svg{width:37px;height:37px}.artcaption{position:absolute;bottom:1px;left:29px;color:var(--accent);font-size:11px;font-weight:750;transform:rotate(-3deg)}.artspark{position:absolute;left:7px;top:20px;color:var(--accent);font-size:45px}.workspace{background:#fff;border:1px solid #dce2eb;border-radius:22px;padding:34px;box-shadow:0 7px 25px #18233304}.sectionhead{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.sectionhead h2{font-size:24px;margin:0;letter-spacing:-.8px}.sectionhead .eyebrow{display:none}.tag{display:inline-flex;align-items:center;font-size:10px;font-weight:750;border:1px solid #1823330b;background:var(--soft);color:var(--accent);border-radius:100px;padding:8px 12px;white-space:nowrap}label{display:block;font-size:12px;font-weight:750;color:#39465b;margin-bottom:8px}input{width:100%}input:not([type=file]):not([type=range]):not([type=checkbox]),select,textarea{min-width:0;background:#f8f9fc;border:1px solid #d5dde9;border-radius:10px;color:#182333;padding:14px;font-size:14px;transition:border-color .15s,box-shadow .15s}input:not([type=file]):not([type=range]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}input::placeholder,textarea::placeholder{color:#93a0b2}input[type=checkbox]{width:auto;accent-color:var(--accent)}input[type=range]{accent-color:var(--accent)}input[type=file]{max-width:100%;font-size:12px;margin-top:8px}input[type=file]::file-selector-button{background:var(--soft);color:var(--accent);border:0;border-radius:8px;padding:11px 14px;margin-right:12px;font-weight:750;cursor:pointer}textarea{width:100%;display:block;resize:vertical;line-height:1.7}button,.download{border:0;border-radius:10px;background:var(--accent);color:#fff;padding:15px 21px;font-size:13px;font-weight:750;text-decoration:none;transition:filter .15s,transform .15s;white-space:normal}button:hover,.download:hover{filter:brightness(.92)}button:active,.download:active{transform:translateY(1px)}.download{display:inline-block;margin:10px 0}.secondary{background:#eff2f7;color:#42516a;border:1px solid #dce2eb}.textbutton{background:transparent;color:var(--accent);padding:10px;font-size:12px;text-decoration:underline;text-underline-offset:3px}.inputrow{display:flex;gap:12px}.inputrow input{flex:1}.options{display:flex;align-items:center;gap:12px;margin-top:16px}.options>span{font-size:12px;color:var(--muted)}.options label{margin:0}.options select{font-size:13px}.privacy{font-size:12px;line-height:1.7;color:#6b788b}.privacy a{font-weight:650}.results{margin:24px 0}.empty{padding:30px;text-align:center;background:#f4f6fb;border:1px dashed #cad4e4;border-radius:16px}.emptyicon{font-size:38px;color:var(--accent)}.empty h3{font-size:18px;margin:12px 0 7px}.empty p{font-size:13px;margin:0}.preview{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;background:var(--soft);padding:28px;border-radius:18px}.preview .empty{background:transparent;border:0}.preview img{max-width:100%;max-height:360px;object-fit:contain}.imagegrid{display:grid;grid-template-columns:1fr 1.1fr;gap:30px}.dropzone{display:flex;flex-direction:column;align-items:center;gap:10px;border:2px dashed #bdcce4;background:#f3f7ff;padding:28px;border-radius:16px;cursor:pointer}.dropzone span:last-of-type{font-size:12px;color:#62718a}#imageform label{margin-top:17px}#imageform select{width:100%}#qualityvalue{float:right;font-weight:500}.advanced{margin-top:18px}#download{text-align:center;max-width:100%}#download p,#imageinfo{font-size:13px;overflow-wrap:anywhere}.ipcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ipcard{border-radius:15px;background:var(--soft);border:1px solid #18233308;padding:21px;overflow-wrap:anywhere}.ipcard small{font-size:11px;color:var(--accent);font-weight:750}.ipcard strong{display:block;margin-top:9px;font-size:17px}.ipcard p{font-size:12px;margin-bottom:0}.resulthead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.resulthead h3{word-break:break-word}.status{background:#e6f6ee;color:#246747;border-left:4px solid #288766;border-radius:8px;padding:14px;font-size:13px}.error{background:#fff0ed;color:#972f20;border-left:4px solid #c84b34;border-radius:8px;padding:15px;font-size:13px}details{border-top:1px solid var(--line);padding:18px 0 0;font-size:14px}summary{font-weight:750;cursor:pointer;line-height:1.5}details[open] summary{color:var(--accent)}.helpgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.tablewrap{overflow:auto;width:100%;border:1px solid var(--line);border-radius:14px;margin-top:18px}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th,td{padding:15px;border-bottom:1px solid #e5eaf1;vertical-align:top}th{background:#edf1f8;color:#52647e;font-size:10px;letter-spacing:.7px;text-transform:uppercase}tbody tr:nth-child(even){background:#fafbfe}tbody tr:last-child td{border-bottom:0}td.value{font-family:ui-monospace,monospace;font-size:12px;min-width:200px;max-width:550px;overflow-wrap:anywhere}.recordtag{font-size:11px;font-weight:800;color:var(--accent)}.toolhelp{max-width:900px;margin:34px 0}.toolhelp h2{font-size:23px;margin-bottom:20px}.toolhelp details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:9px}.toolhelp summary{font-size:13px}.toolhelp p{font-size:13px;max-width:80ch;margin-bottom:0}.toolnav{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.toolnav .tool{display:flex;align-items:center;gap:8px;border:1px solid #dce2eb;border-radius:100px;padding:9px 13px;text-decoration:none;font-size:10px;font-weight:650;background:#fff;color:#59677b}.toolnav .tool:hover{color:var(--accent);border-color:var(--accent)}.tool svg{width:15px;height:15px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.textstats{display:flex;gap:20px;font-size:13px;color:var(--accent);margin-top:14px;font-weight:700}.checklabel{display:flex;align-items:center;gap:10px;margin:20px 0}.passwordresult{padding:22px;margin-top:26px;background:var(--soft);border-radius:16px}.passwordresult input{font-family:ui-monospace,monospace!important;margin-bottom:14px}#passwordlength{max-width:120px}#qrresult{padding:0;border:0}#qrresult canvas{display:block;width:100%;max-width:290px;height:auto;border-radius:10px}#textstatus,#passwordstatus{font-size:13px;color:var(--accent)}#percentform,#convertform,#resizeform,#increaseform,#financeform,#networkform,#tripform{display:grid;gap:13px;max-width:620px}#percentform label,#convertform label,#resizeform label,#increaseform label,#financeform label,#networkform label,#tripform label{margin:0}#percentform input,#convertform input,#resizeform input[type=number],#increaseform input,#financeform input,#networkform input,#tripform input,#percentform select,#convertform select,#resizeform select,#increaseform select,#financeform select,#networkform select,#tripform select{width:100%}#resizeform .options,#convertform .options,#increaseform .options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}#resizeform .options input,#increaseform .options select{margin-top:8px}#resizepreview{margin-top:24px}#resizepreview img{max-height:500px}#resizefile{max-width:100%}#calcresult,#convertresult{overflow-wrap:anywhere;border-radius:14px;background:var(--soft);padding:20px;font-size:17px;line-height:1.6}.increasegrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:35px}.increaseexample{position:relative;overflow:hidden;background:#182333;border-radius:20px;padding:29px;align-self:start}.increaseexample:after{content:"✳";position:absolute;right:-14px;bottom:-45px;font-size:170px;color:#ffffff06;pointer-events:none}.increaseexample h3{font-size:31px;letter-spacing:-1.2px;color:#d6ff6f;margin:18px 0}.increaseexample p{font-size:13px;color:#c1ccdc}.increaseexample .eyebrow{color:#8fa3c1}.increaseexample .privacy{font-size:12px;color:#a9b8cf}.increaseresult{border-top:1px solid #dce2eb;margin-top:28px;padding-top:26px}.increasestats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.increasestats>div{background:var(--soft);border:1px solid #18233306;padding:23px;border-radius:16px}.increasestats>div:first-child{background:var(--accent);color:#fff}.increasestats strong{display:block;font-size:27px;font-weight:800;letter-spacing:-1px;margin:14px 0;overflow-wrap:anywhere}.increasestats span,.increasestats small{font-size:11px;font-weight:650;line-height:1.5}.increasestats small{display:block;opacity:.8}.annualrows>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #e5eaf1;font-size:14px}.annualrows dd{font-weight:800;text-align:right;margin:0}.annualrows>div:last-child{color:var(--accent)}#formula{overflow-wrap:anywhere}.schedule{margin-top:24px}.schedule summary{padding:8px 0}.tablewrap td{white-space:pre-line;overflow-wrap:anywhere}#networkresults td:last-child{min-width:220px}#financeresult,#tripresult{margin-top:28px}#boatmap{height:490px;min-height:300px;border:1px solid #c4dfe3;border-radius:18px;z-index:0;margin-top:20px}#boatmap .leaflet-control-attribution a{color:#175275}#boatmap .leaflet-control-zoom a{color:#222}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:36px;padding:28px 0;color:#69788e;font-size:11px}.footerbrand{font-size:21px;color:#182333}.footerlinks{display:flex;gap:18px}.footerlinks a{color:#59677b;text-decoration:none}.footerlinks a:hover{color:var(--accent)}.infopage{max-width:940px}.infopage>.toolintro{display:block;background:#e8edf5}.infopage h2{margin-top:25px}.infopage p{font-size:14px;line-height:1.9}@media(max-width:1100px){.homecards{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{padding:40px;gap:30px}.hero h1{font-size:65px}.herofacts{gap:19px}.toolintro{grid-template-columns:1fr 230px;padding:30px}.toolart{transform:scale(.85);transform-origin:center}.shopbanner{padding:25px;gap:20px}}@media(max-width:800px){.hero{padding:32px;grid-template-columns:1fr .8fr;gap:24px}.hero h1{font-size:55px;letter-spacing:-3px}.hero p br{display:none}.hero p{font-size:14px}.featured{padding:22px}.photoart{height:130px}.photosheet{left:5px;width:130px;height:100px}.sizebadge{right:-10px;font-size:10px}.featured h2{font-size:26px}.herofacts{gap:15px;font-size:9px}.herofacts strong{font-size:19px}.homecards{grid-template-columns:repeat(2,minmax(0,1fr))}.increasegrid,.imagegrid{grid-template-columns:1fr}.increaseexample{max-width:none}.toolintro{grid-template-columns:1fr 190px;padding:27px}.toolart{transform:scale(.72);margin-left:-28px}.toolintro h1{font-size:39px}.toolintro p{font-size:13px}.shopbanner{flex-wrap:wrap}.shopbanner>a{margin-left:0}.ipcards{grid-template-columns:repeat(2,minmax(0,1fr))}.sectionhead{align-items:flex-start;flex-direction:column;gap:12px}.increasestats strong{font-size:22px}.increasestats>div{padding:17px}}@media(max-width:600px){header{padding:18px 20px}.brand{font-size:22px}.logo{width:35px;height:35px;font-size:25px;border-radius:10px}.headerlinks{gap:10px}.headerlinks a:first-child{display:none}.headerlinks a:last-child{font-size:10px;padding:9px 12px}main{padding:22px 16px 16px}.hero{grid-template-columns:1fr;padding:29px 25px;gap:30px;border-radius:22px;margin-bottom:34px}.hero h1{font-size:62px;letter-spacing:-3.5px;margin:22px 0}.hero p{font-size:14px}.hero .eyebrow{font-size:9px}.herofacts{gap:26px;font-size:10px;margin-top:26px}.featured{transform:rotate(1deg);margin:0 5px;padding:21px;min-height:210px}.featured h2{font-size:27px;margin-top:24px}.featured p{max-width:20ch;font-size:11px}.photoart{float:right;width:44%;height:130px;margin-top:25px}.photosheet{width:112px;height:94px;left:0;top:12px}.sizebadge{right:-12px;bottom:0;font-size:9px;padding:9px;border-width:1px;box-shadow:2px 3px 0 #182333}.featuredbottom{clear:both;font-size:11px}.directoryhead{flex-direction:column;align-items:stretch;gap:20px}.directoryhead h2{font-size:29px;letter-spacing:-1.2px}.searchlabel{width:100%}.filters{gap:6px;margin-top:18px}.filter{padding:9px 12px;font-size:11px}.homecards{gap:12px}.homecard{padding:16px;border-radius:16px}.cardtop{height:88px;padding:14px;margin:-5px -5px 15px}.tileicon{width:46px;height:46px;border-radius:13px}.tileicon svg{width:24px;height:24px}.cardarrow{width:22px;height:22px;font-size:15px}.homecard h2{font-size:17px;letter-spacing:-.5px}.homecard p{font-size:11px;margin-bottom:14px}.category{font-size:8px}.cardbottom{font-size:10px;padding-top:12px}.shopmark{display:none}.shopbanner{padding:23px;border-radius:16px}.shopbanner h2{font-size:23px}.shopbanner p{font-size:12px}.toolintro{display:block;padding:26px 24px;border-radius:20px;min-height:0}.toolintro h1{font-size:36px;letter-spacing:-1.6px;max-width:90%}.toolintro p{max-width:36ch}.back{margin-bottom:22px}.toolkicker{font-size:9px;letter-spacing:1.1px;max-width:85%}.toolart{position:absolute;right:-135px;top:42px;transform:scale(.48);transform-origin:top left;width:230px;height:230px;opacity:.18;z-index:0}.toolintrocopy{z-index:1}.workspace{padding:23px 19px;border-radius:18px}.sectionhead h2{font-size:22px}.tag{font-size:9px;white-space:normal}.inputrow{flex-direction:column}.options{flex-wrap:wrap}.helpgrid,.ipcards{grid-template-columns:1fr}.preview{padding:21px}.increasestats{grid-template-columns:1fr;gap:10px}.increasestats>div{padding:20px}.increasestats strong{font-size:29px;margin:9px 0}.increaseexample{padding:24px}.increaseexample h3{font-size:29px}#increaseform .options{grid-template-columns:1fr}.toolhelp{margin-top:27px}.toolhelp h2{font-size:22px}.toolhelp details{padding:15px}.toolnav{display:none}.adslot{min-height:96px;border-radius:10px}.tooltopad{margin-bottom:22px}#boatmap{height:370px}.annualrows>div{font-size:12px}.tablewrap td{font-size:12px}footer{flex-wrap:wrap;padding:25px 0;gap:15px}.footerbrand{width:100%}.footerlinks{gap:15px}.passwordresult{padding:17px}.infopage>.toolintro h1{max-width:100%}}@media(max-width:360px){.hero{padding:25px 20px}.hero h1{font-size:53px}.homecards{grid-template-columns:1fr}.photoart{display:none}.featured p{max-width:none}.herofacts{gap:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.homecard:hover,.featured:hover,.herolink:hover{transform:none}}
/* A genuine shop promotion fills reserved inventory until external ads can serve. */
.homecard[data-category=money]{--cardaccent:#6747ce;--cardsoft:#eee7ff}.homecard[data-category=travel]{--cardaccent:#087d91;--cardsoft:#dff6f5}.adslot{background:#f8f9fc;padding:10px 18px 16px}.adslot .adbody{min-height:0;display:block}.housead{display:flex;align-items:center;justify-content:center;gap:18px;text-align:left;text-decoration:none;color:#182333;width:100%;padding:4px 0}.houseadmark{display:flex;gap:6px;flex-shrink:0;font-size:17px!important;letter-spacing:-.5px!important;font-weight:700;border-radius:10px;padding:13px 10px;background:#252039;color:#c6b7ff}.houseadmark b{color:#ffb8d3}.houseadcopy{font-size:13px!important;letter-spacing:0!important}.houseadcopy strong{display:block;font-size:14px;margin-bottom:5px;line-height:1.4}.houseadcopy small{display:block;font-size:11px;color:#64728a;line-height:1.4}.houseadcta{font-size:11px!important;font-weight:750;letter-spacing:0!important;background:#fff;padding:12px 15px;border-radius:9px;border:1px solid #dce2eb;white-space:nowrap;margin-left:15px}.housead:hover .houseadcta{border-color:#6747ce;color:#6747ce}@media(max-width:600px){.adslot{padding:10px 13px 13px}.housead{gap:11px}.houseadmark{font-size:13px!important;padding:11px 8px}.houseadcopy strong{font-size:11px}.houseadcopy small{font-size:10px}.houseadcta{margin:0;padding:9px;font-size:9px!important}.houseadcopy{flex:1}}@media(max-width:390px){.houseadmark{display:none}.houseadcta{white-space:normal;max-width:87px}}

@media(max-width:600px){.hero h1{font-size:48px;letter-spacing:-2.6px}}

.relatedtools{margin:36px 0}.relatedheading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.relatedheading h2{margin:8px 0 0}.relatedheading>a{font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap}.relatedgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.relatedcard{display:flex;gap:14px;align-items:flex-start;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}.relatedcard:hover{border-color:var(--accent);transform:translateY(-2px)}.relatedcard strong{display:block;font-size:15px;line-height:1.35;letter-spacing:-.3px}.relatedcard small{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.55}.relatedicon{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:11px;background:var(--soft);color:var(--accent)}.relatedicon svg{width:21px;height:21px}.relatedcard>span:last-child{margin-left:auto;color:var(--accent)}@media(max-width:1000px){.relatedgrid{grid-template-columns:1fr}.relatedcard{align-items:center}.relatedcard small{margin-top:4px}}@media(max-width:600px){.relatedheading{align-items:flex-start;flex-direction:column;gap:12px}.relatedheading h2{font-size:24px}.relatedcard{padding:18px}.relatedgrid{gap:10px}}@media(prefers-reduced-motion:reduce){.relatedcard:hover{transform:none}}

/* Shared control details: clear hierarchy, comfortable targets and visible states. */
.workspace button,.workspace .download{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.35;font-size:14px;font-weight:700;letter-spacing:-.1px;padding:13px 20px;border-radius:12px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;filter:none}
.workspace button[data-primary]{background:var(--accent);color:white;border:1px solid transparent;box-shadow:0 2px 3px #18233312;min-width:160px}
.workspace button[data-primary]::after{content:"";flex-shrink:0;width:18px;height:18px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .15s}
.workspace button[data-primary]:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 86%,#182333);box-shadow:0 4px 10px #1823331a}
.workspace button[data-primary]:hover:not(:disabled)::after{transform:translateX(2px)}
.workspace button:active:not(:disabled),.workspace .download:active{transform:translateY(1px);box-shadow:none}
.workspace button.secondary{background:#fff;border:1px solid #cad3e1;color:#344259;box-shadow:0 1px 2px #18233308}
.workspace button.secondary:hover:not(:disabled){background:#f0f3f8;border-color:#99a7bc;box-shadow:0 2px 5px #1823330d}
.workspace button.textbutton{min-width:0;min-height:44px;padding:10px 12px;background:transparent;color:var(--accent);box-shadow:none;border:1px solid transparent;text-decoration:underline;text-underline-offset:4px;font-size:13px}
.workspace button.textbutton:hover:not(:disabled){background:var(--soft);text-decoration:none}
.workspace button:disabled{opacity:1;background:#e8ecf2;color:#738095;border-color:#e0e5ed;box-shadow:none;transform:none;cursor:not-allowed}
.workspace button:disabled::after{opacity:.5}
.workspace .download{background:var(--ink);color:#fff;border:1px solid transparent;margin-top:18px;box-shadow:0 2px 3px #18233312}
.workspace .download:hover{background:#2d3f57;filter:none;box-shadow:0 4px 10px #1823331a}
.workspace .download::after{content:"↓";font-size:21px;line-height:1}
.workspace :is(button,a,input,select,textarea):focus-visible,.filter:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.workspace input[type=file]::file-selector-button{min-height:44px;padding:11px 15px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:10px;font:inherit;font-size:13px;font-weight:700}
.workspace input[type=file]::file-selector-button:hover{background:color-mix(in srgb,var(--soft) 85%,var(--accent))}
.filter{min-height:44px;padding:10px 18px;transition:background .15s,border-color .15s,box-shadow .15s;filter:none}
.filter:hover{filter:none;border-color:#aab6c8}.filter.selected{box-shadow:0 2px 4px #18233318}
.actions{gap:10px}.actions button{flex:0 1 auto}.workspace .inputrow{align-items:stretch}.workspace .inputrow button{flex-shrink:0}
@media(max-width:600px){.workspace button[data-primary],.workspace .download{width:100%;justify-content:space-between}.workspace button[data-primary]{padding:15px 18px;min-height:50px}.actions{display:grid;grid-template-columns:1fr 1fr}.actions button{width:100%;padding:12px;min-height:48px}.workspace .actions button[data-primary]{grid-column:1/-1}.filter{min-height:44px;padding:10px 13px}.workspace .inputrow button{margin:0}.workspace button.textbutton{width:auto;justify-content:center}.workspace .options button.secondary{min-height:48px}}
@media(prefers-reduced-motion:reduce){.workspace button,.workspace button::after,.workspace .download,.filter{transition:none}.workspace button:hover::after{transform:none}}
/* Form surfaces and field hierarchy. */
.workspace form:not(#passwordform){padding:24px;background:#f5f7fb;border:1px solid #e0e6ef;border-radius:17px}
.workspace label{font-size:14px;font-weight:750;line-height:1.4;color:#26354b}
.workspace input:not([type=file]):not([type=range]):not([type=checkbox]),.workspace select,.workspace textarea{background:#fff;border:1.5px solid #aab7c9;border-radius:10px;min-height:52px;padding:14px 15px;color:#182333;font-size:16px;line-height:1.35;box-shadow:0 1px 2px #18233305}
.workspace input::placeholder,.workspace textarea::placeholder{color:#75839a;opacity:1}
.workspace input:not([type=file]):not([type=range]):not([type=checkbox]):hover,.workspace select:hover,.workspace textarea:hover{border-color:#71829a}
.workspace input:not([type=file]):not([type=range]):not([type=checkbox]):focus,.workspace select:focus,.workspace textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--soft);outline:none}
.workspace select{appearance:none;padding-right:45px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%23445268' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:22px;background-position:right 13px center;background-repeat:no-repeat;cursor:pointer}
.workspace input[type=checkbox]{width:19px;height:19px;flex-shrink:0;cursor:pointer}.workspace .checklabel{min-height:44px}
.workspace input[type=range]{min-height:32px;cursor:pointer}
.workspace textarea{line-height:1.65;min-height:150px}
.workspace input:disabled,.workspace select:disabled{background-color:#e9edf3;color:#67758b;cursor:not-allowed}
.workspace input:read-only{background-color:#f8faff}
#percentform,#convertform,#resizeform,#increaseform,#financeform,#networkform,#tripform{gap:10px}
.workspace form>label:not(:first-child){margin-top:10px}
.workspace form>.privacy{font-size:12px;line-height:1.6;margin:0 0 7px;color:#59697e}
.workspace form>button[data-primary]{margin-top:10px;min-height:52px;font-size:15px}
.workspace .inputrow button[data-primary]{min-height:52px}
.workspace .options>div>label{margin-bottom:8px}
.workspace .options select{font-size:16px}
@media(max-width:600px){.workspace form:not(#passwordform){padding:18px 15px;border-radius:13px}.workspace label{font-size:13px}.workspace .inputrow{gap:12px}.workspace form>button[data-primary]{margin-top:12px}.workspace .options{gap:12px}}

.workspace form>[role=status]:empty{margin:0;min-height:0}.workspace form>[role=status]{font-size:13px;line-height:1.6;margin:7px 0 0}
@media(max-width:700px){.workspace:has(>.increaseresult:not([hidden])) .increaseexample{display:none}}

.ipmap-panel{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.ipmap-panel h3{margin-bottom:6px}#ipmap{height:360px;border-radius:16px;border:1px solid var(--line);overflow:hidden;background:#e9f0ef;isolation:isolate}#ipmap .leaflet-control-zoom a{color:#182333;background:#fff;text-decoration:none}#ipmap .leaflet-control-attribution{font-size:10px;background:#fffffff0;color:#344259}#ipmap .leaflet-control-attribution a{color:#245d72}.map-source{display:inline-block;font-size:12px;margin-top:7px;text-underline-offset:3px}@media(max-width:600px){#ipmap{height:300px}.ipmap-panel h3{font-size:20px}}

/* Clear summaries for everyday calculations, with comfortable mobile inputs. */
.quickresult{margin-top:24px;padding:24px;border:1px solid #ccd6e1;border-radius:18px;background:#f5f8fb;color:#192636}.quickresult>p{margin:14px 0 0;line-height:1.65}.quickresult>p:first-child{margin-top:0}.quickstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.quickstats>div{padding:20px;background:white;border:1px solid #dae2e9;border-radius:13px}.quickstats strong{display:block;font-size:clamp(24px,3vw,34px);letter-spacing:-1px;overflow-wrap:anywhere}.quickstats span{display:block;margin-top:8px;font-size:13px;font-weight:650;color:#526175}.workspace input[type=date]{color-scheme:light;min-width:0;max-width:100%}@media(max-width:600px){.quickresult{padding:16px}.quickstats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quickstats>div{padding:14px}.quickstats strong{font-size:25px}}
