/* Local pixel typefaces; Thai shaping tables are retained in the Thai face. */
@font-face{font-family:'Freedom Pixel Latin';src:url('/assets/fonts/PixelifySans.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Freedom Pixel Thai';src:url('/assets/fonts/thai-pixel-16.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0E00-0E7F}
:root{--font-pixel:'Freedom Pixel Latin',Tahoma,'Leelawadee UI',sans-serif;--font-readable:'Leelawadee UI',Tahoma,'Segoe UI',sans-serif}
body,body *,body *::before,body *::after{font-family:var(--font-readable)!important;font-synthesis:none;letter-spacing:0}
body{font-size:16px;line-height:1.8}
button,input,select,textarea{font-size:16px;line-height:1.5}
label,.finance-form label,.markettools label,.workspaceassets>label{font-size:14px;line-height:1.75}
h1,.pageheading h1{font-size:32px;line-height:1.55}h2,.sectionheading h2,.panel>h2{font-size:22px;line-height:1.6}h3{font-size:20px;line-height:1.6}
.news p,.detailtext,.broadcast-stories .news p,.broadcast-stories .latest-news .news p{font-size:16px;line-height:1.9}
.news h3,.broadcast-stories .news h3,.broadcast-stories .latest-news .news h3{font-size:22px;line-height:1.65}
.caption,.muted,.facts dt,.fundmeta,.news small,.ticker,.eyebrow{font-size:14px;line-height:1.8}
.nav{font-size:16px;line-height:1.8}.clock,#status,.sidebottom .quiet{font-size:14px}.brandname{font-size:22px}.brandname small{font-size:12px;letter-spacing:2px}
th,td{font-size:16px;line-height:1.75}.badge,.tag{font-size:14px}
#stats .metric-heading>span{font-size:16px}#stats .metric-unit{font-size:12px}#stats .metric-note{font-size:14px;line-height:1.8}
#stats .metric-card>strong{font-size:32px;line-height:1.4}#stats .metric-net>strong{font-size:40px;line-height:1.3}
.portfolio-total>strong{font-size:36px}.portfolio-total>span,.portfolio-month-change{font-size:16px}.portfolio-total small{font-size:14px;line-height:1.8}
#portfolio .holding-card summary b{font-size:18px}#portfolio .holding-card small{font-size:14px;line-height:1.6}#portfolio .holding-expanded dt{font-size:14px}#portfolio .holding-expanded dd{font-size:18px}
.workspacelist button,.workspacelist button b{font-size:16px}.workspacelist button small{font-size:12px;line-height:1.8}.workspacelist button .workspace-symbol{overflow-wrap:anywhere}
.cardtitle{font-size:18px;line-height:1.7}.cardbottom .price{font-size:20px}.assetcard{min-height:180px}
.broker-sidebar .advanced-panel h3,.automation-panel h3{font-size:20px}.broker-sidebar #advancedPanel .chips button[data-advanced-mode],.broker-sidebar #advancedPanel .chips button[data-go="finance"]{font-size:16px}.orderpreview,.advanced-position,.auto-plan{font-size:14px;line-height:1.8}
.presenter-heading,.presenter-caption{font-size:14px}.presenter-heading>span:last-child,.presenter-caption button{font-size:12px}
.headline-history>h3,.broadcast-stories .headline-history>h3{font-size:16px}.headline-item>summary{font-size:16px;line-height:1.7}.headline-item>summary>time{font-size:14px}.broadcast-stories .headline-body .news p{font-size:14px}.broadcast-stories .headline-body .news h3{font-size:18px}
.news-data-section #macro .stat>span{font-size:16px}.news-data-section #macro .stat strong{font-size:32px}
.timecontrols #skipForm{font-size:12px}.timecontrols #skipForm button,.timecontrols #skipForm input,.timecontrols #skipProgress{font-size:14px}.timecontrols{min-width:205px}
@media(max-width:600px){.pageheading h1{font-size:26px}#stats .metric-card>strong,#stats .metric-net>strong{font-size:28px}#stats .metric-note{font-size:12px}#stats .metric-heading>span{font-size:14px}#portfolio .holding-card summary b{font-size:16px}#portfolio .holding-card small{font-size:12px}.headline-item>summary{font-size:16px}.workspacelist button,.workspacelist button b{font-size:14px}}

/* Calendar press conference: two schedule columns plus an animated scene. */
.calendarupcoming{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px}
.calendar-press-card{padding:0;overflow:hidden;position:static;top:auto}
.calendar-press-card header,.calendar-press-card footer{padding:16px 18px;background:#171e28;display:flex;align-items:center;justify-content:space-between;gap:10px}
.calendar-press-card header{border-bottom:1px solid #3d4652}
.calendar-press-card footer{border-top:1px solid #3d4652}
.calendar-press-card footer button{padding:7px 10px;min-height:36px}
.calendar-press-sprite{width:100%;aspect-ratio:1;background:url('./assets/calendar/fed-36.png') 0 0/3600% 100% no-repeat;image-rendering:pixelated;animation:calendar-press-play 7.2s steps(36,end) infinite}
.calendar-press-sprite.is-paused{animation-play-state:paused}
@keyframes calendar-press-play{to{background-position:102.857142857% 0}}
@media(max-width:1100px){.calendarupcoming{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-press-card{position:static;grid-column:1/-1;width:min(100%,420px);justify-self:start}}
@media(max-width:650px){.calendarupcoming{grid-template-columns:1fr}.calendar-press-card{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.calendar-press-sprite{animation:none}}

/* The portrait sets the row height; long schedules scroll within it. */
@media(min-width:1101px){
.calendarupcoming{align-items:stretch}
.calendarupcoming>.calendar-press-card{align-self:start;margin:0}
.calendarupcoming>.calendar-schedule{contain:size;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0}
}
@media(max-width:1100px){.calendarupcoming>.calendar-schedule{max-height:560px;overflow-y:auto;overscroll-behavior:contain}}

/* Separate the calendar row from the published data below. */
#economicCalendar>.calendarupcoming{margin-bottom:32px}

.overview-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}#openInbox{position:relative}.inbox-dot{position:absolute;right:7px;top:7px;width:9px;height:9px;background:#ff4965;box-shadow:0 0 0 3px #12151c}.inbox-dialog{width:min(760px,90vw);max-height:80vh;background:#10141b;color:#f1f3f6;border:2px solid #8a939e;padding:24px}.inbox-dialog::backdrop{background:#000b}.inbox-list{overflow-y:auto;max-height:62vh}.inbox-message{border-bottom:1px solid #414956;padding:12px 0}.inbox-message>button{display:grid;grid-template-columns:120px 1fr auto;gap:14px;text-align:left;width:100%;background:#191f29;padding:14px}.inbox-message.is-unread>button{border-left:4px solid #ff4965}.inbox-message p{line-height:1.8;padding:12px;white-space:pre-wrap}.inbox-message time,.inbox-message button span{font-size:12px;color:#b7c2d3}@media(max-width:650px){.inbox-message>button{grid-template-columns:1fr}}

#openInbox{width:58px;min-width:58px;height:56px;display:inline-flex;align-items:center;justify-content:center;padding:12px;color:#e1e8f2}
.inbox-envelope{width:28px;height:24px;shape-rendering:crispEdges}
#openInbox .inbox-dot{width:10px;height:10px;right:5px;top:5px;border-radius:0;clip-path:polygon(2px 0,8px 0,8px 2px,10px 2px,10px 8px,8px 8px,8px 10px,2px 10px,2px 8px,0 8px,0 2px,2px 2px);box-shadow:none;background:#ff4965}

#openInbox{width:68px;min-width:68px;height:60px;padding:3px;background:transparent;border-color:transparent;box-shadow:none}#openInbox:hover{background:#222a36;border-color:#697585}#openInbox .inbox-envelope{width:56px;height:52px;object-fit:contain;image-rendering:pixelated}

/* Bank balances and freedom chart establish the portfolio column height. */
.overviewgrid{align-items:stretch}.overview-right{display:flex;flex-direction:column;gap:24px;min-width:0}.overview-right>.panel{margin:0}.overview-bank-panel h2{margin-top:0}.overview-bank{border-left:4px solid var(--bank-color,#7d8797);background:#141a21;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}.overview-bank strong{white-space:nowrap}.overview-bank.bank-natee{--bank-color:#32c67a}.overview-bank.bank-siam{--bank-color:#ab7ae5}.overview-bank.bank-bangkok{--bank-color:#538bdb}.overview-bank.bank-krung{--bank-color:#45c4e8}.overview-bank.bank-blue{--bank-color:#f29a48}
@media(min-width:1001px){.overviewgrid>#heldPortfolio{contain:size;min-height:0;display:flex;flex-direction:column;margin:0}.overviewgrid>#heldPortfolio>#portfolio{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-gutter:stable}.overview-right>.freedom-panel{flex:1}}
@media(max-width:1000px){.overviewgrid{grid-template-columns:1fr}.overviewgrid>#heldPortfolio>#portfolio{max-height:650px;overflow-y:auto}.overview-bank{flex-wrap:wrap}}

/* Selected calendar accents identify release types, not trading signals. */
#economicCalendar .calendar-schedule[data-calendar-offset="1"]{--pixel-frame:url('/assets/ui/pixel-frame-gold.svg');background:linear-gradient(180deg,#242016 0,#0d1015 170px)}
#economicCalendar .calendar-schedule[data-calendar-offset="1"]>h3{color:#f0cb76}
#economicCalendar .calendar-schedule[data-calendar-offset="2"]{--pixel-frame:url('/assets/ui/pixel-frame-purple.svg')}
#economicCalendar .calendar-press-card{--pixel-frame:url('/assets/ui/pixel-frame-navy.svg')}
#economicCalendar .calendar-published{--pixel-frame:url('/assets/ui/pixel-frame-cyan.svg')}
#economicCalendar .calendar-published>h2{color:#91dce7}
#economicCalendar .calendaritem[data-release-kind="policy"]{border-left:3px solid #dbb864;background:#dbb8640e;padding-left:10px}
#economicCalendar .calendaritem[data-release-kind="cpi"]{border-left:3px solid #ad8bd7;padding-left:10px}
#economicCalendar .calendaritem[data-release-kind="payroll"],#economicCalendar .calendaritem[data-release-kind="unemployment"]{border-left:3px solid #5caebe;padding-left:10px}

/* Finance hierarchy: liabilities red, statements gold, banking retains brand colors. */
#finance .finance-debt-panel{--pixel-frame:url('/assets/ui/pixel-frame-red.svg');background:linear-gradient(180deg,#25171c 0,#0d1015 200px)}
#finance .finance-debt-panel>h2{color:#ff96a6}
#finance .finance-debt-panel tbody tr{box-shadow:inset 3px 0 #b95165;background:#c6486110}
#finance .finance-statement-panel{--pixel-frame:url('/assets/ui/pixel-frame-gold.svg');background:linear-gradient(180deg,#252115 0,#0d1015 190px)}
#finance .finance-statement-panel>h2{color:#efd084}
#finance .finance-priority-panel{--pixel-frame:url('/assets/ui/pixel-frame-orange.svg')}
#finance .finance-priority-panel>h2{color:#e6b17b}
#finance .finance-alert-panel{--pixel-frame:url('/assets/ui/pixel-frame-purple.svg')}
#finance #bankAccounts{--pixel-frame:url('/assets/ui/pixel-frame-grey.svg')}

/* News follows the calendar's indicator category colors. */
#news .latest-news>.news{--pixel-frame:url('/assets/ui/pixel-frame-gold.svg');background:linear-gradient(145deg,#211e15,#0d1015 65%)}
#macro .economic-stat[data-economic-kind="cpi"]{--pixel-frame:url('/assets/ui/pixel-frame-purple.svg')}
#macro .economic-stat[data-economic-kind="unemployment"]{--pixel-frame:url('/assets/ui/pixel-frame-cyan.svg')}
#macro .economic-stat[data-economic-kind="gdp"]{--pixel-frame:url('/assets/ui/pixel-frame-grey.svg')}

/* GDP has its own blue category in both economic views. */
#macro .economic-stat[data-economic-kind="gdp"]{--pixel-frame:url('/assets/ui/pixel-frame-blue.svg')}
#economicCalendar .calendaritem[data-release-kind="gdp"]{border-left:3px solid #719fe5;background:#719fe50b;padding-left:10px}

/* Neutral outer month frames; category accents remain inside. */
#economicCalendar .calendar-schedule[data-calendar-offset]{--pixel-frame:url('/assets/ui/pixel-frame-grey.svg');background:#0d1015}
#economicCalendar .calendar-schedule[data-calendar-offset]>h3{color:#edf0f5}

/* Clearly separated sidebar blocks, including inactive destinations. */
nav[aria-label="หน้าหลัก"]{display:flex;flex-direction:column;gap:10px}
nav[aria-label="หน้าหลัก"]>button.nav{background:#181c23!important;color:#e0e6ee!important;border:1px solid #505762!important;border-radius:0!important;box-shadow:inset 0 2px #656c77,inset 2px 0 #414853,inset 0 -3px #080a0e!important;margin:0!important;padding:14px 16px;transition:background .12s}
nav[aria-label="หน้าหลัก"]>button.nav:hover{background:#272f3b!important;border-color:#909ba9!important}
nav[aria-label="หน้าหลัก"]>button.nav.active{background:#28374c!important;border-color:#91b7ef!important;box-shadow:inset 4px 0 #6ca7ff,inset 0 2px #748dab,inset 0 -3px #111923!important;color:#fff!important}
nav[aria-label="หน้าหลัก"]>button.nav:focus-visible{outline:2px solid #c2d9fa;outline-offset:3px}

/* Stepped pixel frames for sidebar navigation. */
nav[aria-label="หน้าหลัก"]>button.nav{border:3px solid transparent!important;border-image:url('/assets/ui/pixel-frame-grey.svg') 4 / 4px / 0 stretch!important;border-radius:0!important;clip-path:polygon(0 7px,3px 7px,3px 3px,7px 3px,7px 0,calc(100% - 7px) 0,calc(100% - 7px) 3px,calc(100% - 3px) 3px,calc(100% - 3px) 7px,100% 7px,100% calc(100% - 7px),calc(100% - 3px) calc(100% - 7px),calc(100% - 3px) calc(100% - 3px),calc(100% - 7px) calc(100% - 3px),calc(100% - 7px) 100%,7px 100%,7px calc(100% - 3px),3px calc(100% - 3px),3px calc(100% - 7px),0 calc(100% - 7px));box-shadow:inset 0 3px #434b58,inset 0 -4px #080a0e!important}
nav[aria-label="หน้าหลัก"]>button.nav.active{border-image-source:url('/assets/ui/pixel-frame-blue.svg')!important;box-shadow:inset 5px 0 #6ca7ff,inset 0 3px #556f91,inset 0 -4px #111923!important}

.player-room{background-image:linear-gradient(#0008,#0008),url('/assets/player/rooms.png');background-size:100% 100%,300% 100%;image-rendering:pixelated;isolation:isolate}.room-young{background-position:0 0,0 0}.room-midlife{background-position:0 0,50% 0}.room-senior{background-position:0 0,100% 0}.player-room>.player-avatar{mix-blend-mode:normal}.player-avatar.player-baby{background-image:url('/assets/player/baby-3.png');background-size:300% 100%;animation:player-baby-blink 4s step-end infinite}
@keyframes player-baby-blink{0%,82%,100%{background-position:0 0}86%,94%{background-position:50% 0}90%{background-position:100% 0}}
.player-avatar.player-baby.is-paused{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.player-avatar.player-baby{animation:none}}

.player-room>.player-avatar{mix-blend-mode:normal;opacity:1}


.player-room>.player-young{background-image:url("/assets/player/young-opaque-24.png")}
.player-room>.player-midlife{background-image:url("/assets/player/midlife-opaque-24.png")}
.player-room>.player-senior{background-image:url("/assets/player/senior-opaque-24.png")}

/* Independent 12-frame room layer; the character remains fully opaque. */
.player-room{position:relative;background:none;overflow:hidden}.player-room::before{content:"";position:absolute;inset:0;background-repeat:no-repeat;background-size:1200% 100%;background-position:0 0;image-rendering:pixelated;filter:brightness(.72);animation:room-ambient 6s steps(12,end) infinite;z-index:0}.player-room>.player-avatar{position:relative;z-index:1;opacity:1;mix-blend-mode:normal}.room-young::before{background-image:url('/assets/player/room-young-12.png')}.room-midlife::before{background-image:url('/assets/player/room-midlife-12.png')}.room-senior::before{background-image:url('/assets/player/room-senior-12.png')}.player-room.is-paused::before{animation-play-state:paused}@keyframes room-ambient{to{background-position:109.090909091% 0}}@media(prefers-reduced-motion:reduce){.player-room::before{animation:none}}

/* Discrete images prevent any movement between atlas cells. */
.player-room::before{background-size:100% 100%;background-position:center;animation-timing-function:step-end}
.room-young::before{animation-name:room-young-frames;background-image:url('/assets/player/room-young-frame-1.png')}
@keyframes room-young-frames{0.00000%{background-image:url('/assets/player/room-young-frame-1.png')}8.33333%{background-image:url('/assets/player/room-young-frame-2.png')}16.66667%{background-image:url('/assets/player/room-young-frame-3.png')}25.00000%{background-image:url('/assets/player/room-young-frame-4.png')}33.33333%{background-image:url('/assets/player/room-young-frame-5.png')}41.66667%{background-image:url('/assets/player/room-young-frame-6.png')}50.00000%{background-image:url('/assets/player/room-young-frame-7.png')}58.33333%{background-image:url('/assets/player/room-young-frame-8.png')}66.66667%{background-image:url('/assets/player/room-young-frame-9.png')}75.00000%{background-image:url('/assets/player/room-young-frame-10.png')}83.33333%{background-image:url('/assets/player/room-young-frame-11.png')}91.66667%{background-image:url('/assets/player/room-young-frame-12.png')}100%{background-image:url('/assets/player/room-young-frame-1.png')}}
.room-midlife::before{animation-name:room-midlife-frames;background-image:url('/assets/player/room-midlife-frame-1.png')}
@keyframes room-midlife-frames{0.00000%{background-image:url('/assets/player/room-midlife-frame-1.png')}8.33333%{background-image:url('/assets/player/room-midlife-frame-2.png')}16.66667%{background-image:url('/assets/player/room-midlife-frame-3.png')}25.00000%{background-image:url('/assets/player/room-midlife-frame-4.png')}33.33333%{background-image:url('/assets/player/room-midlife-frame-5.png')}41.66667%{background-image:url('/assets/player/room-midlife-frame-6.png')}50.00000%{background-image:url('/assets/player/room-midlife-frame-7.png')}58.33333%{background-image:url('/assets/player/room-midlife-frame-8.png')}66.66667%{background-image:url('/assets/player/room-midlife-frame-9.png')}75.00000%{background-image:url('/assets/player/room-midlife-frame-10.png')}83.33333%{background-image:url('/assets/player/room-midlife-frame-11.png')}91.66667%{background-image:url('/assets/player/room-midlife-frame-12.png')}100%{background-image:url('/assets/player/room-midlife-frame-1.png')}}
.room-senior::before{animation-name:room-senior-frames;background-image:url('/assets/player/room-senior-frame-1.png')}
@keyframes room-senior-frames{0.00000%{background-image:url('/assets/player/room-senior-frame-1.png')}8.33333%{background-image:url('/assets/player/room-senior-frame-2.png')}16.66667%{background-image:url('/assets/player/room-senior-frame-3.png')}25.00000%{background-image:url('/assets/player/room-senior-frame-4.png')}33.33333%{background-image:url('/assets/player/room-senior-frame-5.png')}41.66667%{background-image:url('/assets/player/room-senior-frame-6.png')}50.00000%{background-image:url('/assets/player/room-senior-frame-7.png')}58.33333%{background-image:url('/assets/player/room-senior-frame-8.png')}66.66667%{background-image:url('/assets/player/room-senior-frame-9.png')}75.00000%{background-image:url('/assets/player/room-senior-frame-10.png')}83.33333%{background-image:url('/assets/player/room-senior-frame-11.png')}91.66667%{background-image:url('/assets/player/room-senior-frame-12.png')}100%{background-image:url('/assets/player/room-senior-frame-1.png')}}

nav[aria-label="หน้าหลัก"]>button.nav{display:flex;align-items:center;gap:10px;padding-left:10px;padding-right:10px}.nav-pixel-icon{width:30px;height:30px;min-width:30px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}nav[aria-label="หน้าหลัก"]>button.nav>span{min-width:0}

/* Shared pixel treatment for previously uncovered controls and small cards. */
:root{--pixel-small-corners:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 2px,calc(100% - 2px) 2px,calc(100% - 2px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 2px) calc(100% - 4px),calc(100% - 2px) calc(100% - 2px),calc(100% - 4px) calc(100% - 2px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 2px),2px calc(100% - 2px),2px calc(100% - 4px),0 calc(100% - 4px),0 4px,2px 4px,2px 2px,4px 2px)}
:where(button,input,select,textarea,.file,.badge,.tag,.metric-unit,.asset-logo,.asseticon,.levelgem){border-radius:0!important}
:where(button):not(.textbutton):not(.quiet):not(.assetcard):not(.earningscard):not(.metric-card):not(.edition-card):not(.archive-headline):not([data-mail]){clip-path:var(--pixel-small-corners);box-shadow:inset 0 2px #ffffff20,inset 2px 0 #ffffff0c,inset 0 -3px #0005}
:where(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea){clip-path:var(--pixel-small-corners);box-shadow:inset 0 2px #0008,inset 0 -1px #69748255;border-color:#576170}
:where(.orderpreview,.auto-plan,.retirehero,.broadcast-quiet,.overview-bank,.educationchoices,.family-tier){border-radius:0!important;border-style:solid;border-color:#7c8694;border-width:2px;border-image-source:var(--pixel-frame,url('/assets/ui/pixel-frame-grey.svg'));border-image-slice:10;border-image-width:7px;border-image-repeat:stretch}
:where(.orderpreview,.auto-plan,.retirehero,.broadcast-quiet,.overview-bank,.family-tier){clip-path:var(--pixel-small-corners)}
.overview-bank.bank-natee{--pixel-frame:url('/assets/ui/pixel-frame-green.svg')}.overview-bank.bank-siam{--pixel-frame:url('/assets/ui/pixel-frame-purple.svg')}.overview-bank.bank-bangkok{--pixel-frame:url('/assets/ui/pixel-frame-navy.svg')}.overview-bank.bank-krung{--pixel-frame:url('/assets/ui/pixel-frame-cyan.svg')}.overview-bank.bank-blue{--pixel-frame:url('/assets/ui/pixel-frame-orange.svg')}
.badge,.tag,.metric-unit{box-shadow:inset 0 1px #ffffff18,inset 0 -1px #0007}.broadcast-dot{border-radius:0;box-shadow:none}
/* Native dialog remains unclipped to preserve scrolling and focused controls. */
dialog{border-radius:0!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b5d0f6;outline-offset:-3px}

.fiscal-intro{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:24px;align-items:stretch;margin-bottom:24px}.fiscal-intro>.panel{margin:0}.fiscal-income{min-width:0}.tax-collector-card{padding:0;overflow:hidden;--pixel-frame:url("/assets/ui/pixel-frame-purple.svg")}.tax-collector-sprite{aspect-ratio:1;background-size:100% 100%;background-position:center;image-rendering:pixelated;animation:tax-collector-frames 6s step-end infinite}.tax-collector-card footer{padding:12px 16px;background:#191c28;display:flex;justify-content:space-between;align-items:center;gap:10px}.tax-collector-card footer button{font-size:12px;padding:8px}.tax-collector-sprite.is-paused{animation-play-state:paused}@media(max-width:850px){.fiscal-intro{grid-template-columns:1fr}.tax-collector-card{width:min(100%,360px);justify-self:center}}@media(prefers-reduced-motion:reduce){.tax-collector-sprite{animation:none}}
@keyframes tax-collector-frames{0.00000%{background-image:url('/assets/fiscal/collector-1.png')}4.16667%{background-image:url('/assets/fiscal/collector-2.png')}8.33333%{background-image:url('/assets/fiscal/collector-3.png')}12.50000%{background-image:url('/assets/fiscal/collector-4.png')}16.66667%{background-image:url('/assets/fiscal/collector-5.png')}20.83333%{background-image:url('/assets/fiscal/collector-6.png')}25.00000%{background-image:url('/assets/fiscal/collector-7.png')}29.16667%{background-image:url('/assets/fiscal/collector-8.png')}33.33333%{background-image:url('/assets/fiscal/collector-9.png')}37.50000%{background-image:url('/assets/fiscal/collector-10.png')}41.66667%{background-image:url('/assets/fiscal/collector-11.png')}45.83333%{background-image:url('/assets/fiscal/collector-12.png')}50.00000%{background-image:url('/assets/fiscal/collector-13.png')}54.16667%{background-image:url('/assets/fiscal/collector-14.png')}58.33333%{background-image:url('/assets/fiscal/collector-15.png')}62.50000%{background-image:url('/assets/fiscal/collector-16.png')}66.66667%{background-image:url('/assets/fiscal/collector-17.png')}70.83333%{background-image:url('/assets/fiscal/collector-18.png')}75.00000%{background-image:url('/assets/fiscal/collector-19.png')}79.16667%{background-image:url('/assets/fiscal/collector-20.png')}83.33333%{background-image:url('/assets/fiscal/collector-21.png')}87.50000%{background-image:url('/assets/fiscal/collector-22.png')}91.66667%{background-image:url('/assets/fiscal/collector-23.png')}95.83333%{background-image:url('/assets/fiscal/collector-24.png')}100%{background-image:url('/assets/fiscal/collector-1.png')}}
.tax-collector-sprite{background-image:url('/assets/fiscal/collector-1.png')}

/* Income and tax: red frame hierarchy scoped to this page. */
#fiscal .panel,#fiscal .stat{--pixel-frame:url('/assets/ui/pixel-frame-red-muted.svg')}
#fiscal .fiscal-income,#fiscal .fiscal-cashflow{--pixel-frame:url('/assets/ui/pixel-frame-red-dark.svg')}
#fiscal .fiscal-payment,#fiscal .fiscal-notices{--pixel-frame:url('/assets/ui/pixel-frame-red-bright.svg')}
#fiscal .tax-collector-card{--pixel-frame:url('/assets/ui/pixel-frame-red-dark.svg')}
#fiscal>.stats>.stat:nth-child(3),#fiscal>.stats>.stat:nth-child(4){--pixel-frame:url('/assets/ui/pixel-frame-red-bright.svg')}
#fiscal .stat::before{background:#d86b7c}#fiscal .tax-collector-card footer{background:#26191f}
#fiscal .taxrecord{border:2px solid transparent;border-image:url('/assets/ui/pixel-frame-red-muted.svg') 10 / 7px / 0 stretch;border-radius:0;padding:16px;margin:16px 0}
#fiscal input,#fiscal select,#fiscal textarea{border-color:#9b5564}#fiscal button:not(.textbutton){border-color:#bf6576}

.retirement-story{padding:0;overflow:hidden;--pixel-frame:url('/assets/ui/pixel-frame-gold.svg')}.retirement-story-screen{position:relative;background:#122439;aspect-ratio:16/9}.retirement-story-screen>img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:pixelated}.retirement-story-screen>#pauseRetirementStory{position:absolute;bottom:16px;right:16px;padding:9px 14px;background:#111d2de6;color:#eef5ff}.retirement-story-actions{padding:24px;text-align:center;background:#121b24}.retirement-story-actions>button{font-size:20px;min-width:260px;padding:18px 24px}.retire-allocation-dialog{width:min(1160px,94vw);max-height:90vh;overflow-y:auto;background:#0d1118;color:#f1f3f6;padding:24px;--pixel-frame:url('/assets/ui/pixel-frame-gold.svg')}.retire-allocation-dialog::backdrop{background:#000c}.retire-allocation-dialog>.sectionheading{position:sticky;top:-24px;z-index:3;background:#151d28;padding:14px;margin:-24px -24px 24px}.retire-allocation-dialog .retirehero{padding:18px}.retire-allocation-dialog .retirehero .eyebrow{display:none}@media(max-width:650px){.retirement-story-actions{padding:16px}.retirement-story-actions>button{min-width:0;width:100%;font-size:17px}.retire-allocation-dialog{padding:16px}.retire-allocation-dialog .retiregrid{grid-template-columns:1fr}}

/* Readable Thai and financial figures, pixel Latin retained for major titles. */
body{font-size:16px;line-height:1.75;font-variant-numeric:lining-nums tabular-nums}
h1,h1 *,h2,h2 *,.brandname,.brandname *{font-family:var(--font-pixel)!important;letter-spacing:0;line-height:1.6}
button,input,select,textarea{font-family:var(--font-readable)!important;font-size:16px;line-height:1.65}
button,label,th{font-weight:600}.muted{color:#bdc6d4}.caption,.fundmeta,.facts dt,.ticker{font-size:14px;line-height:1.8}
#stats .metric-card>strong,#stats .metric-net>strong,.portfolio-total>strong,.economic-value>strong{font-family:var(--font-readable)!important;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums lining-nums}
.news p,.detailtext,.inbox-message p{line-height:1.9}.calendaritem{line-height:1.8}.nav{line-height:1.65}
.workspacelist button small,.presenter-heading>span:last-child,.presenter-caption button,.timecontrols #skipForm,.tax-collector-card footer button,.inbox-message time,.inbox-message button span{font-size:14px}
@media(max-width:600px){#stats .metric-note,#stats .metric-heading>span,#portfolio .holding-card small{font-size:14px}}

/* Final allocation uses its own wide, readable dialog layout. */
#retireAllocationDialog{box-sizing:border-box;width:calc(100vw - 48px)!important;max-width:1180px!important;min-width:0;max-height:90dvh;margin:auto;padding:24px;overflow:auto;scrollbar-gutter:stable;clip-path:none!important}
#retireAllocationDialog>.sectionheading{top:-24px;margin:-24px -24px 20px;padding:16px 24px;border-bottom:1px solid #465267}
#retireAllocationDialog h2{font-size:22px;line-height:1.5}#retireAllocationDialog .retirehero{padding:16px 20px;margin-bottom:20px;background:#182231}#retireAllocationDialog .retirehero h2{margin:0 0 8px}#retireAllocationDialog .retirehero>.caption{display:none}
#retireAllocationDialog>.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}
#retireAllocationDialog>.stats>.stat{padding:16px;min-width:0;display:flex;flex-direction:column;gap:12px}#retireAllocationDialog>.stats>.stat>span{font-size:14px;line-height:1.6}#retireAllocationDialog>.stats>.stat>strong{font-size:26px;white-space:nowrap;line-height:1.4}
#retireAllocationDialog .retiregrid{grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:22px;align-items:start}
#retireAllocationDialog .panel{padding:22px;min-width:0}#retireAllocationDialog .retiregrid .panel>h2{margin-top:0}#retireAllocationDialog th,#retireAllocationDialog td{font-size:15px;padding:12px 8px;line-height:1.6}#retireAllocationDialog td:last-child{white-space:nowrap}#retireAllocationDialog .tablewrap{overflow:auto}
#retireAllocationDialog #retireTrade{display:grid;gap:16px}#retireAllocationDialog label{font-size:15px;line-height:1.6;margin:0;display:grid;gap:8px;color:#d2dbe8}#retireAllocationDialog input,#retireAllocationDialog select{width:100%;box-sizing:border-box;min-height:48px;font-size:16px}#retireAllocationDialog .caption{font-size:14px;line-height:1.8;color:#b9c4d5}#retireAllocationDialog .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}#retireAllocationDialog .actions button{min-height:48px;padding:12px 18px}#retireAllocationDialog .retire-draft-status{font-size:13px;color:#9bd5b5;margin:0}
@media(max-width:1000px){#retireAllocationDialog>.stats{grid-template-columns:repeat(2,minmax(0,1fr))}#retireAllocationDialog .retiregrid{grid-template-columns:1fr}}
@media(max-width:600px){#retireAllocationDialog{width:calc(100vw - 16px)!important;padding:16px;max-height:94dvh}#retireAllocationDialog>.sectionheading{top:-16px;margin:-16px -16px 16px;padding:12px 16px}#retireAllocationDialog .panel{padding:16px}#retireAllocationDialog>.stats>.stat>strong{font-size:22px}#retireAllocationDialog .actions>button{width:100%}#retireAllocationDialog>.stats{gap:10px}}

/* New wordmark retains the original F emblem and pixel lettering. */
.brand .mission-wordmark{display:flex;flex-direction:column;gap:0;line-height:1;min-width:126px}.brand .mission-wordmark>span{font-family:'Freedom Pixel Latin',monospace!important;margin:0;white-space:nowrap}.brand .mission-wordmark .mission-kicker{font-size:12px;line-height:1.1;letter-spacing:2px;color:#c7cdd8}.brand .mission-wordmark .mission-title{font-size:25px;line-height:1.1;font-weight:700;letter-spacing:1px;color:#f2f4fa}.brand .mission-wordmark>small{font-family:'Freedom Pixel Latin',monospace!important;font-size:10px;line-height:1.2;letter-spacing:2.4px;margin:4px 0 0;color:#b99bd9}.brand .brandmark{font-family:'Freedom Pixel Latin',monospace!important}
@media(max-width:800px){.brand .mission-wordmark{min-width:100px}.brand .mission-wordmark .mission-kicker{font-size:10px;letter-spacing:1.5px}.brand .mission-wordmark .mission-title{font-size:21px}.brand .mission-wordmark>small{font-size:8px;letter-spacing:1.8px}}
@media(max-width:450px){.brand .mission-wordmark{min-width:86px}.brand .mission-wordmark .mission-kicker{font-size:9px}.brand .mission-wordmark .mission-title{font-size:18px}.brand .mission-wordmark>small{font-size:7px;letter-spacing:1.4px}}

.brand-quest-logo{display:block;width:48px;height:54px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}@media(max-width:800px){.brand-quest-logo{width:36px;height:44px}}@media(max-width:450px){.brand-quest-logo{width:30px;height:38px}}

/* Start screen requires explicit acknowledgement before accessing the game. */
.start-gated{overflow:hidden}.start-gate{position:fixed;inset:0;z-index:1000;overflow-y:auto;background:radial-gradient(ellipse at top,#222335 0,#10131b 48%,#080a0e 100%);padding:32px 20px;display:flex;align-items:safe center;justify-content:center}.start-gate[hidden]{display:none}.start-gate-content{width:min(100%,760px);margin:auto;text-align:center}.start-quest{object-fit:contain;image-rendering:pixelated}.start-gate h1{font-size:36px;margin:8px 0 24px;line-height:1.2;color:#f1f4fa}.start-gate h1 span{font-family:'Freedom Pixel Latin',Tahoma,sans-serif!important;color:#b79ddd}.start-disclaimer{text-align:left;padding:28px!important;--pixel-frame:url('/assets/ui/pixel-frame-gold.svg')}.start-disclaimer h2{margin:0 0 16px}.start-disclaimer p{font-size:16px;line-height:1.85;color:#cbd3df;margin:0 0 16px}.start-disclaimer strong{color:#ffcf91}.start-acknowledgement{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#1c2532;margin:22px 0;font-size:16px!important;color:#f1f4fa;cursor:pointer}.start-acknowledgement input{width:22px;height:22px;min-width:22px;margin:3px 0 0;accent-color:#aa8ae2}.start-disclaimer #enterGame{width:100%;min-height:52px;font-size:18px}.start-disclaimer #enterGame:disabled{opacity:.4;cursor:not-allowed}.start-gated>.topbar,.start-gated>.app{visibility:hidden}@media(max-width:600px){.start-gate{padding:24px 12px}.start-gate h1{font-size:29px}.start-disclaimer{padding:22px!important}.start-acknowledgement{font-size:15px!important}}

#startLegalStep[hidden],#startGuideStep[hidden],#replaceSaveNotice[hidden],#savedGameSummary[hidden],#continueSavedGame[hidden]{display:none}.start-play-steps{padding-left:24px;margin:20px 0 24px}.start-play-steps li{padding-left:6px;margin-bottom:16px;color:#cbd3df}.start-play-steps strong{display:block;color:#edf2fa;font-size:17px}.start-play-steps span{display:block;line-height:1.8}.start-save-summary{background:#1c293a;border-left:4px solid #a58cda;padding:16px;margin:24px 0;display:grid;gap:6px;color:#c3d0df}.start-save-summary strong{color:#e7ddfa}.start-play-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.start-play-actions button{min-height:54px;padding:14px}.start-replace-notice{border:2px solid #b46b78;padding:16px;margin:18px 0;background:#2a1920}.start-replace-notice p{margin:0 0 12px}.start-replace-notice .actions{display:flex;flex-wrap:wrap;gap:12px}.start-guide #backToStartLegal{font-size:14px}.start-gate-content #startGuideTitle{outline:none}@media(max-width:600px){.start-play-actions{grid-template-columns:1fr}}

#startBirthStep[hidden]{display:none}.birth-profile-heading{display:flex;align-items:center;gap:22px;margin-bottom:24px}.birth-profile-baby{width:128px;height:128px;flex-shrink:0;background:url('/assets/player/baby-3.png') 0 0/300% 100% no-repeat;image-rendering:pixelated;border:2px solid #606b7b}.birth-profile-label{color:#bca1e4;font-size:14px}.birth-profile-heading h2{margin:6px 0;font-size:25px}.birth-profile-heading p{margin:0;color:#c8d4e3}.birth-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.birth-profile-grid .birth-profile-stat{padding:16px;margin:0;min-width:0}.birth-profile-stat>span{font-size:14px;color:#bdc9d9}.birth-profile-stat>strong{font-size:21px;line-height:1.6;color:#f1f4fa}.birth-profile-note{font-size:14px!important;margin:22px 0!important;line-height:1.8}.birth-introduction-dialog{width:calc(100vw - 32px);max-width:760px;max-height:90dvh;overflow:auto;padding:26px}#enterBornLife,#enterBornLifeDialog{width:100%;min-height:52px;font-size:18px}@media(max-width:550px){.birth-profile-heading{flex-direction:column;text-align:center;gap:14px}.birth-profile-grid{grid-template-columns:1fr}.birth-profile-heading h2{font-size:23px}}

.educationchoices.panel{--pixel-frame:url("/assets/ui/pixel-frame-gold.svg")}.educationchoices>.eyebrow{color:#e8c879;font-size:16px}.education-start-actions{display:flex;justify-content:flex-end;margin-top:22px}.education-start-actions>button{min-height:48px;padding:14px 22px}@media(max-width:600px){.education-start-actions>button{width:100%}}

.overview-monthly-cashflow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.overview-monthly-cashflow>.stat{margin:0;padding:18px;min-width:0;display:flex;flex-direction:column;gap:10px}.overview-monthly-cashflow>.stat>span{font-size:15px}.overview-monthly-cashflow>.stat>strong{font-size:28px;font-weight:700;white-space:nowrap}.overview-monthly-cashflow>.stat>small{font-size:13px;color:#b8c4d5}.overview-monthly-cashflow>.overview-living-cost{--pixel-frame:url("/assets/ui/pixel-frame-orange.svg")}.overview-monthly-cashflow>.overview-monthly-income{--pixel-frame:url("/assets/ui/pixel-frame-green.svg")}@media(max-width:450px){.overview-monthly-cashflow{gap:12px}.overview-monthly-cashflow>.stat{padding:14px}.overview-monthly-cashflow>.stat>strong{font-size:23px}}

/* Give terminal watchlist names their own space beside stable price columns. */
@media(min-width:901px){.investmentworkspace{grid-template-columns:320px minmax(0,1fr);gap:22px}.workspaceassets{padding:14px}}
.workspaceassets .workspacelist button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 8px;flex-wrap:nowrap;min-width:0}.workspaceassets .workspacelist button .asset-logo{width:28px;height:28px}.workspaceassets .workspacelist .workspace-symbol{min-width:0;overflow:hidden;white-space:nowrap;font-size:15px}.workspaceassets .workspacelist .workspace-symbol small{display:block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.6;margin-top:4px}.workspaceassets .workspacelist button>b{white-space:nowrap;font-size:16px;min-width:86px}.workspaceassets .workspacelist button>b .quote-change{font-size:13px}
@media(min-width:901px) and (max-width:1200px){.investmentworkspace{grid-template-columns:290px minmax(0,1fr);gap:18px}}
@media(max-width:600px){.workspaceassets .workspacelist{grid-template-columns:1fr}.workspaceassets .workspacelist button{grid-template-columns:28px minmax(0,1fr) auto}}

.timecontrols .sound-toggle{font-size:12px;min-height:28px;padding:4px 10px;justify-self:end;color:#d6dbe5;background:#1c2533;}

.pending-purchases{margin-top:18px}.pending-purchases h3{font-size:17px;color:#e7c56b}.pending-purchase{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;padding:14px;border:2px solid #88764c;background:#1c1b17}.pending-purchase small{display:block;font-size:13px;line-height:1.7;color:#bcc3cf}.pending-purchase .holding-identity{display:grid;grid-template-columns:30px 1fr;gap:4px 8px}.pending-purchase .asset-logo{grid-row:span 2}.pending-purchase button{font-size:13px;flex-shrink:0}@media(max-width:650px){.pending-purchase{flex-wrap:wrap}}

.music-controls{position:relative;justify-self:end;font-size:13px}.music-controls>summary{cursor:pointer;padding:5px 10px;color:#d4c3f4;background:#24212d;list-style:none}.music-popover{position:absolute;right:0;top:100%;margin-top:8px;z-index:2000;width:270px;max-width:80vw;padding:16px;background:#16191f;border:2px solid #858c98;box-shadow:4px 4px 0 #050608}.music-popover b,.music-popover small,.music-popover label{display:block;line-height:1.7}.music-popover small{color:#b9aec9}.music-popover input{width:100%}.music-popover button{font-size:13px;padding:7px 9px;min-height:32px}.music-popover .actions{margin:10px 0}

.audio-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px}.audio-controls>.sound-toggle{flex:1}.audio-controls>.music-controls{flex-shrink:0}

/* Compact audio controls occupy the header gap before the date. */
.topbar>.audio-controls{flex:0 0 auto;align-self:center;justify-content:center;gap:8px;margin:0 14px 0 20px}.topbar>.audio-controls>.sound-toggle{flex:0 0 auto;min-width:88px;min-height:34px;padding:6px 10px;font-size:13px;white-space:nowrap}.topbar>.audio-controls>.music-controls{margin:0;min-width:68px}.topbar>.audio-controls>.music-controls>summary{min-height:34px;display:flex;align-items:center;justify-content:center;padding:6px 10px;white-space:nowrap}.topbar>.audio-controls .music-popover{top:calc(100% + 8px)}@media(max-width:1100px){.topbar>.audio-controls{margin:0 5px;gap:6px}.topbar>.audio-controls>.sound-toggle{min-width:76px}}@media(max-width:720px){.topbar>.audio-controls{order:4;margin:4px 0;justify-content:flex-start}}

/* Reserve independent header columns so audio never compresses time controls. */
@media(min-width:1101px){
 .topbar{display:grid;grid-template-columns:auto minmax(140px,1fr) 168px 180px 250px;column-gap:18px;align-items:center}
 .topbar>.brand{min-width:0}
 .topbar>.gamehud{width:100%;min-width:0;margin:0}
 .topbar>.audio-controls{width:168px;min-width:168px;margin:0;gap:8px;justify-content:center}
 .topbar>.audio-controls>.sound-toggle{width:90px;min-width:90px}
 .topbar>.audio-controls>.music-controls{width:70px;min-width:70px}
 .topbar>.clock{width:180px;max-width:180px;min-width:0;margin:0;font-size:14px}
 .topbar>.timecontrols{width:250px;min-width:250px;flex-shrink:0;margin:0}
 .topbar>.timecontrols #skipForm{flex-wrap:nowrap;justify-content:flex-end;white-space:nowrap}
 .topbar>.timecontrols #next{width:100%}
}

.debt-payment-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0 18px;color:#bfc8d7;font-size:14px}.debt-payment-summary b{color:#f3c1ca}
