@import url('https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Inter:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');

:root{color-scheme:light;--bg:#f7f9fc;--surface:#fff;--ink:#111827;--muted:#657186;--line:#dbe3ed;--blue:#246bfd;--navy:#21364e;--shadow:0 16px 40px rgba(37,55,80,.08);font-family:Inter,"Noto Sans KR",sans-serif;scroll-behavior:smooth}
*{box-sizing:border-box}html{scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.6;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:-80px;left:1rem;padding:.75rem 1rem;background:#111827;color:#fff;border-radius:.5rem}.skip-link:focus{top:1rem}.site-header{height:78px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:relative;z-index:100}.nav-wrap{height:100%;max-width:1440px;margin:auto;padding:0 3.3rem;display:flex;align-items:center;gap:2.4rem}.brand{display:flex;align-items:baseline;white-space:nowrap;margin-right:auto}.brand strong{font-size:2rem;letter-spacing:-.08em;line-height:1}.brand>span{color:#7f8ca0;font-size:.78rem;margin-left:.15rem}.brand small{font-size:.68rem;color:#7f8ca0;font-weight:400;margin-left:.85rem}.main-nav{display:flex;align-self:stretch;gap:2rem}.main-nav a{font-size:.9rem;display:flex;align-items:center;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .2s}.main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}.main-nav a.active{color:var(--blue)}.nav-actions{display:flex;align-items:center;gap:1rem;margin-left:1rem}.icon-button,.theme-button,.menu-button{border:0;background:none;color:inherit}.icon-button{width:40px;height:40px;display:grid;place-items:center}.icon-button svg{width:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.theme-button{display:flex;align-items:center;gap:.55rem;border:1px solid var(--line);padding:.55rem .85rem;border-radius:999px;background:var(--surface)}.theme-button b{font-size:.75rem;font-weight:600}.menu-button{display:none;width:42px;padding:8px}.menu-button>span{display:block;height:2px;background:currentColor;margin:6px 0}
.hero{height:min(540px,calc(100vh - 78px));min-height:440px;position:relative;overflow:hidden;color:#fff}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('../images/hero-lake.png') center 52%/cover no-repeat;transform:scale(1.01)}.hero-shade{background:linear-gradient(90deg,rgba(2,14,25,.82) 0%,rgba(5,21,34,.63) 39%,rgba(12,27,43,.05) 72%),linear-gradient(0deg,rgba(0,8,16,.25),transparent 42%)}.hero-content{position:relative;z-index:1;max-width:1440px;margin:auto;padding:3.2rem 3.8rem}.hero-kicker{font-size:.92rem;margin:0 0 .5rem}.hero h1{font-size:clamp(3.6rem,6.5vw,6.2rem);line-height:1;letter-spacing:-.065em;margin:0;text-shadow:0 3px 18px rgba(0,0,0,.18)}.hero h1 span{font-size:.47em;color:#c9dcf1;letter-spacing:-.035em;margin-left:.22rem}.hero-en{font-size:1.35rem;letter-spacing:.025em;margin:.4rem 0 1.1rem}.hero-copy{font-size:1.15rem;font-weight:500;line-height:1.8;margin:0}.hero-line{display:block;width:42px;height:1px;background:rgba(255,255,255,.85);margin:1.25rem 0}.hero-note{font-size:1rem;margin:0;line-height:1.8}.hero-script{position:absolute;z-index:2;right:8.5%;top:10%;font:1.45rem/1.7 "Gowun Dodum",cursive;transform:rotate(-4deg);color:#172337;text-align:center}.scroll-cue{position:absolute;z-index:2;bottom:1rem;left:50%;transform:translateX(-50%);font-size:.6rem;letter-spacing:.2em;display:flex;align-items:center;gap:.6rem}.scroll-cue i{display:block;width:22px;height:1px;background:#fff}
.home-content{max-width:1440px;margin:auto;padding:1.4rem 2rem 3rem}.daily-quote{margin:0 0 1.4rem;padding:1.35rem 2.2rem;border:1px solid #e2e8f1;border-radius:14px;background:linear-gradient(90deg,#f0f5fd,#fbfcff);text-align:center;font-size:1.2rem;font-weight:500;position:relative}.daily-quote span{font-size:1.8rem;font-weight:700}.daily-quote cite{font-size:.85rem;font-style:normal;position:absolute;right:2rem;bottom:1rem}.bento-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.card,.mini-card{border:1px solid rgba(208,218,230,.95);border-radius:14px;position:relative;overflow:hidden;box-shadow:0 3px 12px rgba(35,52,75,.03)}.card{padding:1.7rem 1.8rem;min-height:300px;background:var(--surface)}.note-card,.tools-card{grid-column:span 3}.links-card,.archive-card,.projects-card{grid-column:span 2;min-height:265px}.statement-card{grid-column:span 4;min-height:270px}.about-card{grid-column:span 2;min-height:270px}.card-heading{display:flex;align-items:flex-start;gap:.9rem;position:relative;z-index:2}.card-heading h2{font-size:1.35rem;line-height:1.2;margin:0 0 .25rem}.card-heading p{font-size:.78rem;margin:0;color:#343d4b}.card-icon{display:grid;place-items:center;min-width:38px;height:38px;font-size:1.8rem;line-height:1;color:#8fa4ba}.blue{color:#3f83f8}.green{color:#3eaa79}.gold{color:#b98a49}.purple{color:#7657dc}.slate{color:#6b7b8d}.card ul{font-size:.84rem;padding-left:1.1rem;line-height:1.8;margin:1rem 0}.pill-link{position:absolute;left:1.8rem;bottom:1.35rem;border:1px solid var(--blue);color:#1859d8;padding:.46rem 1rem;border-radius:999px;font-size:.78rem;font-weight:600;z-index:3;transition:.2s}.pill-link:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}.pill-link span{margin-left:.25rem}.note-card{background:linear-gradient(110deg,#fff 45%,#e8f0f8)}.note-visual{position:absolute;right:1.4rem;bottom:3.2rem;width:105px;height:105px;background:linear-gradient(150deg,#edf3f8,#c8d1d9);border-radius:52% 48% 42% 58%;display:grid;place-items:center;text-align:center;font-size:.82rem;line-height:1.4;box-shadow:0 12px 25px rgba(69,83,98,.18);transform:rotate(-4deg)}.tools-card{background:linear-gradient(140deg,#354d67,#1d3147);color:#fff}.inverse p{color:#d8e1ea}.tool-list{width:65%;display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1rem 0}.tool-list>span{min-height:73px;background:#f9fbff;color:#162235;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.7rem;font-weight:600}.tool-list b{color:#3979e3;font-size:1.35rem;line-height:1}.tool-list small{font-size:.58rem;font-weight:400}.pill-link.light{border-color:#fff;background:#fff;color:#264b70}.pill-link.light:hover{background:#dfeaf5}.tools-motto{position:absolute;right:1.8rem;top:40%;font:1rem/1.8 "Gowun Dodum",cursive;text-align:center;color:#e0e9f3}.links-card{background:linear-gradient(135deg,#f3fff8,#e5f7ef)}.archive-card{background:linear-gradient(135deg,#fffdf9,#f6eee2)}.projects-card{background:linear-gradient(135deg,#fbfaff,#eeeaff)}.green-link{border-color:#3e9f72;color:#257653}.gold-link{border-color:#b78b50;color:#8d642f}.purple-link{border-color:#7657dc;color:#6040c8}.big-symbol{position:absolute;right:1.4rem;bottom:3.2rem;font-size:3.8rem;opacity:.8}.green-text{color:#3b9d70}.gold-text{color:#b78a4f}.purple-text{color:#7657dc}.statement-card{background:linear-gradient(110deg,rgba(3,15,28,.96),rgba(14,42,70,.84)),url('../images/hero-lake.png') center 18%/cover;color:#fff;display:flex;justify-content:space-between;align-items:center}.statement-card h2{font-size:1.55rem;line-height:1.5;margin:0}.statement-card span{display:block;width:40px;height:1px;background:#fff;margin:1rem 0}.statement-card p{font-size:.9rem}.statement-card>p{line-height:2.1;color:#c8d6e6;letter-spacing:.07em}.about-card{background:linear-gradient(135deg,#fff,#edf5fd)}.about-card>p{font-size:.82rem;line-height:1.8;margin:1.2rem 0 3rem}.mini-grid{display:grid;grid-template-columns:1.15fr .9fr 1fr;gap:1rem;margin-top:1rem}.mini-card{min-height:165px;background:var(--surface);padding:1.1rem 1.3rem}.mini-card h3{font-size:.95rem;margin:0 0 .8rem}.mini-card h3 span{color:#3580f2}.mini-card>a{position:absolute;right:1.3rem;top:1.1rem;font-size:.7rem}.mini-card dl{font-size:.76rem;margin:0}.mini-card dl div{display:flex;gap:1rem;margin:.4rem 0}.mini-card dt{color:#7a8798}.mini-card dd{margin:0}.mini-card>p{background:#f2f7fd;border-radius:9px;padding:1rem;margin:.5rem 0;text-align:center;font-size:.82rem}.mini-card time{position:absolute;right:1.3rem;top:1.2rem;font-size:.68rem;color:#7c8796}.mini-card p strong{font-size:.92rem}
.site-footer{background:linear-gradient(180deg,#f0f4f9,#f8fafc);border-top:1px solid var(--line);padding:1.5rem 3rem 1rem}.footer-main,.footer-bottom{max-width:1376px;margin:auto;display:flex;align-items:center}.footer-main{gap:1rem;padding-bottom:1rem}.footer-brand{font-size:1.65rem;font-weight:800;letter-spacing:-.07em}.footer-brand span{font-size:.65rem;color:#7c8999}.footer-main small{font-size:.65rem;color:#7c8999}.footer-main nav{display:flex;gap:1.2rem;margin:auto;font-size:.75rem}.footer-main em{font:italic .82rem "Gowun Dodum",cursive;color:#69768a}.to-top{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#637287;color:#fff;margin-left:1.2rem}.footer-bottom{border-top:1px solid var(--line);padding-top:.8rem;justify-content:space-between;font-size:.65rem;color:#8490a0}.search-panel[hidden]{display:none}.search-panel{position:fixed;inset:0;z-index:500;display:grid;place-items:start center;padding-top:14vh}.search-backdrop{position:absolute;inset:0;border:0;background:rgba(4,15,27,.65);backdrop-filter:blur(5px)}.search-box{position:relative;width:min(620px,calc(100% - 2rem));padding:1.6rem;background:var(--surface);color:var(--ink);border-radius:16px;box-shadow:var(--shadow)}.search-box label{display:block;font-size:1.25rem;font-weight:700;margin-bottom:1rem}.search-box div{display:flex}.search-box input{width:100%;border:1px solid var(--line);padding:.9rem 1rem;border-radius:9px 0 0 9px;background:var(--bg);color:inherit}.search-box button{border:0;background:var(--blue);color:#fff;padding:0 1.5rem;border-radius:0 9px 9px 0}.search-box p{font-size:.75rem;color:var(--muted);margin:.7rem 0 0}.no-scroll{overflow:hidden}.dark{--bg:#101722;--surface:#172131;--ink:#eef4fb;--muted:#9eacbd;--line:#2b3a4e;color-scheme:dark}.dark .site-header{background:rgba(23,33,49,.95)}.dark .daily-quote{background:linear-gradient(90deg,#19263a,#172131)}.dark .card-heading p,.dark .about-card>p{color:#c2cfdd}.dark .note-card,.dark .about-card{background:linear-gradient(135deg,#172131,#202f43)}.dark .links-card{background:#183129}.dark .archive-card{background:#30281e}.dark .projects-card{background:#29243a}.dark .mini-card>p{background:#202e41}.dark .site-footer{background:#121b28}
@media(max-width:1050px){.nav-wrap{padding:0 1.5rem;gap:1rem}.brand small{display:none}.main-nav{gap:1.1rem}.main-nav a{font-size:.78rem}.theme-button b{display:none}.hero-content{padding-left:2.5rem}.note-card,.tools-card{grid-column:span 6}.links-card,.archive-card,.projects-card{grid-column:span 2}.statement-card{grid-column:span 4}.about-card{grid-column:span 2}}
@media(max-width:760px){html{scroll-padding-top:64px}.site-header{height:64px;position:sticky;top:0}.nav-wrap{padding:0 1rem}.brand strong{font-size:1.7rem}.menu-button{display:block;order:3}.nav-actions{margin-left:0}.theme-button{display:none}.main-nav{display:none;position:absolute;top:64px;left:0;right:0;height:auto;background:var(--surface);padding:.7rem 1rem 1rem;box-shadow:0 15px 20px rgba(20,35,55,.14);align-items:stretch;gap:0}.main-nav.open{display:grid;grid-template-columns:repeat(2,1fr)}.main-nav a{padding:.8rem}.main-nav a:after{display:none}.hero{height:600px;min-height:0}.hero-image{background-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(2,14,25,.87),rgba(5,21,34,.35)),linear-gradient(0deg,rgba(0,8,16,.35),transparent)}.hero-content{padding:4.3rem 1.4rem}.hero-kicker{font-size:.8rem}.hero h1{font-size:3.5rem}.hero-en{font-size:1.05rem}.hero-copy{font-size:1rem}.hero-note{font-size:.88rem}.hero-script{right:6%;top:5%;font-size:1rem}.home-content{padding:1rem}.daily-quote{padding:1.2rem 1rem 2.4rem;font-size:1rem}.daily-quote cite{bottom:.55rem}.bento-grid{display:block}.card{margin-bottom:1rem}.links-card,.archive-card,.projects-card,.statement-card,.about-card{min-height:280px}.tool-list{width:100%}.tools-motto{display:none}.statement-card h2{font-size:1.25rem}.mini-grid{grid-template-columns:1fr}.site-footer{padding:1.5rem 1rem}.footer-main{flex-wrap:wrap}.footer-main nav{order:3;width:100%;justify-content:space-between;gap:.4rem;overflow-x:auto}.footer-main em{margin-left:auto}.footer-bottom{gap:1rem;align-items:flex-start}.footer-bottom span:last-child{text-align:right}}
@media(max-width:430px){.hero{height:560px}.hero-content{padding-top:3.7rem}.hero h1{font-size:3rem}.hero-copy br,.hero-note br{display:none}.card{padding:1.4rem}.note-visual,.big-symbol{opacity:.38}.pill-link{left:1.4rem}.tool-list>span{min-height:66px}.footer-main em{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

.tool-list>a{min-height:73px;background:#f9fbff;color:#162235;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;transition:transform .2s,box-shadow .2s}.tool-list>a:hover{transform:translateY(-3px);box-shadow:0 8px 16px rgba(0,0,0,.18)}

/* Tools */
.subpage-main{max-width:1240px;margin:0 auto;padding:3.5rem 2rem 5rem}.page-intro{min-height:220px;border-radius:22px;padding:3rem 3.2rem;color:#fff;background:linear-gradient(120deg,#172a41,#315574);display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.page-intro:after{content:"";position:absolute;width:330px;height:330px;border:70px solid rgba(255,255,255,.06);border-radius:50%;right:-70px;top:-120px}.page-intro h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.25;margin:.2rem 0 .7rem}.page-intro p{margin:0;color:#dce8f3}.page-intro>span{font-size:5rem;font-weight:800;letter-spacing:-.06em;color:rgba(255,255,255,.09);z-index:1}.eyebrow{font-size:.72rem!important;letter-spacing:.18em;font-weight:700;color:#3976e8!important;margin:0!important}.tools-directory{margin-top:3rem}.section-heading{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.3rem}.section-heading p,.result-heading p{font-size:.66rem;letter-spacing:.16em;color:#3976e8;font-weight:700;margin:0}.section-heading h2{font-size:1.5rem;margin:.15rem 0 0}.section-heading small{color:var(--muted)}.directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.directory-card{min-height:250px;border:1px solid var(--line);border-radius:18px;padding:1.8rem;background:var(--surface);position:relative;transition:transform .2s,box-shadow .2s}.directory-card.ready:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.directory-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#eaf2ff;color:#2d6fe7;font-size:1.7rem}.status-badge{position:absolute;right:1.6rem;top:1.6rem;font-size:.7rem;padding:.3rem .65rem;border-radius:999px;background:#e6f7ef;color:#20805b}.directory-card h3{font-size:1.25rem;margin:1.2rem 0 .4rem}.directory-card p{font-size:.85rem;color:var(--muted);max-width:430px;margin:0}.directory-card strong{position:absolute;left:1.8rem;bottom:1.6rem;color:#2366dc;font-size:.82rem}.coming-soon{background:linear-gradient(135deg,var(--surface),#f4f1ff)}.coming-soon .directory-icon{background:#eee9ff;color:#7455d9}.coming-soon .status-badge{background:#eee9ff;color:#6746ca}.coming-soon strong{color:var(--muted)}

/* Stock return calculator */
.breadcrumb{font-size:.75rem;color:var(--muted);display:flex;gap:.55rem;align-items:center;margin-bottom:2rem}.breadcrumb strong{color:var(--ink)}.calculator-heading{display:flex;align-items:center;gap:1.2rem;margin-bottom:2rem}.calculator-title-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,#e7f0ff,#f3f7ff);color:#286ce4;font-size:2rem}.calculator-heading h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;margin:.2rem 0 .4rem}.calculator-heading>div>p:last-child{margin:0;color:var(--muted);font-size:.9rem}.calculator-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:1.2rem;align-items:start}.calculator-form,.calculator-results{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(38,59,86,.05)}.calculator-form{padding:2rem}.form-section+.form-section{border-top:1px solid var(--line);margin-top:2rem;padding-top:2rem}.form-section-title{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:1.3rem}.form-section-title>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf2ff;color:#2769df;font-size:.7rem;font-weight:800}.form-section-title h2{font-size:1.1rem;margin:0}.form-section-title p{font-size:.72rem;color:var(--muted);margin:.1rem 0 0}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.field-grid label>span:first-child{display:block;font-size:.78rem;font-weight:600;margin-bottom:.45rem}.field-grid label small{font-weight:400;color:var(--muted)}.input-wrap{display:flex;border:1px solid var(--line);border-radius:10px;background:var(--bg);transition:border-color .2s,box-shadow .2s}.input-wrap:focus-within{border-color:#3477eb;box-shadow:0 0 0 3px rgba(52,119,235,.12)}.input-wrap input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);padding:.8rem .9rem;outline:0;text-align:right}.input-wrap b{display:flex;align-items:center;padding:0 .85rem 0 0;color:var(--muted);font-size:.75rem;white-space:nowrap}.form-message{min-height:1.5rem;color:#d23b4e;font-size:.78rem;margin:1rem 0 0}.calculator-actions{display:flex;gap:.7rem}.calculator-actions button{border-radius:10px;padding:.85rem 1.3rem;font-weight:700;font-size:.85rem}.calculate-button{flex:1;border:1px solid #246bfd;background:#246bfd;color:#fff}.calculate-button:hover{background:#1556cf}.reset-button{border:1px solid var(--line);background:var(--surface);color:var(--muted)}.calculator-results{padding:1.6rem;position:sticky;top:1rem}.result-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.result-heading h2{font-size:1.25rem;margin:.1rem 0 0}.result-heading>span{font-size:.7rem;padding:.3rem .65rem;border-radius:999px;background:var(--bg);color:var(--muted)}.primary-result{border-radius:15px;padding:1.4rem;text-align:center;background:#f2f6fb;transition:background .2s}.primary-result small{display:block;color:var(--muted);font-size:.72rem}.primary-result strong{display:block;font-size:2rem;line-height:1.3;margin:.25rem 0}.primary-result>span{font-size:.82rem;font-weight:700}.primary-result.positive{background:#eaf8f1;color:#10845b}.primary-result.negative{background:#fff0f2;color:#d23950}.primary-result.neutral{color:var(--ink)}.result-list{margin:1.2rem 0 0}.result-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .2rem;font-size:.78rem}.result-list dt{color:var(--muted)}.result-list dd{margin:0;font-weight:600}.result-list .total-cost{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:.75rem .2rem;margin:.2rem 0}.result-note{font-size:.67rem;line-height:1.55;color:var(--muted);background:var(--bg);padding:.8rem;border-radius:9px;margin:1rem 0 0}.back-to-tools{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.7rem;color:var(--muted);font-size:.8rem}.back-to-tools:hover{color:#246bfd}.dark .page-intro{background:linear-gradient(120deg,#14283e,#253f5a)}.dark .directory-card.coming-soon{background:linear-gradient(135deg,#172131,#27233a)}.dark .directory-icon,.dark .calculator-title-icon,.dark .form-section-title>span{background:#243854}.dark .primary-result.neutral{background:#202d40}.dark .primary-result.positive{background:#17392e}.dark .primary-result.negative{background:#42232b}

@media(max-width:900px){.calculator-shell{grid-template-columns:1fr}.calculator-results{position:static}.page-intro>span{font-size:3.5rem}.field-grid{grid-template-columns:1fr 1fr}.field-grid label:last-child{grid-column:span 2}}
@media(max-width:760px){.subpage-main{padding:1.5rem 1rem 3rem}.page-intro{min-height:200px;padding:2rem}.page-intro>span{display:none}.directory-grid{grid-template-columns:1fr}.calculator-heading{align-items:flex-start}.calculator-title-icon{width:50px;height:50px;min-width:50px}.calculator-heading>div>p:last-child{font-size:.8rem}.calculator-form{padding:1.25rem}.field-grid{grid-template-columns:1fr}.field-grid label:last-child{grid-column:auto}.calculator-actions{flex-direction:column}.reset-button{order:2}.calculator-results{padding:1.25rem}.primary-result strong{font-size:1.75rem}}

.preset-section{padding-bottom:2rem;border-bottom:1px solid var(--line);margin-bottom:2rem}.preset-grid select{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);padding:.8rem .9rem;outline:0}.preset-grid select:focus{border-color:#3477eb;box-shadow:0 0 0 3px rgba(52,119,235,.12)}.preset-summary{display:flex;justify-content:space-between;gap:1rem;margin:1rem 0 0;padding:.8rem 1rem;border-radius:10px;background:#edf5ff;color:#245a9e;font-size:.76rem}.fee-guide{margin-top:2.5rem}.guide-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.guide-table-wrap table{width:100%;min-width:680px;border-collapse:collapse;font-size:.8rem}.guide-table-wrap th,.guide-table-wrap td{padding:.9rem 1rem;text-align:center;border-bottom:1px solid var(--line)}.guide-table-wrap th{background:var(--bg);color:var(--muted);font-size:.72rem}.guide-table-wrap tr:last-child td{border-bottom:0}.guide-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.guide-notes p{margin:0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:.73rem;color:var(--muted)}.guide-notes strong{display:block;color:var(--ink);margin-bottom:.25rem}.guide-source{text-align:right;color:var(--muted);font-size:.68rem}.guide-source a{color:#246bfd;text-decoration:underline}.dark .preset-summary{background:#203650;color:#9fc6ff}@media(max-width:760px){.preset-summary{display:block}.preset-summary span{display:block;margin-top:.25rem}.guide-notes{grid-template-columns:1fr}.fee-guide .section-heading{align-items:flex-start}.fee-guide .section-heading small{white-space:nowrap}}

/* Keep the working calculator controls within a desktop screen */
.calculator-page{padding-top:1.35rem}.calculator-page .breadcrumb{margin-bottom:.65rem}.calculator-page .calculator-heading{margin-bottom:1rem}.calculator-page .calculator-title-icon{width:50px;height:50px;border-radius:14px;font-size:1.6rem}.calculator-page .calculator-heading h1{font-size:2rem;margin:.1rem 0}.calculator-page .calculator-form{padding:1.15rem 1.35rem}.calculator-page .form-section-title{margin-bottom:.7rem;gap:.65rem}.calculator-page .form-section-title>span{width:29px;height:29px;border-radius:8px}.calculator-page .form-section-title h2{font-size:1rem}.calculator-page .form-section+.form-section{margin-top:1rem;padding-top:1rem}.calculator-page .preset-section{padding-bottom:1rem;margin-bottom:1rem}.calculator-page .preset-grid select,.calculator-page .input-wrap input{padding:.58rem .75rem}.calculator-page .preset-summary{margin-top:.65rem;padding:.55rem .8rem}.calculator-page .field-grid label>span:first-child{margin-bottom:.25rem}.calculator-page .form-message{min-height:1.1rem;margin:.45rem 0 0}.calculator-page .calculator-actions button{padding:.65rem 1.1rem}.calculator-page .calculator-results{padding:1.15rem}.calculator-page .result-heading{margin-bottom:.65rem}.calculator-page .primary-result{padding:.85rem}.calculator-page .primary-result strong{font-size:1.65rem}.calculator-page .result-list{margin:.65rem 0 0}.calculator-page .result-list>div{padding:.34rem .2rem}.calculator-page .result-list .total-cost{padding:.5rem .2rem}.calculator-page .result-note{margin-top:.65rem;padding:.6rem}.calculator-page .fee-guide{margin-top:1.8rem}
@media(max-width:760px){.calculator-page{padding-top:1rem}.calculator-page .calculator-heading h1{font-size:1.6rem}.calculator-page .calculator-heading{gap:.8rem}.calculator-page .calculator-form{padding:1rem}.calculator-page .form-section-title p{line-height:1.45}.calculator-page .preset-summary{font-size:.7rem}}

/* Date calculator */
.purple-tool,.date-icon{color:#7054d5!important;background:#eeeaff!important}.date-page{padding-top:1.35rem}.date-page .breadcrumb{margin-bottom:.65rem}.date-page .calculator-heading{margin-bottom:1.2rem}.date-page .calculator-title-icon{width:50px;height:50px;border-radius:14px;font-size:1.5rem}.date-page .calculator-heading h1{font-size:2rem;margin:.1rem 0}.date-calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.date-tool-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:1.25rem;box-shadow:0 10px 30px rgba(38,59,86,.05)}.date-card-heading{display:flex;gap:.7rem;align-items:flex-start;padding-bottom:.9rem;border-bottom:1px solid var(--line)}.date-card-heading>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#eaf2ff;color:#2769df;font-size:.68rem;font-weight:800}.date-tool-card:nth-child(2) .date-card-heading>span{background:#eeeaff;color:#6d50ce}.date-card-heading h2{font-size:1.05rem;margin:0}.date-card-heading p{font-size:.7rem;color:var(--muted);margin:.05rem 0 0}.date-fields{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:.6rem;margin-top:1rem}.date-fields label>span,.offset-fields label>span:first-child{display:block;font-size:.75rem;font-weight:600;margin-bottom:.3rem}.date-fields input,.offset-fields input,.offset-fields select{width:100%;height:42px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);padding:.55rem .7rem;outline:0}.date-fields input:focus,.offset-fields input:focus,.offset-fields select:focus{border-color:#3477eb;box-shadow:0 0 0 3px rgba(52,119,235,.12)}.date-arrow{height:42px;display:grid;place-items:center;color:var(--muted)}.offset-fields{display:grid;grid-template-columns:1.25fr .7fr .8fr;gap:.6rem;margin-top:1rem}.days-input{display:flex;height:42px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.days-input input{height:40px;border:0;text-align:right}.days-input b{display:flex;align-items:center;padding-right:.7rem;font-size:.73rem;color:var(--muted)}.check-option{display:flex;align-items:center;gap:.45rem;margin:.75rem 0;font-size:.72rem;color:var(--muted)}.check-option input{accent-color:#246bfd}.date-calculate-button{width:100%;border:0;border-radius:9px;background:#246bfd;color:#fff;padding:.65rem;font-weight:700;font-size:.8rem}.date-calculate-button:hover{background:#1556cf}.purple-button{background:#7054d5}.purple-button:hover{background:#5a3fc0}.date-message{height:1rem;margin:.25rem 0;color:#d23b4e;font-size:.7rem}.date-result{background:#edf5ff;border-radius:13px;padding:1rem;text-align:center;color:#245a9e}.date-result>small{display:block;font-size:.68rem}.date-result>strong{display:block;font-size:1.55rem;line-height:1.4;margin:.1rem 0}.date-result>p{font-size:.76rem;margin:0 0 .6rem}.date-result dl{margin:0;padding-top:.5rem;border-top:1px solid rgba(36,90,158,.15)}.date-result dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.22rem 0;font-size:.68rem}.date-result dt{color:var(--muted)}.date-result dd{margin:0;font-weight:600;text-align:right}.purple-result{background:#f1eeff;color:#6043bd}.date-help{margin-top:1.2rem;border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:1rem 1.2rem}.date-help h2{font-size:.9rem;margin:0 0 .7rem}.date-help>div{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.date-help p{font-size:.7rem;color:var(--muted);margin:0}.date-help strong{display:block;color:var(--ink);margin-bottom:.15rem}.dark .purple-tool,.dark .date-icon{background:#30294d!important}.dark .date-result{background:#203650}.dark .purple-result{background:#30294d}.dark .date-card-heading>span{background:#243854}.dark .date-tool-card:nth-child(2) .date-card-heading>span{background:#30294d}
@media(max-width:900px){.date-calculator-grid{grid-template-columns:1fr}.date-help>div{grid-template-columns:1fr}}
@media(max-width:760px){.date-page{padding-top:1rem}.date-page .calculator-heading{gap:.8rem}.date-page .calculator-heading h1{font-size:1.6rem}.date-tool-card{padding:1rem}.date-fields{grid-template-columns:1fr}.date-arrow{display:none}.offset-fields{grid-template-columns:1fr 1fr}.offset-fields label:first-child{grid-column:span 2}.date-result>strong{font-size:1.35rem}}

.lunar-converter{margin-top:1.2rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:1.25rem;box-shadow:0 10px 30px rgba(38,59,86,.05)}.lunar-heading{display:flex;align-items:center;gap:.8rem}.lunar-heading>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#eeeaff;color:#7054d5;font-size:1.7rem}.lunar-heading h2{font-size:1.1rem;margin:.05rem 0}.lunar-heading div>p:last-child{font-size:.7rem;color:var(--muted);margin:0}.lunar-heading>small{margin-left:auto;color:var(--muted);font-size:.68rem}.lunar-tabs{display:flex;border-bottom:1px solid var(--line);margin-top:1rem}.lunar-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:.65rem 1rem;font-size:.76rem;font-weight:700}.lunar-tabs button.active{color:#6545ca;border-bottom-color:#7054d5}.lunar-body{display:grid;grid-template-columns:1.3fr .9fr;gap:1rem;align-items:stretch;margin-top:1rem}.lunar-panel{display:flex;align-items:end;gap:.65rem}.lunar-panel[hidden]{display:none}.lunar-panel>label{flex:1}.lunar-panel label>span,.lunar-inputs label>span{display:block;font-size:.72rem;font-weight:600;margin-bottom:.25rem}.lunar-panel input{width:100%;height:42px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);padding:.55rem .7rem;outline:0}.lunar-panel>button{height:42px;border:0;border-radius:9px;background:#7054d5;color:#fff;padding:0 1.2rem;font-size:.76rem;font-weight:700;white-space:nowrap}.lunar-inputs{flex:1;display:grid;grid-template-columns:1.2fr .75fr .75fr auto;gap:.5rem;align-items:end}.lunar-inputs .leap-option{height:42px;display:flex;align-items:center;gap:.3rem;padding:.5rem}.lunar-inputs .leap-option span{margin:0;white-space:nowrap}.lunar-result{min-height:92px;border-radius:12px;background:#f1eeff;color:#6043bd;padding:1rem;text-align:center;display:flex;flex-direction:column;justify-content:center}.lunar-result small{font-size:.67rem}.lunar-result strong{font-size:1.15rem;margin:.15rem 0}.lunar-result p{font-size:.68rem;margin:0;color:var(--muted)}.lunar-message{min-height:1rem;margin:.35rem 0 0;color:#d23b4e;font-size:.7rem}.lunar-source{text-align:right;color:var(--muted);font-size:.65rem;margin:.2rem 0 0}.dark .lunar-heading>span,.dark .lunar-result{background:#30294d}
@media(max-width:900px){.lunar-body{grid-template-columns:1fr}.lunar-panel{align-items:stretch;flex-direction:column}.lunar-panel>button{width:100%}}
@media(max-width:760px){.lunar-heading{align-items:flex-start}.lunar-heading>small{display:none}.lunar-tabs button{flex:1}.lunar-inputs{grid-template-columns:repeat(3,1fr)}.lunar-inputs .leap-option{grid-column:span 3}.lunar-source{text-align:left}}
.leap-option:has(input:disabled){opacity:.48}.leap-help{margin:.35rem 0 0;color:var(--muted);font-size:.66rem}.lunar-panel#lunar-panel{flex-wrap:wrap}.lunar-panel#lunar-panel>button{order:1}.lunar-panel#lunar-panel .leap-help{flex-basis:100%;order:2}

.calendar-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.calendar-bottom-grid .lunar-converter{margin-top:1.2rem}.calendar-bottom-grid .lunar-body{grid-template-columns:1fr}.annual-calendar{margin-top:1.2rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:1.25rem;box-shadow:0 10px 30px rgba(38,59,86,.05)}.annual-heading{display:flex;align-items:end;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}.annual-heading h2{font-size:1.1rem;margin:.05rem 0}.annual-heading div>p:last-child{font-size:.7rem;color:var(--muted);margin:0}.annual-heading label{margin-left:auto}.annual-heading label>span{display:block;font-size:.65rem;font-weight:600;margin-bottom:.2rem}.annual-heading input{width:92px;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);padding:.4rem .55rem;text-align:center}.annual-list{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem;margin-top:.65rem}.annual-item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.52rem .25rem;border-bottom:1px solid var(--line)}.annual-item>span{display:flex;align-items:baseline;gap:.35rem}.annual-item strong{font-size:.76rem}.annual-item small{font-size:.6rem;color:var(--muted)}.annual-item time{font-size:.72rem;font-weight:600;white-space:nowrap}.annual-item.past{opacity:.48}.annual-item.today{color:#246bfd;background:#edf5ff;border-radius:7px;padding-left:.45rem;padding-right:.45rem}.annual-note{font-size:.64rem;color:var(--muted);margin:.7rem 0 0}.annual-error{grid-column:span 2;color:#d23b4e;font-size:.72rem}.dark .annual-item.today{background:#203650}
@media(max-width:1050px){.calendar-bottom-grid{grid-template-columns:1fr}.calendar-bottom-grid .lunar-body{grid-template-columns:1.3fr .9fr}}
@media(max-width:760px){.calendar-bottom-grid .lunar-body{grid-template-columns:1fr}.annual-heading{align-items:flex-start}.annual-list{grid-template-columns:1fr}.annual-error{grid-column:auto}}

/* Age calculator */
.age-tool-icon,.age-title-icon{color:#ec6b7c!important;background:#fff0f3!important}.age-page{padding-top:1.35rem}.age-page .breadcrumb{margin-bottom:.65rem}.age-page .calculator-heading{margin-bottom:1.2rem}.age-page .calculator-title-icon{width:50px;height:50px;border-radius:14px;font-size:1.5rem}.age-page .calculator-heading h1{font-size:2rem;margin:.1rem 0}.age-shell{display:grid;grid-template-columns:1.1fr 1.4fr;gap:1rem}.age-form,.age-results,.age-details{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 10px 30px rgba(38,59,86,.05)}.age-form{padding:1.25rem}.age-form-heading{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:700;margin-bottom:1rem}.age-form-heading button{border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--muted);padding:.35rem .7rem;font-size:.67rem}.age-fields{display:grid;grid-template-columns:1fr auto 1fr;gap:.7rem;align-items:end}.age-fields>span{height:42px;display:grid;place-items:center;color:var(--muted)}.age-fields label>span{display:block;font-size:.72rem;font-weight:600;margin-bottom:.25rem}.age-fields input{width:100%;height:42px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);padding:.55rem .7rem}.age-message{height:1.1rem;margin:.35rem 0;color:#d23b4e;font-size:.7rem}.age-submit{width:100%;border:0;border-radius:9px;background:#ef7181;color:#fff;padding:.68rem;font-weight:700;font-size:.8rem}.age-submit:hover{background:#da586b}.age-results{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:.7rem;padding:1rem}.age-result-card{border-radius:13px;background:var(--bg);padding:1rem;display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative}.age-result-card>span{position:absolute;top:.55rem;right:.55rem;border-radius:999px;background:#fff;color:#df5367;padding:.2rem .45rem;font-size:.58rem;font-weight:700}.age-result-card small{font-size:.68rem;color:var(--muted)}.age-result-card strong{font-size:1.65rem;margin:.1rem 0}.age-result-card p{font-size:.64rem;color:var(--muted);margin:0}.age-result-card.main-age{background:linear-gradient(135deg,#fff0f3,#fff7f8);color:#c94056}.age-details{margin-top:1rem;padding:1.25rem}.age-detail-summary{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding-bottom:1rem}.age-detail-summary>div{text-align:center;border-right:1px solid var(--line)}.age-detail-summary>div:last-child{border:0}.age-detail-summary span{display:block;font-size:.66rem;color:var(--muted)}.age-detail-summary strong{font-size:.95rem}.age-explanation{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.age-explanation article{padding:.9rem;border-radius:12px;background:var(--bg)}.age-explanation article>span{font-size:.62rem;color:#e0586c;font-weight:700}.age-explanation h2{font-size:.82rem;margin:.15rem 0 .35rem}.age-explanation p{font-size:.68rem;color:var(--muted);margin:0}.age-source{text-align:right;font-size:.64rem;color:var(--muted);margin:.8rem 0 0}.age-source a{color:#246bfd;text-decoration:underline}.dark .age-tool-icon,.dark .age-title-icon{background:#482832!important}.dark .age-result-card.main-age{background:#432731}.dark .age-result-card>span{background:#5a3240}
@media(max-width:900px){.age-shell{grid-template-columns:1fr}.age-detail-summary{grid-template-columns:1fr 1fr;gap:.7rem}.age-detail-summary>div{border-right:0}.age-explanation{grid-template-columns:1fr}}
@media(max-width:760px){.age-page{padding-top:1rem}.age-page .calculator-heading{gap:.8rem}.age-page .calculator-heading h1{font-size:1.6rem}.age-fields{grid-template-columns:1fr}.age-fields>span{display:none}.age-results{grid-template-columns:1fr 1fr}.age-result-card.main-age{grid-column:span 2}.age-detail-summary{grid-template-columns:1fr 1fr}.age-source{text-align:left}}

.birth-type-tabs{display:flex;margin-bottom:.8rem;border-radius:9px;background:var(--bg);padding:.2rem}.birth-type-tabs button{flex:1;border:0;border-radius:7px;background:transparent;color:var(--muted);padding:.42rem;font-size:.72rem;font-weight:700}.birth-type-tabs button.active{background:var(--surface);color:#df5367;box-shadow:0 2px 8px rgba(34,52,74,.08)}.birth-input-panel[hidden]{display:none}.birth-input-panel>label{display:block}.lunar-birth-panel>div{display:grid;grid-template-columns:1.4fr .75fr .75fr;gap:.35rem}.lunar-birth-panel input{min-width:0}.birth-leap-option{display:flex!important;align-items:center;gap:.3rem;margin-top:.35rem;font-size:.65rem;color:var(--muted)}.birth-leap-option input{width:auto;height:auto}.birth-leap-option:has(input:disabled){opacity:.48}.birth-calendar-help{font-size:.65rem;color:var(--muted);margin:.45rem 0 0}.age-detail-summary{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.age-detail-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.age-detail-summary{grid-template-columns:1fr 1fr}.lunar-birth-panel>div{grid-template-columns:1.4fr .75fr .75fr}}
+

/* Stock average calculator */
.stock-average-icon,.average-title-icon{color:#2e9c78!important;background:#e9f8f2!important}.average-page{padding-top:1.35rem}.average-page .breadcrumb{margin-bottom:.65rem}.average-page .calculator-heading{margin-bottom:.8rem}.average-page .calculator-title-icon{width:50px;height:50px;border-radius:14px;font-size:1.6rem}.average-page .calculator-heading h1{font-size:2rem;margin:.1rem 0}.stock-tool-switch{display:flex;gap:.4rem;margin:0 0 1rem;padding:.25rem;border-radius:10px;background:#eaf0f6;width:max-content}.stock-tool-switch a{padding:.45rem .9rem;border-radius:8px;color:var(--muted);font-size:.72rem;font-weight:700}.stock-tool-switch a.active{background:var(--surface);color:#246bfd;box-shadow:0 2px 8px rgba(33,53,78,.09)}.average-shell{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:1rem;align-items:start}.average-form,.average-results{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 10px 30px rgba(38,59,86,.05)}.average-form{padding:1.25rem}.average-form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.average-form-heading h2{font-size:1.05rem;margin:0}.average-form-heading p{font-size:.7rem;color:var(--muted);margin:0}.average-form-heading button{border:1px solid #2e9c78;border-radius:999px;background:#fff;color:#20815f;padding:.4rem .75rem;font-size:.7rem;font-weight:700}.purchase-table-head,.purchase-row{display:grid;grid-template-columns:48px 1fr .8fr 1fr 32px;gap:.6rem;align-items:center}.purchase-table-head{padding:0 .4rem .4rem;color:var(--muted);font-size:.66rem;text-align:center}.purchase-row{padding:.55rem .4rem;border-top:1px solid var(--line)}.purchase-number{font-size:.72rem;font-weight:700;color:#278466;text-align:center}.average-input,.fee-input{display:flex;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.average-input:focus-within,.fee-input:focus-within{border-color:#2e9c78;box-shadow:0 0 0 3px rgba(46,156,120,.1)}.average-input input,.fee-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);padding:.55rem;text-align:right}.average-input b,.fee-input b{display:flex;align-items:center;padding-right:.55rem;color:var(--muted);font-size:.68rem}.row-amount{text-align:right;font-size:.75rem}.remove-purchase{width:28px;height:28px;border:0;border-radius:50%;background:var(--bg);color:var(--muted);font-size:1rem}.remove-purchase:hover:not(:disabled){background:#fff0f2;color:#d23b4e}.remove-purchase:disabled{opacity:.3;cursor:default}.mobile-label{display:none}.average-options{display:flex;align-items:end;gap:.8rem;border-top:1px solid var(--line);margin-top:.5rem;padding-top:.8rem}.average-options label{width:180px}.average-options label>span:first-child{display:block;font-size:.7rem;font-weight:600;margin-bottom:.25rem}.average-options p{font-size:.65rem;color:var(--muted);margin:0 0 .55rem}.average-message{height:1rem;color:#d23b4e;font-size:.68rem;margin:.25rem 0}.average-actions{display:flex;gap:.6rem}.average-actions button{border-radius:9px;padding:.65rem 1rem;font-size:.76rem;font-weight:700}.average-submit{flex:1;border:0;background:#2e9c78;color:#fff}.average-submit:hover{background:#247f63}.average-actions #average-reset{border:1px solid var(--line);background:var(--surface);color:var(--muted)}.average-results{padding:1.15rem;position:sticky;top:1rem}.average-primary{text-align:center;border-radius:13px;background:#eaf8f3;color:#207c60;padding:1.2rem}.average-primary small{display:block;font-size:.68rem}.average-primary strong{display:block;font-size:1.8rem;line-height:1.35}.average-primary p{font-size:.65rem;margin:0;color:var(--muted)}.average-results dl{margin:.8rem 0}.average-results dl>div{display:flex;justify-content:space-between;padding:.45rem .15rem;font-size:.73rem}.average-results dt{color:var(--muted)}.average-results dd{margin:0;font-weight:700}.average-results .average-total{border-top:1px dashed var(--line);margin-top:.2rem;padding-top:.7rem}.average-results>p{font-size:.64rem;color:var(--muted);background:var(--bg);border-radius:8px;padding:.65rem;margin:0}.average-example{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:.8rem;font-size:.72rem}.average-example strong{color:#20815f}.average-example b{color:var(--muted)}.dark .stock-tool-switch{background:#111b28}.dark .stock-average-icon,.dark .average-title-icon{background:#18382e!important}.dark .average-primary{background:#18382e}.dark .average-form-heading button{background:#172131}
@media(max-width:900px){.average-shell{grid-template-columns:1fr}.average-results{position:static}}
@media(max-width:760px){.average-page{padding-top:1rem}.average-page .calculator-heading{gap:.8rem}.average-page .calculator-heading h1{font-size:1.55rem}.stock-tool-switch{width:100%}.stock-tool-switch a{flex:1;text-align:center}.purchase-table-head{display:none}.purchase-row{grid-template-columns:42px 1fr 1fr 28px}.purchase-row .row-amount{grid-column:2/4;text-align:right}.mobile-label{display:block;font-size:.62rem;color:var(--muted);margin-bottom:.2rem}.average-options{align-items:stretch;flex-direction:column}.average-options label{width:100%}.average-options p{margin:0}.average-actions{flex-direction:column}.average-example{flex-wrap:wrap;gap:.5rem}}

.average-mode-tabs{display:grid;grid-template-columns:1fr 1fr;max-width:420px;margin:0 0 .7rem;border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:.25rem}.average-mode-tabs button{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:.55rem;font-size:.76rem;font-weight:700}.average-mode-tabs button.active{background:#2e9c78;color:#fff;box-shadow:0 3px 10px rgba(46,156,120,.2)}.average-options label[hidden],.average-results dl>div[hidden]{display:none}.average-options:has(#sell-tax-option:not([hidden])) label{width:145px}.average-options:has(#sell-tax-option:not([hidden])) p{flex:1}.dark .average-mode-tabs{background:#172131}
@media(max-width:760px){.average-mode-tabs{max-width:none}.average-options:has(#sell-tax-option:not([hidden])) label{width:100%}}

/* Unified stock trades */
.trade-groups{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.trade-group{min-width:0;border:1px solid var(--line);border-radius:13px;padding:.8rem;background:var(--bg)}.trade-group-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}.trade-group-heading>div{display:flex;align-items:center;gap:.5rem}.trade-group-heading b{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:#eaf2ff;color:#2769df;font-size:.62rem}.sell-group .trade-group-heading b{background:#e9f8f2;color:#248361}.trade-group-heading span{display:flex;flex-direction:column}.trade-group-heading strong{font-size:.82rem}.trade-group-heading small{font-size:.58rem;color:var(--muted)}.trade-group-heading button{border:1px solid #3477eb;border-radius:999px;background:var(--surface);color:#2466d5;padding:.3rem .55rem;font-size:.61rem;font-weight:700}.sell-group .trade-group-heading button{border-color:#2e9c78;color:#20815f}.trade-row-head,.trade-row{display:grid;grid-template-columns:33px 1fr .7fr .8fr 24px;gap:.35rem;align-items:center}.trade-row-head{padding:0 .15rem .25rem;text-align:center;font-size:.56rem;color:var(--muted)}.trade-row{border-top:1px solid var(--line);padding:.4rem .15rem}.trade-number{text-align:center;font-size:.61rem;font-weight:700;color:#3477eb}.sell-group .trade-number{color:#2e9c78}.trade-row label small{display:none}.trade-row .input-wrap input{padding:.42rem .35rem;font-size:.7rem}.trade-row .input-wrap b{padding-right:.35rem;font-size:.58rem}.trade-amount{text-align:right;font-size:.65rem;white-space:nowrap}.remove-trade{width:23px;height:23px;border:0;border-radius:50%;background:var(--surface);color:var(--muted);line-height:1}.remove-trade:disabled{opacity:.3}.trade-summary{display:flex;justify-content:space-between;margin-top:.4rem;padding-top:.45rem;border-top:1px dashed var(--line);font-size:.62rem;color:var(--muted)}.trade-summary strong{color:var(--ink)}.calculator-page .trade-groups+.form-section{margin-top:1rem;padding-top:1rem}
@media(max-width:1050px){.trade-groups{grid-template-columns:1fr}.trade-row-head,.trade-row{grid-template-columns:40px 1fr .8fr 1fr 25px}}
@media(max-width:760px){.trade-row-head{display:none}.trade-row{grid-template-columns:32px 1fr 1fr 23px}.trade-row label small{display:block;font-size:.56rem;color:var(--muted);margin-bottom:.15rem}.trade-row .trade-amount{grid-column:2/4}.trade-group-heading{align-items:flex-start}.trade-group-heading small{max-width:190px}}

/* Discount calculator */
.discount-tool-icon,.discount-title-icon{color:#e78322!important;background:#fff3e4!important}.discount-page{padding-top:1.35rem}.discount-page .breadcrumb{margin-bottom:.65rem}.discount-page .calculator-heading{margin-bottom:1.2rem}.discount-page .calculator-title-icon{width:50px;height:50px;border-radius:14px;font-size:1.5rem}.discount-page .calculator-heading h1{font-size:2rem;margin:.1rem 0}.discount-shell{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.7fr);gap:1rem;align-items:start}.discount-form,.discount-results{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 10px 30px rgba(38,59,86,.05)}.discount-form{padding:1.35rem}.discount-basic{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}.discount-form label>span:first-child{display:block;font-size:.75rem;font-weight:700;margin-bottom:.3rem}.discount-input{display:flex;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.discount-input:focus-within{border-color:#ed922f;box-shadow:0 0 0 3px rgba(237,146,47,.12)}.discount-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);padding:.75rem .8rem;text-align:right}.discount-input b{display:flex;align-items:center;padding-right:.75rem;color:var(--muted);font-size:.72rem}.quick-rates{display:flex;align-items:center;gap:.4rem;margin:.8rem 0}.quick-rates>span{font-size:.65rem;color:var(--muted);margin-right:.2rem}.quick-rates button{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);padding:.3rem .65rem;font-size:.65rem;font-weight:700}.quick-rates button:hover{border-color:#ed922f;color:#d87517;background:#fff8ef}.discount-extra{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.8rem 0}.discount-extra summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;font-size:.74rem;font-weight:700;color:#d87517}.discount-extra summary::-webkit-details-marker{display:none}.discount-extra[open] summary span{transform:rotate(45deg)}.discount-extra summary span{font-size:1rem;transition:.2s}.discount-extra>div{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:.8rem}.discount-extra label small{display:block;color:var(--muted);font-size:.58rem;margin-top:.25rem}.discount-message{height:1rem;margin:.3rem 0;color:#d23b4e;font-size:.68rem}.discount-actions{display:flex;gap:.6rem}.discount-actions button{border-radius:9px;padding:.68rem 1rem;font-size:.76rem;font-weight:700}.discount-submit{flex:1;border:0;background:#ed922f;color:#fff}.discount-submit:hover{background:#d77b1b}.discount-actions button:last-child{border:1px solid var(--line);background:var(--surface);color:var(--muted)}.discount-results{padding:1.15rem;position:sticky;top:1rem}.discount-primary{text-align:center;border-radius:13px;background:#fff3e4;color:#cf7015;padding:1.2rem}.discount-primary small{display:block;font-size:.68rem}.discount-primary strong{display:block;font-size:1.85rem;line-height:1.35}.discount-primary p{font-size:.65rem;margin:0;color:var(--muted)}.discount-results dl{margin:.75rem 0}.discount-results dl>div{display:flex;justify-content:space-between;padding:.4rem .15rem;font-size:.72rem}.discount-results dt{color:var(--muted)}.discount-results dd{margin:0;font-weight:700}.discount-results .discount-total-saving{border-top:1px dashed var(--line);margin-top:.2rem;padding-top:.65rem;color:#d87517}.discount-meter{height:7px;border-radius:999px;background:var(--bg);overflow:hidden}.discount-meter span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffb152,#ed7d22);transition:width .25s}.discount-results>p{font-size:.62rem;color:var(--muted);margin:.6rem 0 0}.discount-example{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1rem;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:.8rem;font-size:.72rem}.discount-example strong{color:#d87517}.discount-example b{border-radius:999px;background:#fff3e4;color:#d87517;padding:.25rem .55rem}.discount-example em{font-style:normal;font-weight:800}.dark .discount-tool-icon,.dark .discount-title-icon,.dark .discount-primary{background:#422d1b!important}.dark .quick-rates button:hover{background:#422d1b}
@media(max-width:900px){.discount-shell{grid-template-columns:1fr}.discount-results{position:static}}
@media(max-width:760px){.discount-page{padding-top:1rem}.discount-page .calculator-heading{gap:.8rem}.discount-page .calculator-heading h1{font-size:1.6rem}.discount-basic,.discount-extra>div{grid-template-columns:1fr}.quick-rates{flex-wrap:wrap}.quick-rates>span{width:100%}.discount-actions{flex-direction:column}.discount-example{flex-wrap:wrap}}

/* Unit converter */
.unit-tool-icon,.unit-title-icon{color:#2d82bb!important;background:#e8f5fc!important}.unit-page{padding-top:1.35rem}.unit-page .breadcrumb{margin-bottom:.65rem}.unit-page .calculator-heading{margin-bottom:1.2rem}.unit-page .calculator-title-icon{width:50px;height:50px;border-radius:14px;font-size:1.5rem}.unit-page .calculator-heading h1{font-size:2rem;margin:.1rem 0}.unit-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:1rem;align-items:start}.unit-form,.unit-reference{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 10px 30px rgba(38,59,86,.05)}.unit-form{padding:1.25rem}.unit-category-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;padding:.25rem;background:var(--bg);border-radius:11px}.unit-category-tabs button{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:.48rem .25rem;font-size:.67rem;font-weight:700}.unit-category-tabs button.active{background:#2d82bb;color:#fff;box-shadow:0 3px 10px rgba(45,130,187,.2)}.unit-conversion{display:grid;grid-template-columns:1fr 44px 1fr;gap:.7rem;align-items:center;margin-top:1.1rem}.unit-side>span:first-child{display:block;font-size:.7rem;font-weight:700;margin-bottom:.3rem}.unit-value-wrap,.unit-side output{height:70px;display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;background:var(--bg);padding:0 1rem}.unit-value-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:1.6rem;font-weight:700;text-align:right}.unit-side output{justify-content:flex-end;color:#2477ae;font-size:1.6rem;font-weight:800;overflow:hidden}.unit-side select{width:100%;margin-top:.5rem;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:.55rem}.unit-swap{width:42px;height:42px;border:1px solid #9bcbe7;border-radius:50%;background:#e8f5fc;color:#2477ae;font-size:1.1rem;margin-top:1.3rem}.unit-swap:hover{transform:rotate(180deg);transition:.25s}.unit-equation{text-align:center;border-radius:9px;background:#eaf6fc;color:#2477ae;padding:.65rem;margin:.9rem 0;font-size:.76rem;font-weight:700}.unit-actions{display:flex;gap:.5rem}.unit-actions button{flex:1;border:1px solid #2d82bb;border-radius:9px;background:#2d82bb;color:#fff;padding:.62rem;font-size:.72rem;font-weight:700}.unit-actions button:last-child{border-color:var(--line);background:var(--surface);color:var(--muted)}.unit-message{height:1rem;text-align:center;color:#248361;font-size:.65rem;margin:.25rem 0 0}.unit-reference{padding:1.15rem}.unit-reference-heading{display:flex;justify-content:space-between;align-items:center}.unit-reference-heading p{font-size:.6rem;letter-spacing:.15em;color:#2d82bb;font-weight:700;margin:0}.unit-reference-heading h2{font-size:1.05rem;margin:.1rem 0}.unit-reference-heading>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e8f5fc;color:#2d82bb}.unit-reference>p{font-size:.65rem;color:var(--muted);margin:.3rem 0 .6rem}.unit-reference dl{margin:0}.unit-reference dl>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:.55rem .1rem;font-size:.7rem}.unit-reference dt{color:var(--muted)}.unit-reference dt small{font-size:.58rem}.unit-reference dd{margin:0;font-weight:700}.unit-tip{display:flex;gap:.8rem;align-items:center;margin-top:1rem;border:1px solid #cfe7f5;border-radius:13px;background:#f0f9fe;padding:.8rem 1rem;font-size:.7rem}.unit-tip strong{color:#2477ae;white-space:nowrap}.unit-tip p{margin:0;color:var(--muted)}.dark .unit-tool-icon,.dark .unit-title-icon,.dark .unit-reference-heading>span,.dark .unit-equation,.dark .unit-swap{background:#1b3547!important}.dark .unit-tip{background:#172c3a}
@media(max-width:900px){.unit-shell{grid-template-columns:1fr}}
@media(max-width:760px){.unit-page{padding-top:1rem}.unit-page .calculator-heading{gap:.8rem}.unit-page .calculator-heading h1{font-size:1.6rem}.unit-category-tabs{grid-template-columns:repeat(4,1fr)}.unit-conversion{grid-template-columns:1fr}.unit-swap{margin:0 auto;transform:rotate(90deg)}.unit-swap:hover{transform:rotate(270deg)}.unit-side output,.unit-value-wrap{height:60px}.unit-tip{align-items:flex-start}}

/* Keep the tools button clear of the second tool row. */
.tools-card .pill-link{position:relative;display:inline-flex;align-items:center;left:auto;bottom:auto;margin-top:.35rem}

/* MSJ wordmark */
.brand-logo{display:block;width:150px;height:auto}.brand{align-items:center}.hero h1{width:min(500px,72vw);height:auto}.hero-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 16px rgba(0,0,0,.25))}.footer-brand{display:flex;align-items:center}.footer-logo{display:block;width:135px;height:auto}.dark .brand-logo,.dark .footer-logo{filter:brightness(0) invert(1) opacity(.92)}
@media(max-width:1050px){.brand-logo{width:138px}}@media(max-width:760px){.brand-logo{width:124px}.hero h1{width:min(390px,88vw)}.footer-logo{width:120px}}

/* Readability */
html{font-size:17px}.main-nav a{font-size:.92rem}.brand small{font-size:.73rem}.theme-button b{font-size:.78rem}
.hero-kicker{font-size:1rem}.hero-en{font-size:1.42rem}.hero-copy{font-size:1.2rem}.hero-note{font-size:1.05rem}
.card-heading p{font-size:.86rem}.card ul{font-size:.9rem}.pill-link{font-size:.82rem}.tool-list>span,.tool-list>a{font-size:.76rem}.tool-list small{font-size:.64rem}.about-card>p{font-size:.87rem}.statement-card p{font-size:.94rem}.mini-card h3{font-size:1rem}.mini-card>a{font-size:.76rem}.mini-card dl{font-size:.82rem}.mini-card>p{font-size:.87rem}.mini-card time{font-size:.73rem}
.footer-main small,.footer-main nav{font-size:.73rem}.footer-main em{font-size:.88rem}.footer-bottom{font-size:.7rem}
.breadcrumb{font-size:.82rem}.calculator-heading>div>p:last-child{font-size:.94rem}.page-intro p{font-size:1rem}.section-heading small{font-size:.78rem}.directory-card p{font-size:.91rem}.directory-card strong{font-size:.87rem}.status-badge{font-size:.74rem}
.form-section-title p{font-size:.78rem}.field-grid label>span:first-child{font-size:.83rem}.preset-summary{font-size:.78rem}.form-message{font-size:.8rem}.calculator-actions button{font-size:.88rem}.result-heading>span{font-size:.75rem}.primary-result small{font-size:.78rem}.primary-result>span{font-size:.88rem}.result-list>div{font-size:.83rem}.result-note{font-size:.74rem}.fee-guide table{font-size:.78rem}.guide-notes p,.guide-source{font-size:.74rem}
.trade-group-heading strong{font-size:.88rem}.trade-group-heading small{font-size:.66rem}.trade-group-heading button{font-size:.68rem}.trade-row-head{font-size:.64rem}.trade-number,.trade-amount{font-size:.7rem}.trade-summary{font-size:.69rem}
.date-card-heading p,.lunar-heading div>p:last-child,.annual-heading div>p:last-child{font-size:.76rem}.date-fields label>span,.offset-fields label>span:first-child{font-size:.8rem}.check-option{font-size:.77rem}.date-calculate-button{font-size:.84rem}.date-message{font-size:.75rem}.date-result>small{font-size:.74rem}.date-result>p{font-size:.82rem}.date-result dl>div{font-size:.75rem}.date-help p{font-size:.76rem}.lunar-panel label>span,.lunar-inputs label>span{font-size:.78rem}.lunar-tabs button{font-size:.82rem}.lunar-result small,.lunar-result p,.lunar-source,.leap-help{font-size:.72rem}.annual-heading label>span,.annual-note{font-size:.71rem}.annual-item strong{font-size:.82rem}.annual-item small{font-size:.67rem}.annual-item time{font-size:.78rem}
.age-form-heading{font-size:.88rem}.age-form-heading button{font-size:.73rem}.age-fields label>span{font-size:.79rem}.age-message{font-size:.75rem}.age-submit{font-size:.85rem}.age-result-card small{font-size:.74rem}.age-result-card p{font-size:.7rem}.age-result-card>span{font-size:.65rem}.age-detail-summary span{font-size:.72rem}.age-explanation article>span{font-size:.69rem}.age-explanation h2{font-size:.88rem}.age-explanation p,.age-source,.birth-calendar-help,.birth-leap-option{font-size:.74rem}
.discount-form label>span:first-child{font-size:.82rem}.quick-rates>span,.quick-rates button{font-size:.72rem}.discount-extra summary{font-size:.82rem}.discount-extra label small{font-size:.67rem}.discount-message{font-size:.74rem}.discount-actions button{font-size:.82rem}.discount-primary small{font-size:.75rem}.discount-primary p{font-size:.72rem}.discount-results dl>div{font-size:.79rem}.discount-results>p{font-size:.7rem}.discount-example{font-size:.79rem}
.unit-category-tabs button{font-size:.74rem}.unit-side>span:first-child{font-size:.78rem}.unit-side select{font-size:.82rem}.unit-equation{font-size:.82rem}.unit-actions button{font-size:.79rem}.unit-message{font-size:.72rem}.unit-reference-heading p{font-size:.67rem}.unit-reference>p{font-size:.72rem}.unit-reference dl>div{font-size:.78rem}.unit-reference dt small{font-size:.66rem}.unit-tip{font-size:.77rem}
@media(max-width:760px){html{font-size:16.5px}.hero-kicker{font-size:.88rem}.hero-copy{font-size:1.04rem}.hero-note{font-size:.94rem}.calculator-heading>div>p:last-child{font-size:.85rem}.tool-list>span,.tool-list>a{min-height:72px;font-size:.78rem}.tool-list small{font-size:.66rem}.trade-row label small{font-size:.64rem}.footer-main nav{font-size:.76rem}}

/* Contact */
.footer-identity{display:flex;align-items:center;gap:1rem}.footer-email{font-size:.73rem;color:#596a80;text-decoration:underline;text-underline-offset:3px}.contact-modal{width:min(620px,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto;border:0;border-radius:18px;padding:2rem;background:linear-gradient(135deg,#f8faff,#edf4ff);color:#172334;box-shadow:0 28px 80px rgba(7,25,48,.32)}.contact-modal::backdrop{background:rgba(5,17,32,.68);backdrop-filter:blur(5px)}.contact-modal[open]{animation:contact-in .2s ease-out}.contact-close{position:absolute;right:1rem;top:.8rem;border:0;background:transparent;color:#64748b;font-size:1.8rem;line-height:1;cursor:pointer}.contact-kicker{margin:0 0 .35rem;color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.14em}.contact-intro h2{margin:0 0 .55rem;font-size:1.55rem}.contact-intro>p:last-child{margin:0 0 1.25rem;color:#536174;line-height:1.65;font-size:.9rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.contact-form label{display:grid;gap:.4rem;color:#344258;font-size:.82rem;font-weight:700}.contact-form input,.contact-form textarea{width:100%;border:1px solid #cbd6e4;border-radius:9px;padding:.78rem .9rem;background:#fff;color:#172334;font:inherit;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#3979ef;box-shadow:0 0 0 3px rgba(57,121,239,.12)}.contact-message{grid-column:1/-1}.contact-form textarea{resize:vertical;min-height:120px}.contact-form button{grid-column:1/-1;justify-self:end;border:0;border-radius:999px;padding:.75rem 1.3rem;background:#2169e8;color:#fff;font-family:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.contact-form button span{margin-left:.45rem}.contact-honey{position:absolute!important;left:-9999px!important}.contact-alert{margin:0 0 1rem;padding:.75rem 1rem;border-radius:9px;font-weight:700}.contact-alert.success{background:#e4f7ef;color:#087852}.contact-alert.error{background:#fff0f0;color:#b42318}.dark .contact-modal{background:linear-gradient(135deg,#172131,#1c2b41);color:#eef4fb}.dark .contact-intro>p:last-child,.dark .contact-form label{color:#c4d0df}.dark .contact-form input,.dark .contact-form textarea{background:#101a28;border-color:#3b4c62;color:#eef4fb}@keyframes contact-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.footer-identity{flex-wrap:wrap;gap:.35rem 1rem}.footer-email{width:100%}.contact-modal{padding:1.4rem}.contact-form{grid-template-columns:1fr}.contact-message{grid-column:auto}.contact-form button{width:100%;justify-self:stretch}.contact-intro>p:last-child br{display:none}}
.contact-alert{transition:opacity .45s ease,transform .45s ease}.contact-alert.fade-out{opacity:0;transform:translateY(-5px)}
