:root{color-scheme:dark;--bg:#152422;--panel:#172723f5;--line:#a58c5155;--gold:#d7b678;--text:#eee9db;--muted:#a9b6a5}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-family:Inter,system-ui,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer;color:var(--text);background:#263c34;border:1px solid var(--line);border-radius:6px;padding:10px 14px;transition:background .15s}button:hover{background:#3c5748}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}input,textarea,select{background:#101e1a;color:var(--text);border:1px solid #536357;border-radius:6px;padding:12px;width:100%}label{display:block;margin:20px 0 8px;color:#d9ddcd}label input{margin-top:8px}h1,h2,p{margin-top:0}h2{font:27px Georgia,serif}small{display:block;color:var(--muted);font-size:11px;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--gold)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 30px #07171044}.gold{background:#d5b278;color:#18251e;font-weight:700}.gold:hover{background:#e6c895}.link{background:none;border:0;color:var(--gold)}[hidden]{display:none!important}#auth{min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:12vw;padding:40px;background:radial-gradient(ellipse at 22% 62%,#49755833,transparent 50%),linear-gradient(125deg,#102923,#172823 45%,#0c1b1c)}.intro{max-width:500px}.intro h1{font:clamp(70px,8vw,120px)/.95 Georgia,serif;letter-spacing:-5px;margin:35px 0}.intro em{color:var(--gold);font-weight:400}.intro p{font-size:19px;line-height:1.8;color:#b2c1ae}.seal{display:block;font-size:60px;color:#bca36b;margin-top:30px}#authForm{width:375px;padding:34px}#authForm h2{margin-top:18px}#authSubmit,#authSwitch{width:100%}#authForm small{text-align:center;margin-top:20px}.muted{color:var(--muted)}#authError{color:#f2ab8c;font-size:12px}#game{height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:70px minmax(0,1fr);overflow:hidden}header{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:12px 20px;background:#14231f;border-bottom:1px solid var(--line);z-index:5}.brand{display:flex;align-items:center;gap:12px;font:20px Georgia,serif;color:var(--gold);white-space:nowrap}.brand small{font:8px system-ui;letter-spacing:2px;margin-top:5px}#resources{display:flex;justify-content:space-evenly;flex:1;gap:12px}.resource{display:flex;align-items:center;gap:8px}.resource span{font-size:21px}.resource small{font-size:10px}.resource b{font-size:16px}.time{text-align:right;font-size:12px}#connection{color:#9db785;font-size:9px}#world{position:relative;overflow:hidden;background:#526345}#map{width:100%;height:100%;display:block;touch-action:none}.objective{position:absolute;left:20px;top:20px;padding:17px;max-width:300px;pointer-events:none}.objective strong{display:block;margin:9px 0;font:17px Georgia}.objective small{font-size:10px}#objectiveProgress{font-size:11px;color:var(--gold);margin-top:8px}#mapControls{position:absolute;right:16px;top:20px;display:flex;gap:5px}#mapControls button{padding:8px;background:#14271edd}.bottom{position:absolute;bottom:22px;left:20px;right:20px;display:flex;align-items:end;gap:24px;justify-content:space-between;pointer-events:none}.bottom>*{pointer-events:auto}.mini{padding:9px;text-align:center}.mini small{font-size:8px;letter-spacing:2px}#buildBar{display:flex;gap:8px;padding:10px}#buildBar button{width:87px;padding:9px 4px;background:#22372b}#buildBar button.active{border-color:var(--gold);background:#526043}#buildBar span{font-size:30px;display:block;margin-bottom:4px}#buildBar small{font-size:10px;color:var(--gold)}.mapHint{position:absolute;bottom:5px;width:100%;text-align:center;font-size:9px;color:#e5ecd0aa;pointer-events:none}#sidebar{border-radius:0;border-top:0;border-right:0;padding:20px;display:flex;flex-direction:column;min-height:0;z-index:4}.sideTitle{display:flex;justify-content:space-between;align-items:center;font:20px Georgia}.live{font:8px system-ui;letter-spacing:1px;color:#93bc92}.portraitRow{display:flex;gap:16px;align-items:center;margin:22px 0}.portrait{width:70px;height:80px;display:grid;place-items:center;font-size:60px;color:#d8ba84;background:radial-gradient(#536853,#20352c);border:1px solid var(--line);border-radius:8px}.portraitRow h2{margin-bottom:5px}.portraitRow span{font-size:11px;color:var(--gold)}.tabs{display:flex;border-bottom:1px solid var(--line)}.tabs button{border:0;background:none;border-radius:0;flex:1;padding:12px 5px;font-size:12px;color:var(--muted)}.tabs button.active{color:var(--gold);border-bottom:2px solid var(--gold)}.tabContent{flex:1;min-height:0;overflow:auto;padding:16px 0;scrollbar-width:thin}.bubble{padding:13px;border:1px solid var(--line);border-radius:8px;margin-bottom:12px;font-size:13px;line-height:1.65;background:#323e2c}.bubble.user{margin-left:22px;background:#233e45;border-color:#52737a}.bubble small{color:var(--gold);margin-bottom:5px}.suggestions{display:flex;gap:6px;margin:8px 0}.suggestions button{font-size:10px;padding:7px 9px;border-radius:20px;background:none}#chatForm{display:flex;position:relative;margin-bottom:12px}#chatText{resize:none;padding-right:45px;font-size:12px;line-height:1.5}#sendChat{position:absolute;right:6px;bottom:6px;padding:7px 10px;color:var(--gold)}#delegate{width:100%;border:1px solid var(--gold);color:var(--gold);background:none}.delegateHint{text-align:center;font-size:9px;margin-top:8px}.person{padding:12px 0;border-bottom:1px solid var(--line)}.person label{margin:0 0 7px;color:var(--gold)}.person select{padding:8px;font-size:12px}.event{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.6;font-size:12px}#toast{position:absolute;bottom:150px;left:50%;transform:translateX(-50%);background:#17261ff2;border:1px solid var(--gold);padding:14px 24px;border-radius:8px;width:max-content;max-width:90%;z-index:8}#selection{position:absolute;left:50%;bottom:150px;transform:translateX(-50%);padding:15px;min-width:220px;font-size:12px}#togglePanel{display:none}@media(max-width:1100px){#game{grid-template-columns:minmax(0,1fr) 300px}header{padding:10px;gap:8px}.brand{font-size:16px}.resource{gap:4px}.resource span{font-size:16px}.resource b{font-size:13px}.resource small{font-size:8px}.time{display:none}.mini{display:none}.bottom{justify-content:center}#buildBar button{width:75px}#sidebar{padding:14px}}@media(max-width:760px){#auth{flex-direction:column;gap:25px;padding:30px 18px}.intro h1{font-size:64px;margin:20px 0}.intro p,.intro .seal,.intro small{display:none}#authForm{width:min(100%,380px)}#game{grid-template-columns:1fr;grid-template-rows:100px 1fr}header{flex-wrap:wrap;gap:8px}.brand{flex:1}#resources{order:3;flex-basis:100%;justify-content:space-between}.brand small{display:none}#sidebar{position:absolute;right:0;top:100px;bottom:0;width:min(340px,92%);box-shadow:-15px 0 50px #0008}#sidebar.closed{display:none}#togglePanel{display:block}.objective{left:10px;top:10px;padding:12px;max-width:210px}.objective small{display:none}.objective strong{font-size:14px}#mapControls{top:100px;right:10px;flex-direction:column}.bottom{left:5px;right:5px;bottom:25px}#buildBar{gap:4px;padding:7px}#buildBar button{width:70px;font-size:11px}#buildBar span{font-size:25px}}

#closePanel{display:none}@media(max-width:760px){#closePanel{display:block;padding:4px 10px;font-size:20px;background:none}}

#constructionStatus{font-size:11px;color:#efcf89;margin-top:9px;line-height:1.5;max-width:260px}

#populationStatus{font-size:11px;color:#b6cfaa;line-height:1.5;margin-top:6px}#selection button{margin-top:10px;padding:7px 12px}#minimap{cursor:crosshair}#buildBar{max-width:100%;overflow-x:auto}#buildBar button{flex-shrink:0;width:74px}@media(max-width:760px){#buildBar{width:100%;justify-content:flex-start}#buildBar button{width:61px}.bottom{max-width:100%}}

.goalControls{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.task-done{color:#a5c394}.task-active{border-left:2px solid #c9ad69;padding-left:8px}.task-waiting{color:#d3bd85}#plan h3{font-size:16px}#plan p{line-height:1.5}.tabs button{min-width:0;padding-left:5px;padding-right:5px}

.skills{grid-column:1/-1;display:grid;gap:5px;width:100%;margin:8px 0}.skillLine{display:flex;flex-direction:column;gap:3px;font-size:11px}.skillLine progress{width:100%;height:5px;accent-color:#c9ad69}.resourceFlow{font-size:10px;color:#a4c9ac}.person{flex-wrap:wrap}.person>small{display:block;width:100%}.resource{min-width:0}#buildBar small{white-space:normal}
.resourceFlow{white-space:nowrap}#buildBar button>div{font-size:11px;overflow-wrap:anywhere}@media(max-width:760px){.resourceFlow{font-size:8px!important}#resources{gap:4px}}
