/* World refresh components. No title-screen layout or simulation rules are changed. */
.white-shrimp-portrait{display:inline-block;width:88px;height:88px;background:radial-gradient(ellipse,#bddaca85 0%,#d7e5c950 60%,transparent 72%);filter:drop-shadow(1px 3px 2px #577a7230);flex-shrink:0;}
.prep-steps .white-shrimp-portrait{width:38px;height:38px;transform:scale(1.2);}
.facility-ui .prep-steps{align-items:end;gap:6px;margin:14px auto 18px;}
.prep-steps>span{min-height:56px;align-content:end;}
.prep-steps small{font-size:10px;margin-top:4px;}
.stocking-intro{display:flex;align-items:center;gap:12px;padding:15px 0;background:transparent;}.stocking-intro>div{flex:1;}.stocking-intro b{font-size:18px;letter-spacing:.04em;}.stocking-intro small{display:block;font-size:11px;color:#8b8766;margin-top:5px;line-height:1.6;}.stocking-intro .facility-ui__link-button{width:auto;flex:0 0 auto;font-size:11px;border:0;margin:0;padding:10px 0;}
.density-choices.stocking-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:stretch;margin:5px 0 14px;}
.facility-ui .stocking-choice{min-width:0;display:flex;flex-direction:column;align-items:center;gap:0;padding:12px 7px 13px;border:1px solid #d5ccb0;border-radius:18px;background:linear-gradient(155deg,#fffef3,#f5edd5);box-shadow:0 4px 0 #bdb18e25;color:#456549;position:relative;overflow:visible;}
.facility-ui .stocking-choice.is-recommended{border:2px solid #8fac7d;background:linear-gradient(150deg,#f9fce9,#e7efd0);padding:11px 6px 12px;box-shadow:0 4px 0 #7c9a6130;}
.stocking-choice__badge{font-size:9px;padding:3px 7px;background:#ece6cf;border-radius:10px;white-space:nowrap;min-height:18px;line-height:18px;color:#8a8062;}.is-recommended .stocking-choice__badge{background:#638464;color:#fffbe5;}
.stocking-choice__art{height:87px;display:grid;place-items:center;width:100%;}.stocking-choice__art .white-shrimp-portrait{width:94px;height:94px;max-width:none;}.stocking-choice__art .game-icon{width:64px;height:64px;}
.stocking-choice>strong{font-size:23px;letter-spacing:-.03em;line-height:1.15;color:#345e48;}.stocking-choice>strong small{font-size:11px;margin:4px 0 0 3px;color:#738167;}
.stocking-choice__cost,.stocking-choice__daily{display:block;text-align:center;width:100%;margin-top:12px;}.stocking-choice__cost small,.stocking-choice__daily small{display:block;color:#978b68;font-size:9px;line-height:1.5;margin:0;white-space:nowrap;}.stocking-choice__cost b,.stocking-choice__daily b{font-size:16px;color:#6e7855;line-height:1.5;}.stocking-choice__daily{border-top:1px dashed #d9d3b8;padding-top:8px;margin-top:8px;}.stocking-choice:hover{transform:translateY(-2px);border-color:#79965f;}.stocking-choice:focus-visible{outline:3px solid #547e6b;outline-offset:3px;}.stocking-choice:disabled{transform:none;}
#restart-confirm{width:min(440px,calc(100vw - 32px));padding:0;border:1px solid #ded4af;border-radius:26px;overflow:hidden;max-height:calc(100dvh - 40px);box-shadow:0 22px 80px #1b3e4855;}
#restart-confirm form{margin:0;max-height:calc(100dvh - 44px);overflow-y:auto;}
.restart-illustration{height:128px;position:relative;background:radial-gradient(ellipse at 20% 10%,#fff4c7,transparent 65%),linear-gradient(120deg,#dbe8c5,#c0d5b2);border-bottom:1px solid #d6d8b3;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:12px;}.restart-illustration img{width:150px;height:130px;object-fit:contain;filter:drop-shadow(0 4px 3px #4a62442b);}.restart-illustration span{font-size:12px;color:#65805c;max-width:7em;line-height:1.8;letter-spacing:.1em;}
.restart-body{padding:25px 28px 27px;}.restart-eyebrow{font-size:10px;letter-spacing:.18em;color:#9c8b59;margin:0 0 8px!important;}.restart-body h2{font-size:25px;line-height:1.45;margin:0 0 13px;color:#355e48;}.restart-body #restart-description{font-size:14px;color:#6d7c65;line-height:1.9;margin:0;}.restart-warning{font-size:12px;color:#a07455;line-height:1.8!important;background:#f5ecd5;border-radius:11px;padding:11px 13px;margin:16px 0 24px;}
#restart-confirm .restart-actions{display:grid;grid-template-columns:1fr;gap:24px;}
#restart-confirm .restart-actions button{width:100%;min-height:50px;border-radius:13px;padding:12px 15px;font-size:14px;letter-spacing:.03em;}
#restart-confirm [value=cancel]{background:#3e775a;border:1px solid #376c51;color:#fffbe7;box-shadow:0 3px 0 #27593f;}
#restart-confirm #confirm-restart{background:#fffaf0;color:#9b624c;border-color:#d7b7a2;box-shadow:none;}
#restart-confirm button:focus-visible{outline:3px solid #7d9e6c;outline-offset:5px;}
#restart-confirm::backdrop{background:#1f423b80;backdrop-filter:blur(7px);}
#boot-screen{background:linear-gradient(#385e4e52,#385f4a91),url('/src/assets/luna-i-title-screen/title-background-landscape.png') center/cover;}
#boot-screen .boot-card{width:min(510px,100%);padding:0;overflow:hidden;border:1px solid #f7f3da;border-radius:28px;box-shadow:0 24px 75px #133d3c55;background:#fffbedf5;}
.boot-landscape{height:185px;position:relative;background:linear-gradient(0deg,#567c3c33,transparent 60%),url('/src/assets/luna-i-title-screen/title-background-landscape.png') center 24%/cover;border-bottom:1px solid #d8d5ad;}
.boot-postcard{position:absolute;left:18px;bottom:16px;font-size:12px;color:#fdf7df;text-shadow:0 1px 4px #304d33;letter-spacing:.14em;}
.boot-card__body{position:relative;padding:33px 30px 25px;}
#boot-screen .boot-mark{position:absolute;left:calc(50% - 37px);top:-37px;width:74px;height:74px;border:4px solid #fff8e1;border-radius:50%;margin:0;background:#e5eed4;box-shadow:0 3px 9px #34573b28;}
#boot-screen .boot-eyebrow{font-size:10px;letter-spacing:.18em;margin-top:15px;color:#9b9569;}
#boot-screen h1{font-size:25px;line-height:1.5;margin:8px 0;color:#3b674e;letter-spacing:.05em;}
#boot-screen .boot-message{font-size:12px;color:#829073;}
#boot-screen .boot-spinner{width:140px;height:4px;margin:22px auto 20px;border:0;border-radius:4px;background:#dce5c8;position:relative;overflow:hidden;animation:none;}
#boot-screen .boot-spinner::after{content:'';display:block;height:100%;width:45%;background:linear-gradient(90deg,#b0c28f,#5c886a);border-radius:4px;animation:pond-loading 1.6s ease-in-out infinite alternate;}
.boot-welcome{font-size:10px;color:#a8a17f;display:block;letter-spacing:.06em;}
#boot-retry{min-height:44px;margin:12px auto 15px;}
@keyframes pond-loading{from{transform:translateX(-70%);}to{transform:translateX(190%);}}
@media(max-width:620px){.stocking-intro b{font-size:17px;}.density-choices.stocking-choices{gap:7px;}.stocking-choice__art{height:78px;}.stocking-choice__art .white-shrimp-portrait{width:88px;height:88px;}.stocking-choice>strong{font-size:22px;}.stocking-choice__cost b,.stocking-choice__daily b{font-size:15px;}.restart-body{padding:22px;}.restart-body h2{font-size:23px;}.restart-illustration{height:115px;}.restart-illustration img{width:130px;}.boot-landscape{height:165px;}#boot-screen{padding:22px;}#boot-screen .boot-card{max-width:390px;}#boot-screen h1{font-size:23px;}.boot-card__body{padding:30px 21px 24px;}}
@media(max-height:500px) and (orientation:landscape){#restart-confirm{width:min(580px,calc(100vw - 40px));}.restart-illustration{display:none;}.restart-body{padding:18px 25px;}.restart-body h2{font-size:22px;margin-bottom:7px;}.restart-body #restart-description{font-size:12px;}.restart-warning{margin:9px 0 17px;padding:7px 10px;font-size:11px;}#restart-confirm .restart-actions{grid-template-columns:1fr 1fr;gap:24px;}#restart-confirm .restart-actions button{font-size:12px;min-height:46px;}#boot-screen .boot-card{display:grid;grid-template-columns:42% 58%;width:620px;}.boot-landscape{height:100%;min-height:240px;}.boot-postcard{left:10px;font-size:9px;}.boot-card__body{padding:25px 23px 20px;}#boot-screen .boot-mark{display:none;}#boot-screen .boot-eyebrow{margin-top:0;}#boot-screen h1{font-size:21px;}}
@media(prefers-reduced-motion:reduce){#boot-screen .boot-spinner::after{animation:none;width:100%;background:#89a77a;}.stocking-choice:hover{transform:none;}}
.bank-weed .painted-weed{display:block;background:url('/src/assets/world-painterly/shore-foliage.png') 50% 100%/300% 100% no-repeat;}

#boot-screen .boot-mark svg{width:56px;height:56px;}
@media(max-width:620px) and (orientation:portrait){
 #game-root .farm-layout-open{left:12px;top:12px;transform:none;min-width:54px;min-height:44px;}
 #game-root .chapter{left:78px;right:74px;top:12px;max-width:none;width:auto;min-height:44px;padding:7px 10px;display:flex;align-items:center;}
 #game-root .chapter button{width:100%;min-height:28px;text-align:center;}
}

.white-shrimp-portrait svg{display:block;width:100%;height:100%;overflow:hidden;}
@media(max-height:500px) and (orientation:landscape){
 #game-settings{top:14px;bottom:auto;left:180px;right:auto;width:42px;height:42px;min-height:42px;}
 #game-version{top:14px;bottom:auto;left:232px;right:auto;height:42px;min-height:42px;padding:7px 12px;}
}

.boot-landscape{background:#bdd3ac;}
.boot-scene{display:block;width:100%;height:100%;}
.boot-landscape::before{content:'';position:absolute;inset:0;background:url('/src/assets/luna-i-title-screen/title-background-landscape.png') center 24%/cover;}
.boot-postcard{z-index:1;}
/* Keep the map available while arranging. Details expand only on request. */
#game-root.is-arranging .chapter,#game-root.is-arranging #selection{display:none;}
#game-root.is-arranging #game-settings,#game-root.is-arranging #game-version{visibility:hidden;}
#game-root .farm-layout-panel{top:auto;bottom:12px;left:50%;width:min(470px,calc(100% - 24px));max-height:calc(100% - 26px);padding:12px 14px;border:1px solid #d4c797;border-radius:20px;background:#fff9eaf7;box-shadow:0 6px 28px #28473638;font-size:12px;}
.farm-layout-panel [hidden]{display:none!important;}
.farm-layout-panel header{margin-bottom:9px;}
.farm-layout-panel header b{font-size:14px;}
.farm-layout-panel [data-layout-toggle]{min-height:44px;border:1px solid #c9cba9;border-radius:10px;padding:5px 12px;background:#edf0da;color:#4f7053;font-size:12px;}
.farm-layout-selection{display:flex;align-items:center;gap:9px;}
.farm-layout-selection label{white-space:nowrap;margin:0;}
.farm-layout-selection select{flex:1;width:auto;min-width:0;min-height:42px;font-size:13px;}
#farm-layout-details{padding-top:10px;}
.farm-layout-panel .farm-layout-status{margin:7px 0;min-height:0;line-height:1.5;font-size:11px;}
.farm-layout-panel.is-compact .farm-layout-status:empty{display:none;}
.farm-layout-panel .farm-layout-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:9px;}
.farm-layout-panel .farm-layout-actions button{min-height:44px;border-radius:12px;font-size:13px;}
.farm-layout-panel .farm-layout-nudge{grid-template-columns:repeat(4,1fr) 1.5fr;gap:7px;}
.farm-layout-panel .farm-layout-nudge button{min-height:44px;}
#game-root.is-arranging .bank-weed{pointer-events:none;opacity:0;}
#game-root.is-arranging .iso-controls{top:12px;bottom:auto;}
@media(max-height:500px) and (orientation:landscape){
 #game-root .farm-layout-panel{left:12px;transform:none;bottom:8px;width:295px;padding:8px 10px;max-height:calc(100% - 16px);}
 .farm-layout-panel header{margin-bottom:5px;}.farm-layout-panel .farm-layout-status{font-size:10px;}
 .farm-layout-panel .farm-layout-actions{margin-top:6px;}.farm-layout-panel .farm-layout-actions button{min-height:40px;font-size:12px;}
}
#game-root .farm-layout-panel.is-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 10px;}
.farm-layout-panel.is-compact header{display:contents;}
.farm-layout-panel.is-compact header b,.farm-layout-panel.is-compact .farm-layout-selection label{display:none;}
.farm-layout-panel.is-compact [data-layout-toggle]{grid-column:2;grid-row:1;}
.farm-layout-panel.is-compact .farm-layout-selection{grid-column:1;grid-row:1;}
.farm-layout-panel.is-compact .farm-layout-status{display:none;}
.farm-layout-panel.is-compact .farm-layout-status[data-state=error]{display:block;grid-column:1/-1;margin:0;}
.farm-layout-panel.is-compact .farm-layout-actions{grid-column:1/-1;margin:0;}
#game-root .farm-layout-panel[hidden]{display:none!important;}
.farm-layout-panel:not(.is-compact){display:flex;flex-direction:column;}
.farm-layout-panel:not(.is-compact) header,.farm-layout-panel:not(.is-compact) .farm-layout-selection,.farm-layout-panel:not(.is-compact) .farm-layout-actions{flex-shrink:0;}
.farm-layout-panel:not(.is-compact) #farm-layout-details{min-height:0;overflow-y:auto;}
@media(max-height:500px) and (orientation:landscape){
 #game-root .farm-layout-panel:not(.is-compact){position:fixed;top:76px;bottom:12px;left:12px;width:310px;max-height:calc(100dvh - 88px);}
 .farm-layout-panel:not(.is-compact) #farm-layout-details{flex:1;}
}
/* Editing uses the whole space below the HUD; navigation returns on save/cancel. */
#game-root.is-arranging{display:flex;flex-direction:column;height:100%;min-height:0;}
#game-root.is-arranging .world-shell{height:auto!important;min-height:0;flex:1 1 auto;}
#game-root.is-arranging .toolbar{display:none!important;}
#game-root.is-arranging .farm-layout-panel{bottom:max(12px,env(safe-area-inset-bottom,0px));}
@media(min-width:951px){
 #game-settings{top:14px;bottom:auto;left:320px;right:auto;}
 #game-version{top:14px;bottom:auto;left:374px;right:auto;}
}
