:root{--rome-ink:#2d2115;--rome-cream:#f5e7c1;--rome-gold:#d3a354;--rome-red:#8f352d;--rome-green:#657f46;--rome-panel:rgba(45,32,20,.94);--rome-panel-soft:rgba(70,51,31,.92)}
html.rome-caesar-pass .game-shell{background:#596344}
html.rome-caesar-pass .world:after{background:linear-gradient(180deg,rgba(42,30,18,.15),transparent 19%,transparent 78%,rgba(28,20,13,.32)),radial-gradient(circle at 48% 48%,transparent 58%,rgba(24,18,12,.2) 100%)}
html.rome-caesar-pass .world>canvas:not(.rome-atmosphere){position:relative;z-index:1;filter:saturate(1.18) contrast(1.055) brightness(1.06)}
.rome-atmosphere{position:absolute!important;inset:0;z-index:2!important;width:100%;height:100%;pointer-events:none;mix-blend-mode:soft-light;filter:none!important}
html.rome-caesar-pass .glass{background:linear-gradient(180deg,rgba(72,52,31,.94),rgba(39,29,19,.96));border-color:rgba(224,184,104,.62);box-shadow:0 14px 34px rgba(20,13,8,.28),inset 0 1px rgba(255,241,207,.16);backdrop-filter:blur(9px)}
html.rome-caesar-pass .topbar{border-radius:10px;background:linear-gradient(180deg,rgba(67,48,28,.95),rgba(37,27,18,.96));box-shadow:0 8px 22px rgba(24,15,8,.28)}
html.rome-caesar-pass .brand-mark{border-width:2px;box-shadow:inset 0 0 0 3px rgba(247,218,149,.13),0 5px 12px rgba(0,0,0,.22)}
html.rome-caesar-pass .metric{background:rgba(20,14,9,.23);border-color:rgba(238,199,126,.17)}
html.rome-caesar-pass .metric span{color:#d4c2a0}
html.rome-caesar-pass .metric strong{color:#fff4d6}
html.rome-caesar-pass .mission-panel{background:linear-gradient(180deg,rgba(58,42,27,.96),rgba(35,27,18,.97));border-radius:11px}
html.rome-caesar-pass .panel-tabs button{min-height:32px;border-radius:5px}
html.rome-caesar-pass .guidance-coach{display:none!important}
html.rome-caesar-pass .build-dock{background:linear-gradient(180deg,rgba(61,45,28,.96),rgba(38,28,19,.97));border-radius:11px;box-shadow:0 12px 34px rgba(18,12,7,.34)}
html.rome-caesar-pass .buildings{gap:9px}
html.rome-caesar-pass .build{position:relative;flex-basis:148px;height:76px;border-radius:8px;background:linear-gradient(180deg,rgba(105,75,42,.88),rgba(57,40,25,.95));border-color:rgba(230,188,108,.38);overflow:visible}
html.rome-caesar-pass .build:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 18px rgba(17,11,7,.28)}
html.rome-caesar-pass .build-icon{width:48px;height:48px;flex-basis:48px;border-radius:7px;background:linear-gradient(145deg,rgba(246,220,165,.15),rgba(24,17,11,.36));border-color:rgba(242,207,137,.35)}
html.rome-caesar-pass .build-icon svg{width:43px;height:43px;overflow:visible}
html.rome-caesar-pass .build-copy strong{font-size:12px;color:#fff1cf}
html.rome-caesar-pass .build-copy small{font-size:8px;color:#d1b888}
.rome-shortcut{position:absolute;right:5px;top:5px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:5px;background:#21170e;border:1px solid rgba(239,199,123,.5);color:#f6dda3;font:800 10px/1 Inter,sans-serif;box-shadow:0 2px 5px rgba(0,0,0,.24)}
html.rome-caesar-pass .build.rome-recommended{border-color:#ffe09a;background:linear-gradient(180deg,#a86e31,#68421f);box-shadow:0 0 0 2px rgba(255,222,151,.22),0 0 24px rgba(230,179,83,.34)}
html.rome-caesar-pass .build.rome-recommended:after{content:"COSTRUISCI ORA";position:absolute;left:50%;top:-25px;transform:translateX(-50%);padding:4px 7px;border-radius:5px;background:#8f352d;color:#fff3d0;font-size:8px;font-weight:900;letter-spacing:.08em;white-space:nowrap;box-shadow:0 4px 10px rgba(35,16,10,.3)}
.rome-tool-pulse{animation:rome-tool-pulse .75s ease-out}
@keyframes rome-tool-pulse{0%{transform:scale(.96);box-shadow:0 0 0 0 rgba(255,224,154,.75)}65%{transform:scale(1.03);box-shadow:0 0 0 12px rgba(255,224,154,0)}100%{transform:scale(1)}}

.rome-briefing{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 38%,rgba(89,64,35,.36),rgba(18,13,9,.9) 66%),rgba(18,13,9,.84);backdrop-filter:blur(9px)}
.rome-briefing[hidden]{display:none}
.rome-briefing-card{position:relative;width:min(620px,calc(100vw - 32px));padding:36px 42px 34px;border:2px solid #c49a52;border-radius:8px;background:linear-gradient(145deg,#f3e1b8,#d7b77b);color:var(--rome-ink);box-shadow:0 34px 90px rgba(0,0,0,.56),inset 0 0 0 6px rgba(105,69,31,.14);text-align:center}
.rome-briefing-card:before,.rome-briefing-card:after{content:"";position:absolute;inset:11px;border:1px solid rgba(112,72,30,.38);pointer-events:none}.rome-briefing-card:after{inset:17px;border-color:rgba(255,249,222,.42)}
.rome-seal{position:relative;z-index:1;width:72px;height:72px;margin:-74px auto 17px;display:grid;place-items:center;border-radius:50%;border:4px double #e0bd74;background:radial-gradient(circle at 35% 28%,#a64a39,#66271f 66%,#32130f);color:#f6dda0;font:700 15px Georgia,serif;letter-spacing:.08em;box-shadow:0 10px 22px rgba(47,23,12,.35)}
.rome-kicker{position:relative;z-index:1;margin:0;color:#8c5f2a;font-size:10px;font-weight:900;letter-spacing:.2em}
.rome-briefing h1{position:relative;z-index:1;margin:8px 0 7px;font:700 clamp(30px,5vw,46px) Georgia,serif;color:#4b2817}
.rome-lead{position:relative;z-index:1;margin:0 auto 24px;max-width:470px;font-size:15px;line-height:1.55;color:#63462b}
.rome-briefing-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 16px;text-align:left}
.rome-briefing-grid div{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(102,65,26,.23);border-radius:6px;background:rgba(255,248,220,.3)}
.rome-briefing-grid b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#7f3a2c;color:#f8e8bc;font:700 13px Georgia,serif}
.rome-briefing-grid span{font-size:13px;font-weight:750}
.rome-safe{position:relative;z-index:1;display:grid;gap:3px;margin-bottom:20px;padding:12px;border-left:4px solid #657f46;background:rgba(91,118,62,.12);text-align:left}
.rome-safe strong{color:#40582d;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.rome-safe span{font-size:12px;color:#604a32}
.rome-start{position:relative;z-index:1;width:100%;min-height:52px;border:1px solid #6e2c23;border-radius:6px;background:linear-gradient(180deg,#a34a38,#7d3027);color:#fff1c9;font:800 15px Inter,sans-serif;letter-spacing:.03em;cursor:pointer;box-shadow:0 8px 18px rgba(75,34,20,.25)}
.rome-start:hover{background:linear-gradient(180deg,#b95843,#89372c);transform:translateY(-1px)}
html.rome-briefing-open{overflow:hidden}

.rome-objective{position:absolute;z-index:8;left:88px;top:96px;width:min(540px,calc(100vw - 430px));padding:15px 17px 14px;border:1px solid rgba(236,194,111,.72);border-left:5px solid #b55c3c;border-radius:8px;background:linear-gradient(135deg,rgba(55,40,26,.97),rgba(31,24,17,.96));color:#f6e7c5;box-shadow:0 14px 38px rgba(21,14,8,.34),inset 0 1px rgba(255,244,212,.13);backdrop-filter:blur(10px)}
.rome-objective[hidden]{display:none}
.rome-objective-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.rome-step{color:#dcb36a;font-size:9px;font-weight:900;letter-spacing:.16em}.rome-peace{padding:4px 7px;border-radius:4px;background:rgba(91,125,65,.18);border:1px solid rgba(137,174,101,.35);color:#cde6a9;font-size:8px;letter-spacing:.08em}
.rome-objective h2{margin:6px 0 5px;font:700 21px Georgia,serif;color:#fff1cc}.rome-command{margin:0;color:#ead7b1;font-size:12px;line-height:1.5}.rome-why{display:flex;gap:8px;margin:10px 0 9px;padding:8px 10px;border-radius:5px;background:rgba(10,7,5,.25);font-size:10px;line-height:1.4}.rome-why strong{flex:0 0 auto;color:#e5ba69;text-transform:uppercase;letter-spacing:.08em}.rome-why span{color:#cfbea0}
.rome-progress{height:6px;border-radius:99px;background:#171009;overflow:hidden}.rome-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a94835,#e0b563);transition:width .3s ease}
.rome-objective-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.rome-action{min-height:38px;padding:8px 14px;border:1px solid #e0b467;border-radius:6px;background:linear-gradient(180deg,#a66c31,#79481f);color:#fff1ce;font-weight:850;cursor:pointer}.rome-action:hover{background:linear-gradient(180deg,#b97b39,#875325);transform:translateY(-1px)}.rome-objective-actions small{color:#bbaa8c;font-size:9px}
.rome-map-hint{position:absolute;z-index:7;left:50%;bottom:118px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;max-width:min(620px,calc(100vw - 420px));padding:9px 14px;border-radius:7px;background:rgba(39,28,18,.86);border:1px solid rgba(231,190,111,.42);color:#f2dfba;box-shadow:0 8px 20px rgba(18,12,7,.24);pointer-events:none}.rome-map-hint[hidden]{display:none}.rome-map-hint span{font-size:18px;color:#edc778}.rome-map-hint p{margin:0;font-size:10px;line-height:1.4}
.rome-toast{position:fixed;z-index:110;left:50%;top:28px;transform:translate(-50%,-18px);max-width:min(560px,calc(100vw - 28px));padding:12px 18px;border-radius:7px;background:#31502f;border:1px solid #9ac17a;color:#f3f4d8;font-weight:800;box-shadow:0 14px 34px rgba(11,20,10,.36);opacity:0;transition:opacity .2s ease,transform .2s ease}.rome-toast.show{opacity:1;transform:translate(-50%,0)}

html.rome-onboarding .panel-tabs{display:none!important}
html.rome-onboarding .mission-panel{width:278px;padding:14px;top:96px}
html.rome-onboarding #province-rules-panel,html.rome-onboarding #decision-panel,html.rome-onboarding #challenge-panel,html.rome-onboarding #message,html.rome-onboarding #tutorial,html.rome-onboarding #speed{display:none!important}
html.rome-onboarding .panel-view[data-panel-view="city"],html.rome-onboarding .panel-view[data-panel-view="economy"],html.rome-onboarding .panel-view[data-panel-view="defense"],html.rome-onboarding .panel-view[data-panel-view="records"]{display:none!important}
html.rome-onboarding .rome-secondary-metric{display:none!important}
html.rome-onboarding .metrics{grid-template-columns:repeat(5,minmax(92px,1fr))}
html.rome-onboarding .build.onboarding-hidden{display:none!important}
html.rome-onboarding .build-dock{width:min(730px,calc(100% - 430px));grid-template-columns:120px 1fr}
html.rome-onboarding .buildings{overflow:visible;justify-content:center}
html.rome-onboarding .build{flex-basis:142px}

@media(max-width:1250px){.rome-objective{top:150px;left:82px;width:min(530px,calc(100vw - 390px))}.rome-map-hint{max-width:calc(100vw - 330px)}html.rome-onboarding .mission-panel{top:148px}html.rome-onboarding .build-dock{width:calc(100% - 36px)}}
@media(max-width:900px){.rome-objective{left:68px;right:8px;top:142px;width:auto}.rome-map-hint{left:8px;right:8px;bottom:88px;max-width:none;transform:none}.rome-objective h2{font-size:18px}.rome-why{display:none}.rome-objective-actions small{display:none}html.rome-onboarding .mission-panel{display:none}.rome-briefing-card{padding:32px 24px 24px}.rome-briefing-grid{grid-template-columns:1fr}.rome-seal{margin-top:-68px}html.rome-onboarding .metrics{grid-template-columns:repeat(3,1fr)}html.rome-onboarding .metric:nth-child(n+4){display:none!important}}
@media(max-width:620px){.rome-objective{left:8px;top:136px;padding:11px 12px}.rome-objective .rome-command{font-size:10px}.rome-objective h2{margin-top:4px;font-size:16px}.rome-peace{display:none}.rome-map-hint{bottom:78px;padding:7px 10px}.rome-map-hint p{font-size:9px}.rome-briefing{padding:12px}.rome-briefing-card{padding:30px 18px 20px}.rome-briefing h1{font-size:28px}.rome-lead{font-size:13px}.rome-briefing-grid div{padding:8px 9px}.rome-safe{margin-bottom:14px}.rome-start{min-height:48px}html.rome-onboarding .build-dock{min-height:70px}.rome-shortcut{display:none}}
@media(prefers-reduced-motion:reduce){.rome-tool-pulse,.build.rome-recommended{animation:none!important}.rome-toast,.rome-progress i{transition:none!important}}
