:root{--teal:#087f7b;--teal-dark:#005b58;--navy:#071b73;--blue:#176fc1;--cream:#fffaf0;--paper:#fffdf7;--ink:#20232a;--muted:#5a6069;--line:#c7bfae;--gold:#e8aa2e;--gray:#c0c0c0;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--pixel:"Pixelated MS Sans Serif",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.penny-desktop{margin:0;background:var(--teal);background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:8px 8px;color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;min-height:100vh}
body.penny-desktop h1,body.penny-desktop h2,body.penny-desktop h3,body.penny-desktop h4{font-family:var(--serif);line-height:1.15;margin-top:0;color:#172033}
body.penny-desktop h1{font-size:clamp(2.35rem,5vw,4.8rem);letter-spacing:-.035em}
body.penny-desktop h2{font-size:clamp(1.75rem,3vw,2.7rem);letter-spacing:-.025em}
body.penny-desktop h3{font-size:1.35rem}
body.penny-desktop p{margin-top:0}
body.penny-desktop a{color:#064f9c;text-underline-offset:3px;text-decoration-thickness:1px}
body.penny-desktop a:hover{color:#002f6c;text-decoration-thickness:2px}
body.penny-desktop img{max-width:100%;height:auto}
body.penny-desktop button,body.penny-desktop input,body.penny-desktop label,body.penny-desktop textarea,body.penny-desktop select{font-size:14px}
body.penny-desktop button{color:#111;text-shadow:none;cursor:pointer}
body.penny-desktop button:focus-visible,body.penny-desktop a:focus-visible,body.penny-desktop input:focus-visible,body.penny-desktop textarea:focus-visible,body.penny-desktop select:focus-visible{outline:3px solid #ffce45!important;outline-offset:3px!important}
[hidden]{display:none!important}
.skip-link{position:fixed;left:10px;top:10px;z-index:10000;background:#fff;color:#000!important;padding:10px 14px;transform:translateY(-200%)}.skip-link:focus{transform:none}
.desktop-shell{position:relative;max-width:1440px;margin:0 auto;padding:30px 28px 38px 120px;min-height:100vh}
.desktop-shortcuts{position:absolute;left:22px;top:35px;width:82px;display:flex;flex-direction:column;gap:26px}
.desktop-shortcuts a{color:#fff!important;text-decoration:none;text-align:center;font:12px/1.2 var(--pixel);text-shadow:1px 1px #002b2a;padding:4px}.desktop-shortcuts a:hover{background:rgba(0,0,90,.45)}
.desktop-shortcuts .penny-icon{display:block;width:45px;height:45px;margin:0 auto 7px}
.app-window{max-width:1280px;margin:0 auto;padding:4px!important;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #dfdfdf,inset -2px -2px grey,inset 2px 2px #fff,10px 12px 0 rgba(0,0,0,.18)!important}
.site-header{position:relative}.title-bar{min-height:28px}.title-bar-text{font-size:13px}.title-mark,.start-logo{display:inline-grid;place-items:center;background:var(--gold);color:#332000;border:1px solid #fff;box-shadow:1px 1px #000;font:bold 13px var(--serif);width:18px;height:18px;margin-right:4px}
.menu-bar{display:flex;align-items:center;gap:8px;background:var(--gray);min-height:43px;padding:5px 7px;border-bottom:1px solid #808080;position:relative;z-index:20}
.start-trigger{font-weight:bold!important;min-width:auto!important;padding:0 9px!important;height:30px;display:flex!important;align-items:center}.start-logo{width:19px;height:19px}
.primary-navigation{flex:1;min-width:0}.primary-navigation ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}.primary-navigation li{position:relative}.primary-navigation a{display:block;padding:5px 9px;color:#151515!important;font:14px var(--pixel);text-decoration:none}.primary-navigation a:hover,.primary-navigation a:focus-visible{background:#000080;color:#fff!important}.primary-navigation .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:180px;background:var(--gray);padding:4px;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf}.primary-navigation li:hover>.sub-menu,.primary-navigation li:focus-within>.sub-menu{display:block}.search-trigger{min-width:60px!important;height:28px}
.start-menu{position:absolute!important;z-index:80;left:4px;top:71px;width:330px;padding:3px!important;display:flex;background:var(--gray)!important;box-shadow:5px 7px 18px rgba(0,0,0,.45),inset -1px -1px #0a0a0a,inset 1px 1px #dfdfdf,inset -2px -2px grey,inset 2px 2px #fff!important}.start-menu-rail{width:34px;background:linear-gradient(#15156f,#6464a7);color:#fff;writing-mode:vertical-rl;transform:rotate(180deg);font:bold 18px var(--sans);letter-spacing:2px;padding:8px 5px}.start-menu-links{flex:1;padding:4px}.start-menu-links a{display:flex;align-items:center;gap:11px;padding:10px;color:#111!important;text-decoration:none}.start-menu-links a:hover,.start-menu-links a:focus-visible{background:#000080;color:#fff!important}.start-menu-links .penny-icon{width:38px;height:38px}.start-menu-links span{display:flex;flex-direction:column;line-height:1.25}.start-menu-links small{font:11px var(--pixel);margin-top:3px}
.site-main{background:var(--cream);min-height:60vh;border-left:2px solid #777;border-right:2px solid #fff;overflow:hidden}
.desk-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:48px;align-items:center;padding:clamp(52px,8vw,100px) clamp(28px,6vw,76px);background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.7),transparent 28%),linear-gradient(135deg,#fffdf4,#f2e9d2);border-bottom:1px solid var(--line);overflow:hidden}.desk-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(86,62,28,.04) 50%,transparent 50.2%);pointer-events:none}
.eyebrow{margin-bottom:10px!important;color:#805200;font:bold 12px var(--pixel);letter-spacing:.12em;text-transform:uppercase}.hero-lede{font:clamp(1.08rem,1.7vw,1.32rem)/1.65 var(--sans);color:#414650;max-width:650px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.button-link{display:inline-block;background:var(--gray);color:#111!important;text-decoration:none!important;padding:7px 18px;min-height:36px;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf;font:14px var(--pixel)}.button-link:active{box-shadow:inset -1px -1px #fff,inset 1px 1px #0a0a0a,inset -2px -2px #dfdfdf,inset 2px 2px grey}.button-link.primary{font-weight:bold}.text-link{font-weight:bold}
.desk-scene{position:relative;height:330px;background:#956133;box-shadow:inset 0 8px 0 #b57a45,inset 0 -6px 0 #66401f,8px 10px 0 rgba(0,0,0,.12);transform:rotate(-1deg);border:2px solid #5a3519}.desk-scene:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(3deg,transparent 0 20px,rgba(61,31,10,.08) 21px 22px)}.desk-paper{position:absolute;left:36px;top:32px;width:68%;height:235px;background:#fffdf0;box-shadow:4px 5px 0 rgba(0,0,0,.25);padding:25px 25px;color:#777;font:12px var(--pixel);transform:rotate(2deg)}.desk-paper span{display:block;color:#173e70;font-weight:bold;border-bottom:3px double #173e70;padding-bottom:8px;margin-bottom:20px}.desk-paper i{display:block;border-bottom:1px solid #b8cee2;height:34px}.desk-paper b{position:absolute;right:18px;bottom:13px;font:70px var(--serif);color:rgba(210,139,0,.18)}.desk-calc{position:absolute;right:24px;bottom:23px;background:#3b414a;padding:13px 10px 8px;transform:rotate(-5deg);box-shadow:4px 5px 0 rgba(0,0,0,.35)}.desk-calc .penny-icon{width:75px;height:90px}.desk-coin{position:absolute;width:26px;height:26px;border-radius:50%;background:#e9ad31;border:3px double #754901;box-shadow:2px 2px #57380d}.coin-one{left:20px;bottom:22px}.coin-two{left:53px;bottom:17px}
.topics-section,.latest-section,.calculator-wrap,.content-window,.single-article,.related-section,.comments-area{padding:clamp(38px,6vw,72px) clamp(24px,6vw,72px)}.section-heading{max-width:760px;margin-bottom:32px}.section-heading>p:not(.eyebrow){color:var(--muted)}.folder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.topic-folder{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:start;padding:20px;background:#fff8e8;color:var(--ink)!important;text-decoration:none!important;border:1px solid #c6b78d;box-shadow:inset 0 0 0 3px #fff,3px 4px 0 #c6b78d;transition:transform .15s ease,box-shadow .15s ease}.topic-folder:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 3px #fff,5px 7px 0 #b8a778}.topic-folder .penny-icon{width:52px;height:44px}.topic-folder span{display:flex;flex-direction:column}.topic-folder strong{font:1.25rem var(--serif);color:#172033}.topic-folder small{font:14px/1.45 var(--sans);color:#555;margin-top:6px}
.calculator-wrap{background:#e9dfca;border-block:1px solid #bdb19b}.budget-tool{display:grid;grid-template-columns:.8fr 1.1fr;gap:28px 44px;max-width:1040px;margin:0 auto;padding:5px}.tool-copy h2{font-size:2.2rem}.privacy-note{font-size:14px;color:#4f5a57;padding-left:28px;position:relative}.privacy-note:before{content:"";position:absolute;left:0;top:3px;width:16px;height:18px;border:2px solid #47736e;border-radius:8px 8px 2px 2px}.budget-form{background:var(--gray);padding:22px;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf}.budget-form label{font-weight:bold;margin-bottom:6px}.money-input{display:flex;align-items:center;background:#fff;box-shadow:inset -1px -1px #fff,inset 1px 1px grey,inset -2px -2px #dfdfdf,inset 2px 2px #0a0a0a}.money-input span{font:bold 18px var(--sans);padding-left:10px}.money-input input{width:100%;height:44px!important;box-shadow:none!important;background:transparent!important;font:20px var(--sans)!important;padding:5px 10px!important}.field-help{font-size:13px;color:#333;margin:8px 0 14px}.tool-actions{display:flex;gap:10px}.tool-actions button{height:32px}.form-message{margin:14px 0 0;background:#fff3f3;border:2px solid #9c2525;color:#6e0f0f;padding:8px 10px;font-weight:bold}.budget-results{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.budget-results>div{background:var(--paper);border:1px solid #aaa083;padding:18px;box-shadow:3px 3px 0 #b8ad99;display:flex;flex-direction:column}.budget-results span{font-weight:bold}.budget-results span b{font:12px var(--pixel);color:#725000}.budget-results strong{font:2rem var(--serif);color:#0b5652;margin:7px 0}.budget-results small{font:13px/1.4 var(--sans);color:#5b5d5d}.tool-disclaimer{grid-column:1/-1;font-size:14px;color:#4b4d50;border-top:1px solid #b9ac92;padding-top:16px;margin:0}
.latest-section{background:var(--paper)}.article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#c9c2b3;border:1px solid #c9c2b3}.article-card{display:grid;grid-template-columns:48px 1fr;gap:16px;background:var(--paper);padding:26px}.article-card-icon .penny-icon{width:42px;height:50px}.article-card h2{font-size:1.42rem;margin-bottom:9px}.article-card h2 a{color:#172033;text-decoration:none}.article-card h2 a:hover{text-decoration:underline}.article-card p:last-child{font-size:15px;color:#555;margin-bottom:0}.article-meta{font:11px var(--pixel);color:#76684f;margin-bottom:9px!important}.empty-state{max-width:760px;margin:20px auto;text-align:center;padding:38px;background:#fff;border:1px solid #c8c0ad;box-shadow:4px 4px 0 #d4c9b5}.empty-state .penny-icon{width:58px;height:58px;margin-bottom:14px}.empty-state.compact{display:flex;align-items:center;text-align:left;gap:22px}.empty-state.compact h3{margin-bottom:7px}.empty-state.compact p{margin:0}.content-window{min-height:550px;background:var(--paper)}.archive-description{color:var(--muted)}
.breadcrumbs{font-size:14px;margin-bottom:36px}.breadcrumbs ol{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.breadcrumbs li+li:before{content:"›";margin-right:8px;color:#777}.single-article{background:var(--paper)}.article-header{max-width:900px;margin:0 auto 40px}.article-header h1{font-size:clamp(2.5rem,5.2vw,4.65rem)}.category-label{display:inline-block;font:12px var(--pixel);text-transform:uppercase;letter-spacing:.08em;margin-bottom:13px}.article-deck{font:1.25rem/1.65 var(--sans);color:#50545c;max-width:780px}.byline{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:14px;color:#5a5d62;border-top:1px solid #d2cab9;padding-top:16px}.featured-image{max-width:1040px;margin:0 auto 42px}.featured-image img{width:100%;display:block}.featured-image figcaption{font-size:13px;color:#5b5e61;margin-top:8px}.article-layout{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:230px minmax(0,720px);gap:46px;align-items:start}.table-of-contents{position:sticky;top:20px;border:1px solid #bcb19d;background:#f4ead6;padding:18px}.table-of-contents h2{font-size:1.15rem}.table-of-contents ol{margin:0;padding-left:20px;font-size:14px}.table-of-contents li+li{margin-top:8px}.table-of-contents .toc-level-3{margin-left:14px}.article-content{min-width:0;font:18px/1.78 var(--serif);color:#282a2d}.article-content>*:first-child{margin-top:0}.article-content h2{font-size:2rem;margin:2.2em 0 .7em}.article-content h3{font-size:1.5rem;margin:1.8em 0 .55em}.article-content a{overflow-wrap:anywhere}.article-content blockquote{margin:2rem 0;padding:18px 24px;background:#f5ecd9;border-left:5px solid #b07a18}.article-content table{display:block;max-width:100%;overflow:auto;font:15px var(--sans);white-space:normal}.article-content pre{max-width:100%;overflow:auto;font-size:14px}.article-content img{height:auto}.article-content .alignwide{width:min(900px,calc(100vw - 70px));max-width:none;margin-left:50%;transform:translateX(-50%)}.article-notes{max-width:720px;margin:46px auto 0;background:#f1eadc;border:1px solid #c6bba5;padding:22px;font-size:15px}.article-notes h2{font-size:1.4rem}.article-footer{max-width:720px;margin:28px auto 0;border-top:1px solid #ccc2ad;padding-top:20px;display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:14px;color:#595c61}.article-footer p{margin:0}.related-section{border-top:1px solid #c7bfae;background:#f5eddd}.comments-area{max-width:900px;margin:0 auto}.comment-list{padding-left:24px}.comment-list li{margin-block:18px}.comment-body{background:#fff;border:1px solid #ccc;padding:18px}.comment-form input:not([type=submit]),.comment-form textarea{width:100%;font:16px var(--sans)!important}.page-article>.article-content,.tools-page>.article-content{max-width:780px;margin:0 auto}.tools-page>.budget-tool{max-width:1040px;margin:44px auto 0}.narrow-state{display:grid;place-items:center}.error-dialog{max-width:700px!important}.error-dialog .empty-state{display:grid;grid-template-columns:auto 1fr;text-align:left;box-shadow:none;border:0;margin:0;padding:28px}.error-dialog .empty-state h1{font-size:2rem}.error-dialog .search-form{margin-block:20px}.search-form label{display:block;margin-bottom:6px;font-weight:bold}.search-row{display:flex;gap:8px}.search-row input{min-width:0;flex:1;height:34px!important;font:16px var(--sans)!important}.pagination .nav-links{display:flex;justify-content:center;gap:5px;margin-top:30px}.pagination a,.pagination span{background:var(--gray);padding:5px 10px;color:#111;text-decoration:none;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf}.pagination .current{background:#000080;color:#fff}
.site-footer{background:var(--gray);border-top:2px solid #fff;padding:5px}.footer-main{display:grid;grid-template-columns:1fr auto;gap:30px;padding:20px 24px;font-size:13px}.footer-main p{max-width:660px;margin:5px 0 0}.footer-main nav{display:flex;gap:15px;align-items:start}.footer-main .menu{display:flex;gap:15px;list-style:none;margin:0;padding:0}.footer-year{flex-grow:0!important;min-width:80px;text-align:center}.site-footer .status-bar{font:11px var(--pixel)}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:500}.dialog-window{position:fixed!important;z-index:510;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 28px));padding:3px!important;box-shadow:12px 15px 30px rgba(0,0,0,.45)!important}.dialog-window .window-body{padding:24px;margin:0}.help-body{display:grid;grid-template-columns:54px 1fr;gap:18px}.help-body h2{font-size:1.45rem}.help-body .penny-icon{width:50px;height:50px}.has-modal{overflow:hidden}
@media(max-width:960px){.desktop-shell{padding:20px}.desktop-shortcuts{display:none}.desk-hero{grid-template-columns:1fr}.desk-scene{max-width:570px;width:100%;margin:0 auto}.folder-grid{grid-template-columns:repeat(2,1fr)}.article-layout{grid-template-columns:1fr}.table-of-contents{position:static;max-width:720px;width:100%;margin:0 auto}.article-list{grid-template-columns:1fr}}
@media(max-width:680px){body.penny-desktop{font-size:16px}.desktop-shell{padding:0}.app-window{box-shadow:none!important}.title-bar{min-height:30px}.menu-bar{flex-wrap:wrap;gap:5px}.primary-navigation{order:3;flex-basis:100%;overflow:auto;border-top:1px solid #888}.primary-navigation ul{min-width:max-content}.primary-navigation a{padding:7px 9px}.start-menu{top:108px;width:min(330px,calc(100vw - 8px))}.site-main{border:0}.desk-hero{padding:46px 23px;gap:30px}.desk-hero h1{font-size:2.7rem}.desk-scene{height:245px}.desk-paper{height:175px;padding:16px}.desk-paper i{height:24px}.desk-calc .penny-icon{width:50px;height:60px}.topics-section,.latest-section,.calculator-wrap,.content-window,.single-article,.related-section,.comments-area{padding:38px 20px}.folder-grid{grid-template-columns:1fr}.topic-folder{padding:16px}.budget-tool{grid-template-columns:1fr;gap:24px}.budget-results{grid-template-columns:1fr}.article-card{grid-template-columns:38px 1fr;padding:20px 15px}.article-card-icon .penny-icon{width:34px}.article-header h1{font-size:2.6rem}.article-content{font-size:17px;line-height:1.72}.article-content h2{font-size:1.75rem}.article-footer{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1fr;padding:15px}.footer-main nav,.footer-main .menu{flex-wrap:wrap}.error-dialog .empty-state{grid-template-columns:1fr}.search-row{flex-direction:column}.search-row button{align-self:flex-start}.desk-scene{transform:none}.hero-actions{align-items:flex-start;flex-direction:column}.empty-state.compact{align-items:flex-start}.byline{flex-direction:column}.article-layout{gap:28px}}
@media(max-width:390px){.desk-hero h1,.article-header h1{font-size:2.25rem}.title-bar-text{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desk-scene{height:220px}.desk-paper{left:20px;width:73%}.topic-folder{grid-template-columns:48px 1fr}.topic-folder .penny-icon{width:45px}.budget-form{padding:17px}.tool-copy h2{font-size:1.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.topic-folder{transition:none}}
