/* Game layout: compact site identity, readable controls, play before paperwork. */
:root{--mint:#c1edab;--text:#e8ecdf;--muted:#a1adba;--line:#35434a}
body{background:#111820;background-image:radial-gradient(ellipse at 50% 0,#263b3b55,transparent 65%);font-size:14px}
.app-shell{max-width:1328px;padding:0 28px}
.game-site-header{height:58px;margin:0;background:transparent;box-shadow:none;border-bottom:1px solid #354940}
.game-site-brand{font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:17px;letter-spacing:0;gap:10px}
.game-site-brand b{font:600 13px Consolas,monospace;color:#9daea8}
.pixel-vfx-logo{transform:scale(.8);transform-origin:left center;width:30px;object-fit:contain}
.pixel-account-bar{gap:8px}
.pixel-account-bar button{min-height:34px;padding:7px 15px;font-size:12px;line-height:1.2;border-radius:3px}
/* The shared account component styles its full-size website header separately. */
.game-site-header #account-open.header-account-card{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;max-width:180px;height:34px;min-height:34px;padding:4px 10px;margin:0;overflow:hidden;white-space:nowrap;background:#20352c;border:1px solid #56725c;border-radius:3px;box-shadow:2px 2px #08130f;line-height:1.2;text-align:left}
.game-site-header #account-open .header-avatar{width:22px;height:22px;border-radius:3px;font-size:11px}
.game-site-header #account-open .header-account-copy{display:block;min-width:0}
.game-site-header #account-open .header-account-copy strong{font-size:12px;font-weight:600;line-height:1.2}
.game-site-header #account-open .header-account-copy small{display:none}
.game-site-header #account-open .header-account-chevron{font-size:12px;margin:0 0 0 4px}
.header-account-panel{border-radius:4px;border-color:#546a5d;background:#1b2b2b;box-shadow:5px 5px #09131388}
.header-account-panel .header-avatar{border-radius:3px}
main{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:18px;align-items:start}
main>*,.ranking-panel,.history-panel{min-width:0;grid-column:1/-1}
.game-utility-bar{position:absolute;right:0;top:28px;margin:0;height:30px;z-index:1}
.game-utility-bar>span{display:none}
.game-utilities{gap:6px}
.game-utilities .icon-button{height:30px;width:30px;border:1px solid #3b4e49;border-radius:3px;background:#1a292a;color:#afc2b2;padding:5px}
.game-utilities .icon-button svg{width:15px;height:15px}
.game-utilities .sound-slash{font-size:23px;left:13px;top:0}
.game-utilities .share-game-btn{height:30px;padding:5px 10px;font-size:11px;background:#20352c;border-color:#4c6954}
.game-utilities #help-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:auto;padding:5px 9px;font-size:11px;white-space:nowrap}
.page-heading,.game-utility-bar+.page-heading{min-height:86px;padding:10px 0;gap:24px;align-items:center}
.eyebrow,.page-heading>div:first-child>p{display:none}
.page-heading h1{font-size:30px;line-height:1.25;letter-spacing:.5px;color:#e9f1dc}
.game-subtitle{font-size:13px;line-height:1.5;margin-top:7px;color:#9bb3ad;letter-spacing:0}
.shift-card{border:0;padding:0;min-width:0;margin-right:252px}
.shift-card>small,.shift-card>strong,.shift-card>span{display:none}
.page-heading>.shift-card{display:none}
.difficulty-choice{display:flex;align-items:center;gap:10px;font-size:12px;margin:0;white-space:nowrap;color:#a7b8ae}
.difficulty-choice select{display:block;margin:0;min-height:35px;width:238px;max-width:none;padding:7px 10px;border:1px solid #50685a;background:#1c2d2b;border-radius:3px;font-size:12px;color:#d9e8ce}
.editor{border-color:#4b6056;border-radius:5px;box-shadow:0 5px #080e14,0 18px 55px #0003}
.editor-titlebar{height:32px;padding:0 14px;background:#273630;font-size:12px;color:#c3d7c7;border-bottom-color:#10221d}
.editor-menu{height:27px;font-size:11px;background:#202d2c;gap:20px;color:#9eb1a8}
.editor-menu small{font-size:11px;color:#829b8d}
.workspace{grid-template-columns:158px minmax(0,1fr) 200px;grid-template-rows:minmax(0,1fr);height:clamp(310px,calc(100dvh - 500px),380px);min-height:0;background:#172128}
.viewport-panel{min-height:0}
.asset-panel,.inspector-panel{min-height:0;overflow:hidden}
.panel-heading,.viewport-toolbar{height:31px;background:#22302e;font-size:12px;color:#afc5b7}
.asset-panel{background:#1a2528;border-color:#33473d}
.asset-path{font-size:9px;margin:13px 12px}
.folder-line{font-size:11px}
.asset-list>div{font-size:12px;padding:10px 10px 10px 20px}
.asset-list small{font-size:10px;color:#8c9c9b}
.asset-thumb{height:48px;width:58px}
.asset-card>span,.asset-card small,.autosave-off{font-size:10px;color:#8fa49e}
.scene{aspect-ratio:auto;min-height:0}
.task-strip{height:44px;padding:0 14px;background:#202e2d;border-color:#3c5145}
.task-strip small{display:none}
.task-strip strong{font-size:12px;color:#cddcc9}
.task-step{font-size:20px}
.inspector-panel{background:#1b272b;border-color:#33473d}
.inspector-section{padding:12px 13px;border-color:#32433d}
.inspector-section small{font-size:11px;color:#97aaa0}
.inspector-section strong{font-size:13px;line-height:1.6;margin:5px 0}
.inspector-section p{font-size:11px;line-height:1.8;color:#a0b0aa}
.stat-list{padding:0 13px 7px}
.stat-list>div{font-size:11px;padding-top:10px}
.stat-list b{font-size:17px}
.colleague-card{margin:7px 10px 0;padding:8px;background:#263231;border-color:#43594c}
.colleague-card strong{font-size:10px}
.colleague-card p{font-size:11px;line-height:1.6;margin:4px 0 0}
.pool-status{margin:8px 12px;font-size:10px}
.progress-section{padding:10px 16px 11px;background:#1e2b2b;border-color:#384c40}
.pressure-strip{font-size:11px;margin-bottom:8px;gap:9px}
.pressure-strip>small{font-size:10px;color:#8fa99b}
.pressure-strip b{font-size:12px}
.progress-heading{margin-bottom:8px}
.progress-heading strong{font-size:12px;font-weight:600}
#progress-caption{font-size:11px;margin-left:9px;color:#a7b7aa}
.progress-number b{font-size:24px}
.smooth-track{margin-bottom:8px;height:5px}
.step-grid{gap:3px}
.step{height:6px}
.progress-legend{margin-top:8px;font-size:10px;gap:14px}
.progress-legend small{font-size:10px}
.target-hint{margin-top:9px;font-size:12px;padding:8px 10px}
.action-bar{padding:12px 16px;min-height:70px;background:#293b31;border-color:#4c654f}
.save-summary strong{font-size:12px;color:#e0e9d7}
.save-summary small{font-size:11px;margin-top:4px;color:#acbba8}
.save-button{min-width:198px;min-height:43px;font-size:13px;border-color:#d9f4bf;box-shadow:0 3px #0b1711}
.save-button kbd{font-size:10px}
.pause-button{height:40px;width:40px;color:#b5c5b7;border-color:#667d69;background:#24362c}
.ticket-button{font-size:13px;min-height:43px}
.mini-hud{font-size:12px;top:10px;left:12px;right:12px}
.mini-hud>strong,.mini-hud small{font-size:11px}
.mini-tip{font-size:11px;bottom:27px;padding:4px 7px}
.inline-cover{display:flex;justify-content:center;align-items:center;padding:18px 24px;background:#0d1b258a;backdrop-filter:none}
.inline-card{width:min(370px,100%);max-width:370px;padding:17px 20px;text-align:center;border:1px solid #799d7b;border-radius:3px;background:#17292bed;box-shadow:5px 5px #081615aa}
.inline-card>small{font-size:9px;letter-spacing:1.4px;color:#9fbc9b}
.inline-card h2{font-size:25px;margin:7px 0;color:#d7edc6;line-height:1.3}
.inline-card p{font-size:13px;line-height:1.7;margin:0 0 10px;color:#b5c8bb}
.inline-tags{justify-content:center;font-size:12px;gap:17px;margin-bottom:12px}
.inline-card .primary-btn{min-height:41px;font-size:13px;padding:10px 13px;justify-content:center}
.inline-card .resume-note{display:none}
.finish-card{max-width:390px;text-align:center;padding:13px 18px}
.finish-card h2{font-size:22px}
.finish-card>p,.finish-card .finish-note{font-size:11px;line-height:1.6}
.finish-actions .primary-btn,.finish-actions .secondary-btn{min-height:35px;font-size:11px}
.score-panel{grid-template-columns:auto minmax(0,1fr);gap:0 28px;margin:18px 0 0;padding:14px 18px 0;background:#1a2929;border-color:#3e5849}
.score-live{grid-column:1;display:flex;flex-direction:row;align-items:center;gap:12px;text-align:left;padding:0;margin:0;white-space:nowrap}
.score-live>small{font-size:12px;color:#9db59d}
.score-live>strong{font:700 27px Consolas,monospace;margin:0;color:#d0edb5}
.score-live>span{font-size:11px;color:#8ca798}
.score-totals{grid-column:2;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 17px;border:0;padding:0;margin:0;font-size:11px}
.score-totals b{font-size:12px;color:#c7d9b9;margin-left:5px}
.score-totals small{font-size:10px}
.score-rules{grid-column:1/-1;border-top:1px solid #334b3e;margin-top:12px;padding:0;text-align:left}
.score-rules summary{padding:11px 0;cursor:pointer;font-size:12px;color:#bfd0b5;line-height:1.6}
.score-rules summary>span{font-size:11px;color:#93aa98;margin-left:12px}
.score-rules[open] summary{color:#d9edc6}
.rules-copy{border-top:1px solid #334b3e;padding:3px 0 8px}
.score-rules p{font-size:12px;line-height:1.9;color:#a5b9ad;margin:8px 0}
.ranking-panel{grid-column:1}
.history-panel{grid-column:2}
.ranking-panel,.history-panel{padding:18px;margin:18px 0 0;background:#1a272b;border-color:#3b5147;align-self:stretch}
.ranking-heading h2{font-size:19px}
.ranking-heading small{font-size:9px}
.ranking-filters{margin-top:12px;width:100%;justify-content:space-between}
.ranking-filters select,.ranking-panel button,.history-panel button{font-size:12px}
.ranking-panel>p,.history-panel>p,#account-panel>p{font-size:12px;line-height:1.9}
.leaderboard-table{font-size:13px}
.leaderboard-table th{font-size:11px}
.empty-records{font-size:12px;line-height:1.9}
.history-entry small{font-size:11px}
#account-details summary{font-size:12px}
.console-panel{margin-top:18px;background:#172126;border-color:#34483e}
.console-header{background:#202e2d;height:34px;font-size:11px}
.console-lines{height:80px}
.console-lines>div,.console-lines time{font-size:11px}
footer{font-size:10px;padding:16px 0 22px}
@media(min-width:851px) and (max-height:800px){.page-heading,.game-utility-bar+.page-heading{min-height:86px;padding:10px 0}.workspace{height:310px}.asset-card,.colleague-card,.pool-status{display:none}.progress-section{padding-top:8px;padding-bottom:9px}.progress-legend{margin-top:6px}.action-bar{padding-top:10px;padding-bottom:10px;min-height:64px}.inline-cover{padding-top:14px;padding-bottom:14px}.inline-card{padding:14px 18px}.inline-card h2{font-size:23px}}
@media(min-width:601px) and (max-width:1050px){.app-shell{padding:0 22px}.game-utility-bar{top:12px}.page-heading,.game-utility-bar+.page-heading{min-height:96px;padding:12px 0}.shift-card{margin-right:0;padding-top:32px}.workspace{grid-template-columns:132px minmax(0,1fr)}.inspector-panel{display:none}.asset-list>div{padding-left:14px}.score-panel{gap:0 18px}.score-live>span{display:none}.score-totals{gap:7px 12px}.inline-cover{padding:16px}.inline-card{max-width:350px}.ranking-panel,.history-panel{padding:14px}}
@media(max-width:600px){
 main>.ranking-panel,main>.history-panel{grid-column:1}
 .app-shell{padding:0 14px 118px}.game-site-header{height:55px}.game-site-brand{font-size:15px;gap:6px}.pixel-vfx-logo{transform:scale(.72);width:28px}.game-site-brand b,.brand-divider{display:none}.pixel-account-bar button{min-height:32px;padding:6px 11px;font-size:12px}.game-site-header #account-open.header-account-card{max-width:130px;min-height:32px;height:32px;padding:4px 8px;gap:6px}.game-site-header #account-open .header-avatar{width:20px;height:20px;font-size:10px}.game-site-header #account-open .header-account-copy strong{font-size:11px}
 main{display:grid;grid-template-columns:minmax(0,1fr)}.game-utility-bar{position:static;grid-row:2;justify-self:end;height:28px;margin:0 0 12px}.page-heading{grid-row:1}.game-utilities{gap:4px}.game-utilities .share-game-btn{height:28px;padding:5px 7px;font-size:10px}.game-utilities .share-game-btn span{font-size:10px}.game-utilities .icon-button{height:28px;width:27px}.game-utilities .sound-slash{left:11px;font-size:22px}.game-utilities .icon-button svg{height:14px;width:14px}
 .page-heading,.game-utility-bar+.page-heading{display:flex;flex-direction:column;align-items:stretch;gap:13px;min-height:0;padding:13px 0 15px}.page-heading h1{font-size:24px;line-height:1.35;letter-spacing:0}.game-subtitle{font-size:11px;line-height:1.5;margin-top:5px}.page-heading>.shift-card{display:block;padding:0;margin:0;border:0;width:100%;min-width:0}.difficulty-choice{font-size:11px;gap:9px}.difficulty-choice select{flex:1;width:auto;min-width:0;min-height:34px;padding:7px 8px;font-size:11px}
 .editor{overflow:visible}.editor-titlebar{height:30px;font-size:10px;padding:0 10px}.editor-menu{display:none}.workspace{display:block;height:auto;min-height:0}.asset-panel,.inspector-panel{display:none}.viewport-toolbar{height:29px;font-size:10px;gap:13px}.scene{aspect-ratio:auto;height:clamp(246px,32dvh,300px);min-height:246px;max-height:none}.task-strip{height:43px;padding:0 11px}.task-strip strong{font-size:12px;max-width:220px}.task-step{font-size:18px}.task-step small{font-size:9px}
 .mini-hud{font-size:11px;left:9px;right:9px;top:8px}.mini-hud>strong,.mini-hud small{font-size:9px}.mini-hud>span{padding:4px 6px}.mini-tip{font-size:10px;left:9px;bottom:27px}.mini-field{inset:55px 10px 46px}
 .inline-cover{padding:12px;justify-content:center;background:#10202a80}.inline-card{padding:16px;width:100%;text-align:center;max-width:360px}.inline-card>small{font-size:8px;letter-spacing:1px}.inline-card h2{font-size:23px;margin:6px 0 8px}.inline-card p{font-size:12px;line-height:1.7;margin-bottom:9px}.inline-tags{justify-content:center;font-size:11px;gap:15px;margin-bottom:12px}.inline-card .primary-btn{font-size:13px;min-height:42px}
 .progress-section{padding:10px 11px}.pressure-strip{font-size:10px;gap:6px;margin-bottom:8px}.pressure-strip>small{font-size:9px;max-width:47%;line-height:1.4}.load-track{max-width:19%;width:65px}.progress-heading{margin-bottom:7px}.progress-heading strong{font-size:11px}#progress-caption{font-size:10px;margin-left:5px}.progress-number b{font-size:22px}.step{height:5px}.step-grid{gap:3px}.progress-legend{gap:10px;font-size:9px;margin-top:8px}.target-hint{font-size:11px;margin-top:9px}
 .action-bar{position:fixed;left:14px;right:14px;bottom:0;z-index:12;padding:10px 12px max(12px,env(safe-area-inset-bottom));min-height:0;gap:8px;border:1px solid #637d5e;border-bottom:0;background:#263c30f5;box-shadow:0 -8px 24px #07100e88;backdrop-filter:blur(8px)}.save-summary strong{font-size:11px}.save-summary small{font-size:10px}.save-button{min-width:0;font-size:13px;min-height:43px}.pause-button{width:39px;height:41px}.ticket-button{font-size:12px;min-height:43px;padding:9px}
 .score-panel{display:grid;grid-template-columns:1fr;gap:10px;margin-top:15px;padding:12px 13px 0}.score-live{grid-column:1;justify-content:space-between;gap:8px}.score-live>small{font-size:11px}.score-live>strong{font-size:25px}.score-live>span{font-size:9px}.score-totals{grid-column:1;justify-content:flex-start;gap:7px 13px;font-size:10px;padding:0}.score-totals b{font-size:11px}.score-rules{margin-top:1px}.score-rules summary{font-size:11px;padding:10px 0}.score-rules summary>span{display:block;margin:4px 0 0 14px;font-size:10px}.score-rules p{font-size:11px}
 .ranking-panel,.history-panel{margin:15px 0 0;padding:14px}.ranking-heading h2{font-size:18px}.ranking-heading>span{font-size:10px}.ranking-panel>p,.history-panel>p,#account-panel>p{font-size:11px}.ranking-filters{margin-top:8px}.ranking-filters select,.ranking-panel button,.history-panel button{font-size:11px}.leaderboard-table{font-size:12px}.leaderboard-table th{font-size:10px}.empty-records{font-size:11px}.history-entry small{font-size:10px}.console-lines>div{font-size:10px}.console-lines time{font-size:9px}
 .finish-card{padding:12px;max-width:365px}.finish-card h2{font-size:21px}.finish-card>p,.finish-card .finish-note{font-size:10px;line-height:1.5}.finish-actions .primary-btn,.finish-actions .secondary-btn{min-height:34px;font-size:10px}footer{font-size:9px}
}
@media(max-width:360px){.app-shell{padding-left:11px;padding-right:11px}.game-site-brand{font-size:14px}.pixel-vfx-logo{width:25px}.game-utilities{gap:3px}.game-utilities .share-game-btn{padding:5px 6px}.game-utilities .icon-button{width:24px}.game-subtitle{font-size:10px}.page-heading h1{font-size:23px}.action-bar{left:11px;right:11px}.inline-card{padding:14px}.inline-card h2{font-size:21px}.inline-card p{font-size:11px}.pressure-strip>small{font-size:8px}.progress-legend{gap:7px}.score-live>span{font-size:8px}.score-live>strong{font-size:23px}}

/* First-visit onboarding lives above the game and never runs its clock. */
.intro-dialog{width:min(620px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border:1px solid #80a475;border-radius:5px;background:#18282a;color:#e4edda;box-shadow:6px 6px #081612,0 25px 100px #0009}
.intro-dialog::backdrop{background:#071216d9;backdrop-filter:blur(4px)}
.intro-layout{display:flex;flex-direction:column;max-height:calc(100dvh - 34px)}
.intro-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex:none;padding:18px 24px;border-bottom:1px solid #3b5545;background:#21372b}
.intro-head small{display:block;font-size:10px;letter-spacing:1px;color:#9ab997}
#intro-page-label{display:block;margin-top:6px;font-size:14px;font-weight:700;color:#d0e6b6}
#intro-close{width:32px;height:32px;padding:0;border:1px solid #567254;background:#263d2f;color:#b7cbb2;border-radius:3px;font-size:23px;line-height:1}
.intro-body{min-height:0;overflow-y:auto;padding:22px 24px;scrollbar-width:thin;scrollbar-color:#658260 #17282a}
.intro-body h2{margin:0 0 15px;font-size:24px;line-height:1.5;letter-spacing:.2px;color:#e4f3d1}
.intro-body p{margin:0 0 14px;font-size:14px;line-height:1.9;color:#acc1b6}
.intro-body strong,.intro-body p b{color:#d0e6be}
.intro-goals{display:flex;align-items:center;justify-content:center;gap:30px;padding:18px 16px;margin:18px 0;border:1px solid #526d50;background:#24382e;border-radius:3px}
.intro-goals>div{text-align:center;min-width:115px}
.intro-goals b{display:block;color:#d0f0ab;font:700 36px Consolas,monospace}
.intro-goals b span{font-size:16px;margin-left:5px}
.intro-goals>div>span{display:block;margin-top:5px;font-size:12px;color:#acbf9e}
.intro-goals>i{font-style:normal;color:#7e9b78;font-size:22px}
.intro-warning{border-left:3px solid #dfb57a;padding:12px 15px;background:#443c262e}
.intro-warning>strong{font-size:14px;color:#f2d19b}
.intro-warning p{margin:5px 0 0;font-size:13px}
.intro-crystals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 19px}
.intro-crystals>div{padding:14px 8px;text-align:center;border:1px solid #415d4b;background:#20322c;border-radius:3px}
.intro-crystals b{display:block;font-size:34px;line-height:1.3;text-shadow:2px 3px #10221b}
.intro-green{color:#9de8bd}.intro-gold{color:#f3d28d}.intro-red{color:#ec9895}
.intro-crystals strong{display:block;margin:8px 0 4px;font-size:13px}
.intro-crystals span{font-size:11px;color:#96afa1}
.intro-save{display:flex;align-items:flex-start;gap:13px;padding:13px 15px;border:1px solid #547051;border-radius:3px;background:#23392c}
.intro-save>svg{margin-top:3px;width:22px;height:22px;color:#c2e8a7;flex:none}
.intro-save strong{font-size:14px}
.intro-save p{font-size:13px;margin:4px 0 0;line-height:1.8}
.intro-steps{display:flex;flex-direction:column;gap:14px;margin:0 0 20px;padding:0;list-style:none}
.intro-steps li{display:flex;align-items:flex-start;gap:12px}
.intro-steps li>b{display:grid;place-items:center;width:26px;height:26px;flex:none;border:1px solid #65865b;background:#30462e;color:#d4eab8;font:700 14px Consolas,monospace}
.intro-steps strong{font-size:14px;line-height:1.8}
.intro-steps span{display:block;margin-top:3px;color:#9cb5a7;font-size:13px;line-height:1.8}
.intro-timing{padding:12px 15px;margin-bottom:13px;border:1px solid #495e4a;background:#21342b}
.intro-timing>strong{font-size:13px;color:#e9ce99}
.intro-timing p{font-size:12px;margin:4px 0 0;line-height:1.9}
.intro-body .intro-ranking{font-size:12px;margin:0;color:#8fa99b;line-height:1.9}
.intro-footer{display:block;flex:none;margin:0;padding:16px 24px 14px;border-top:1px solid #3b5545;background:#1e3028}
.intro-progress{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;color:#a8c199;font:12px Consolas,monospace}
.intro-progress>div{display:flex;gap:5px}
.intro-progress i{width:28px;height:4px;background:#3b4e3c}
.intro-progress i.is-active{background:#bee7a2}
.intro-navigation{display:flex;gap:10px}
.intro-navigation button{min-height:42px;padding:9px 18px;border:1px solid #597153;border-radius:3px;font-size:13px}
#intro-prev{background:#283e2e;color:#b6cbaa}
#intro-next{flex:1;background:#c0e8a3;color:#233b24;border-color:#ddf3c1;font-weight:700;box-shadow:0 3px #0b1912}
#intro-note{margin:11px 0 0;font-size:10px;line-height:1.7;color:#8fa58b}
@media(max-width:600px){.game-utilities .share-game-btn span{display:none}.game-utilities #help-btn{font-size:10px;padding:5px 6px;gap:4px}.intro-dialog{width:calc(100vw - 22px);max-height:calc(100dvh - 24px)}.intro-layout{max-height:calc(100dvh - 26px)}.intro-head{padding:14px 17px}.intro-head small{font-size:9px}.intro-body{padding:18px 17px}.intro-body h2{font-size:21px;margin-bottom:12px}.intro-body p{font-size:13px}.intro-goals{gap:17px;padding:14px 10px}.intro-goals>div{min-width:95px}.intro-goals b{font-size:30px}.intro-goals>div>span{font-size:11px}.intro-crystals{gap:7px;margin-bottom:15px}.intro-crystals>div{padding:12px 5px}.intro-crystals b{font-size:29px}.intro-crystals strong{font-size:12px}.intro-crystals span{font-size:10px}.intro-steps{gap:12px}.intro-steps strong{font-size:13px}.intro-steps span{font-size:12px}.intro-warning p,.intro-save p{font-size:12px}.intro-footer{padding:13px 17px 12px}.intro-navigation button{min-height:43px;padding:9px 13px}.intro-body .intro-ranking{font-size:11px}}

.session-controls{padding:7px 13px;background:#20382d;border-bottom:1px solid #536c4f}
.session-main{display:flex;align-items:center;justify-content:space-between;gap:14px}
.session-difficulty{display:flex;align-items:center;gap:10px;min-width:0}
.session-difficulty .difficulty-choice{font-size:12px;gap:8px}
.session-difficulty select{min-height:32px;width:225px;padding:6px 9px}
#task-status{padding:4px 7px;border:1px solid #506b4d;border-radius:3px;background:#2b4330;color:#c7e3b2;font-size:11px;white-space:nowrap}
#task-difficulty-hint{font-size:10px;color:#9fb59b;white-space:nowrap}
.session-buttons{display:flex;gap:7px;flex:none}
.session-buttons button,.dialog-session-actions>button{min-height:32px;padding:6px 10px;font-size:12px;border:1px solid #5d7757;border-radius:3px;background:#2b4432;color:#cbdcc0;white-space:nowrap}
.session-buttons #task-stop-btn{color:#e3b8a3;border-color:#896f5a;background:#3e3830}
.session-buttons #new-day-btn{color:#233821;background:#bfdc9e;border-color:#d9ecc2;font-weight:700}
.session-confirm{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:9px;padding:10px 12px;border:1px solid #ab875f;border-radius:3px;background:#433a2c;color:#ecd0a6;font-size:12px;line-height:1.8}
.session-confirm>div{display:flex;gap:8px;flex:none}
.session-confirm button{min-height:32px;border:1px solid #9a865f;border-radius:3px;padding:5px 10px;font-size:12px;background:#4b4935;color:#e4dbbd}
.session-confirm #task-confirm-accept{background:#e1bb83;color:#3e3020;border-color:#efd19f;font-weight:700}
.dialog-session-actions{padding:11px 20px;border-top:1px solid #48515c;background:#202b32;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dialog-session-actions .session-confirm{flex-basis:100%;display:block;text-align:left;margin-top:4px}
.dialog-session-actions .session-confirm>div{margin-top:8px;justify-content:flex-end}
@media(max-width:1100px){#task-difficulty-hint{display:none}}
@media(max-width:600px){.session-controls{padding:10px}.session-main{display:block}.session-difficulty{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}.session-difficulty .difficulty-choice{width:100%;font-size:11px}.session-difficulty select{width:auto;flex:1;min-height:33px;font-size:11px}.session-difficulty #task-status{font-size:10px;padding:3px 6px}.session-difficulty #task-difficulty-hint{display:block;font-size:9px}.session-buttons{display:flex;gap:6px}.session-buttons button{flex:1;min-height:34px;font-size:11px;padding:6px}.session-confirm{display:block;padding:9px;font-size:11px}.session-confirm>div{margin-top:8px;justify-content:flex-end}.session-confirm button{font-size:11px}.dialog-session-actions{padding:10px 16px}}

/* Two projects share the same compact progress area. */
.step-grid.overtime-grid{row-gap:2px}.overtime-grid .step{height:3px}
.task-strip .task-step small{display:inline}.task-strip>div{min-width:0}.task-strip strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-strip .task-step{flex:none}
.intro-goals>div{min-width:0;flex:1}.intro-goals b{white-space:nowrap}.intro-goals>div:last-child b{font-size:28px}
@media(max-width:600px){.mini-hud small{display:block;margin-left:0;font-size:8px}.overtime-grid .step{height:2px}}
@media(max-width:600px){.intro-goals>div:last-child b{font-size:21px}}

.save-reminder{display:inline-block;margin-left:10px;color:#c4dda8;white-space:nowrap;font-size:inherit;letter-spacing:0}.save-reminder kbd{font:inherit;padding:1px 4px;border:1px solid #526d50;border-radius:2px;background:#263b2d;color:#d4e8b7}

/* Keep the resource preview and autosave status in separate layout rows. */
@media(min-width:601px){
 .asset-panel{display:flex;flex-direction:column;padding-bottom:0}
 .asset-panel>.panel-heading,.asset-panel>.folder-line,.asset-panel>.asset-path,.asset-panel>.asset-list{flex:none}
 .asset-path{margin:8px 12px}.asset-list{margin-top:8px}.asset-list>div{padding:6px 10px 6px 16px;min-height:29px}
 .asset-card{margin:auto 12px 8px;gap:4px;flex:none}.asset-thumb{height:40px;width:48px;flex:none}
 .asset-card>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}.asset-card small{line-height:1.5;text-align:center}
 .autosave-off{position:static;flex:none;height:auto;min-height:31px;padding:7px 12px;line-height:1.5}
}

.smooth-track #saved-line{display:none}#smooth-fill.deadline-warning{background:#e3ad6a}.overtime-summary{display:grid;gap:8px;padding:15px;margin:16px 0;background:#354032;border:1px solid #8a9264;color:#d4e7b6}.overtime-summary span{font-size:12px;color:#b4c4a2}.overtime-actions{display:grid;gap:10px;margin-top:20px}.overtime-actions button{width:100%;min-height:44px;justify-content:center}.progress-number b{font-family:Consolas,monospace;white-space:nowrap}.intro-goals b{font-size:26px}@media(max-width:600px){.intro-goals b,.intro-goals>div:last-child b{font-size:21px}}

.finish-card{display:flex;flex-direction:column;overflow:hidden;min-height:0}.finish-card>small,.finish-card>h2,.finish-card>.finish-actions{flex:none}.finish-summary{overflow:auto;min-height:0;overscroll-behavior:contain;margin:0 0 8px}.finish-summary>p{font-size:11px;line-height:1.5;margin:0 0 8px}.finish-actions{padding-top:6px;border-top:1px solid #4b6350}.overtime-result{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px;margin-bottom:8px;background:#304332;border:1px solid #75895d;font-size:10px;color:#c3d2b5}.overtime-result b{display:block;margin-top:3px;color:#e1edc8;font:14px Consolas,monospace}.overtime-award{grid-column:1/-1;color:#e0c28a;font-size:11px;padding-top:5px;border-top:1px dashed #688061}@media(max-width:600px){.finish-summary>p{font-size:10px}.finish-card h2{font-size:19px;line-height:1.3}.overtime-result{font-size:9px;padding:6px}.overtime-result b{font-size:12px}}

.progress-heading #progress-caption{display:inline}.finish-card h2{text-wrap:balance}
