:root{color-scheme:dark;--bg: #0f1218;--panel: #171c26;--panel-2: #1f2633;--border: #2b3445;--text: #e6e9ef;--muted: #8b95a8;--accent: #38bdf8;--danger: #f43f5e;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:14px;overscroll-behavior:none}button,select,input{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:5px 9px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary,button.active{background:var(--accent);color:#04121a;border-color:var(--accent);font-weight:600}button.danger{color:var(--danger);border-color:var(--danger)}button.link{background:none;border:none;color:var(--accent);padding:0 3px}button.link.danger{color:#f87171}input[type=color]{padding:0;width:28px;height:28px;border-radius:50%;overflow:hidden}input[type=checkbox],input[type=range]{padding:0}a{color:var(--accent)}.muted{color:var(--muted);font-size:12px;margin:4px 0}.warn{color:#fbbf24}.center{height:100%;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center}.swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}.app{height:100%;display:flex;flex-direction:column}header{display:flex;gap:8px;align-items:center;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}header h1{font-size:16px;margin:0 8px 0 0}.spacer{flex:1}.status{color:var(--muted);font-size:12px}.status.on{color:#4ade80}.panel-toggle{display:none}.error{background:#5b1426;padding:6px 12px;cursor:pointer}.toast{position:fixed;top:60px;left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--accent);padding:6px 14px;border-radius:8px;z-index:50}main{flex:1;display:flex;min-height:0}.map-area{flex:1;min-width:0;position:relative}.map-wrap{position:absolute;top:0;right:0;bottom:0;left:0;background:#000}.map-svg{width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.zoom-controls{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:4px}.zoom-controls button{width:34px;height:34px;padding:0;font-size:18px}aside{width:340px;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.tabs{display:flex;border-bottom:1px solid var(--border)}.tabs button{flex:1;border:none;border-radius:0;background:none;text-transform:capitalize}.tabs button.active{background:var(--panel-2);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.panel-body{flex:1;overflow:auto;padding:8px}.guild{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px;margin-bottom:8px}.guild.selected{border-color:#fde047}.guild.is-hidden{opacity:.5}.guild-head{display:flex;gap:8px;align-items:center}.guild-name{flex:1;display:flex;justify-content:space-between;align-items:center;text-align:left;background:none;border:none;padding:0;font-weight:600}.guild-name .chev{color:var(--muted);font-size:12px}.buffs{margin-top:8px;padding-top:6px;border-top:1px solid var(--border);font-size:12px}.buffs h4{margin:0 0 4px;font-size:12px;color:var(--muted);font-weight:600}.buffs ul{margin:0;padding-left:16px}.guild-actions{display:flex;gap:10px;align-items:center;margin:6px 0;font-size:12px}.guild-actions label{display:flex;align-items:center;gap:3px}.guild-add,.guild-edit{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.guild-add input:not([type=color]),.guild-edit input{flex:1;min-width:80px}.tag-input{max-width:64px;flex:0 0 64px!important}.stats{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:12px}.stats dt{color:var(--muted)}.stats dd{margin:0}.feed-day{color:var(--muted);font-size:11px;text-transform:uppercase;margin:10px 0 2px}.feed-item{display:flex;width:100%;text-align:left;background:none;border:none;padding:4px 2px;align-items:center}.feed-item.future{opacity:.4}.feed-item:hover{background:var(--panel-2)}.event-list .row,.editor .row{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.event-list table{width:100%;border-collapse:collapse;font-size:12px}.event-list td{padding:3px 4px;border-bottom:1px solid var(--border)}.event-list tr.deleted{opacity:.45;text-decoration:line-through}.event-list td.actions{white-space:nowrap}footer{background:var(--panel);border-top:1px solid var(--border);padding:8px 12px}.timeline{display:flex;flex-direction:column;gap:4px}.timeline-top{display:flex;gap:8px;align-items:center}.timeline .play{width:38px;height:38px;font-size:16px;padding:0;flex:none}.slider-col{min-width:0}.slider-col input[type=range]{width:100%;accent-color:var(--accent)}.phases{flex:1;min-width:0;display:flex;flex-wrap:nowrap;gap:4px}.phases .phase{flex:1;min-width:0;padding:6px 0;font-size:12px}.phases .phase.gear{flex:0 0 34px}.phases .phase.open{border-color:var(--accent);color:var(--text)}.start-info{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:11px;color:var(--muted)}.start-info input{font-size:11px;padding:2px 4px}.start-info .opens{display:flex;flex-wrap:wrap;gap:2px 10px}.start-info .opens b{color:var(--text)}.panel-close,.panel-backdrop{display:none}.slider-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.slider-labels strong{color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;display:flex;align-items:center;justify-content:center;z-index:40;padding:12px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;width:380px;max-width:100%;max-height:100%;overflow:auto;display:flex;flex-direction:column;gap:10px}.modal h3{margin:0}.modal label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.modal label input,.modal label select{color:var(--text)}.modal-actions{display:flex;gap:8px}.history{padding-left:16px;font-size:11px}.history li{margin-bottom:4px}.editor{height:100%;display:flex}.editor aside{width:360px;border-left:none;border-right:1px solid var(--border);padding:10px;overflow:auto;display:block}.editor .fields{display:flex;flex-direction:column;gap:6px;margin:8px 0}.editor .fields label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:2px}.editor .btn{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:5px 9px;cursor:pointer}.editor-map{flex:1;position:relative;min-width:0}.region-list{list-style:none;padding:0;margin:0}.region-list button{width:100%;text-align:left;border:none;background:none;border-radius:4px}.region-list button.neighbor{background:#fde04733}.region-list small{color:var(--muted)}@media (max-width: 800px){.panel-toggle{display:inline-block}header h1{flex:1 1 auto;margin:0;min-width:0}header{gap:6px;padding:6px 8px}aside{position:fixed;right:0;top:0;bottom:0;width:min(340px,90vw);z-index:30;transform:translate(100%);transition:transform .2s}.panel-close{display:block;margin:8px}.panel-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:29}aside.open{transform:none;box-shadow:-8px 0 24px #00000080}.editor{flex-direction:column}.editor aside{position:static;transform:none;width:100%;max-height:40%;border-right:none;border-bottom:1px solid var(--border)}.timeline select{padding:5px 6px}}
