:root{--bg-dark: #0a0a0b;--bg-card: #121214;--border: #2a1a1a;--blood: #8b0000;--blood-bright: #c41e3a;--blood-glow: rgba(196, 30, 58, .4);--metal: #3d3d3d;--metal-light: #5c5c5c;--text: #e8e6e3;--text-dim: #8a8885;--noise-pattern: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");--brick-opacity: 1}*{box-sizing:border-box}html{overscroll-behavior:none}body{margin:0;font-family:VT323,monospace;background:var(--bg-dark);color:var(--text);min-height:100vh;position:relative;overflow-x:hidden;overscroll-behavior:none;-webkit-font-smoothing:none;image-rendering:pixelated;image-rendering:crisp-edges}.brick-wall{position:fixed;top:0;right:0;bottom:0;left:0;background-image:url(../../../brick-wall.svg);background-repeat:repeat;background-size:170px 45px;image-rendering:pixelated;image-rendering:crisp-edges;z-index:0;opacity:var(--brick-opacity);transition:opacity .5s ease;pointer-events:none}.noise{position:fixed;top:0;right:0;bottom:0;left:0;background-image:var(--noise-pattern);z-index:1;pointer-events:none}@keyframes break-low-vibrate{0%,to{transform:translate(0)}25%{transform:translate(calc(var(--break-shake-px, 2) * -1px))}75%{transform:translate(calc(var(--break-shake-px, 2) * 1px))}}.btn{font-family:VT323,monospace;font-size:1.2rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;padding:.85rem 1.5rem;border:none;cursor:pointer;transition:transform .1s,box-shadow .2s,background .2s;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0}.btn:active{transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--blood);color:var(--text);border:1px solid var(--blood-bright);box-shadow:0 0 20px var(--blood-glow)}.btn-primary:hover:not(:disabled){background:var(--blood-bright);box-shadow:0 0 28px var(--blood-glow)}.btn-primary.break-mode{background:var(--bg-card);color:var(--blood-bright);border-color:var(--blood)}.btn-primary.break-mode:hover:not(:disabled){background:#8b000033}.btn-secondary{background:transparent;color:var(--text-dim);border:1px solid var(--metal)}.btn-secondary:hover:not(:disabled){color:var(--text);border-color:var(--metal-light)}.btn-secondary.turbo-on{border-color:var(--blood-bright);color:var(--blood-bright);box-shadow:0 0 12px var(--blood-glow)}.btn-secondary.warp-on{border-color:var(--blood-bright);color:#f46;text-shadow:0 0 12px var(--blood-glow),0 0 24px var(--blood-glow);box-shadow:0 0 16px var(--blood-glow),0 0 32px var(--blood-glow),0 0 48px #c41e3a99,0 0 64px #c41e3a66;animation:warp-glow .8s ease-in-out infinite alternate}@keyframes warp-glow{0%{box-shadow:0 0 16px var(--blood-glow),0 0 32px var(--blood-glow),0 0 48px #c41e3a99,0 0 64px #c41e3a66}to{box-shadow:0 0 24px var(--blood-glow),0 0 48px var(--blood-glow),0 0 72px #c41e3ab3,0 0 96px #c41e3a80}}.btn-sm{font-size:.9rem;padding:.5rem 1rem}.stats-row{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.stats-row-xp{margin-bottom:.5rem}.stats-row-bottom{margin-top:1rem;margin-bottom:1.5rem;align-items:center}.stat-card{background:var(--bg-card);border:1px solid var(--border);padding:.75rem 1rem;min-width:100px;border-radius:0;box-shadow:inset 0 1px #ffffff08;text-align:center}.stat-card.xp-card{border-color:var(--blood);color:var(--blood-bright)}.stat-card.session-gold-card,.stat-card.available-gold-card{border-color:#d4a020;color:#e8b030}.stat-card.soul-gems-card{border-color:#0dd;color:#0dd}.stat-label{display:block;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.25rem}.stat-value{font-family:"Press Start 2P",cursive;font-size:1rem;letter-spacing:.05em;line-height:1.6;-webkit-user-select:none;user-select:none}.timer-display{margin:1rem 0 .4rem;text-align:center}.timer-value{font-family:"Press Start 2P",cursive;font-size:clamp(1.75rem,10vw,2.5rem);letter-spacing:.05em;color:var(--text);text-shadow:0 0 30px rgba(255,255,255,.05);-webkit-user-select:none;user-select:none;line-height:1.6}.timer-value.break-active{color:var(--blood-bright);text-shadow:0 0 24px var(--blood-glow)}.mode-indicator{margin-top:0;margin-bottom:.75rem;text-align:center}.mode-badge{display:inline-block;font-size:1rem;letter-spacing:.2em;padding:.25rem .75rem;border:1px solid var(--metal);color:var(--text-dim);border-radius:2px}.mode-badge.break{border-color:var(--blood);color:var(--blood-bright);box-shadow:0 0 12px var(--blood-glow)}.session-error{color:#e00;font-size:.95rem;margin:0 0 .5rem;text-align:center;min-height:1.25em}.controls{display:flex;gap:.75rem;justify-content:center;flex-wrap:nowrap}.break-available{transition:color .5s ease,text-shadow .5s ease;text-shadow:0 0 calc(20px * var(--break-redness, 0)) rgba(196,30,58,calc(.5 * var(--break-redness, 0)))}.break-available.break-low{display:inline-block;animation:break-low-vibrate var(--break-shake-duration, .15s) ease-in-out infinite}.skills-grid{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.skill-row{display:flex;align-items:center;gap:1rem}.skill-row .skill-card{flex-shrink:0;width:8.5rem;min-width:8.5rem;padding:.35rem .5rem;font-size:.85rem;cursor:default;display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:var(--bg-card);border:1px solid var(--border);transition:box-shadow .2s ease,filter .2s ease,color .2s ease,border-color .2s ease}.skill-card .stat-label{color:inherit;margin-bottom:0}.skill-card .stat-value-row{display:flex;width:100%;justify-content:space-between;align-items:baseline;gap:.25rem}.skill-card .stat-value,.skill-card .stat-value-bonus{color:inherit;white-space:nowrap}.skill-card .stat-value{flex-shrink:0}.skill-card .stat-value-bonus{margin-left:auto}.skill-card.skill-power{border-color:#e00;color:#e00}.skill-card.skill-speed{border-color:#7dd;color:#7dd}.skill-card.skill-precision{border-color:#fc0;color:#fc0}.skill-card.skill-accuracy{border-color:#0f8;color:#0f8}.skill-card.skill-sharpness{border-color:#800;color:#a00}.skill-card.skill-might{border-color:#f80;color:#f80}.skill-card.skill-spread{border-color:#0077b6;color:#0080c0}.skill-card.skill-intensity{border-color:#a0a;color:#c0c}.skill-card.skill-momentum{border-color:#0b0;color:#0b0}.skill-card.skill-weight{border-color:#1aa89e;color:#1aa89e}.skill-card.skill-lethality{border-color:#c41e3a;color:#c41e3a}.skill-card.skill-balance{border-color:#bbb;color:#bbb}.skill-desc{margin:0;flex:1;text-align:left;color:var(--text-dim);font-size:.95rem;line-height:1.35}.skill-buy-btn{flex-shrink:0;margin-left:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:3.5rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid;border-radius:0;cursor:pointer;transition:filter .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none}.skill-buy-btn:hover:not(:disabled){filter:brightness(1.1)}.skill-buy-btn:disabled{cursor:not-allowed;opacity:.5}.skill-buy-plus{font-family:"Press Start 2P",cursive;font-size:1.2rem;font-weight:400;line-height:1.2;color:inherit}.skill-buy-cost{font-family:VT323,monospace;font-size:.85rem;letter-spacing:.05em;color:var(--text-dim);margin-top:.2rem}.skill-buy-btn.cant-afford .skill-buy-cost{color:var(--blood-bright)}.skill-buy-btn.skill-power{border-color:#e00;color:#e00}.skill-buy-btn.skill-speed{border-color:#7dd;color:#7dd}.skill-buy-btn.skill-precision{border-color:#fc0;color:#fc0}.skill-buy-btn.skill-accuracy{border-color:#0f8;color:#0f8}.skill-buy-btn.skill-sharpness{border-color:#800;color:#a00}.skill-buy-btn.skill-might{border-color:#f80;color:#f80}.skill-buy-btn.skill-spread{border-color:#0077b6;color:#0080c0}.skill-buy-btn.skill-intensity{border-color:#a0a;color:#c0c}.skill-buy-btn.skill-momentum{border-color:#0b0;color:#0b0}.skill-buy-btn.skill-weight{border-color:#1aa89e;color:#1aa89e}.skill-buy-btn.skill-lethality{border-color:#c41e3a;color:#c41e3a}.skill-buy-btn.skill-balance{border-color:#bbb;color:#bbb}.skills-reset-wrap{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.skills-reset-error{font-size:.7rem;color:var(--blood);min-height:1.2em}.skills-login-msg,.skills-in-session-msg,.skills-break-msg{color:var(--text-dim);font-size:1.1rem;margin:1rem 0;text-align:center}.map-locations-list{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.5rem;width:100%}.map-location-btn{font-family:VT323,monospace;font-size:1.25rem;padding:.6rem 1rem;background:var(--bg-card);border:2px solid var(--border);color:var(--text-dim);cursor:pointer;text-align:center;width:fit-content}.map-location-btn:hover:not(:disabled){color:var(--text)}.map-location-btn-active,.map-location-btn.map-location-btn-active{color:var(--blood-bright);border-color:var(--blood-bright);background:#ff50501f}.map-location-btn:disabled{cursor:not-allowed;opacity:.5}.map-in-session-msg{color:var(--text-dim);font-size:1.1rem;margin:1rem 0;text-align:center}.characters-customization{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0}.characters-preview-container{display:flex;justify-content:center;align-items:center;padding:1rem;background:var(--bg-card);border:2px solid var(--border);border-radius:4px}.characters-preview{width:256px;height:256px;image-rendering:pixelated;image-rendering:crisp-edges;display:block;object-fit:none}.characters-controls{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:300px}.characters-control-group{display:flex;flex-direction:column;gap:.5rem}.characters-label{font-family:VT323,monospace;font-size:1.1rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.characters-color-input,.characters-gender-select{font-family:VT323,monospace;font-size:1.1rem;padding:.5rem .75rem;background:var(--bg-card);border:2px solid var(--border);color:var(--text);text-transform:uppercase;letter-spacing:.1em}.characters-color-input:focus,.characters-gender-select:focus{outline:none;border-color:var(--blood-bright);background:#ff50500d}.characters-gender-select{cursor:pointer}.characters-error{color:var(--blood-bright);font-family:VT323,monospace;font-size:.95rem;text-align:center;margin-top:.5rem;padding:.5rem;background:#c41e3a1a;border:1px solid rgba(196,30,58,.3)}.characters-actions{display:flex;justify-content:center;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.characters-in-session-msg{color:var(--blood-bright);font-family:VT323,monospace;font-size:.95rem;text-align:center;margin:.5rem 0;padding:.5rem;background:#c41e3a1a;border:1px solid rgba(196,30,58,.3)}.about-content{padding:1rem 0;text-align:center}.about-lead{font-size:1.35rem;color:var(--blood-bright);margin-bottom:.75rem}.about-content p{color:var(--text-dim);font-size:1.15rem;line-height:1.5}.settings-timezone-label{display:block;font-size:1rem;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.5rem;text-align:center}.focus-slider-row{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0}.focus-slider-label{font-size:1rem;letter-spacing:.1em;color:var(--text-dim)}.focus-slider-wrap{width:2rem;height:200px;display:flex;align-items:center;justify-content:center}.focus-slider{width:200px;transform:rotate(-90deg);-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.focus-slider::-webkit-slider-runnable-track{height:8px;background:linear-gradient(to right,#0a0a0b,var(--blood-bright));border:1px solid var(--metal-light)}.focus-slider::-moz-range-track{height:8px;background:linear-gradient(to right,#0a0a0b,var(--blood-bright));border:1px solid var(--metal-light)}.focus-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:10px;height:28px;background:#b0b0b0;border:none;cursor:pointer;margin-top:-11px}.focus-slider::-moz-range-thumb{width:10px;height:28px;background:#b0b0b0;border:none;cursor:pointer}.focus-slider-value{font-family:"Press Start 2P",cursive;font-size:.9rem;color:var(--blood-bright);min-width:3ch}.debug-panel-content{text-align:center}.debug-panel-desc{color:var(--text-dim);margin:1rem 0}.debug-buttons{display:flex;flex-direction:column;gap:.5rem;align-items:center}.auth-form{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.auth-form input{font-family:VT323,monospace;font-size:1.1rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:4px;width:180px}.auth-form input::placeholder{color:var(--text-dim)}.auth-buttons{display:flex;gap:.5rem}.auth-error{flex:1 0 100%;color:var(--blood-bright);text-align:center;margin:0}.auth-logged-in{display:flex;align-items:center;justify-content:center;gap:.75rem}.auth-logged-in .auth-user{font-size:1.1rem;color:var(--text-dim)}.inventory-screen{--inventory-slot-size: 40px}.inventory-layout{display:flex;align-items:flex-start;gap:1rem;min-height:280px}.inventory-character-section{flex-shrink:0;display:flex;flex-direction:column;gap:.75rem}.inventory-grid{flex:1;display:grid;grid-template-columns:repeat(5,var(--inventory-slot-size));grid-auto-rows:var(--inventory-slot-size);gap:6px;align-content:start}.inventory-slot{width:var(--inventory-slot-size);height:var(--inventory-slot-size);box-sizing:border-box;background:var(--bg-card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;font:inherit;color:inherit}.inventory-slot[disabled]{cursor:default}.inventory-slot:not([disabled]):hover{border-color:var(--blood-bright)}button.inventory-equipment-slot{padding:0;cursor:pointer}.inventory-slot.inventory-slot-equipped{border-color:red;box-shadow:0 0 8px red}.inventory-slot img{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.inventory-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem .5rem;margin-top:.75rem;min-height:2rem}.inventory-page-btn{min-width:2rem;padding:.25rem .5rem;font-size:.9rem}.inventory-pagination .inventory-page-ellipsis{padding:0 .25rem;color:var(--text-dim)}.inventory-character-preview{flex-shrink:0;width:240px;height:240px;position:relative;display:block;background:var(--bg-card);border:2px solid var(--border)}.inventory-character{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:160px;height:160px;image-rendering:pixelated;image-rendering:crisp-edges;object-fit:contain}.inventory-equipment-overlay{position:absolute;width:240px;height:240px;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.inventory-equipment-slot{position:absolute;width:var(--inventory-slot-size);height:var(--inventory-slot-size);box-sizing:border-box;background:var(--bg-dark);border:2px solid var(--border);pointer-events:auto;display:flex;align-items:center;justify-content:center}.inventory-equipment-slot img{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.inventory-equipment-head{top:15px;left:50%;transform:translate(-50%)}.inventory-equipment-chest{top:115px;left:100px}.inventory-equipment-left-arm{top:50%;left:30px;transform:translateY(calc(-50% + 10px))}.inventory-equipment-right-arm{top:50%;right:30px;transform:translateY(calc(-50% + 10px))}.inventory-stats-row{display:flex;gap:.25rem;flex-wrap:wrap;width:240px}.inventory-stat-card{flex:1;min-width:0;text-align:center;padding:.5rem .4rem}.inventory-stat-card .stat-label{font-size:.7rem;letter-spacing:.02em;white-space:nowrap}.inventory-boosts-row{display:flex;flex-wrap:wrap;gap:.25rem;width:240px;margin-top:.5rem}.inventory-boost-card{flex:1;min-width:0;text-align:center;padding:.5rem .4rem;background:var(--bg-card);border:1px solid;box-shadow:inset 0 1px #ffffff08}.inventory-boost-card .stat-label{font-size:.7rem;letter-spacing:.02em;white-space:nowrap;display:block;color:inherit;text-transform:uppercase;margin-bottom:.2rem}.inventory-boost-card .stat-value{font-family:"Press Start 2P",cursive;font-size:1rem;color:inherit}.inventory-boost-card.inventory-boost-power{border-color:#e00;color:#e00}.inventory-boost-card.inventory-boost-speed{border-color:#7dd;color:#7dd}.inventory-boost-card.inventory-boost-precision{border-color:#fc0;color:#fc0}.inventory-boost-card.inventory-boost-accuracy{border-color:#0f8;color:#0f8}.inventory-boost-card.inventory-boost-sharpness{border-color:#a00;color:#a00}.inventory-boost-card.inventory-boost-might{border-color:#f80;color:#f80}.inventory-boost-card.inventory-boost-spread{border-color:#0080c0;color:#0080c0}.inventory-boost-card.inventory-boost-intensity{border-color:#c0c;color:#c0c}.inventory-boost-card.inventory-boost-momentum{border-color:#0b0;color:#0b0}.inventory-boost-card.inventory-boost-negative .stat-value{color:#888}.inventory-buffs{width:240px}.inventory-buffs-label{font-family:VT323,monospace;font-size:1rem;color:var(--text);margin-bottom:.5rem}.inventory-buffs-list{display:flex;flex-direction:column;gap:.25rem}.inventory-buff-item{font-family:VT323,monospace;font-size:.9rem}.inventory-buff-item.potion-regeneration{color:#f0f}.inventory-buff-item.potion-luck{color:#fc0}.inventory-buff-item.potion-fortitude{color:#f80}.inventory-in-session-msg{color:var(--text-dim);font-size:1.1rem;margin:1rem 0;text-align:center}.deck-screen{--deck-slot-width: 56px;--deck-slot-height: 72px}.deck-layout{display:flex;flex-direction:column;align-items:center;gap:1rem}.deck-grid{display:grid;grid-template-columns:repeat(8,var(--deck-slot-width));grid-auto-rows:var(--deck-slot-height);gap:.5rem;justify-content:center}.deck-slot{width:var(--deck-slot-width);height:var(--deck-slot-height);box-sizing:border-box;background:var(--bg-card);border:2px solid var(--border);position:relative;cursor:default;transition:border-color .2s ease,box-shadow .2s ease}.deck-slot[data-card-id]{border:none}.deck-slot img{width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges;object-fit:contain}.deck-info{display:flex;justify-content:center}.deck-count-card{text-align:center;padding:.5rem .8rem}.deck-in-session-msg{color:var(--text-dim);font-size:1.1rem;margin:1rem 0;text-align:center}.panel-placeholder{color:var(--text-dim);text-align:center;margin:1rem 0 0;font-size:1rem}.shop-items,.shop-armor,.shop-weapons,.shop-cards{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem}.potion-card,.shop-armor-card,.shop-weapon-card,.shop-card-card{width:140px;cursor:pointer;transition:box-shadow .2s ease,filter .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease;-webkit-user-select:none;user-select:none;border-width:2px;border-style:solid;border-radius:0;padding:.75rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;background:var(--bg-card);color:var(--text)}.potion-card-icon,.shop-armor-icon,.shop-weapon-icon{width:64px;height:64px;image-rendering:pixelated;image-rendering:crisp-edges;object-fit:contain}.potion-card-name,.shop-armor-name,.shop-weapon-name{display:block;color:inherit;font-size:1.15rem;font-weight:600;text-align:center;line-height:1.25}.potion-cost,.shop-armor-cost,.shop-weapon-cost{color:inherit;font-size:.75rem;opacity:.9;letter-spacing:.05em}.potion-card{border-color:var(--border)}.potion-card.potion-regeneration{border-color:#f0f;color:#f0f}.potion-card.potion-luck{border-color:#fc0;color:#fc0}.potion-card.potion-fortitude{border-color:#22c55e;color:#22c55e}.shop-armor-card,.shop-weapon-card{border-color:var(--border);color:var(--text)}.potion-card:hover:not(.cant-buy),.shop-armor-card:hover:not(.cant-buy),.shop-weapon-card:hover:not(.cant-buy){filter:brightness(1.1)}.shop-armor-card:hover:not(.cant-buy),.shop-weapon-card:hover:not(.cant-buy){border-color:#d4a020}.potion-card.cant-buy,.shop-armor-card.cant-buy,.shop-weapon-card.cant-buy{opacity:.5;filter:grayscale(.6);cursor:not-allowed}.shop-item-error{color:var(--blood);font-size:.95rem;margin-top:.5rem;text-align:center}.habits-panel-content{display:flex;flex-direction:column;gap:.75rem}.habits-list{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.habits-group-heading{font-family:VT323,monospace;font-size:1rem;color:var(--text-dim);letter-spacing:.05em;margin:0;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.habit-item{display:flex;align-items:center;gap:.5rem}.habit-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.habit-action{width:1.25rem;height:1.25rem;padding:0;border:2px solid;border-radius:0;background:transparent;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.habit-action img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.habit-action-soul{border-color:#22c55e}.habit-action-soul:hover{background:#22c55e26}.habit-action-gold{border-color:#c41e3a}.habit-action-gold:hover{background:#c41e3a26}.habit-actions-taken .habit-action{opacity:.5;cursor:default;pointer-events:none}.habit-actions-taken .habit-action-soul,.habit-actions-taken .habit-action-gold{border-color:var(--text-dim)}.habit-action-done.habit-action-soul{border-color:#22c55e}.habit-action-done.habit-action-gold{border-color:#c41e3a}.habit-btn{font-family:VT323,monospace;font-size:1.1rem;letter-spacing:.1em;padding:.5rem .75rem;border:1px solid;border-radius:0;cursor:pointer;flex:1;text-align:left;min-width:0;background:#000;transition:filter .15s,box-shadow .15s}.habit-btn:hover{filter:brightness(1.2);box-shadow:0 0 12px currentColor}.habit-delete-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;border:none;background:transparent;cursor:pointer;flex-shrink:0}.habit-delete-btn:hover{opacity:.85}.habit-trash-icon{width:32px;height:32px;image-rendering:pixelated}.btn-forge-habit{align-self:center;border-color:#0dd;color:#0dd;text-shadow:0 0 6px rgba(0,221,221,.5);box-shadow:0 0 8px #00dddd59,0 0 16px #0dd3;animation:forge-habit-pulse 2s ease-in-out infinite alternate}.btn-forge-habit:hover:not(:disabled){color:#2ee;border-color:#2ee;text-shadow:0 0 8px rgba(0,221,221,.6)}.btn-forge-habit:disabled{animation:none;border-color:var(--border);color:var(--text-dim);text-shadow:none;box-shadow:none;cursor:not-allowed;opacity:.7}@keyframes forge-habit-pulse{0%{box-shadow:0 0 8px #00dddd59,0 0 16px #0dd3}to{box-shadow:0 0 12px #00dddd80,0 0 24px #00dddd4d}}.habits-forge-form{display:flex;flex-direction:column;gap:.75rem}.habits-forge-field{display:flex;flex-direction:column;gap:.3rem;font-family:VT323,monospace;font-size:1rem;color:var(--text-dim)}.habits-forge-field-row{flex-direction:row;align-items:center;gap:.75rem}.habits-forge-form input,.habits-forge-form select{font-family:VT323,monospace;font-size:1rem;padding:.4rem .6rem;background:var(--bg-dark);border:1px solid var(--border);color:var(--text)}.habits-forge-form input[type=color]{padding:0;width:2.5rem;height:2rem;cursor:pointer}.tutorial-retrigger-label{color:var(--text-dim);font-family:VT323,monospace;font-size:1rem;text-align:center;margin:0 0 .5rem}.tutorial-retrigger-list{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.4rem}.tutorial-retrigger-list li{display:flex;justify-content:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content{background:var(--bg-card);border:2px solid var(--blood);padding:1.25rem;max-width:360px;width:100%;display:flex;flex-direction:column;gap:1rem}.item-detail-content{max-width:400px!important}.modal-title{font-family:"Press Start 2P",monospace;font-size:.95rem;color:var(--blood-bright);letter-spacing:.05em;margin:0}.modal-body{color:var(--text);line-height:1.5;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}@keyframes enemy-leap-arc-out{0%{transform:translate(0)}25%{transform:translate(calc(var(--leap-dx, -60px) * .25 + var(--leap-arc-x, 0) * .75),calc(var(--leap-dy, 0) * .25 + var(--leap-arc-y, 0) * .75))}50%{transform:translate(calc(var(--leap-dx, -60px) * .5 + var(--leap-arc-x, 0)),calc(var(--leap-dy, 0) * .5 + var(--leap-arc-y, 0)))}75%{transform:translate(calc(var(--leap-dx, -60px) * .75 + var(--leap-arc-x, 0) * .75),calc(var(--leap-dy, 0) * .75 + var(--leap-arc-y, 0) * .75))}to{transform:translate(var(--leap-dx, -60px),var(--leap-dy, 0))}}@keyframes enemy-leap-arc-back{0%{transform:translate(var(--leap-dx, -60px),var(--leap-dy, 0))}25%{transform:translate(calc(var(--leap-dx, -60px) * .75 + var(--leap-arc-x, 0) * .75),calc(var(--leap-dy, 0) * .75 + var(--leap-arc-y, 0) * .75))}50%{transform:translate(calc(var(--leap-dx, -60px) * .5 + var(--leap-arc-x, 0)),calc(var(--leap-dy, 0) * .5 + var(--leap-arc-y, 0)))}75%{transform:translate(calc(var(--leap-dx, -60px) * .25 + var(--leap-arc-x, 0) * .75),calc(var(--leap-dy, 0) * .25 + var(--leap-arc-y, 0) * .75))}to{transform:translate(0)}}.combat-figure-enemy-wrap{transition:opacity .4s ease}.combat-figure-enemy-wrap.enemy-leap{animation:enemy-leap-arc-out .28s linear forwards}.combat-figure-enemy-wrap.enemy-leap-return{animation:enemy-leap-arc-back .28s linear forwards}.combat-figure-enemy-wrap.enemy-fade-out{opacity:0}.combat-figure-enemy-wrap.enemy-fade-out.player-death-fade{transition:opacity 2s ease-out}.combat-figure-enemy-wrap.enemy-death-in-progress .enemy-hp-bar{display:none}.combat-figure-enemy.enemy-damage-flash{animation:enemy-damage-flash .1s ease-out}@keyframes enemy-damage-flash{0%{filter:brightness(1)}40%{filter:brightness(3)}to{filter:brightness(1)}}.combat-figure-enemy.enemy-clash-flash{animation:enemy-clash-flash .2s ease-out}@keyframes enemy-clash-flash{0%{filter:brightness(1)}50%{filter:brightness(2) saturate(1.5) hue-rotate(20deg)}to{filter:brightness(1)}}.enemy-death-particles{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}.enemy-death-particle{position:absolute;left:50%;top:50%;width:6px;height:6px;margin-left:-3px;margin-top:-3px;border-radius:50%;animation:enemy-death-particle-burst .45s ease-out forwards}@keyframes enemy-death-particle-burst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}.combat-figure-character-group{transition:transform .2s ease,opacity 2s ease-out}.combat-figure-character-group.player-fade-out{opacity:0}.combat-figure-character-group.combat-step-forward{transform:translate(48px)}.combat-figure-player.player-damage-flash{animation:player-damage-flash .15s ease-out}@keyframes player-damage-flash{0%{filter:none}25%{filter:sepia(1) hue-rotate(320deg) saturate(6) brightness(1.1)}to{filter:none}}.combat-figure-player.player-clash-flash{animation:player-clash-flash .2s ease-out}@keyframes player-clash-flash{0%{filter:none}50%{filter:brightness(1.5) saturate(1.5) hue-rotate(20deg)}to{filter:none}}.combat-box-sword,.combat-box-spear,.combat-box-battleaxe{position:absolute;left:35px;top:19px;width:32px;height:32px;image-rendering:pixelated;image-rendering:crisp-edges;transform:rotate(0);transform-origin:9px 21px;visibility:hidden;pointer-events:none}.combat-box-sword.move-sword-swing{visibility:visible;animation:keyframes-sword-swing .7s forwards}.combat-box-spear.move-spear-thrust{visibility:visible;animation:keyframes-spear-thrust .7s forwards}.combat-box-battleaxe.move-battleaxe-swing{visibility:visible;animation:keyframes-battleaxe-swing .7s forwards}@keyframes keyframes-sword-swing{0%{opacity:1;transform:rotate(0)}25%{opacity:1;transform:rotate(90deg)}85%{opacity:1;transform:rotate(90deg)}95%{opacity:0;transform:rotate(90deg)}to{opacity:0;transform:rotate(90deg)}}@keyframes keyframes-spear-thrust{0%{opacity:1;transform:rotate(0)}25%{opacity:1;transform:rotate(45deg)}85%{opacity:1;transform:rotate(45deg)}to{opacity:0;transform:rotate(0)}}@keyframes keyframes-battleaxe-swing{0%{opacity:1;transform:rotate(-60deg)}12%{opacity:1;transform:rotate(-60deg)}75%{opacity:1;transform:rotate(90deg)}85%{opacity:1;transform:rotate(90deg)}to{opacity:0;transform:rotate(90deg)}}.damage-popup,.miss-popup,.parry-popup,.aura-popup,.bleed-popup{position:absolute;left:50%;top:35%;transform:translate(-50%);font-family:VT323,monospace;font-weight:700;white-space:nowrap;pointer-events:none;text-shadow:0 0 4px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.8);animation:damage-popup-float .7s ease-out forwards;z-index:5}.damage-popup{font-size:1.1rem;color:#fff}.damage-popup.damage-popup-crit{color:#fc0}.miss-popup{font-size:1rem;color:#9ca3af}.parry-popup{font-size:1rem;color:#f80}.aura-popup{top:20%;font-size:.9rem;color:#86efac;animation:damage-popup-float 1.2s ease-out forwards}.bleed-popup{font-size:.85rem;color:var(--blood-bright)}@keyframes damage-popup-float{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-42px)}}.combat-cards{position:absolute;bottom:24px;left:0;right:0;height:88px;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:visible;perspective:400px;z-index:4}.combat-card-wrap{position:relative;width:56px;height:72px;opacity:0;transform:rotateY(90deg) translateY(-16px);transition:opacity .9s ease-out,transform .9s ease-out;transform-style:preserve-3d}.combat-card-wrap.combat-card-landed{opacity:1;transform:rotateY(0) translateY(0)}.combat-card-wrap.combat-card-fade-out{opacity:0;pointer-events:none}.combat-card-flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(0)}.combat-card-wrap.combat-card-landed .combat-card-flip-inner{animation:combat-card-three-flips .9s ease-in-out forwards}@keyframes combat-card-three-flips{0%{transform:rotateY(180deg)}33.33%{transform:rotateY(0)}66.66%{transform:rotateY(180deg)}to{transform:rotateY(0)}}.combat-card-back,.combat-card-front{position:absolute;left:0;top:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;image-rendering:pixelated;image-rendering:crisp-edges}.combat-card-back{border:2px solid var(--border, #444);border-radius:2px;box-sizing:border-box;background:#1a0d0d;transform:rotateY(180deg)}.combat-card-back.card-stat-power{border-color:#e00}.combat-card-back.card-stat-speed{border-color:#7dd}.combat-card-back.card-stat-precision{border-color:#fc0}.combat-card-back.card-stat-accuracy{border-color:#0f8}.combat-card-back.card-stat-sharpness{border-color:#a00}.combat-card-back.card-stat-might{border-color:#f80}.combat-card-back.card-stat-spread{border-color:#0080c0}.combat-card-back.card-stat-intensity{border-color:#c0c}.combat-card-back.card-stat-momentum{border-color:#0b0}.app-shell.svelte-12qhfyh{position:relative;z-index:2}.app-header.svelte-12qhfyh{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:#0a0a0bd9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-header.svelte-12qhfyh h1:where(.svelte-12qhfyh){grid-column:2;position:relative;font-family:"Press Start 2P",monospace;font-size:1.25rem;color:var(--blood-bright);text-shadow:0 0 8px var(--blood-glow);letter-spacing:.1em;margin:0;text-align:center}.app-header.svelte-12qhfyh h1:where(.svelte-12qhfyh) .version:where(.svelte-12qhfyh){position:absolute;left:100%;bottom:0;margin-left:.5em;font-family:inherit;font-size:.6rem;color:var(--text-dim);text-shadow:none;letter-spacing:.05em;white-space:nowrap}.who.svelte-12qhfyh{grid-column:3;justify-self:end;color:var(--text-dim);font-size:1rem}.app-nav.svelte-12qhfyh{display:flex;justify-content:center;gap:0;padding:0 1.5rem;border-bottom:1px solid var(--border);background:#0a0a0bd9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-nav.svelte-12qhfyh a:where(.svelte-12qhfyh){padding:.6rem 1rem;color:var(--text-dim);text-decoration:none;font-size:1.1rem;border-bottom:2px solid transparent}.app-nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh){color:var(--blood-bright);border-bottom-color:var(--blood-bright)}.app-nav.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:var(--text)}.app-main.svelte-12qhfyh{padding:1.5rem;max-width:720px;margin:0 auto}
