.message-log{height:200px;overflow-y:auto;background:#0000004d;color:#e0e0e0;font-family:Courier New,Consolas,monospace;font-size:13px;padding:12px;border:1px solid rgba(74,158,255,.2);border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0000004d;transition:all .3s ease;position:relative}.message-log::-webkit-scrollbar{width:10px}.message-log::-webkit-scrollbar-track{background:#0000004d;border-radius:5px}.message-log::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4a9eff80,#7b68ee80);border-radius:5px;transition:all .3s ease}.message-log::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#4a9effb3,#7b68eeb3)}.message{margin:2px 0;white-space:pre-wrap;padding:2px 8px;border-radius:4px;transition:all .2s ease;line-height:1.3}.message:hover{background:#4a9eff0d}.message-echo{color:#4a9eff;font-weight:600;opacity:.9;background:#4a9eff1a;border-left:3px solid #4a9eff;padding-left:10px;text-shadow:0 0 10px rgba(74,158,255,.3)}.message-prompt{color:#fa4;font-weight:600;background:#ffaa441a;border-left:3px solid #ffaa44;padding-left:10px;animation:promptGlow 2s ease-in-out infinite}@keyframes promptGlow{0%,to{text-shadow:0 0 10px rgba(255,170,68,.4)}50%{text-shadow:0 0 20px rgba(255,170,68,.6)}}.game-map{background:linear-gradient(135deg,#000,#0a0a0a,#050510);color:#e8e8e8;font-family:Courier New,Consolas,monospace;font-size:16px;line-height:1.2;padding:16px;border:none;border-radius:0;overflow:hidden;width:100%;height:100%;position:relative}.game-map-container{width:100%;height:100%;overflow:hidden;flex:1;cursor:grab;-webkit-user-select:none;user-select:none;position:relative;border-radius:0}.game-map-container.panning,.game-map-container:active{cursor:grabbing}.map-content{display:inline-block;will-change:transform}.map-row{white-space:pre;height:1.2em}.map-cell{display:inline-block;width:1ch;cursor:pointer}.map-cell:hover{background:#ffffff1a}.map-placeholder{color:#6a7a8a;text-align:center;padding:60px;font-size:16px;font-weight:500;letter-spacing:.5px}.map-cell.cursor{background:linear-gradient(135deg,#4a9eff66,#7b68ee66);font-weight:700;position:relative;border-radius:2px;box-shadow:0 0 12px #4a9eff99;animation:cursorPulse 1.5s ease-in-out infinite}@keyframes cursorPulse{0%,to{box-shadow:0 0 12px #4a9eff99}50%{box-shadow:0 0 20px #4a9effe6}}.map-cell.nh-pet{font-weight:700;text-shadow:0 0 8px rgba(255,255,255,.3)}.nh-color-0{color:gray}.nh-color-1{color:#cd0000}.nh-color-2{color:#00cd00}.nh-color-3{color:#cdcd00}.nh-color-4{color:#00e}.nh-color-5{color:#cd00cd}.nh-color-6{color:#00cdcd}.nh-color-7{color:#e5e5e5}.nh-color-8{color:gray}.nh-color-9{color:#ff8c00}.nh-color-10{color:#0f0}.nh-color-11{color:#ff0}.nh-color-12{color:#5c5cff}.nh-color-13{color:#f0f}.nh-color-14{color:#0ff}.nh-color-15{color:#fff}.nh-pet{font-weight:700}.nh-detect{opacity:.7}.nh-invisible{opacity:.5;font-style:italic}.nh-statue{opacity:.9}.nh-objpile{text-decoration:underline}.nh-ridden{font-weight:700}.game-map.tiles{font-size:0!important;line-height:0;display:block;justify-content:flex-start;align-items:flex-start}.game-map.tiles .map-content{display:block}.game-map.tiles .map-row{height:32px;line-height:0;font-size:0}.map-tile{display:inline-block;width:32px;height:32px;position:relative;background-repeat:no-repeat;vertical-align:top;cursor:pointer}.map-tile:hover{filter:brightness(1.2)}.map-tile.on-path{outline:2px solid rgba(255,255,0,.6);outline-offset:-2px;box-shadow:inset 0 0 8px #ff06}.map-cell.on-path{background:#ffff004d;box-shadow:0 0 4px #ffff0080}.map-tile.direction-target,.map-tile-empty.direction-target{outline:2px solid rgba(0,191,255,.8);outline-offset:-2px;box-shadow:inset 0 0 12px #00bfff80;cursor:pointer;animation:direction-pulse .8s ease-in-out infinite}.map-tile-empty.direction-target{background:#00bfff33!important}.map-cell.direction-target{background:#00bfff66;box-shadow:0 0 8px #00bfff99;cursor:pointer;animation:direction-pulse .8s ease-in-out infinite}@keyframes direction-pulse{0%,to{opacity:1}50%{opacity:.6}}.map-tile-empty{background:none!important}.pet-indicator{position:absolute;top:1px;right:1px;font-size:10px;color:#ff69b4;text-shadow:0 0 3px #000,0 0 1px #000;pointer-events:none;z-index:3}.pile-indicator{position:absolute;bottom:0;right:0;font-size:10px;color:#ff0;text-shadow:0 0 2px #000;pointer-events:none}.cursor-indicator{position:absolute;top:0;left:0;width:100%;height:100%;border:2px solid #ffff00;box-sizing:border-box;pointer-events:none;animation:cursor-pulse 1s infinite;z-index:2}@keyframes cursor-pulse{0%,to{opacity:1}50%{opacity:.5}}.pet-tile-indicator{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00ff6414;box-sizing:border-box;pointer-events:none;z-index:0}.map-cell.at-map-border{box-shadow:inset 0 0 0 2px #646464b3;background:repeating-linear-gradient(45deg,#3c3c3c4d,#3c3c3c4d 2px,#5050504d 2px,#5050504d 4px)}.map-tile.at-map-border{position:relative;background:repeating-linear-gradient(90deg,#46464666,#32323266,#46464666 4px),repeating-linear-gradient(0deg,#3c3c3c66,#28282866,#3c3c3c66 4px)!important;box-shadow:inset 0 0 0 2px #64646499,inset 3px 3px 5px #00000080,inset -2px -2px 4px #7878784d;filter:brightness(.7)}.map-tile.at-map-border:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(90,90,90,.3) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(70,70,70,.3) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(60,60,60,.2) 0%,transparent 50%);pointer-events:none;z-index:1}.map-cell.outside-map,.map-tile.outside-map{background:#00000080!important;opacity:.3}.status-bars{display:flex;flex-direction:column;padding:6px 8px;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;border:1px solid rgba(74,158,255,.2);box-shadow:0 4px 12px #0006;width:100%}.status-main{display:flex;gap:10px;align-items:flex-start}.character-title{font-size:16px;font-weight:700;color:#4a9eff;text-align:center;margin-bottom:4px;text-shadow:0 0 8px rgba(74,158,255,.5)}.stat-bar-container{display:flex;flex-direction:column;gap:4px}.stat-bar-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:#e0e0e0}.stat-bar-value{font-size:11px;color:#a0a0a0}.stat-bar{height:18px;background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:4px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0006}.stat-bar-fill{height:100%;transition:width .3s ease,background-color .3s ease;box-shadow:0 0 8px #ffffff4d;position:relative}.stat-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%);border-radius:4px 4px 0 0}.hp-bar{transition:background-color .3s ease}.pw-bar{background:linear-gradient(90deg,#06f,#0af)}.xp-bar{background:linear-gradient(90deg,#fa0,#f60)}.compact-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;padding-top:8px;border-top:1px solid rgba(74,158,255,.2)}.stat-item{display:flex;align-items:center;gap:4px;padding:3px 8px;background:#0006;border-radius:4px;font-size:11px;border:1px solid rgba(255,255,255,.1)}.stat-label{color:#8a9aa8;font-weight:600;text-transform:uppercase;font-size:10px}.stat-value{color:#fff;font-weight:700;font-size:11px}.attributes-row{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0;border-top:1px solid rgba(74,158,255,.2);font-size:11px}.attr-item{padding:2px 6px;background:#0000004d;border-radius:3px;color:#b0b0b0;font-weight:600;border:1px solid rgba(255,255,255,.1)}.conditions-row{display:flex;flex-wrap:wrap;gap:4px;padding-top:6px;border-top:1px solid rgba(255,100,100,.3)}.condition{padding:3px 8px;background:#ff646433;border:1px solid rgba(255,100,100,.4);border-radius:4px;font-size:10px;font-weight:600;color:#fa4;text-transform:uppercase}.condition.hunger{background:#fa43;border-color:#fa46}.condition.encumbrance{background:#ffc80033;border-color:#ffc80066;color:#fc0}.character-avatar{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px;max-width:100px}.avatar-symbol{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#4a9eff33;border:2px solid rgba(74,158,255,.4);border-radius:6px;font-size:28px;font-weight:700;color:#fff;font-family:monospace}.avatar-tile{background-repeat:no-repeat!important;image-rendering:pixelated;image-rendering:crisp-edges}.character-info{display:flex;flex-direction:column;gap:2px;width:100%}.character-name{font-size:14px;color:#4a9eff;font-weight:700;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-title{font-size:12px;color:#8a9aa8;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-compact{flex:1;display:flex;flex-direction:column;gap:3px}.stat-line{display:flex;align-items:center;gap:6px;height:16px}.stat-label-inline{font-size:10px;font-weight:600;color:#8a9aa8;min-width:22px}.stat-bar-inline{flex:1;height:12px;background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:3px;overflow:hidden;position:relative}.stat-bar-fill-inline{height:100%;transition:width .3s ease,background-color .3s ease;position:relative}.stat-bar-fill-inline:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%)}.stat-value-inline{font-size:9px;color:#e0e0e0;font-weight:600;min-width:40px;text-align:right}.stats-row{display:flex;gap:4px;flex-wrap:nowrap;margin-top:2px;padding-top:4px;border-top:1px solid rgba(74,158,255,.2);overflow-x:auto}.mini-stat{font-size:11px;color:silver;font-weight:600;padding:3px 6px;background:#0006;border-radius:3px;white-space:nowrap;flex-shrink:0;border:1px solid rgba(255,255,255,.1)}.conditions-compact{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px;padding-top:4px;border-top:1px solid rgba(255,100,100,.2)}.condition-mini{padding:2px 6px;background:#ff646433;border:1px solid rgba(255,100,100,.3);border-radius:3px;font-size:8px;font-weight:600;color:#fa4;text-transform:uppercase}.condition-mini.hunger{background:#fa43;border-color:#ffaa444d}.condition-mini.encumbrance{background:#ffc80033;border-color:#ffc8004d;color:#fc0}.menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .25s ease-out}@keyframes fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.menu-container{background:linear-gradient(135deg,#14141ef2,#1e1e2df2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(0,255,136,.6);border-radius:16px;max-width:800px;max-height:80vh;width:90%;display:flex;flex-direction:column;box-shadow:0 20px 60px #000c,0 0 100px #0f83,inset 0 1px #0f83;animation:slideIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideIn{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.menu-header{padding:24px 28px;border-bottom:2px solid rgba(0,255,136,.3);background:linear-gradient(135deg,rgba(0,255,136,.05) 0%,transparent 100%)}.menu-header h2{margin:0 0 12px;background:linear-gradient(135deg,#0f8,#0c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.75em;font-family:Courier New,Consolas,monospace;font-weight:700;text-shadow:0 0 30px rgba(0,255,136,.5);letter-spacing:1px}.menu-type{color:#8a9aa8;font-size:.9em;font-style:italic;margin-top:6px;letter-spacing:.5px}.menu-selection-count{color:#0f8;font-weight:700;margin-top:12px;font-size:1em;background:#00ff881a;padding:6px 12px;border-radius:6px;display:inline-block;border:1px solid rgba(0,255,136,.3)}.menu-items{flex:1;overflow-y:auto;padding:12px;min-height:200px;max-height:60vh}.menu-items::-webkit-scrollbar{width:12px}.menu-items::-webkit-scrollbar-track{background:#0000004d;border-radius:6px;margin:4px}.menu-items::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#00ff8880,#00cc6680);border-radius:6px;transition:all .3s ease}.menu-items::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#00ff88b3,#00cc66b3)}.menu-item{padding:12px 16px;margin:4px 0;display:flex;align-items:center;gap:14px;cursor:pointer;border-radius:8px;transition:all .2s ease;font-family:Courier New,Consolas,monospace;font-size:.95em;color:#d0d0d0;border:1px solid transparent;background:#0003}.menu-item:hover{background:#00ff8826;border-color:#00ff884d;transform:translate(4px);box-shadow:0 2px 12px #0f83}.menu-item.highlighted{background:linear-gradient(135deg,#00ff8840,#00cc6640);border:2px solid #00ff88;color:#fff;transform:translate(6px);box-shadow:0 4px 20px #0f86;font-weight:600}.menu-item.selected{background:#0f83;color:#0f8;font-weight:700;border:1px solid rgba(0,255,136,.5)}.menu-item.non-selectable{cursor:default;background:#0000001a!important;border:1px solid transparent!important}.menu-item.non-selectable .menu-item-text{color:#b0c0d0;font-weight:700;font-size:1.05em;letter-spacing:.3px;text-transform:uppercase;text-shadow:0 0 8px rgba(176,192,208,.3)}.menu-item.non-selectable:hover{background:#0000001a!important;transform:none;box-shadow:none}.menu-item-accel{display:inline-block;min-width:28px;background:#0f83;color:#0f8;font-weight:700;text-align:center;padding:4px 8px;border-radius:6px;border:1px solid rgba(0,255,136,.4);font-size:.9em}.menu-item-checkbox{font-size:1.3em;color:#0f8;text-shadow:0 0 10px rgba(0,255,136,.5)}.menu-item-text{flex:1;line-height:1.4}.menu-item-count{color:#fa4;font-weight:700;margin-left:10px;font-size:.95em;background:#ffaa4426;padding:2px 8px;border-radius:4px;border:1px solid rgba(255,170,68,.3)}.menu-item-counting{color:#f4f;font-weight:700;margin-left:6px;animation:countingPulse .6s ease-in-out infinite alternate;text-shadow:0 0 12px rgba(255,68,255,.6)}@keyframes countingPulse{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.menu-footer{padding:16px 24px;border-top:2px solid rgba(0,255,136,.3);background:linear-gradient(135deg,#0006,#00140a66);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu-controls{color:#8a9aa8;font-size:.85em;text-align:center;font-family:Courier New,Consolas,monospace;line-height:1.6;letter-spacing:.3px}.menu-controls span{color:#0f8;font-weight:600;padding:2px 6px;background:#00ff881a;border-radius:4px;margin:0 2px}.save-load-button{padding:8px 18px;font-size:14px;font-weight:600;background:linear-gradient(135deg,#4caf504d,#388e3c4d);color:#4caf50;border:1px solid #4caf50;border-radius:8px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #4caf5033}.save-load-button:hover{background:linear-gradient(135deg,#4caf5066,#388e3c66);box-shadow:0 4px 16px #4caf5066;transform:translateY(-2px)}.save-load-button:active{transform:translateY(0);box-shadow:0 2px 8px #4caf504d}.save-load-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .25s ease-out}.save-load-modal{background:linear-gradient(135deg,#14141ef2,#1e1e2df2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#e0e0e0;padding:28px;border-radius:16px;border:2px solid rgba(74,158,255,.4);max-width:650px;width:90%;max-height:80vh;overflow:auto;box-shadow:0 20px 60px #000c,0 0 100px #4a9eff33,inset 0 1px #4a9eff33;animation:slideIn .3s cubic-bezier(.34,1.56,.64,1)}.save-load-modal::-webkit-scrollbar{width:10px}.save-load-modal::-webkit-scrollbar-track{background:#0000004d;border-radius:5px}.save-load-modal::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4a9eff80,#7b68ee80);border-radius:5px}.save-load-modal::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#4a9effb3,#7b68eeb3)}.save-load-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.save-load-header h2{margin:0;background:linear-gradient(135deg,#4a9eff,#7b68ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.75em;font-weight:700;text-shadow:0 0 30px rgba(74,158,255,.5)}.save-load-close-btn{padding:8px 16px;font-size:14px;font-weight:600;background:#64646e4d;color:#d0d0d0;border:1px solid rgba(150,150,160,.4);border-radius:8px;cursor:pointer;transition:all .3s ease}.save-load-close-btn:hover{background:#78788266;border-color:#b4b4be99;transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.refresh-section{margin-bottom:24px}.refresh-button{padding:10px 20px;font-size:14px;font-weight:600;background:linear-gradient(135deg,#4a9eff40,#7b68ee40);color:#4a9eff;border:1px solid #4a9eff;border-radius:8px;cursor:pointer;transition:all .3s ease;width:100%}.refresh-button:hover{background:linear-gradient(135deg,#4a9eff59,#7b68ee59);box-shadow:0 4px 16px #4a9eff4d;transform:translateY(-2px)}.refresh-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.slots-grid{display:grid;gap:12px}.slot-card{padding:16px;background:#0000004d;border:1px solid rgba(74,158,255,.3);border-radius:10px;transition:all .3s ease}.slot-card:hover{background:#4a9eff14;border-color:#4a9eff80;box-shadow:0 4px 16px #4a9eff33}.slot-content{display:flex;justify-content:space-between;align-items:center}.slot-info{flex:1}.slot-info strong{color:#4a9eff;font-size:16px}.slot-info small{color:#8a9aa8;font-size:13px}.slot-info em{color:#6a7a88;font-style:italic}.slot-actions{display:flex;gap:8px}.slot-button{padding:8px 16px;font-size:13px;font-weight:600;border:1px solid;border-radius:6px;cursor:pointer;transition:all .3s ease;min-width:70px}.slot-button.save{background:linear-gradient(135deg,#4caf5033,#388e3c33);color:#4caf50;border-color:#4caf50}.slot-button.save:hover:not(:disabled){background:linear-gradient(135deg,#4caf504d,#388e3c4d);box-shadow:0 2px 12px #4caf504d;transform:translateY(-2px)}.slot-button.load{background:linear-gradient(135deg,#2196f333,#1976d233);color:#2196f3;border-color:#2196f3}.slot-button.load:hover:not(:disabled){background:linear-gradient(135deg,#2196f34d,#1976d24d);box-shadow:0 2px 12px #2196f34d;transform:translateY(-2px)}.slot-button.delete{background:linear-gradient(135deg,#f4433633,#d32f2f33);color:#f44336;border-color:#f44336}.slot-button.delete:hover:not(:disabled){background:linear-gradient(135deg,#f443364d,#d32f2f4d);box-shadow:0 2px 12px #f443364d;transform:translateY(-2px)}.slot-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.help-section{margin-top:24px;padding:16px;background:#4a9eff14;border-radius:8px;border:1px solid rgba(74,158,255,.2)}.help-section p{margin:0;font-size:12px;color:#a0b0c0;line-height:1.6}.tutorial-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.tutorial-modal{background:#1a1a1a;border:2px solid #4a9eff;border-radius:8px;max-width:700px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #4a9eff4d}.tutorial-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333;background:linear-gradient(180deg,#2a2a2a,#1a1a1a)}.tutorial-header h2{margin:0;color:#4a9eff;font-size:1.5em}.tutorial-close{background:none;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.tutorial-close:hover{background:#333;color:#fff}.tutorial-content{flex:1;overflow-y:auto;padding:24px}.tutorial-text{color:#ddd;line-height:1.6}.tutorial-text h3{color:#4a9eff;margin:16px 0 8px;font-size:1.1em}.tutorial-text p{margin:8px 0;white-space:pre-wrap}.tutorial-text li{margin:4px 0 4px 20px;list-style-type:none;position:relative}.tutorial-text li:before{content:"▸";position:absolute;left:-15px;color:#4a9eff}.tutorial-text strong{color:#ffc832;font-weight:600}.tutorial-text code{background:#0a0a0a;padding:2px 6px;border-radius:3px;font-family:Consolas,Monaco,monospace;color:#6cf}.tutorial-text pre{background:#0a0a0a;padding:12px;border-radius:6px;font-family:Consolas,Monaco,monospace;color:#6cf;overflow-x:auto;line-height:1.4}.tutorial-text pre.ascii-diagram{background:#1a1a2a;border:1px solid #4a9eff;color:#4a9eff;text-align:center;font-size:1.1em;letter-spacing:.1em}.tutorial-tip{margin-top:20px;padding:12px 16px;background:#ffc8321a;border-left:3px solid #ffc832;border-radius:4px;color:#ffc832}.tutorial-footer{padding:20px 24px;border-top:1px solid #333;background:#0f0f0f}.tutorial-progress{text-align:center;margin-bottom:16px;color:#999;font-size:.9em}.tutorial-progress-bar{display:flex;justify-content:center;gap:8px;margin-top:8px}.progress-dot{width:10px;height:10px;border-radius:50%;background:#333;cursor:pointer;transition:all .2s}.progress-dot:hover{background:#555;transform:scale(1.2)}.progress-dot.active{background:#4a9eff;transform:scale(1.3)}.progress-dot.completed{background:#4a9eff;opacity:.5}.tutorial-buttons{display:flex;justify-content:space-between;gap:12px}.tutorial-btn{padding:10px 24px;border:none;border-radius:4px;font-size:1em;cursor:pointer;transition:all .2s;font-weight:500}.tutorial-btn-primary{background:#4a9eff;color:#fff}.tutorial-btn-primary:hover:not(:disabled){background:#3a8eef;transform:translateY(-1px);box-shadow:0 4px 12px #4a9eff66}.tutorial-btn-secondary{background:#333;color:#ddd}.tutorial-btn-secondary:hover:not(:disabled){background:#444}.tutorial-btn:disabled{opacity:.3;cursor:not-allowed}.command-reference-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.command-reference-modal{background:#1a1a1a;border:2px solid #4a9eff;border-radius:8px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #4a9eff4d}.command-reference-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333;background:linear-gradient(180deg,#2a2a2a,#1a1a1a)}.command-reference-header h2{margin:0;color:#4a9eff;font-size:1.5em}.command-reference-close{background:none;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.command-reference-close:hover{background:#333;color:#fff}.command-reference-controls{padding:16px 24px;border-bottom:1px solid #333;background:#0f0f0f}.command-search{width:100%;padding:10px 16px;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#ddd;font-size:1em;margin-bottom:12px}.command-search:focus{outline:none;border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff33}.category-tabs{display:flex;gap:8px;flex-wrap:wrap}.category-tabs button{padding:6px 12px;background:#2a2a2a;border:1px solid #333;border-radius:4px;color:#999;cursor:pointer;transition:all .2s;font-size:.9em}.category-tabs button:hover{background:#333;color:#ddd}.category-tabs button.active{background:#4a9eff;border-color:#4a9eff;color:#fff}.command-reference-content{flex:1;overflow-y:auto;padding:16px 24px}.command-table{width:100%;border-collapse:collapse}.command-table thead{position:sticky;top:0;background:#1a1a1a;z-index:10}.command-table th{text-align:left;padding:12px 8px;color:#4a9eff;border-bottom:2px solid #333;font-weight:600}.command-table td{padding:10px 8px;border-bottom:1px solid #222}.command-table tbody tr:hover{background:#222}.command-key{width:140px}.command-key code{background:#0a0a0a;padding:4px 8px;border-radius:3px;font-family:Consolas,Monaco,monospace;color:#6cf;white-space:nowrap}.extended-badge{display:inline-block;margin-left:6px;padding:2px 6px;background:#4a9eff;color:#fff;border-radius:3px;font-size:.75em;font-weight:700}.command-name{width:160px;color:#ffc832;font-weight:500}.command-desc{color:#bbb}.command-reference-footer{padding:16px 24px;border-top:1px solid #333;background:#0f0f0f}.command-reference-footer p{margin:6px 0;color:#999;font-size:.9em}.command-reference-footer code{background:#1a1a1a;padding:2px 6px;border-radius:3px;color:#6cf}.symbol-legend-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.symbol-legend-modal{background:#1a1a1a;border:2px solid #4a9eff;border-radius:8px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #4a9eff4d}.symbol-legend-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333;background:linear-gradient(180deg,#2a2a2a,#1a1a1a)}.symbol-legend-header h2{margin:0;color:#4a9eff;font-size:1.5em}.symbol-legend-close{background:none;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.symbol-legend-close:hover{background:#333;color:#fff}.symbol-legend-controls{padding:16px 24px;border-bottom:1px solid #333;background:#0f0f0f}.symbol-search{width:100%;padding:10px 16px;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#ddd;font-size:1em;margin-bottom:12px}.symbol-search:focus{outline:none;border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff33}.symbol-legend-content{flex:1;overflow-y:auto;padding:16px 24px}.symbol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.symbol-card{display:flex;gap:12px;padding:12px;background:#222;border:1px solid #333;border-radius:6px;transition:all .2s}.symbol-card:hover{background:#2a2a2a;border-color:#4a9eff;transform:translateY(-1px)}.symbol-char{font-size:32px;font-family:Consolas,Monaco,monospace;font-weight:700;min-width:40px;text-align:center;line-height:1;padding-top:4px}.symbol-info{flex:1;min-width:0}.symbol-name{color:#ffc832;font-weight:600;margin-bottom:4px}.symbol-desc{color:#bbb;font-size:.9em;line-height:1.4}.no-results{text-align:center;padding:40px;color:#999;font-style:italic}.symbol-legend-footer{padding:16px 24px;border-top:1px solid #333;background:#0f0f0f}.symbol-legend-footer p{margin:6px 0;color:#999;font-size:.9em}.symbol-legend-footer code{background:#1a1a1a;padding:2px 6px;border-radius:3px;color:#6cf}.back-button{background:none;border:none;color:#4a9eff;font-size:1.2em;cursor:pointer;padding:0 8px 0 0;transition:all .2s}.back-button:hover{color:#6fb8ff;transform:translate(-2px)}.symbol-card.clickable{cursor:pointer}.symbol-card.clickable:hover{background:#2a2a2a;border-color:#4a9eff;transform:translateY(-2px);box-shadow:0 4px 8px #4a9eff33}.symbol-count{color:#4a9eff;font-size:.85em;margin-top:4px;font-weight:500}.search-section{margin-bottom:24px}.search-section-title{color:#4a9eff;font-size:1.1em;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #333}.browse-section{margin-bottom:24px}.section-title{color:#ffc832;font-size:1.1em;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #333}.monster-details-view{padding:20px 24px}.group-header{display:flex;gap:16px;align-items:flex-start;padding:16px;background:#222;border:2px solid #333;border-radius:8px;margin-bottom:20px}.group-header-symbol{font-size:48px;font-family:Consolas,Monaco,monospace;font-weight:700;min-width:60px;text-align:center;line-height:1}.group-header-info p{margin:4px 0;color:#bbb;line-height:1.5}.group-monster-count{color:#4a9eff;font-weight:600;font-size:.9em}.monster-details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.monster-detail-card{background:#1a1a1a;border:2px solid #333;border-radius:8px;padding:16px;transition:all .2s}.monster-detail-card:hover{border-color:#4a9eff;box-shadow:0 4px 12px #4a9eff26}.monster-detail-card.danger-safe{border-left:4px solid #28a745}.monster-detail-card.danger-caution{border-left:4px solid #ffc107}.monster-detail-card.danger-danger{border-left:4px solid #ff6b6b}.monster-detail-card.danger-deadly{border-left:4px solid #dc3545}.monster-detail-header{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.monster-detail-symbol{font-size:36px;font-family:Consolas,Monaco,monospace;font-weight:700;min-width:44px;text-align:center;line-height:1;color:#ffc832}.monster-detail-title{flex:1}.monster-detail-title h4{margin:0 0 4px;color:#ffc832;font-size:1.1em}.danger-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7em;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.danger-badge.danger-safe{background:#28a74533;color:#28a745;border:1px solid #28a745}.danger-badge.danger-caution{background:#ffc10733;color:#ffc107;border:1px solid #ffc107}.danger-badge.danger-danger{background:#ff6b6b33;color:#ff6b6b;border:1px solid #ff6b6b}.danger-badge.danger-deadly{background:#dc354533;color:#dc3545;border:1px solid #dc3545}.monster-detail-desc{color:#ccc;margin:0 0 12px;line-height:1.5;font-size:.95em}.monster-tips{background:#0f0f0f;padding:12px;border-radius:6px;margin-bottom:12px}.monster-tips strong{color:#4a9eff;display:block;margin-bottom:8px}.monster-tips ul{margin:0;padding-left:20px}.monster-tips li{color:#bbb;margin-bottom:6px;line-height:1.4;font-size:.9em}.monster-detail-tiles{margin-top:12px;padding-top:12px;border-top:1px solid #333}.monster-detail-tiles strong{color:#4a9eff;display:block;margin-bottom:8px;font-size:.9em}.tile-preview{display:flex;gap:16px;align-items:center;justify-content:center;padding:12px;background:#0f0f0f;border-radius:6px}.tile-preview-item{display:flex;flex-direction:column;align-items:center;gap:6px}.tile-preview-item .tile{width:32px;height:32px;background-size:cover;image-rendering:pixelated;border:1px solid #333;border-radius:3px}.tile-preview-label{color:#888;font-size:.75em;text-transform:uppercase;letter-spacing:.5px}.tile{display:inline-block;background-repeat:no-repeat}.tile-nevanda_36{background-image:url(/tilesets/Nevanda_36_tiles32.png)}.tile-default_36{background-image:url(/tilesets/Default_36_tiles32.png)}.tile-dawnhack_36{background-image:url(/tilesets/dawnhack_32.png)}.tile-pixelhack_36{background-image:url(/tilesets/Pixelhack32x32.png)}.glyph-0{background-position:0px 0px}.glyph-1{background-position:-32px 0px}.glyph-2{background-position:-64px 0px}.beginner-tip{position:fixed;bottom:80px;right:20px;max-width:400px;padding:16px;border-radius:8px;box-shadow:0 4px 16px #0006;z-index:9000;animation:slideInRight .3s ease-out;display:flex;flex-direction:column;gap:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.tip-low{background:#4a9eff26;border:2px solid #4a9eff}.tip-medium{background:#ffc83226;border:2px solid #ffc832}.tip-high{background:#ff8c0026;border:2px solid #ff8c00}.tip-critical{background:#ff323226;border:2px solid #ff3232;animation:slideInRight .3s ease-out,pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 4px 16px #ff323266}50%{box-shadow:0 4px 24px #ff3232cc}}.tip-content{color:#fff;line-height:1.5;font-size:.95em}.tip-actions{display:flex;gap:8px;justify-content:flex-end}.tip-btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.85em;transition:all .2s;font-weight:500}.tip-btn-dismiss{background:#fff3;color:#fff}.tip-btn-dismiss:hover{background:#ffffff4d}.tip-btn-hide{background:#0000004d;color:#ccc;font-size:.8em}.tip-btn-hide:hover{background:#00000080;color:#fff}@media (max-width: 768px){.beginner-tip{right:10px;left:10px;max-width:none;bottom:60px}}.map-tile-tooltip{background:#000000f2;color:#e0e0e0;border:2px solid #555;border-radius:8px;padding:12px 16px;max-width:350px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;line-height:1.5;box-shadow:0 4px 12px #0009;pointer-events:none;animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.tooltip-header{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #444}.tooltip-symbol{font-family:Courier New,monospace;font-size:28px;font-weight:700;color:#fff;background:#ffffff1a;padding:4px 10px;border-radius:4px;min-width:40px;text-align:center}.tooltip-title-group{flex:1;min-width:0}.tooltip-title{margin:0;font-size:16px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooltip-type{font-size:11px;text-transform:uppercase;color:#999;letter-spacing:.5px}.tooltip-danger-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;white-space:nowrap}.tooltip-safe .tooltip-danger-badge{background:#2d5;color:#000}.tooltip-caution .tooltip-danger-badge{background:#fa3;color:#000}.tooltip-danger .tooltip-danger-badge{background:#f63;color:#fff}.tooltip-deadly .tooltip-danger-badge{background:#d33;color:#fff;animation:dangerPulse 1.5s ease-in-out infinite}@keyframes dangerPulse{0%,to{opacity:1}50%{opacity:.7}}.tooltip-safe{border-color:#2d5}.tooltip-caution{border-color:#fa3}.tooltip-danger{border-color:#f63}.tooltip-deadly{border-color:#d33}.tooltip-description{margin:8px 0;font-size:13px;color:#ccc;line-height:1.6}.tooltip-tips{margin-top:12px;padding-top:10px;border-top:1px solid #444}.tooltip-tips h4{margin:0 0 8px;font-size:13px;font-weight:600;color:#6cf}.tooltip-tips ul{margin:0;padding-left:20px;list-style-type:none}.tooltip-tips li{margin:4px 0;font-size:12px;color:#bbb;position:relative;line-height:1.5}.tooltip-tips li:before{content:"▸";position:absolute;left:-15px;color:#6cf;font-weight:700}.tooltip-deadly .tooltip-tips li{color:#fcc}.tooltip-deadly .tooltip-tips li:before{color:#f66}.credits-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.credits-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:12px;border:2px solid rgba(74,158,255,.4);box-shadow:0 8px 32px #000c;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;animation:slideIn .3s ease}.credits-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(74,158,255,.2)}.credits-header h2{margin:0;color:#4a9eff;font-size:24px;font-weight:700}.credits-close{background:transparent;border:none;color:#e0e0e0;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.credits-close:hover{background:#ff646433;color:#ff6464}.credits-content{padding:24px;overflow-y:auto;flex:1}.credits-content section{margin-bottom:24px}.credits-content section:last-child{margin-bottom:0}.credits-content h3{color:#4a9eff;font-size:18px;margin:0 0 12px;font-weight:600}.credits-content ul{list-style:none;padding:0;margin:0}.credits-content li{padding:8px 0;color:#e0e0e0;line-height:1.6}.credits-content a{color:#4a9eff;text-decoration:none;transition:all .2s ease}.credits-content a:hover{color:#7bb8ff;text-decoration:underline}.credits-content p{color:#e0e0e0;line-height:1.6;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.minimap-container{position:absolute;top:56px;right:8px;background:#0000004d;border:1px solid rgba(74,158,255,.2);border-radius:8px;padding:6px;z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0000004d}.minimap-canvas{background:transparent;border:1px solid rgba(51,51,51,.3);border-radius:4px;overflow:hidden}.minimap-cell{line-height:0}.minimap-cursor{box-shadow:0 0 2px 1px #ff0c;z-index:1}.minimap-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(74,158,255,.2);align-items:center}.legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:#888}.legend-color{width:8px;height:8px;border-radius:2px;border:1px solid rgba(255,255,255,.2)}.legend-toggle{margin-left:auto;font-size:12px;color:#666;font-style:italic}.minimap-container{animation:minimapFadeIn .2s ease-out}@keyframes minimapFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.quick-action-buttons{position:absolute;bottom:16px;right:32px;display:flex;gap:12px;align-items:center;z-index:10;pointer-events:auto}.quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:72px;height:72px;padding:8px;background:#000000d9;border:2px solid rgba(74,158,255,.4);border-radius:12px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #00000080}.quick-action-btn:hover{background:#4a9eff26;border-color:#4a9eff;transform:translateY(-4px);box-shadow:0 8px 24px #4a9eff4d}.quick-action-btn:active{transform:translateY(-2px);box-shadow:0 4px 12px #4a9eff4d}.quick-action-icon{font-size:28px;line-height:1}.quick-action-label{font-size:11px;font-weight:600;color:#b0b0b0;text-transform:uppercase;letter-spacing:.5px}.quick-action-btn:hover .quick-action-label{color:#4a9eff}.quick-action-tooltip{background:#000000f2;color:#e0e0e0;border:2px solid #4a9eff;border-radius:10px;padding:14px 18px;width:320px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;line-height:1.5;box-shadow:0 8px 32px #000000b3,0 0 20px #4a9eff33;pointer-events:none;animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.quick-action-tooltip .tooltip-header{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(74,158,255,.3)}.quick-action-tooltip .tooltip-symbol{font-size:36px;line-height:1;background:#4a9eff26;padding:8px 12px;border-radius:8px;min-width:56px;text-align:center}.quick-action-tooltip .tooltip-title-group{flex:1;min-width:0}.quick-action-tooltip .tooltip-title{margin:0;font-size:18px;font-weight:600;color:#fff}.quick-action-tooltip .tooltip-shortcut{font-size:12px;color:#888;display:flex;align-items:center;gap:6px;margin-top:4px}.quick-action-tooltip .tooltip-shortcut kbd{display:inline-block;padding:3px 8px;font-family:Courier New,monospace;font-size:13px;font-weight:700;color:#4a9eff;background:#4a9eff26;border:1px solid rgba(74,158,255,.4);border-radius:4px}.quick-action-tooltip .tooltip-description{margin:10px 0;font-size:13px;color:#ccc;line-height:1.6}.quick-action-tooltip .tooltip-tips{margin-top:14px;padding-top:12px;border-top:1px solid rgba(74,158,255,.2)}.quick-action-tooltip .tooltip-tips h4{margin:0 0 10px;font-size:13px;font-weight:600;color:#6cf}.quick-action-tooltip .tooltip-tips ul{margin:0;padding-left:0;list-style-type:none}.quick-action-tooltip .tooltip-tips li{margin:6px 0;font-size:12px;color:#aaa;position:relative;padding-left:18px;line-height:1.5}.quick-action-tooltip .tooltip-tips li:before{content:"▸";position:absolute;left:0;color:#6cf;font-weight:700}@media (max-width: 768px){.quick-action-buttons{bottom:12px;right:12px;gap:8px}.quick-action-btn{width:60px;height:60px}.quick-action-icon{font-size:24px}.quick-action-label{font-size:10px}.quick-action-tooltip{width:280px;padding:12px 14px}}.contextual-actions{position:absolute;bottom:100px;right:32px;display:flex;flex-direction:column;gap:8px;align-items:flex-end;z-index:10;pointer-events:auto;max-height:calc(100vh - 200px);overflow-y:auto;overflow-x:visible;scrollbar-width:none;-ms-overflow-style:none}.contextual-actions::-webkit-scrollbar{display:none}.contextual-action-btn{display:flex;align-items:center;gap:12px;padding:14px 18px;min-width:220px;max-width:320px;background:#000000e6;border:2px solid rgba(74,158,255,.4);border-radius:12px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #00000080;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;text-align:left;animation:slideInRight .25s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.contextual-action-btn:hover{background:#4a9eff26;border-color:#4a9eff;transform:translate(-4px);box-shadow:0 4px 20px #4a9eff4d}.contextual-action-btn:active{transform:translate(-2px);box-shadow:0 2px 12px #4a9eff4d}.contextual-action-btn.urgent{border-color:#ff646499;background:#280000e6;animation:slideInRight .25s ease-out,urgentPulse 2s ease-in-out infinite}.contextual-action-btn.urgent:hover{background:#ff646433;border-color:#ff6464;box-shadow:0 4px 20px #ff646466}@keyframes urgentPulse{0%,to{box-shadow:0 4px 16px #ff64644d}50%{box-shadow:0 4px 24px #ff646480}}.contextual-action-btn.suggested{border-color:#ffc86480;background:#1e1400e6}.contextual-action-btn.suggested:hover{background:#ffc86426;border-color:#ffc864;box-shadow:0 4px 20px #ffc8644d}.contextual-action-btn.available{border-color:#4a9eff66}.contextual-action-icon{font-size:28px;line-height:1;flex-shrink:0;width:36px;text-align:center}.contextual-action-message{font-size:15px;font-weight:500;color:#d0d0d0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contextual-action-btn:hover .contextual-action-message{color:#fff}.contextual-action-btn.urgent .contextual-action-message{color:#faa}.contextual-action-btn.urgent:hover .contextual-action-message{color:#fff}.contextual-action-btn.suggested .contextual-action-message{color:#ffe0a0}.contextual-action-btn.suggested:hover .contextual-action-message{color:#fff}@media (max-width: 768px){.contextual-actions{bottom:84px;right:12px}.contextual-action-btn{min-width:180px;max-width:260px;padding:10px 14px;gap:10px}.contextual-action-icon{font-size:22px;width:28px}.contextual-action-message{font-size:13px}}.contextual-actions:has(.contextual-action-btn:nth-child(4)) .contextual-action-btn{padding:10px 14px}.contextual-actions:has(.contextual-action-btn:nth-child(5)) .contextual-action-btn{padding:10px 12px}*{margin:0;padding:0;box-sizing:border-box}body{background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#16213e);background-attachment:fixed;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;overflow:hidden}.app{display:flex;flex-direction:column;height:100vh;width:100vw;margin:0;padding:0;overflow:hidden}.connection-status{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 2px 8px #0000004d;transition:all .3s ease;border:1px solid transparent}.tileset-selector{padding:8px 16px;background:#2a2a34e6;color:#e0e0e0;border:1px solid rgba(74,158,255,.3);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0003}.tileset-selector:hover{background:#34343ef2;border-color:#4a9eff99;box-shadow:0 4px 12px #4a9eff33;transform:translateY(-1px)}.tileset-selector:focus{outline:none;border-color:#4a9eff;box-shadow:0 0 0 3px #4a9eff33}.render-mode-toggle{padding:8px 18px;background:linear-gradient(135deg,#4a9eff33,#7b68ee33);color:#4a9eff;border:1px solid #4a9eff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #4a9eff33}.render-mode-toggle:hover:not(:disabled){background:linear-gradient(135deg,#4a9eff4d,#7b68ee4d);box-shadow:0 4px 16px #4a9eff66;transform:translateY(-2px)}.render-mode-toggle:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #4a9eff4d}.render-mode-toggle:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(1)}.zoom-controls{display:flex;align-items:center;gap:10px;background:#2a2a34e6;padding:6px 12px;border-radius:8px;border:1px solid rgba(74,158,255,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0003}.zoom-button{padding:6px 12px;background:#3a3a44cc;color:#e0e0e0;border:1px solid rgba(74,158,255,.4);border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;min-width:36px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.zoom-button:hover{background:#4a9eff4d;border-color:#4a9eff;box-shadow:0 2px 8px #4a9eff4d;transform:translateY(-1px)}.zoom-button:active{transform:translateY(0);box-shadow:0 1px 4px #4a9eff33}.zoom-level{color:#4a9eff;font-weight:700;font-size:14px;min-width:50px;text-align:center;text-shadow:0 0 10px rgba(74,158,255,.5)}.status-connecting{background:linear-gradient(135deg,orange,#ff8c00);color:#000;border-color:#ffb732;animation:pulse 2s ease-in-out infinite}.status-connected{background:linear-gradient(135deg,#0f8,#0c6);color:#000;border-color:#0f8;box-shadow:0 0 20px #0f86}.status-disconnected{background:linear-gradient(135deg,#f44,#c00);color:#fff;border-color:#f66}.status-error{background:linear-gradient(135deg,red,#900);color:#fff;border-color:#f44;animation:shake .5s ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;position:relative;z-index:1}.top-left-overlay{position:absolute;top:0;left:0;z-index:100;display:flex;gap:8px;align-items:center;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px;border-radius:0 0 8px;border-right:1px solid rgba(74,158,255,.3);border-bottom:1px solid rgba(74,158,255,.3);box-shadow:0 4px 16px #000000b3}.top-left-overlay a{text-decoration:none}.top-right-controls{position:absolute;top:0;right:8px;display:flex;gap:8px;align-items:center;z-index:100;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px;border-radius:0 0 8px 8px;border-left:1px solid rgba(74,158,255,.3);border-right:1px solid rgba(74,158,255,.3);border-bottom:1px solid rgba(74,158,255,.3);box-shadow:0 4px 16px #000000b3}.control-btn{width:36px;height:36px;border:none;background:#4a9eff1a;border:1px solid rgba(74,158,255,.3);border-radius:6px;font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.control-btn:hover:not(:disabled){background:#4a9eff33;border-color:#4a9eff;transform:translateY(-2px);box-shadow:0 4px 12px #4a9eff4d}.control-btn:active:not(:disabled){transform:translateY(0)}.control-btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(1)}.zoom-display{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#4a9eff1a;border:1px solid rgba(74,158,255,.3);border-radius:6px}.zoom-percentage{font-size:14px;font-weight:700;color:#4a9eff;min-width:45px;text-align:center}.zoom-reset-btn{width:24px;height:24px;padding:0;border:none;background:#4a9eff33;border:1px solid rgba(74,158,255,.3);border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#4a9eff}.zoom-reset-btn:hover{background:#4a9eff4d;border-color:#4a9eff;transform:scale(1.1)}.zoom-reset-btn:active{transform:scale(.95)}.bottom-left-overlay{position:absolute;bottom:16px;left:16px;display:flex;flex-direction:column;gap:12px;width:560px;max-height:calc(100% - 32px);z-index:10;pointer-events:none}.bottom-left-overlay>*{pointer-events:auto}.help-buttons{display:flex;gap:8px;align-items:center;margin-left:12px}.help-btn{width:36px;height:36px;border:none;background:#4a9eff1a;border:1px solid rgba(74,158,255,.3);border-radius:6px;font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.help-btn:hover{background:#4a9eff33;border-color:#4a9eff;transform:translateY(-2px);box-shadow:0 4px 12px #4a9eff4d}.help-btn:active{transform:translateY(0)}.community-links{display:flex;gap:12px;align-items:center}.community-link{padding:8px 16px;background:#4a9eff1a;border:1px solid rgba(74,158,255,.3);border-radius:6px;color:#4a9eff;text-decoration:none;font-size:13px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:6px;white-space:nowrap}.community-link:hover{background:#4a9eff33;border-color:#4a9eff;transform:translateY(-2px);box-shadow:0 4px 12px #4a9eff4d;color:#7bb3ff}.community-link:active{transform:translateY(0)}.community-link .highlight{color:#e2b560;font-weight:600}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;max-width:2800px;margin:0 auto;padding:.5rem}
