/* Approved pixels and measured 1080x1920 layout. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.btn.has-mother-art{padding:0;background:none;text-shadow:none;overflow:hidden;border-radius:20px}
.button-art{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
.home-street{display:none;position:absolute;inset:0;width:1080px;height:1920px;object-fit:cover}
.home-stage .street,.home-stage #world .actor,.home-stage .world-bubble,.home-stage .paper-float{display:none}
.home-stage .home-street{display:block}
.home-logo{left:102px;right:24px;top:73px;height:445px}
.home-logo img{object-fit:fill}
.home-gear{right:33px;top:36px;width:100px;height:100px}
.home-buttons{left:0;right:0;bottom:0;height:450px;display:block;gap:0;background:transparent url('../assets/card.png') center top/100% 520px no-repeat}
.home-buttons>.btn{position:absolute;min-height:0;flex:none}
.home-buttons>[data-action=new]{left:63px;top:24px;width:954px;height:179px;border-radius:34px}
.home-buttons>[data-action=resume]{left:128px;top:212px;width:828px;height:138px;border-radius:30px}
.home-buttons p{position:absolute;left:0;right:0;top:369px;margin:0;padding:0;background:none;border-radius:0;font-size:28px;letter-spacing:11px;color:#30495c}
.home-buttons .fiction{position:absolute;left:0;right:0;top:415px;font-size:17px;padding:0;background:none}
/* 顶部信息条：整块用母图（hud-whole.png，已擦掉天数、金额、进度和齿轮），只叠会变的五样。位置照母图 02 量，乘 1080/940 */
.hud{left:39px;top:11px;width:1009px;height:202px;right:auto;padding:0;display:block;position:absolute;isolation:isolate;border:0;background:url('../assets/ui/r04/main/hud-whole.png') 0 0/100% 100% no-repeat}
.hud>.r04-main-skin,.hud .avatar,.hud .hud-label-art{display:none}
.hud .day{position:absolute;left:231px;top:68px;width:180px}
.hud .day strong{display:block;font-size:40px;line-height:1;font-weight:800;color:#0e2740;white-space:nowrap}
.hud .dayrail{position:absolute;left:-2px;top:55px;width:179px;height:22px;margin:0;border:0;background:none;border-radius:11px;overflow:hidden}
.hud .dayrail .r04-main-skin{display:none}
.hud .dayrail i{display:block;height:100%;min-width:24px;background:#fbd43a;border:2px solid #102a45;border-radius:11px;box-sizing:border-box;transition:width .5s}
.hud .metric{position:absolute;top:98px;left:473px;width:230px;display:block;border:0;padding:0;min-width:0}
.hud .metric~.metric{left:713px}
.hud .metric b{display:block;font-size:48px;line-height:1;font-weight:800;letter-spacing:-1px;color:#0e2740;white-space:nowrap}
.hud .gear{position:absolute;left:914px;top:67px;right:auto;width:62px;height:62px}
.dock{left:20px;right:20px;bottom:0;height:652px;padding:24px 17px 19px;border-width:0;gap:0;background:transparent url('../assets/card.png') center/100% 100% no-repeat}
.news-row{height:82px;padding:0 24px;gap:22px;font-size:42px}
.news-row>span{display:block;width:68px;height:60px;font-size:0;background:url('../assets/ui/r04/news-icon.png') center/contain no-repeat}
.news-row strong{font-size:40px}
.company-tabs{height:126px;gap:13px;margin:8px 0 10px}
.company-tab{font-size:47px;gap:16px;padding:15px 18px}
.company-tab .company-icon{width:91px;height:91px}
.selected-stock{height:151px;border-width:17px;margin-bottom:10px;padding:0 8px}
.stock-top{height:70px;gap:17px}.stock-top strong{font-size:41px}.stock-top b{font-size:48px}.stock-top>span{font-size:40px}
.stock-bottom{height:48px;font-size:35px}.stock-bottom .text-button{font-size:33px;padding:0}
.trade-buttons{height:111px;gap:14px;margin-bottom:10px}
.dock .btn{height:111px;min-height:111px;flex:none}
.trade-buttons .btn{flex:1}.dock>[data-action=advance]{height:102px;min-height:102px;width:100%}
.quote-bubble{display:none}
.guide{bottom:680px}
/* Mother06/07: bottom-anchored trade windows and original portraits. */
.r04-trade{position:absolute;left:62px;top:678px;width:966px;height:1166px;color:#082b46}
.trade-skin{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.trade-portrait{position:absolute;left:0;top:-140px;width:302px;height:316px;object-fit:fill;z-index:2;clip-path:polygon(0% 100%,0% 75%,5% 61%,8% 48%,15% 43%,12% 36%,9% 34%,14% 30%,7% 28%,15% 22%,10% 20%,22% 16%,19% 12%,29% 12%,29% 8%,39% 8%,43% 3%,51% 7%,59% 0%,62% 7%,69% 6%,72% 10%,80% 12%,76% 18%,88% 19%,80% 23%,87% 28%,78% 32%,75% 39%,79% 44%,86% 41%,92% 41%,98% 45%,100% 51%,98% 61%,90% 65%,84% 68%,76% 75%,71% 81%,68% 88%,64% 93%,62% 98%)}
.is-sell .trade-portrait{clip-path:polygon(0 100%,0 75%,5% 61%,8% 48%,15% 43%,12% 36%,9% 34%,14% 30%,7% 28%,15% 22%,10% 20%,22% 16%,19% 12%,29% 12%,29% 8%,39% 8%,43% 3%,51% 7%,59% 0%,62% 7%,69% 6%,72% 10%,80% 12%,76% 18%,88% 19%,80% 23%,87% 28%,78% 32%,75% 39%,77% 43%,94% 38%,99% 46%,94% 70%,87% 73%,82% 91%,72% 98%)}
.trade-heading{position:absolute;left:235px;right:107px;top:49px;height:108px;display:flex;gap:12px;align-items:center}
.trade-heading .company-icon{width:105px;height:105px;object-fit:contain}
.trade-heading h2{display:flex;white-space:nowrap;align-items:baseline;gap:0;font-size:62px;letter-spacing:-3px;line-height:1;margin:0;font-weight:900}
.trade-heading h2 b{color:#ec3539;-webkit-text-stroke:1px #fff7dc;text-shadow:1px 2px #fff7dc}
.trade-close{position:absolute;right:21px;top:69px;width:95px;height:95px;padding:0;background:none;border:0;z-index:4;border-radius:50%;overflow:hidden}
.trade-close img{width:100%;height:100%;object-fit:fill}
.trade-price,.trade-held,.trade-cash{position:absolute;left:54px;right:52px;height:78px;padding:7px 48px;display:flex;align-items:center;justify-content:space-between;background:url('../assets/card.png') center/100% 100% no-repeat;font-size:45px;font-weight:900}
.trade-price{top:184px}.trade-price b{font-size:66px;color:#ed373b}.trade-held{top:269px}.trade-held b{font-size:58px}
.trade-question{position:absolute;left:40px;right:40px;top:277px;margin:0;text-align:center;font-size:52px;font-weight:900;line-height:1.1}
.is-sell .trade-question{top:352px}
.trade-choices{position:absolute;top:350px;left:53px;right:53px;height:208px;display:flex;gap:16px}
.is-sell .trade-choices{top:420px;height:196px}
.trade-choice{position:relative;min-width:0;flex:1;border:0;padding:25px 12px 12px;background:transparent url('../assets/button-cream.png') center/100% 100% no-repeat;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:47px;font-weight:900;line-height:1.25}
.trade-choice b{font-size:66px;letter-spacing:-2px}.trade-choice.is-selected{background-image:url('../assets/tab-active.png')}.is-sell .trade-choice.is-selected{background-image:url('../assets/button-teal.png')}
.trade-choice.is-selected b{color:#ed373b;-webkit-text-stroke:1px #fffbe7}.trade-choice i{position:absolute;right:14px;top:13px;width:54px;height:54px;line-height:49px;text-align:center;font-size:40px;font-style:normal;background:#f7563d;border:4px solid #fffce9;border-radius:50%;color:white}
.is-sell .trade-choice i{background:#0b8f88}
.trade-receipt{position:absolute;left:53px;right:53px;top:577px;height:218px;padding:16px 55px;background:transparent url('../assets/card.png') center/100% 100% no-repeat;font-size:43px;font-weight:900;line-height:1.2}
.trade-receipt p{display:flex;justify-content:space-between;margin:0 0 10px}.trade-total{padding-top:12px;border-top:2px solid #c9c8b7}.trade-total b{font-size:58px;color:#ed373b}
.is-sell .trade-receipt{top:631px;height:202px;padding-top:10px}.is-sell .trade-receipt p{margin-bottom:8px}.is-sell .trade-total{padding-top:8px}
.trade-cash{top:808px;height:73px;font-size:43px;padding-left:105px;padding-right:90px}.is-sell .trade-cash{top:844px}
.trade-risk{position:absolute;left:33px;right:33px;top:889px;height:117px;background:transparent url('../assets/card.png') center/100% 100% no-repeat;display:flex;align-items:center;justify-content:center}
.is-sell .trade-risk{top:935px;height:78px}
.trade-risk p{margin:0 133px 0 150px;font-size:31px;font-weight:900;text-align:center;white-space:nowrap;z-index:1}.trade-risk b{color:#e84235}.trade-risk small{display:block;font-size:26px;font-weight:600;color:#647078;margin-top:5px}
.trade-risk-hero{position:absolute;left:0;bottom:0;width:185px;height:142px;object-fit:fill;clip-path:polygon(0 100%,0 75%,7% 62%,13% 50%,16% 33%,25% 23%,29% 12%,44% 7%,55% 0,64% 11%,79% 18%,83% 40%,85% 67%,93% 82%,100% 100%)}
.trade-risk-elder{position:absolute;right:-3px;bottom:-8px;width:195px;height:186px;object-fit:fill;clip-path:polygon(0 100%,0 70%,12% 66%,10% 50%,22% 40%,22% 20%,31% 11%,40% 5%,55% 0,73% 9%,83% 24%,85% 52%,93% 68%,100% 80%,96% 100%)}
.r04-trade footer{position:absolute;left:36px;right:36px;top:1018px;height:127px;display:grid;grid-template-columns:.76fr 1fr;gap:15px;z-index:4}
.r04-trade footer .btn{height:127px;min-height:127px;width:100%;border-radius:22px}
/* 卖出弹窗：母图 07 的底部按钮比买入弹窗扁（确认卖出 440×103），按图的原比例摆，不拉高 */
.r04-trade.is-sell footer{display:flex;justify-content:center;align-items:center;gap:15px}
.r04-trade.is-sell footer .btn{flex:none;height:117px;min-height:117px}
.is-sell .trade-risk-hero{height:133px}
.r04-trade.is-sell footer .btn[data-action=dismiss]{width:358px}.r04-trade.is-sell footer .btn[data-action=confirmTrade]{width:500px}
/* Main actor lanes follow mother02/24 rather than overlapping at the left edge. */
.trading .hero{left:350px;z-index:2}.trading .clerk{left:540px;z-index:1}.trading .elder{z-index:3}.trading .cat{z-index:4}
@keyframes hero-path{0%{transform:translate(-70px,5px)}45%{transform:translate(85px,-20px)}50%{transform:translate(90px,-22px)}51%{transform:translate(90px,-22px) scaleX(-1)}95%{transform:translate(-65px,5px) scaleX(-1)}100%{transform:translate(-70px,5px)}}
@keyframes clerk-path{0%{transform:translate(-90px,10px);opacity:0}5%{opacity:1}60%{transform:translate(190px,-30px);opacity:1}70%,100%{transform:translate(310px,-50px);opacity:0}}
.trade-price,.trade-held,.trade-cash,.trade-receipt,.trade-risk{background:none;border:5px solid transparent;border-image:url('../assets/ui/r04/inner-card.png') 16 fill stretch;border-image-width:5px}
.trade-choice{background:none;border:6px solid transparent;border-image:url('../assets/ui/r04/inner-card.png') 16 fill stretch;border-image-width:6px}
.trade-choice.is-selected,.is-sell .trade-choice.is-selected{border-image-slice:16;background:#ffdf43;outline:4px solid #143346;outline-offset:-4px;border-radius:24px}
.is-sell .trade-choice.is-selected{background:#15b8ab}
.trade-receipt{font-size:42px;line-height:1.07;padding-top:14px;padding-bottom:14px}.trade-receipt p{margin-bottom:6px}.trade-receipt .trade-total{padding-top:8px;margin-bottom:0}.trade-total b{font-size:56px}
.is-sell .trade-receipt{padding-top:10px}.is-sell .trade-receipt p{margin-bottom:5px}
.trade-cash{padding-right:200px}
.r04-main-skin{position:absolute!important;inset:0;z-index:-1;pointer-events:none}
.r04-main-skin>img{z-index:0}
.dock,.news-row,.selected-stock{isolation:isolate;position:absolute;background:none;border:0}
.news-row,.selected-stock{position:relative}
.selected-stock{padding:10px 20px 7px}
.stock-top{height:69px}.stock-bottom{height:48px}
.news-row{border-radius:20px}
.r04-main-skin .frame-c{background:#fff9e6}
.trade-heading .trade-word{width:128px;height:78px;object-fit:fill}
.trade-heading h2{font-size:61px;gap:0}
.trade-question>img{height:56px;width:305px;object-fit:fill}
.trading .elder{width:310px;height:310px;right:42px;bottom:650px}
.trading .clerk{width:230px;height:285px;bottom:920px}
.trade-risk-elder{height:169px;bottom:0}
.trade-choice{font-weight:900}
.dock>.r04-main-skin{border-radius:40px 40px 0 0;overflow:hidden}
.trade-portrait{clip-path:polygon(0 100%,0 76%,5% 61%,8% 48%,15% 43%,12% 36%,9% 34%,14% 30%,7% 28%,15% 22%,10% 20%,22% 16%,19% 12%,29% 12%,29% 8%,39% 8%,43% 3%,51% 7%,59% 0%,62% 7%,69% 6%,72% 10%,80% 12%,76% 18%,85% 19%,79% 23%,84% 28%,76% 32%,73% 39%,79% 44%,86% 41%,92% 41%,98% 45%,100% 51%,98% 61%,90% 65%,84% 68%,76% 75%,71% 81%,68% 88%,64% 93%,62% 98%)}
.company-tab{background:none;position:relative}.company-tab:nth-child(1){background:transparent url('../assets/ui/r04/main/tab-ice-normal.png') center top/100% auto no-repeat}.company-tab:nth-child(1).active{background-image:url('../assets/ui/r04/main/tab-ice.png')}.company-tab:nth-child(2){background:transparent url('../assets/ui/r04/main/tab-box.png') center top/100% auto no-repeat}.company-tab:nth-child(2).active{background-image:url('../assets/ui/r04/main/tab-box-selected.png')}.company-tab:nth-child(3){background:transparent url('../assets/ui/r04/main/tab-travel.png') center top/100% auto no-repeat}.company-tab:nth-child(3).active{background-image:url('../assets/ui/r04/main/tab-travel-selected.png')}
.company-tab>.company-icon,.company-tab>span{visibility:hidden}.company-tab:not(.active){filter:saturate(.25)}.company-tab.active{filter:none}
.company-tab:has(small)>span{visibility:visible;font-size:0;position:absolute;bottom:0;left:4px;right:4px}.company-tab small{font-size:19px;background:#fff9e6;padding:1px 3px;border-radius:8px}
.stock-top strong{font-size:39px}.stock-top b{font-size:44px}.stock-top>span{font-size:35px}
.trade-heading h2{align-items:center}.trade-heading h2 b{font-size:59px}
.world-bubble{border-radius:50%;background:#fffdf2;border:4px solid #17364d;padding:20px 27px}

.company-tab:not(.active){filter:none}

.home-buttons{background:none;isolation:isolate}
.home-logo{left:105.6px;top:75.8px;width:945.7px;right:auto;height:443.25px}
.trade-emphasis{position:absolute;left:248px;top:-115px;width:79px;height:77px;object-fit:contain;z-index:3}
.actor .advice,.actor .alert{display:none}
.advising .elder .sip,.advising .elder .think{display:none}.advising .elder .advice{display:block}
.alert-cat .cat .sleep,.alert-cat .cat .play{display:none}.alert-cat .cat .alert{display:block}
.r04-foreground-left{position:absolute;left:0;top:1091px;width:252.5px;height:183.7px;pointer-events:none;z-index:6}
.home-stage .r04-foreground-left{display:none}
#world:before{content:'';position:absolute;inset:0;background:url('../assets/street.png') center/100% 100% no-repeat;z-index:8;display:none}
.loaderror-stage #world:before{display:block}.loaderror-stage #screen .r04-loading{visibility:hidden}
.r04-empty-folder{width:42px;height:37px;object-fit:contain;vertical-align:middle;margin-right:8px}
#toast.feedback-buy,#toast.feedback-sell{isolation:isolate;padding:0;box-shadow:none;background:none;left:16%;right:auto;width:68%;height:auto;aspect-ratio:2.9;bottom:35%;border-radius:18px;text-align:left;color:#092b43;overflow:hidden}
#toast.feedback-buy .r04-main-skin,#toast.feedback-sell .r04-main-skin{z-index:-1}
.feedback-hero{position:absolute;left:1%;top:1%;height:98%;width:40%;object-fit:contain}.feedback-label{position:absolute;left:42%;top:43%;width:52%;height:25%;object-fit:fill}.feedback-tick{position:absolute;left:65%;top:4%;width:22%;height:38%;object-fit:contain}
#toast .feedback-money{position:absolute;left:42%;right:4%;bottom:11%;font-size:clamp(12px,2.5vw,28px);font-weight:900;margin:0;white-space:nowrap;color:#08695d}
#toast small{position:absolute;left:42%;bottom:2%;font-size:clamp(10px,1.9vw,22px);color:#173b46}
#toast.feedback-sell{aspect-ratio:5.3;color:#fff}.feedback-sell .feedback-money{left:5%!important;right:5%!important;top:15%;bottom:auto!important;color:#fff!important;font-size:clamp(14px,3vw,34px)!important}.feedback-sell small{left:5%!important;bottom:13%!important;color:#fff!important}
#toast.feedback-bad{left:28%;right:auto;width:44%;height:auto;aspect-ratio:315/193;bottom:39%;padding:0;background:none;box-shadow:none;border-radius:14px;overflow:hidden}
.feedback-failure{display:block;width:100%;height:100%;object-fit:fill}
.holding-trigger{padding:0;border:0;background:none;font:inherit;line-height:inherit;display:inline-block;color:inherit;cursor:pointer}
.holding-trigger:active{filter:brightness(.7);transform:scale(.97)}
.r04-empty-dialog{position:absolute;left:240px;top:700px;width:600px;display:flex;flex-direction:column;gap:20px}
.r04-empty-dialog>img{width:100%;height:auto;object-fit:contain}.r04-empty-dialog>.btn{height:115px;min-height:115px}
.r04-progress-dialog{position:absolute;left:200px;top:540px;width:680px;height:840px;display:flex;flex-direction:column;gap:15px;padding:25px}
.no-progress-art{width:100%;height:265px;object-fit:contain}.r04-progress-dialog .btn{min-height:100px;flex:1;font-size:48px}
.home-buttons button.fiction{border:0;background:none;width:100%;font-size:17px;color:#30495c;cursor:pointer}
.company-tab:has(small)>span{left:80px;right:12px;bottom:13px}
.company-tab small{font-size:17px;line-height:20px;background:transparent;padding:0;color:#153547;font-weight:700}
.company-tab.active:after{content:'';position:absolute;right:7px;top:6px;width:36px;height:36px;background:url('../assets/ui/r04/states/tab-check.png') center/contain no-repeat}
.r04-progress-dialog [data-action=resume]:disabled{opacity:1;filter:none}
.trade-cash-warning{left:170px;top:267px;width:620px;height:79px;padding:0;z-index:5}
.trade-cash-warning>img{width:100%;height:100%;object-fit:fill}
.r04-trade:has(.trade-cash-warning) .trade-question{display:none}
.r04-company-link-art{display:block;width:192px;height:48px;object-fit:fill}
.trade-fixed-label>img{display:block;width:174px;height:48px;object-fit:fill}
.trade-choice-label{display:block;height:48px;width:100%;position:relative}
.trade-choice-label>img{height:48px;width:161px;object-fit:contain}
/* Measured dock rectangles; explicit positions avoid flex shrink changing art proportions. */
.dock>.news-row{position:absolute;left:20px;right:20px;top:22px;width:calc(100% - 40px);height:82px}
.dock>.company-tabs{position:absolute;left:18px;right:18px;top:113px;height:133px;margin:0}
.dock>.selected-stock{position:absolute;left:12px;right:12px;top:249px;height:154px;margin:0}
.dock>.trade-buttons{position:absolute;left:14px;right:14px;top:409px;height:114px;margin:0}
.dock>.trade-buttons .btn{height:114px;min-height:114px}
.dock>[data-action=advance]{position:absolute;left:6px;right:6px;top:529px;width:calc(100% - 12px);height:102px;min-height:102px}
#screen.view-game:has(.r04-guide) .dock>.news-row{top:16px;height:60px}
#screen.view-game:has(.r04-guide) .dock>.company-tabs{top:85px;height:107px;margin:0;align-items:flex-start}
#screen.view-game:has(.r04-guide) .dock>.selected-stock{top:188px;height:112px;margin:0}
#screen.view-game:has(.r04-guide) .dock>.trade-buttons{top:310px;height:70px;margin:0}
#screen.view-game:has(.r04-guide) .dock>.trade-buttons .btn{height:70px;min-height:70px}
#screen.view-game:has(.r04-guide) .dock>[data-action=advance]{top:385px;left:10px;right:auto;width:1020px;height:96px;min-height:96px}
/* 首日引导这一屏：母图 21 本身是紧凑版，按钮、页签另有一套画法，直接用 21 上切的图，不压扁平常那套 */
#screen.view-game:has(.r04-guide) .company-tab{height:94px;background-size:100% 100%}#screen.view-game:has(.r04-guide) .company-tab.active{height:107px}
#screen.view-game:has(.r04-guide) .company-tab:nth-child(1){background-image:url('../assets/ui/r04/main/guide-tab-ice-normal.png')}#screen.view-game:has(.r04-guide) .company-tab:nth-child(1).active{background-image:url('../assets/ui/r04/main/guide-tab-ice.png')}
#screen.view-game:has(.r04-guide) .company-tab:nth-child(2){background-image:url('../assets/ui/r04/main/guide-tab-box.png')}#screen.view-game:has(.r04-guide) .company-tab:nth-child(2).active{background-image:url('../assets/ui/r04/main/guide-tab-box-selected.png')}
#screen.view-game:has(.r04-guide) .company-tab:nth-child(3){background-image:url('../assets/ui/r04/main/guide-tab-travel.png')}#screen.view-game:has(.r04-guide) .company-tab:nth-child(3).active{background-image:url('../assets/ui/r04/main/guide-tab-travel-selected.png')}
#screen.view-game:has(.r04-guide) .dock .btn[data-action=buy]{background:url('../assets/ui/r04/main/guide-buy.png') 0 0/100% 100% no-repeat}
#screen.view-game:has(.r04-guide) .dock .btn[data-action=sell]:disabled{background:url('../assets/ui/r04/main/guide-sell-disabled.png') 0 0/100% 100% no-repeat;filter:none;opacity:1}
#screen.view-game:has(.r04-guide) .dock .btn[data-action=advance]{background:url('../assets/ui/r04/main/guide-advance.png') 0 0/100% 100% no-repeat}
#screen.view-game:has(.r04-guide) .dock .btn[data-action=buy]>img,#screen.view-game:has(.r04-guide) .dock .btn[data-action=sell]:disabled>img,#screen.view-game:has(.r04-guide) .dock .btn[data-action=advance]>img{display:none!important}
#screen.view-game:has(.r04-guide) .dock .btn[data-action=advance]:active:not(:disabled){filter:brightness(.82)}
.trade-close{display:flex;align-items:center;justify-content:center;top:78px;right:25px;width:95px;height:95px}
.trade-close img{width:52px;height:48px;object-fit:contain}
#toast.feedback-buy{aspect-ratio:320/189;width:44%;left:28%;bottom:35%}
.feedback-sell-tick{position:absolute;left:3%;top:12%;width:10%;height:76%;object-fit:contain}
#toast.feedback-sell .feedback-money,#toast.feedback-sell small{left:16%!important}

/* Mother-drawn press/disabled states retain bevels and interior rules. */
.btn>.button-state{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:none;pointer-events:none}
.btn[data-action=advance]:active:not(:disabled){filter:none;transform:translateY(3px) scale(.985)}
.btn[data-action=advance]:active:not(:disabled)>.button-art,.btn[data-action=advance]:disabled>.button-art{visibility:hidden}
.btn[data-action=advance]:active:not(:disabled)>.button-pressed,.btn[data-action=advance]:disabled>.button-disabled{display:block}
.btn[data-action=advance]:disabled{opacity:1;filter:none}
#toast.feedback-sell{aspect-ratio:4.7}
#toast.feedback-sell small{bottom:16%!important}
.r04-info-title:active,.r04-review-back:active,.r04-company-news:active{transform:scale(.965);filter:brightness(.79)}
@keyframes hero-path{0%{transform:translate(-310px,5px) scaleX(1)}45%{transform:translate(85px,-20px) scaleX(1)}50%{transform:translate(90px,-22px) scaleX(1);animation-timing-function:steps(1,end)}50.01%{transform:translate(90px,-22px) scaleX(-1)}95%{transform:translate(-305px,5px) scaleX(-1)}99.99%{transform:translate(-310px,5px) scaleX(-1);animation-timing-function:steps(1,end)}100%{transform:translate(-310px,5px) scaleX(1)}}
.trade-choice{isolation:isolate;border:0!important;outline:none!important;background:none!important;border-radius:26px}
.trade-choice-skin{position:absolute!important;inset:0;z-index:-1;border-radius:26px;overflow:hidden}
.trade-choice-skin>img{z-index:0}
.trade-selected-check{position:absolute;right:12px;top:11px;width:59px;height:59px;object-fit:contain}
.trade-choice strong{font-weight:900}
.trade-choice b{font-weight:900}
.trade-cash-warning{position:absolute;left:310px;top:262px;font-size:30px;color:#c52c20;margin:0;font-weight:900;z-index:5}
/* Final live contrast pass: keep mother lettering and improve live data ink. */
.home-buttons button.fiction:active{background:#ffdf43;border-radius:8px;box-shadow:inset 0 0 0 3px #17364d;color:#082b46}
.stock-top>span.positive,.stock-top>span:not(.negative){color:#b83a2b}
.stock-top>span.negative{color:#047b76}
.trade-risk p b{color:#b72e25}
.is-sell .trade-heading h2 b{color:#d12d2d;-webkit-text-stroke:3px #fff9e8;paint-order:stroke fill;text-shadow:1px 2px #fff6d0}
.is-sell .trade-choice.is-selected b{color:#d12d2d;-webkit-text-stroke:3px #fff9e8;paint-order:stroke fill}
#screen .r04-stat.positive .r04-stat-value{color:#b82e28;background-image:linear-gradient(#d84838,#b52b27);-webkit-text-stroke:.6px #a72c25}
#screen .r04-stat.negative .r04-stat-value{color:#06756e;background-image:linear-gradient(#0b8d86,#066b66);-webkit-text-stroke:.6px #066b66}
#overlay .r04-exit-data>i{color:#526373}
#overlay .r04-calendar-number strong{color:#bc492d}
#overlay .r04-company-chart canvas{height:190px}
#overlay .r04-company-chart small,#overlay .r04-review-chart small{color:#415363}
.trade-selected-check{clip-path:circle(50% at 50% 50%)}
.btn>.button-lettering{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.btn:has(>.button-lettering)>.button-art{filter:brightness(.82)}
.btn.coral:has(>.button-lettering)>.button-art{filter:brightness(.93)}
.r04-result-page .btn:has(>.button-lettering)>.button-art{filter:brightness(.76)}
.trade-choice-skin>.trade-choice-center{position:absolute;left:3%;top:8%;width:94%;height:84%;object-fit:fill}
.trade-choice-skin>.trade-choice-ring{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.trade-choice:has(.trade-choice-ring)>.trade-selected-check{display:none}

#toast.feedback-buy .feedback-hero{left:1%;top:2%;height:97%;width:40%;object-fit:contain}
