/* Generated by scripts/build-legacy-css.mjs. Edit the source stylesheets. */
/* assets/global.css */
:root{--paper:#f7f7f0;--ink:#253e35;--muted:#617068;--line:#d7ded3;--green:#234c41;--lime:#d9ed9c;--white:#fff;--radius:18px;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #407770;outline-offset:5px}button:disabled{cursor:default}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.04em}h1{font-size:clamp(42px,5.6vw,76px);font-weight:600}h2{font-size:clamp(28px,3vw,40px);font-weight:550}h3{font-size:21px;font-weight:620}p{color:var(--muted)}[hidden]{display:none!important}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.topbar,.footer,main{width:min(1240px,calc(100% - 80px));margin:auto}.topbar{min-height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:22px;font-weight:750;letter-spacing:-1px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--paper);background:var(--green);font-family:Georgia,serif;font-size:32px;line-height:1;padding-bottom:5px}.brand-dot{color:#6a8152;margin-left:1px}.topbar nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.language{border:1px solid var(--line);border-radius:25px;padding:8px 16px}.topbar a:hover,.text-link:hover,.footer a:hover{text-decoration:underline;text-underline-offset:4px}.hero{padding:72px 0 64px;display:grid;grid-template-columns:1.14fr 1fr;gap:64px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:750;color:var(--green);margin-bottom:24px;display:flex;align-items:center;gap:10px}.tiny-dot{width:7px;height:7px;background:#6e8753;border-radius:50%;display:inline-block}.hero h1{margin-bottom:26px;line-height:1.06}.hero h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#65815c}.lede{font-size:17px;max-width:510px;line-height:1.7;margin-bottom:30px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--green);color:white;border-radius:9px;padding:15px 22px;font-size:14px;font-weight:600}.primary:hover{background:#346352}.hero-details{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:27px;color:var(--muted);font-size:11px}.hero-details span+span:before{content:'·';margin-right:18px}.hero-art{position:relative;min-height:490px;background:#e6eadc;border-radius:150px 150px 18px 18px;display:block;overflow:hidden;color:var(--green)}.art-top,.art-bottom{position:absolute;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em;font-weight:700;z-index:3}.art-top{top:34px;left:48px;right:48px}.art-bottom{bottom:24px;letter-spacing:0;font-size:12px}.paper{position:absolute;width:58%;height:66%;top:16%;left:20%;background:#fffef8;padding:14px 14px 48px;box-shadow:0 15px 24px #384d3b1a}.paper-back{transform:rotate(-13deg);background:#d1dabc;left:25%;top:17%;box-shadow:none}.paper-front{transform:rotate(7deg);transition:transform .3s}.hero-art:hover .paper-front{transform:rotate(3deg)}.landscape{height:100%;overflow:hidden;background:#c7d6d4;position:relative}.sun{width:65px;height:65px;border-radius:50%;background:#f3df9e;position:absolute;top:27px;right:35px}.hill{position:absolute;width:170%;height:65%;border-radius:50% 50% 0 0}.hill-back{background:#8f9e69;bottom:-3%;left:-50%;transform:rotate(25deg)}.hill-front{background:#3f6759;bottom:-26%;left:-5%;transform:rotate(-22deg)}.paper-caption{font-family:Georgia,serif;font-style:italic;font-size:15px;text-align:center;position:absolute;bottom:13px;left:0;right:0}.art-sticker{position:absolute;bottom:96px;left:15px;transform:rotate(-9deg);background:var(--lime);width:92px;height:92px;border-radius:50%;display:grid;place-content:center;line-height:1.2;text-align:center;font-size:12px;letter-spacing:.08em;font-weight:750}.section{padding:58px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{margin-bottom:0}.text-link{white-space:nowrap;font-size:13px;font-weight:600}.featured-grid,.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tool-card{border:1px solid var(--line);background:#fffefa;border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;transition:transform .18s,border-color .18s,box-shadow .18s;min-width:0}.tool-card:hover{transform:translateY(-4px);border-color:#8fa88a;box-shadow:0 12px 20px #223d3210}.card-top{display:flex;align-items:center;gap:12px;margin-bottom:26px}.tool-symbol{width:42px;height:42px;display:grid;place-items:center;background:#e6edda;border-radius:12px;font-size:25px;flex-shrink:0}.symbol-ai-tools{background:#eee1d6;color:#866442}.symbol-develop{background:#dce9ed;color:#416673}.symbol-util{background:#ede9d2;color:#7c7134}.symbol-fun{background:#e7e2f0;color:#73608b}.symbol-tests{background:#f2e2dd;color:#916453}.category-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.card-arrow{margin-left:auto;color:#607b64}.tool-card h3{margin-bottom:13px}.tool-card p{font-size:13px;line-height:1.7;margin-bottom:24px}.open-label{font-size:12px;font-weight:650;display:flex;justify-content:space-between;margin-top:auto}.featured-grid .tool-card:first-child{background:#eaf0de}.catalog{scroll-margin-top:25px}.count{font-size:12px;white-space:nowrap;margin-bottom:3px}.search{margin-bottom:24px}.search label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.search-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:white;padding:7px 8px 7px 20px;gap:14px}.search-field>span{font-size:28px;color:#789080;line-height:1}.search-field input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);padding:10px 0;font-size:15px;outline-offset:0}.search-field button,.empty button{flex-shrink:0;border:0;border-radius:7px;padding:11px 20px;background:var(--green);color:white;font-size:13px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.filters button{border:1px solid var(--line);color:var(--muted);background:transparent;border-radius:22px;font-size:12px;padding:8px 15px}.filters button.active{background:var(--green);border-color:var(--green);color:white}.filters button:hover{border-color:var(--green)}.empty{padding:50px;text-align:center;background:white;border:1px dashed var(--line);border-radius:18px}.journey{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.journey>div>p:last-child{max-width:390px;font-size:15px}.journey ol{list-style:none;margin:0;padding:0}.journey li+li{border-top:1px solid var(--line)}.journey li a{display:flex;align-items:center;gap:24px;padding:22px 8px}.journey li a:hover{background:#eef1e5}.journey li a>span{font-size:12px;color:#7d8d69}.journey li a>div{flex:1}.journey h3{font-size:20px;margin-bottom:6px}.journey li p{font-size:13px;margin:0}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.category-grid a{border:1px solid var(--line);padding:24px;border-radius:12px;position:relative}.category-grid a:hover{background:#e9eeda}.category-grid a>span{font-size:26px}.category-grid h3{font-size:19px;margin:15px 0 10px}.category-grid p{font-size:13px;margin-bottom:0}.category-grid b{position:absolute;top:28px;right:25px}.footer{padding:38px 0 25px;border-top:1px solid var(--line);display:flex;align-items:start;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer .brand{font-size:20px}.footer p{font-size:12px;margin:14px 0 0}.footer nav{display:flex;gap:25px;font-size:13px;padding-top:10px}.footer .footer-note{width:100%;border-top:1px solid var(--line);padding-top:22px;font-size:11px}.category-hero{padding:50px 0 40px}.breadcrumb{font-size:13px;display:inline-block;margin-bottom:35px}.category-hero h1{font-size:clamp(36px,5vw,64px);display:flex;gap:25px;justify-content:space-between}.category-hero h1>span{font-weight:400;color:#80946c}.category-hero .lede{max-width:700px;margin-bottom:20px}.fine{font-size:13px;max-width:720px}.reading>a{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line)}.reading>a:hover{color:#60834a}.prose{max-width:760px;padding:65px 0 90px}.prose h1{font-size:48px;margin-bottom:45px}.prose h2{font-size:26px;margin-top:36px}.prose p{line-height:1.85}.prose .primary{margin-top:25px}:lang(ko) h1{line-height:1.25;font-size:clamp(40px,4.8vw,65px);word-break:keep-all}:lang(ko) h2,:lang(ko) h3{word-break:keep-all}:lang(ko) .hero h1 em{font-family:var(--sans);font-style:normal;font-weight:500}:lang(ko) .hero-copy .lede{word-break:keep-all}
@media(min-width:1440px){.hero{gap:100px}.hero-art{min-height:520px}}
@media(max-width:1000px){.topbar,main,.footer{width:calc(100% - 48px)}.hero{gap:32px;padding-top:50px}.hero-art{min-height:410px}.hero h1{font-size:52px}.tool-card{padding:20px}.category-label{font-size:9px}.journey{gap:40px}.topbar nav{gap:20px}.art-top{left:30px;right:30px;font-size:8px}.art-bottom{font-size:10px}.art-sticker{width:72px;height:72px;bottom:86px;font-size:10px}}
@media(max-width:740px){.topbar,main,.footer{width:calc(100% - 36px)}.topbar{min-height:82px;gap:12px}.brand{font-size:19px}.brand-mark{width:31px;height:31px;font-size:28px}.brand-dot{display:none}.topbar nav{gap:12px;font-size:12px}.topbar nav>a:first-child,.topbar nav>a:nth-child(2){display:none}.language{padding:7px 12px}.hero{grid-template-columns:1fr;padding:40px 0;gap:34px}.hero h1{font-size:54px;letter-spacing:-.05em}.hero .eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:23px}.hero .lede{font-size:15px;margin-bottom:24px;max-width:500px}.hero-details{font-size:10px;gap:6px 12px;margin-top:22px}.hero-details span+span:before{margin-right:12px}.hero-art{min-height:380px;border-radius:120px 120px 16px 16px;max-width:460px;width:100%;justify-self:center}.paper{width:53%;left:23%;padding:12px 12px 38px}.paper-back{left:27%}.paper-caption{font-size:12px;bottom:10px}.art-top{left:45px;right:45px;font-size:9px}.art-sticker{left:34px;bottom:74px;width:75px;height:75px}.art-bottom{font-size:10px}.section{padding:36px 0}.section-heading{align-items:start;gap:18px;margin-bottom:22px}.section-heading h2{font-size:29px}.section-heading .text-link{font-size:11px;margin-top:29px}.eyebrow{font-size:10px;margin-bottom:18px}.featured-grid,.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.featured-grid .tool-card:first-child{grid-column:1/-1}.tool-card{padding:20px}.featured-grid .tool-card:first-child .card-top{margin-bottom:18px}.card-top{flex-wrap:wrap;gap:8px;margin-bottom:18px}.card-top .category-label{order:3;width:100%;font-size:9px}.tool-symbol{width:35px;height:35px;font-size:22px}.tool-card h3{font-size:19px}.tool-card p{font-size:12px;line-height:1.6}.tool-card .open-label{font-size:11px}.count{font-size:10px;padding-top:28px;white-space:normal;text-align:right;min-width:55px}.filters{gap:7px}.filters button{font-size:11px;padding:7px 12px}.search-field{gap:8px;padding-left:12px}.search-field input{font-size:13px}.search-field button{font-size:11px;padding:12px}.search-field button span{display:none}.search-field>span{font-size:24px}.journey{grid-template-columns:1fr;gap:10px}.journey h2{font-size:32px}.journey li a{padding:20px 3px}.category-grid{grid-template-columns:repeat(2,1fr);gap:12px}.category-grid a{padding:18px}.category-grid h3{font-size:18px}.category-grid p{font-size:12px}.category-grid b{top:20px;right:16px}.footer{padding-top:30px;gap:25px}.footer nav{gap:23px;padding:0}.prose{padding:42px 0 65px}.prose h1{font-size:38px}.category-hero{padding:30px 0 22px}.category-hero h1{font-size:40px}.category-hero h1>span{display:none}.breadcrumb{margin-bottom:26px}.empty{padding:28px 18px}:lang(ko) .hero h1{font-size:44px}:lang(ko) .hero-details{letter-spacing:-.02em}}
@media(max-width:370px){.hero h1{font-size:47px}.tool-card{padding:15px}.tool-card h3{font-size:17px}.search-field button{padding:12px 8px}.hero-art{min-height:345px}.category-grid a{padding:15px}.hero-details{gap:6px 8px}.hero-details span+span:before{margin-right:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* assets/apps/tools.css */
.tool-intro{padding:42px 0 24px}.tool-intro .eyebrow{margin-bottom:12px}.tool-intro h1{font-size:clamp(34px,4vw,54px);margin:0 0 18px}.tool-intro .lede{max-width:760px;margin:0}.workbench{background:#fffefa;border:1px solid var(--line);border-radius:20px;padding:28px;margin:12px 0 36px}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.toolbar label,.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.toolbar input,.toolbar select,.field input,.field select{border:1px solid #bccbbf;border-radius:8px;padding:10px 12px;background:white;color:var(--ink);min-height:44px;max-width:100%;font:inherit}.toolbar button,.tool-button{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:8px;padding:11px 18px;min-height:44px;font:inherit;font-size:14px;cursor:pointer}.toolbar .secondary,.tool-button.secondary{background:white;color:var(--green);border-color:#bdcbbf}.toolbar button:disabled,.tool-button:disabled{opacity:.45;cursor:default}.status{font-size:14px;min-height:24px;margin:16px 0;color:var(--green)}.error{color:#9f352c}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:36px 0 52px}.help-grid h2{font-size:24px}.help-grid p,.help-grid li{font-size:14px;line-height:1.8;color:var(--muted)}.help-grid a{text-decoration:underline}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0}.metric{border-radius:14px;background:#edf2e3;padding:22px 18px}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-variant-numeric:tabular-nums;font-size:40px;letter-spacing:-.05em;line-height:1.4}.metric small{font-size:12px}.progress-track{height:8px;background:#e6eadf;border-radius:5px;overflow:hidden;margin:16px 0}.progress-track>span{display:block;height:100%;width:0;background:#698b50;transition:width .2s}.results-table{width:100%;border-collapse:collapse;font-size:13px}.results-table td,.results-table th{text-align:left;border-bottom:1px solid var(--line);padding:11px 8px}.table-scroll{overflow:auto}.clock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.clock-card{background:#22483d;color:#fff;border-radius:16px;padding:24px;position:relative}.clock-card h2{font-size:22px;margin:12px 0 4px;letter-spacing:-.02em}.clock-card .country{font-size:12px;color:#d5e1d4}.clock-card time{display:block;font-size:clamp(30px,3vw,43px);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.035em;white-space:nowrap;margin:14px 0 8px}.clock-card .clock-date,.clock-card .zone-offset{font-size:12px;color:#d5e1d4}.clock-card .zone-offset{margin-top:12px}.clock-remove{position:absolute;right:12px;top:12px;border:1px solid #658273;border-radius:50%;width:32px;height:32px;color:#fff;background:transparent;font-size:18px;cursor:pointer}.clock-card.local{background:#dcebb4;color:#234334}.clock-card.local .country,.clock-card.local .clock-date,.clock-card.local .zone-offset{color:#465c3d}.clock-card.local .clock-remove{color:#234334}.clock-add{flex:1;min-width:220px}.clock-add select{width:100%}.editor-shell{height:76vh;min-height:600px;background:#232323;border-radius:14px;overflow:hidden;position:relative;margin:20px 0}.editor-shell iframe{width:100%;height:100%;border:0;background:#232323}.editor-shell:fullscreen{height:100vh;border-radius:0}.editor-placeholder{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:25px;color:#fff}.editor-placeholder p{color:#ccd7ce;max-width:460px}.editor-placeholder strong{font-size:36px;font-weight:500;letter-spacing:-.04em}.editor-toolbar{justify-content:space-between}.editor-toolbar a{font-size:13px;text-decoration:underline}.board-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr);gap:28px;align-items:start}.board-frame{background:#dabb84;border:10px solid #bc9a61;border-radius:12px;padding:14px;aspect-ratio:1;max-width:620px}.gomoku-board{display:grid;grid-template-columns:repeat(15,1fr);width:100%;height:100%;gap:0;position:relative}.intersection{padding:0;border:0;border-radius:0;background:linear-gradient(#76572e,#76572e) center/1px 100% no-repeat,linear-gradient(#76572e,#76572e) center/100% 1px no-repeat;position:relative;min-width:0;min-height:0;aspect-ratio:1;cursor:pointer;touch-action:manipulation}.intersection:before{content:'';position:absolute;inset:8%;border-radius:50%}.intersection.black:before{background:radial-gradient(circle at 30% 25%,#555,#151515 65%);box-shadow:1px 2px 2px #0005}.intersection.white:before{background:radial-gradient(circle at 30% 25%,#fff,#deded9 75%);box-shadow:1px 2px 2px #0005}.intersection.last:after{content:'';position:absolute;inset:37%;border-radius:50%;background:#d67630}.intersection.win:before{outline:3px solid #386943}.intersection:focus-visible{outline:3px solid #47755b;outline-offset:0;z-index:2}.board-side .field{margin-bottom:18px}.board-status{background:#edf2e3;padding:22px;border-radius:12px;margin:18px 0}.board-status strong{font-size:23px}.board-status p{font-size:13px;margin:8px 0 0}.board-actions{display:flex;gap:10px;flex-wrap:wrap}.game-rule{font-size:13px;margin:18px 0}.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.55fr);gap:25px}.calc-display{width:100%;padding:18px!important;font-family:ui-monospace,monospace!important;font-size:24px!important}.calc-result{padding:15px 0;font-size:35px;min-height:72px;word-break:break-all;font-variant-numeric:tabular-nums}.keypad{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.keypad button{min-width:0;border:1px solid #d2dbc8;border-radius:8px;background:#edf2e3;color:var(--ink);padding:14px 4px;font:inherit;font-size:16px;cursor:pointer}.keypad button.equals{background:var(--green);color:white}.calc-history{padding:0;list-style:none;max-height:440px;overflow:auto}.calc-history button{width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:14px 0;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}.calc-history span{display:block;color:var(--muted);font-size:13px}.small-note{font-size:12px;color:var(--muted);line-height:1.7}
@media(max-width:850px){.metrics{grid-template-columns:1fr 1fr}.clock-grid{grid-template-columns:1fr 1fr}.board-layout,.calculator-layout{grid-template-columns:1fr}.board-side{max-width:620px}.calculator-layout aside{border-top:1px solid var(--line);padding-top:22px}.clock-card time{font-size:33px}.board-frame{padding:8px;border-width:7px}.workbench{padding:20px}.editor-shell{min-height:580px}.help-grid{gap:22px}}
@media(max-width:520px){.tool-intro{padding:30px 0 20px}.tool-intro h1{font-size:35px}.tool-intro .lede{font-size:15px}.workbench{padding:16px}.clock-grid{grid-template-columns:1fr}.clock-card time{font-size:44px}.help-grid{grid-template-columns:1fr;gap:10px}.metric{padding:18px 13px}.metric strong{font-size:34px}.toolbar{gap:10px}.toolbar label{max-width:100%}.clock-add{min-width:100%}.board-frame{padding:5px;border-width:5px}.board-layout{gap:16px}.keypad button{padding:13px 0;font-size:14px}.editor-shell{min-height:560px}.tool-intro:lang(ko) h1{font-size:34px}}

/* Keep long time-zone names and second-level clocks inside narrow phone cards. */
@media(max-width:480px){.clock-grid{grid-template-columns:minmax(0,1fr)}.clock-card{min-width:0;padding:18px}.clock-card time{font-size:26px}.clock-card .zone-offset{overflow-wrap:anywhere}}
/* assets/legacy-tools.css */
/* Compatibility layer for the original tools. Keep their controls and state classes intact. */
body.fwt-legacy {
  --primary-color:var(--green); --secondary-color:#e7eddd; --accent-color:#537768;
  --text-dark:var(--ink); --text-light:#fff; --bg-light:var(--paper);
  --bg-gradient-start:var(--paper); --bg-gradient-end:var(--paper);
  display:block; min-height:100vh; padding:0; margin:0;
  background:var(--paper); color:var(--ink); font:16px/1.6 var(--sans);
}
.fwt-legacy > .topbar,.fwt-legacy > main,.fwt-legacy > .footer {max-width:1240px;padding-left:0;padding-right:0}
.fwt-legacy > .topbar {height:auto;background:transparent;position:static;box-shadow:none}
.fwt-legacy .topbar a,.fwt-legacy .footer a {color:var(--ink)}
.fwt-legacy .topbar .brand,.fwt-legacy .footer .brand {font-family:var(--sans);text-shadow:none}
.fwt-legacy .tool-intro h1 {font:600 clamp(34px,4vw,54px)/1.15 var(--sans);letter-spacing:-.04em;color:var(--ink);text-shadow:none;margin:0 0 18px}
.fwt-legacy:lang(ko) .tool-intro h1 {line-height:1.25;word-break:keep-all}
.fwt-legacy .tool-intro .lede {color:var(--muted);font-size:17px;font-weight:400;max-width:760px;margin:0}
.fwt-legacy .tool-intro .eyebrow {color:var(--green)}
.fwt-legacy .legacy-workspace {min-width:0}
.fwt-legacy .legacy-root {
  width:100%;max-width:none;min-height:0!important;height:auto!important;
  padding:0!important;margin:0!important;justify-content:flex-start!important;
}
.fwt-legacy .legacy-panel {
  background:transparent;border:0;border-radius:0;box-shadow:none!important;
  margin-top:0!important;margin-bottom:0!important; padding:0!important;max-width:100%;
}
.fwt-legacy .legacy-root > .legacy-panel {margin-left:auto;margin-right:auto}
.fwt-legacy .legacy-root > .calculator-container {max-width:400px}
.fwt-legacy .legacy-root > :is(.age-container,.bmi-container,.currency-container,.dday-container,.converter-container) {max-width:840px}
.fwt-legacy .legacy-root > #start-screen,.fwt-legacy .legacy-root > #result-screen {max-width:800px}
.fwt-legacy .legacy-workspace :is(h2,h3,h4,h5,h6) {font-family:var(--sans);letter-spacing:-.025em;color:var(--ink);text-shadow:none}
.fwt-legacy .legacy-workspace h2 {font-size:26px;line-height:1.3}
.fwt-legacy .legacy-workspace h3 {font-size:21px;line-height:1.35}
.fwt-legacy .legacy-workspace .subtitle {font-size:17px;color:var(--muted);margin-bottom:24px}
.fwt-legacy .legacy-workspace :is(.card,.card-body,.card-header) {border-color:var(--line)}
.fwt-legacy .legacy-workspace .card {box-shadow:none!important;border-radius:14px}
.fwt-legacy .legacy-workspace .card-header {background:#edf2e5;color:var(--ink)}
.fwt-legacy .legacy-workspace .card-header.text-white {color:var(--ink)!important}
.fwt-legacy :is(.form-control,.form-select) {
  font-family:var(--sans);color:var(--ink);background-color:white;
  border:1px solid #bccbbf;border-radius:8px;min-height:44px;max-width:100%;
}
.fwt-legacy :is(.form-control,.form-select):focus {border-color:var(--green);box-shadow:0 0 0 3px #234c411c}
.fwt-legacy :is(input[type=checkbox],input[type=radio],input[type=range]) {accent-color:var(--green)}
.fwt-legacy :is(.btn,.btn-generate,.btn-copy,.btn-start,.btn-reset,.btn-calculate,.btn-convert,.btn-download,.btn-encode,.btn-decode,.btn-format) {
  font-family:var(--sans);border-radius:8px;box-shadow:none;min-height:44px;
}
.fwt-legacy :is(.btn-primary,.btn-info,.btn-generate,.btn-start,.btn-calculate,.btn-convert,.btn-download,.btn-encode,.btn-decode,.btn-format) {background:var(--green);border-color:var(--green);color:white}
.fwt-legacy :is(.btn-primary,.btn-info,.btn-generate,.btn-start,.btn-calculate,.btn-convert,.btn-download,.btn-encode,.btn-decode,.btn-format):hover {background:#346352;border-color:#346352;color:white}
.fwt-legacy :is(.btn-outline-primary,.btn-outline-secondary,.btn-copy,.btn-reset) {background:transparent;color:var(--green);border:1px solid #aebfae}
.fwt-legacy :is(.btn-outline-primary,.btn-outline-secondary).active,.fwt-legacy :is(.btn-outline-primary,.btn-outline-secondary):hover {color:white;background:var(--green);border-color:var(--green)}
.fwt-legacy .btn-secondary {background:#e7eddd;border-color:#c7d4c1;color:var(--green)}
.fwt-legacy .btn-light {background:#f0f3e9;color:var(--ink);border-color:var(--line)}
.fwt-legacy .btn:hover {transform:none}
.fwt-legacy .text-primary {color:var(--green)!important}
.fwt-legacy .progress-bar {background-color:var(--green)}
.fwt-legacy .legacy-workspace :is(.file-upload-container,.upload-container) {border-color:#a6b89a;box-shadow:none;background:#f3f6ec}
.fwt-legacy .legacy-workspace .file-upload-container {margin-top:20px!important}
.fwt-legacy .legacy-workspace :is(.content-container,.contact-form,.contact-info) {max-width:100%;box-shadow:none}
.fwt-legacy .contact-form,.fwt-legacy .contact-info {background:#f1f4e9;border:1px solid var(--line);border-radius:12px}
.fwt-legacy .language-switch {display:flex;gap:8px;align-items:center}
.fwt-legacy .language-switch .language {font-size:12px;min-height:0;margin:0}
.fwt-legacy .language-switch .btn-primary {background:var(--green);color:#fff}
.fwt-legacy.fwt-info > main {max-width:900px}
.fwt-legacy .redirect-container {width:100%;max-width:600px;margin:auto;padding:24px 0;background:transparent;border:0;box-shadow:none}
.fwt-legacy .spinner {border-top-color:var(--green)}
.fwt-legacy .related-tools .tool-card {color:var(--ink)}
.fwt-legacy .related-tools h2 {color:var(--ink)}
.fwt-legacy .footer {background:transparent;text-align:left;margin-top:0}
.fwt-legacy .footer nav {margin:0}
/* The print studio keeps its own canvas, controls and article layout. */
.fwt-print .topbar nav {margin:0}
.fwt-print .topbar .language {font-size:inherit}
.fwt-print .studio {border-color:var(--line);box-shadow:none;border-radius:20px}
.fwt-print .studio h2 {font-size:20px}
.fwt-print .studio h2#verdict {font-size:22px}
.fwt-print main.prose {max-width:760px}
.fwt-print .footer p {max-width:none}
@media(max-width:740px) {
  .fwt-legacy .tool-intro {padding:30px 0 22px}
  .fwt-legacy .tool-intro h1 {font-size:34px;overflow-wrap:anywhere}
  .fwt-legacy .tool-intro .lede {font-size:15px}
  .fwt-legacy .workbench {padding:18px;margin-top:8px;border-radius:16px}
  .fwt-legacy .legacy-workspace .card-body {padding:16px}
  .fwt-legacy .legacy-workspace .legacy-panel {width:100%}
  .fwt-legacy .legacy-workspace h2 {font-size:23px}
  .fwt-legacy .legacy-workspace h3 {font-size:19px}
  .fwt-legacy .contact-form,.fwt-legacy .contact-info {padding:18px}
  .fwt-legacy .contact-method {padding:12px;overflow-wrap:anywhere}
  .fwt-legacy .topbar .language-switch {gap:5px}
  .fwt-legacy .topbar .language-switch .language {padding:7px 8px;font-size:11px}
  .fwt-legacy .footer nav {flex-wrap:wrap}
}
/* Prevent original full-height/card spacing from squeezing narrow screens. */
.fwt-legacy .legacy-root > .row {width:100%;margin-left:0;margin-right:0}
.fwt-legacy .legacy-workspace .row > * {min-width:0}
.fwt-legacy .legacy-workspace .card {padding:0}
.fwt-legacy .legacy-workspace .card:hover {transform:none}
.fwt-legacy .legacy-workspace .btn {font-size:14px;letter-spacing:0;padding:10px 16px}
.fwt-legacy .legacy-workspace .calc-btn {font-size:24px;padding:8px}
.fwt-legacy .input-group {min-width:0}
.fwt-legacy .input-group > .form-control {min-width:0}
.fwt-legacy .piano {max-width:100%;overflow-x:auto;justify-content:flex-start}
.fwt-legacy .piano-keys {flex-shrink:0;margin-left:auto;margin-right:auto}
.fwt-legacy .ascii-preview .loading {max-width:100%}
@media(max-width:740px) {
  .fwt-legacy .legacy-root > .row > * {padding-left:0;padding-right:0}
  .fwt-legacy #question-counter {font-size:12px;align-self:center;text-align:center;padding:0 8px}
  .fwt-legacy .legacy-workspace .calc-btn {font-size:21px}
}
.fwt-print .footer > div {display:block;width:auto}
.fwt-print .section {margin-top:0}
.fwt-legacy .json-editor > .d-flex {flex-wrap:wrap;gap:12px}
.fwt-legacy .json-tools {margin-bottom:0}
.fwt-legacy :is(.btn-outline-info) {color:var(--green);border-color:#aebfae}
.fwt-legacy .btn-outline-info:hover {background:var(--green);color:white}
.fwt-legacy .btn-group-toggle {display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.fwt-legacy .btn-group-toggle .btn {margin:0}
.fwt-legacy :is(#inputJson,#outputJson,#inputText,#outputText) {font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:740px) {
  .fwt-legacy .json-editor {padding:16px}
  .fwt-legacy .json-stats {gap:6px}
  .fwt-legacy .json-stats .stat-item {padding:8px 4px;min-width:0}
  .fwt-legacy .json-stats .stat-label {font-size:10px}
  .fwt-legacy .json-tools {gap:6px}
  .fwt-legacy .json-tools .btn {font-size:12px;padding:8px}
  .fwt-legacy #question-container {padding:20px!important}
  .fwt-legacy #answer-buttons {width:100%}
}
.fwt-legacy .button-preview {background:#edf2e5}
.fwt-legacy :is(.control-group,.json-editor) {background:#f1f4ec;border-radius:12px}
.fwt-legacy .legacy-workspace :is(.btn,.form-control,.form-select):focus-visible {outline:3px solid #407770;outline-offset:3px}
.fwt-legacy :is(h1,h2,h3,h4,h5,h6) {font-family:var(--sans);text-shadow:none}
.fwt-legacy .legacy-root {display:block!important}
.fwt-legacy .color-input-group input[type=text] {min-width:0;width:100%}
.fwt-legacy .color-input-group input[type=color],.fwt-legacy .color-input-group .remove-color {flex-shrink:0}
.fwt-legacy .color-input-group .remove-color {padding:8px 12px}
@media(max-width:740px) {
  .fwt-legacy .control-group {padding:16px}
  .fwt-legacy #channelInput {flex-basis:100%;margin-bottom:8px;border-radius:8px}
  .fwt-legacy #analyzeBtn {width:100%;margin-left:0;border-radius:8px;white-space:normal}
}
