.topbar{height:88px}.brand small{letter-spacing:.4px;font-size:12px}.broadcast-controls{margin:18px 30px 0;padding:14px 17px 12px;background:#fffdf4;border:1px solid #dbe2cc;border-radius:17px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;box-shadow:0 4px 15px #2e492509}.broadcast-title{display:flex;flex-direction:column;gap:6px;min-width:125px}.broadcast-title>b{font-size:15px}.on-air{font-size:11px;font-weight:800;letter-spacing:1.3px;color:#a36e40}.auto-modes{display:flex;align-items:stretch;gap:4px;background:#eef1e4;border:1px solid #e3e7d8;border-radius:12px;padding:4px}.auto-modes button{font-size:14px;font-weight:650;padding:10px 14px;border-radius:8px;background:transparent;white-space:nowrap;transition:background .2s,box-shadow .2s}.auto-modes button.selected{background:#335c42;color:#fffce9;box-shadow:0 3px 6px #25422525}.auto-modes button small{display:block;font-size:11px;font-weight:450;color:#8b987c;margin-top:3px}.auto-modes button.selected small{color:#d2e2ba}.defense-option{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap;cursor:pointer}.defense-option input{width:17px;height:17px;accent-color:#3e6a46}.theater-btn{margin-left:auto;display:flex;align-items:center;gap:8px;border-radius:10px;border:1px solid #d9e0ce;background:#f6f8ee;padding:10px 12px;font-size:13px;white-space:nowrap}.theater-btn svg{width:18px;height:18px}.auto-status{flex-basis:100%;font-size:12px;color:#7b886e;line-height:1.5;margin:0;padding-top:8px;border-top:1px solid #edf0e5;min-height:27px}.workspace{padding-top:18px}.notebook-heading h1{margin-bottom:15px;font-size:20px}.cast-roster{display:flex;gap:9px;margin-bottom:20px}.cast-card{flex:1;min-width:0;display:flex;align-items:center;border-radius:13px;border:1px solid #e3d5be;background:#f5ecd9;padding:7px 7px 7px 0;overflow:hidden}.cast-card.lee{background:#e8eed8;border-color:#d1ddbd}.cast-card img{width:76px;height:81px;object-fit:contain;margin-left:-3px;flex-shrink:0}.cast-card div{margin-left:-3px}.cast-card span{display:block;font-size:11px;color:#9c704d;margin:0 0 4px}.cast-card.lee span{color:#6c8350}.cast-card b{font-size:16px;white-space:nowrap}.cast-card small{display:block;font-size:11px;color:#958872;margin-top:6px;white-space:nowrap}.cast-card em{font-style:normal;font-weight:700;color:#6b603f}.goal-card{margin-bottom:18px;padding:14px 16px}.basket-card{margin-top:18px;padding-top:16px}.scene{isolation:isolate}.cast-announcement{position:absolute;top:88px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);padding:12px 22px 13px 90px;min-height:100px;border:1px solid #eedabc;background:#fff9eafa;border-radius:18px;box-shadow:0 8px 28px #31482132,0 2px 0 #bfa070;display:flex;align-items:center;white-space:normal;pointer-events:none;z-index:4;animation:castEnter .48s cubic-bezier(.16,1,.3,1)}.cast-announcement.lee{border-color:#d4e8be;background:#f6fbeffa;box-shadow:0 8px 28px #31482132,0 2px 0 #8eaa68}.cast-announcement img{position:absolute;left:-7px;bottom:0;width:111px;height:124px;object-fit:contain;filter:drop-shadow(0 4px 3px #613d2820)}.cast-announcement small{display:block;font-size:11px;letter-spacing:1px;font-weight:700;color:#b78b5c;margin-bottom:5px}.cast-announcement b{display:block;font-size:clamp(17px,1.55vw,25px);font-weight:850;line-height:1.35;letter-spacing:-.7px;color:#65452b;margin:0;white-space:nowrap}.cast-announcement.lee b{color:#416035}.cast-announcement span{display:block;font-size:12px;color:#9a8668;margin-top:6px}.cast-announcement.lee span,.cast-announcement.lee small{color:#7a9564}.auto-scene-badge{position:absolute;bottom:167px;left:24px;display:flex;align-items:center;gap:7px;background:#264f3dec;color:#edf6d7;border:1px solid #8aa879;padding:8px 12px;border-radius:20px;font-size:12px;pointer-events:none}.pulse-dot{display:inline-block;flex-shrink:0;width:6px;height:6px;background:#cbea88;border-radius:50%;box-shadow:0 0 0 4px #bbdf7420;animation:pulse 2.5s infinite}.broadcast-caption{position:absolute;left:50%;bottom:173px;transform:translateX(-50%);background:#264436f0;border:1px solid #e4cc83;color:#ffefbd;padding:11px 19px;border-radius:13px;font-size:18px;font-weight:750;max-width:85%;text-align:center;pointer-events:none;z-index:3;line-height:1.5;box-shadow:0 6px 20px #18341d24}.field-caption{top:28%;left:60%;font-size:12px}.mole-alert:not([hidden])~.field-caption{display:none}.plot-button.mole{width:12%;height:17%;z-index:5}.house-tag{top:31%}.scene-head{z-index:2}.tool-dock{z-index:5}.theater .app{max-width:none}.theater .topbar{height:66px;padding:0 24px}.theater .topbar .brand small{display:none}.theater .broadcast-controls{margin:0;border-radius:0;border-width:1px 0;padding:8px 24px;gap:14px}.theater .broadcast-title{flex-direction:row;align-items:center;gap:10px}.theater .broadcast-title>b{display:none}.theater .auto-status{display:none}.theater .auto-modes button{padding:6px 12px}.theater .auto-modes button small{display:inline;margin-left:5px}.theater .workspace{padding:0;display:block}.theater .notebook,.theater .activity-strip,.theater .page-footer{display:none}.theater .farm-panel{border:0;border-radius:0;box-shadow:none;background:#254331}.theater .scene{border:0;border-radius:0;width:min(100vw,calc((100dvh - 129px)*1.5));margin:auto;aspect-ratio:1.5}.theater .cast-announcement b{font-size:clamp(20px,2vw,31px)}.theater .cast-announcement{top:86px}.theater .tool-dock{bottom:29px;transform:translateX(-50%) scale(.9);transform-origin:bottom center}.theater .scene-footer{bottom:10px}.theater .auto-scene-badge{bottom:136px}.theater .broadcast-caption{bottom:141px}.theater .house-tag{display:none}.theater .field-caption{display:none}@keyframes castEnter{from{opacity:0;transform:translate(-50%,-18px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}@keyframes pulse{50%{box-shadow:0 0 0 7px #bbdf7404}}
@media(min-width:1550px){.broadcast-controls{margin-left:40px;margin-right:40px}.cast-card img{width:90px;height:86px}.cast-card b{font-size:18px}.notebook-heading h1{font-size:22px}.cast-roster{margin-bottom:22px}.workspace{padding-top:20px}}
@media(max-width:1180px){.broadcast-controls{margin:14px 18px 0;gap:12px;padding:11px 13px}.broadcast-title{min-width:105px}.broadcast-title>b{font-size:14px}.auto-modes button{padding:8px 10px;font-size:13px}.defense-option{font-size:12px}.theater-btn{padding:9px;font-size:12px}.cast-card img{width:64px;height:76px}.cast-card b{font-size:14px}.cast-card span,.cast-card small{font-size:10px}.cast-announcement{top:70px;min-height:82px;padding:10px 16px 10px 73px}.cast-announcement img{width:93px;height:107px}.cast-announcement b{font-size:17px}.cast-announcement span{font-size:11px}.auto-scene-badge{left:15px;bottom:144px;font-size:11px}.broadcast-caption{font-size:16px;bottom:150px}.house-tag{display:none}.field-caption{display:none}}
@media(max-width:960px){.broadcast-title{min-width:auto}.broadcast-controls{column-gap:12px}.auto-modes{flex:1;justify-content:center}.defense-option{margin-left:auto}.cast-roster{grid-column:1/-1;grid-row:2;max-width:100%;margin:0 0 20px}.cast-card{justify-content:center;gap:8px}.cast-card img{width:86px;height:85px}.cast-card b{font-size:18px}.cast-card span,.cast-card small{font-size:12px}.notebook-heading{grid-row:1}.goal-card{grid-row:3/5}.seeds-section{grid-row:3/5}.basket-card{grid-row:5}.upgrade-btn{grid-row:5}.farm-stats{grid-row:6}.cast-announcement b{font-size:23px}.cast-announcement{top:88px}.auto-scene-badge{bottom:153px}.broadcast-caption{bottom:153px}}
@media(max-width:600px){.topbar{height:76px}.brand small{display:block;font-size:9px;letter-spacing:0}.brand{font-size:20px;line-height:1.5}.broadcast-controls{margin:9px 10px 0;padding:11px 10px 9px;gap:9px;display:grid;grid-template-columns:1fr auto}.broadcast-title{flex-direction:row;gap:8px;align-items:center;grid-column:1}.broadcast-title>b{font-size:13px}.on-air{font-size:10px}.auto-modes{grid-column:1/-1;grid-row:2;gap:3px}.auto-modes button{flex:1;padding:10px 4px;font-size:13px}.auto-modes button small{font-size:10px}.defense-option{margin:0;font-size:12px;grid-column:1;grid-row:3;gap:6px}.defense-option input{width:16px;height:16px;margin:0}.theater-btn{grid-column:2;grid-row:1;padding:6px 8px;border-radius:8px;font-size:11px;gap:4px}.theater-btn svg{width:15px;height:15px}.auto-status{grid-row:4;grid-column:1/-1;font-size:12px;min-height:36px;padding-top:7px;line-height:1.55}.workspace{padding-top:10px}.farm-level{top:auto;position:static;font-size:12px;margin-left:auto;display:none}.cast-announcement{top:64px;max-width:calc(100% - 20px);min-height:70px;padding:10px 12px 10px 57px;border-radius:12px}.cast-announcement img{left:-5px;width:70px;height:82px}.cast-announcement small{font-size:9px;margin-bottom:3px}.cast-announcement b{font-size:14px;letter-spacing:-.5px;white-space:normal}.cast-announcement span{font-size:10px;margin-top:3px}.scene-head{top:12px}.auto-scene-badge{top:18px;left:10px;bottom:auto;font-size:10px;padding:6px 9px;gap:6px}.pulse-dot{width:5px;height:5px}.broadcast-caption{bottom:105px;font-size:14px;padding:9px 12px;width:max-content;max-width:90%}.notebook-heading h1{font-size:18px}.cast-roster{grid-row:2;margin:0 0 20px}.cast-card{justify-content:flex-start;gap:0;padding:5px}.cast-card img{width:80px;height:81px;margin-left:-6px}.cast-card div{margin-left:-7px}.cast-card b{font-size:16px}.cast-card span,.cast-card small{font-size:11px}.goal-card{grid-column:1/-1;grid-row:3}.seeds-section{grid-row:4}.basket-card{grid-row:5}.upgrade-btn{grid-row:6}.farm-stats{grid-row:7}.theater .topbar{height:59px;padding:0 12px}.theater .brand{font-size:18px}.theater .brand-mark{width:28px;height:31px}.theater .broadcast-controls{display:grid;grid-template-columns:1fr auto;margin:0;padding:7px 10px;gap:5px}.theater .broadcast-title{display:none}.theater .auto-modes{grid-row:1;grid-column:1;min-width:0}.theater .auto-modes button{font-size:11px;padding:7px 4px}.theater .auto-modes button small{display:none}.theater .theater-btn{grid-row:1;grid-column:2;padding:7px 6px}.theater .defense-option{grid-row:2;font-size:11px}.theater .scene{width:100%;aspect-ratio:.88;max-height:none}.theater .scene canvas,.theater .plot-buttons{width:148%;height:auto;top:28px;left:-24%;bottom:auto;right:auto;aspect-ratio:1.5}.theater .cast-announcement{top:64px}.theater .cast-announcement b{font-size:15px}.theater .tool-dock{bottom:20px;transform:translateX(-50%)}.theater .auto-scene-badge{top:18px;bottom:auto}.theater .broadcast-caption{bottom:105px}.theater .scene-footer{display:none}}
@media(prefers-reduced-motion:reduce){.cast-announcement,.pulse-dot{animation:none}}
.help-mole{width:55px;height:65px;object-fit:contain;flex-shrink:0}.defense-option:has(input:disabled){opacity:.5}.cast-card span,.cast-card small,.auto-modes button small,.on-air{font-size:12px}.theater .broadcast-controls:has(.auto-status){min-height:63px}.cast-announcement[hidden]{display:none!important}.cast-announcement{pointer-events:none}.pause-overlay{z-index:8}
@media(max-width:600px){.cast-card img{width:70px;height:80px}.cast-card div{margin-left:-4px}.cast-card span,.cast-card small{font-size:12px}.auto-modes button small{font-size:11px}.cast-announcement span{font-size:11px}.cast-announcement small{font-size:11px}.theater .broadcast-controls:has(.auto-status){min-height:76px}.show-help-intro{font-size:14px}}
.cast-card img:not(.texture-ready){visibility:hidden}
.cast-announcement,.theater .cast-announcement{top:14px;min-height:86px;padding-top:10px;padding-bottom:10px}.scene:has(.cast-announcement:not([hidden])) .scene-head,.scene:has(.cast-announcement:not([hidden])) .auto-scene-badge,.scene:has(.cast-announcement:not([hidden])) .field-caption{visibility:hidden}
@media(max-width:600px){.cast-announcement,.theater .cast-announcement{top:12px;min-height:70px;padding-top:9px;padding-bottom:9px}}
