*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#0f0f1a;color:#e8e8f0;font-size:14px;line-height:1.4;user-select:none;-webkit-user-select:none}button{cursor:pointer;border:none;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}input{font-family:inherit;font-size:inherit;color:inherit}.app{display:flex;flex-direction:column;height:100dvh;width:100vw;overflow:hidden;background:#0f0f1a}.header{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:48px;min-height:48px;background:#1a1a2e;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0;gap:8px}.header-title{font-size:18px;font-weight:700;letter-spacing:.05em;color:#c8c8e8}.header-actions{display:flex;gap:4px;align-items:center}.header-btn{min-width:44px;min-height:44px;padding:0 10px;background:#ffffff12;border-radius:8px;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .15s}.header-btn:hover,.header-btn:active{background:#ffffff26}.reset-btn{color:#e06060;font-size:20px}.main-area{display:flex;flex:1;overflow:hidden;gap:2px}.fighter-panel{flex:1;display:flex;flex-direction:column;padding:10px 10px 8px;overflow-y:auto;overflow-x:hidden;gap:6px;min-width:0}.fighter-panel-0{background:#131328;border-right:2px solid #1e1e3a}.fighter-panel-1{background:#1f1318;border-left:2px solid #2e1a20}.fighter-panel-stamina0{outline:2px solid rgba(212,160,23,.3);outline-offset:-2px}.panel-header{display:flex;align-items:center;gap:8px;min-height:44px;flex-shrink:0}.name-area{flex:1;min-width:0}.name-btn{display:flex;align-items:center;gap:6px;background:none;border-radius:6px;padding:4px 8px;font-size:16px;font-weight:700;color:#d8d8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;transition:background .15s;min-height:36px}.name-btn:hover{background:#ffffff14}.name-edit-icon{font-size:12px;opacity:.5}.name-input{width:100%;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:4px 8px;font-size:16px;font-weight:700;color:#fff;outline:none;min-height:36px}.name-input:focus{border-color:#4a9ede;background:#4a9ede1a}.guard-btn{flex-shrink:0;padding:6px 10px;background:#ffffff12;border-radius:8px;font-size:12px;font-weight:600;color:#aaa;transition:all .15s;min-height:36px;white-space:nowrap}.guard-btn:hover{background:#ffffff1f}.guard-broken{background:#e0555540!important;color:#f88!important;border:1px solid rgba(224,85,85,.5);animation:guard-pulse 1.5s ease-in-out infinite}@keyframes guard-pulse{0%,to{box-shadow:0 0 #e0555566}50%{box-shadow:0 0 0 5px #e0555500}}.power-turn-banner{background:linear-gradient(90deg,#ffc80033,#ffdc3c4d,#ffc80033);border:1px solid rgba(255,200,0,.6);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:800;color:#ffe060;text-align:center;letter-spacing:.08em;animation:power-turn-glow 1.2s ease-in-out infinite;flex-shrink:0;width:100%;cursor:pointer;transition:background .12s}.power-turn-banner:active{background:linear-gradient(90deg,#ffc80059,#ffdc3c80,#ffc80059)}@keyframes power-turn-glow{0%,to{box-shadow:0 0 8px #ffc8004d}50%{box-shadow:0 0 18px #ffc800b3}}.stamina-warning{background:#d4a0171f;border:1px solid rgba(212,160,23,.4);border-radius:6px;padding:4px 8px;font-size:11px;color:#c8a030;flex-shrink:0}.meters{display:flex;flex-direction:column;gap:5px;flex-shrink:0}.meter-row{display:flex;align-items:center;gap:8px;height:28px}.meter-label{width:24px;font-size:11px;font-weight:700;color:#ffffff80;text-align:right;flex-shrink:0}.meter-track{flex:1;display:flex;gap:2px;height:22px;border-radius:4px;overflow:hidden;padding:1px;background:#0000004d;min-width:0}.meter-segment{flex:1;border-radius:2px;transition:background-color .2s ease-out,box-shadow .2s ease-out;min-width:2px}.meter-pulse .meter-segment{animation:momentum-pulse 1.5s ease-in-out infinite}@keyframes momentum-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.4)}}.meter-value{width:38px;text-align:right;font-size:14px;font-weight:700;color:#e8e8f0;flex-shrink:0}.meter-max{font-size:11px;font-weight:400;color:#fff6}.stance-row{display:flex;gap:5px;flex-shrink:0}.stance-btn{flex:1;min-height:52px;padding:8px 4px;background:#ffffff0f;border-radius:7px;font-size:15px;font-weight:700;color:#888aaa;letter-spacing:.03em;transition:background .12s,color .12s;text-align:center}.stance-btn:hover:not(.stance-btn-disabled):not(.stance-btn-active){background:#ffffff1f;color:#b0b0d0}.stance-btn-active{background:#4a9ede38;color:#8ac8f0;border:1px solid rgba(74,158,222,.45);cursor:default}.stance-btn-broken{background:#dc3c3c2e!important;color:#f88!important;border:1px solid rgba(220,60,60,.45)!important}.stance-btn-disabled{opacity:.3;cursor:not-allowed}.stance-label{display:block}.stance-guard-pips{display:flex;gap:4px;justify-content:center;margin-top:4px}.guard-pip{width:8px;height:8px;border-radius:50%;background:#ffffff1f;flex-shrink:0}.guard-pip-filled{background:#dca028d9}.guard-pip-broken{background:#f44;box-shadow:0 0 5px #ff4444b3}.guard-manual-row{display:flex;gap:5px;flex-shrink:0}.guard-inc-btn{flex:1;min-height:36px;padding:5px 4px;background:#c080e01f;border:1px solid rgba(192,128,224,.3);border-radius:7px;font-size:12px;font-weight:700;color:#c080e0;transition:background .12s;text-align:center}.guard-inc-btn:hover:not(:disabled){background:#c080e040}.guard-inc-btn:active:not(:disabled){background:#c080e059}.guard-inc-btn-full,.guard-inc-btn:disabled{opacity:.3;cursor:not-allowed}.guard-reset-notice{background:#dc3c3c1f;border:1px solid rgba(220,60,60,.35);border-radius:6px;padding:4px 8px;font-size:11px;color:#f88;flex-shrink:0;text-align:center}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex:1}@media (min-width: 600px){.action-grid{grid-template-columns:1fr 1fr 1fr}}.action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:32px;padding:3px 4px;background:#ffffff0f;border-radius:5px;font-size:10px;font-weight:600;color:#d0d0e8;transition:background .12s,transform 80ms;text-align:center}.action-btn:hover{background:#ffffff1f}.action-btn:active{transform:scale(.96);background:#ffffff2e}.action-btn-start{background:#4a9ede26;color:#8ac8f0;border:1px solid rgba(74,158,222,.3)}.action-btn-start:hover{background:#4a9ede40}.action-btn-attack{background:#e0555526;color:#ff9090;border:1px solid rgba(224,85,85,.3)}.action-btn-attack:hover{background:#e0555540}.action-btn-momentum{background:#4a9ede26;color:#8ac8f0;border:1px solid rgba(74,158,222,.3)}.action-btn-momentum:hover{background:#4a9ede40}.action-btn-disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.action-label{font-size:10px;font-weight:600;line-height:1.2}.action-cost{font-size:10px;color:#fff6;font-weight:400}.action-cost-unavail{color:#d4a017b3}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal-dialog{background:#1e1e32;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:24px;max-width:380px;width:100%}.modal-dialog h3{font-size:18px;margin-bottom:12px;color:#f0f0ff}.modal-dialog p{color:#a0a0c0;font-size:14px;margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.log-panel{background:#14142a;border:1px solid rgba(255,255,255,.12);border-radius:12px;width:min(700px,calc(100vw - 32px));max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden}.log-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0;gap:8px;flex-wrap:wrap}.log-title{font-size:16px;font-weight:700;color:#d0d0f0}.log-header-actions{display:flex;align-items:center;gap:8px}.log-confirm-text{font-size:13px;color:#f0a070}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff12;border-radius:6px;font-size:14px;color:#a0a0c0;transition:background .15s}.close-btn:hover{background:#ffffff26}.log-entries{overflow-y:auto;padding:8px 0;flex:1}.log-empty{color:#ffffff4d;text-align:center;padding:32px;font-size:14px}.log-entry{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;padding:7px 16px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}.log-entry:first-child{background:#ffffff08}.log-time{color:#ffffff4d;font-size:11px;min-width:70px;flex-shrink:0}.log-fighter{font-weight:700;color:#c0c0e8}.log-sep{color:#fff3}.log-action{color:#a0a0c8;flex:1}.log-deltas{display:flex;gap:8px;flex-wrap:wrap}.log-delta{font-size:12px;color:#fff6}.log-delta-loss{color:#e07070}.log-delta-gain{color:#70d070}.log-delta-none{color:#ffffff40}.btn-cancel{padding:8px 16px;background:#ffffff14;border-radius:8px;color:#c0c0d8;font-weight:600;transition:background .15s;min-height:36px}.btn-cancel:hover{background:#ffffff26}.btn-confirm-danger{padding:8px 16px;background:#e0555540;border:1px solid rgba(224,85,85,.5);border-radius:8px;color:#f88;font-weight:700;transition:background .15s;min-height:36px}.btn-confirm-danger:hover{background:#e0555566}.btn-sm{padding:5px 12px;font-size:13px;min-height:30px}.screen{display:flex;flex-direction:column;height:100dvh;width:100vw;background:#0f0f1a;overflow:hidden}.screen-header{display:flex;align-items:center;gap:12px;padding:0 16px;height:52px;min-height:52px;background:#1a1a2e;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.screen-title{font-size:16px;font-weight:700;color:#d0d0f0}.back-btn{padding:6px 12px;background:#ffffff14;border-radius:8px;font-size:14px;font-weight:600;color:#a0a0d0;flex-shrink:0;min-height:36px;transition:background .15s}.back-btn:hover{background:#ffffff26}.settings-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:24px}.settings-section{display:flex;flex-direction:column;gap:12px}.section-heading{font-size:14px;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}.settings-row{display:flex;flex-wrap:wrap;gap:12px}.settings-field{display:flex;flex-direction:column;gap:4px;min-width:120px}.settings-field-label{font-size:12px;font-weight:600;color:#ffffff80}.settings-input{width:80px;padding:6px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#e0e0f8;font-size:15px;font-weight:600;text-align:center;outline:none;-moz-appearance:textfield;min-height:36px;user-select:text;-webkit-user-select:text}.settings-input:focus{border-color:#4a9ede;background:#4a9ede1a}.settings-input::-webkit-outer-spin-button,.settings-input::-webkit-inner-spin-button{-webkit-appearance:none}.toggle-btn{padding:6px 20px;border-radius:8px;font-size:14px;font-weight:800;letter-spacing:.06em;min-height:36px;min-width:64px;transition:background .15s,color .15s;flex-shrink:0}.toggle-btn-on{background:#4ac86433;border:1px solid rgba(74,200,100,.5);color:#70e888}.toggle-btn-on:hover{background:#4ac86452}.toggle-btn-off{background:#c8505033;border:1px solid rgba(200,80,80,.45);color:#f88}.toggle-btn-off:hover{background:#c8505052}.toggle-hint{font-size:12px;color:#fff6;line-height:1.5;margin:0}.cost-table{display:flex;flex-direction:column;gap:3px}.cost-row{display:grid;grid-template-columns:1fr 60px 60px 60px;gap:6px;align-items:center;padding:4px 6px;border-radius:6px}.cost-row:nth-child(2n){background:#ffffff08}.cost-header{background:#ffffff0d!important;border-radius:6px;margin-bottom:2px}.cost-action-col{font-size:13px;color:#b0b0d0}.cost-stat-col{font-size:11px;font-weight:700;color:#fff6;text-align:center}.cost-input{width:56px;padding:4px 6px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:#e0e0f8;font-size:13px;font-weight:600;text-align:center;outline:none;-moz-appearance:textfield;min-height:32px;user-select:text;-webkit-user-select:text}.cost-input:focus{border-color:#4a9ede;background:#4a9ede1a}.cost-input::-webkit-outer-spin-button,.cost-input::-webkit-inner-spin-button{-webkit-appearance:none}.rules-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px;max-width:700px;width:100%;align-self:center}.rules-section{display:flex;flex-direction:column;gap:10px}.rules-section h2{font-size:15px;font-weight:700;color:#88c;text-transform:uppercase;letter-spacing:.06em;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}.rules-section ul{list-style:none;display:flex;flex-direction:column;gap:6px;padding-left:8px}.rules-section li{color:#b0b0d0;font-size:14px;padding-left:14px;position:relative;line-height:1.5}.rules-section li:before{content:"·";position:absolute;left:0;color:#ffffff4d}.rules-section li ul{margin-top:4px;padding-left:12px}.rules-section li ul li{font-size:13px;color:#9090b8}.rules-section strong{color:#d8d8f8}.rules-section em{color:#a0a0c8;font-style:normal}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.setup-screen{display:flex;flex-direction:column;height:100dvh;width:100vw;background:#0f0f1a;overflow:hidden}.setup-header{display:flex;flex-direction:column;align-items:center;padding:16px 16px 10px;background:#1a1a2e;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.setup-title{font-size:22px;font-weight:800;color:#c8c8e8;letter-spacing:.05em}.setup-subtitle{font-size:13px;color:#fff6;margin-top:2px}.setup-panels{display:flex;flex:1;overflow-y:auto;gap:2px}.setup-fighter{flex:1;display:flex;flex-direction:column;gap:14px;padding:14px 12px;overflow-y:auto;min-width:0}.setup-fighter-0{background:#131328;border-right:2px solid #1e1e3a}.setup-fighter-1{background:#1f1318;border-left:2px solid #2e1a20}.setup-fighter-title{font-size:15px;font-weight:700;color:#ffffff80;margin:0;text-transform:uppercase;letter-spacing:.08em}.setup-field{display:flex;flex-direction:column;gap:6px}.setup-label{font-size:11px;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.08em}.setup-name-input{width:100%;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:8px 10px;font-size:15px;font-weight:700;color:#fff;outline:none;box-sizing:border-box}.setup-name-input:focus{border-color:#4a9ede;background:#4a9ede1a}.setup-btn-row{display:flex;gap:5px}.setup-option-btn{flex:1;padding:8px 4px;background:#ffffff0f;border-radius:7px;font-size:13px;font-weight:600;color:#888aaa;transition:all .15s;min-height:40px}.setup-option-btn:hover{background:#ffffff1f;color:#b0b0d0}.setup-option-active{background:#4a9ede33!important;color:#7bc0f0!important;border:1px solid rgba(74,158,222,.5)}.setup-class-info{background:#ffffff0a;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.setup-class-stats{display:flex;gap:12px;font-size:13px;font-weight:700}.setup-class-special{font-size:11px;color:#ffffff73;line-height:1.4}.setup-weapon-info{background:#ffffff0a;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.setup-weapon-damage{display:flex;gap:10px;font-size:12px;color:#b0b0d0;flex-wrap:wrap}.setup-weapon-range{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#ffffff73}.setup-weapon-note{color:#7bc0f0}.setup-footer{padding:12px 16px;background:#1a1a2e;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.setup-start-btn{width:100%;padding:14px;background:linear-gradient(135deg,#3a6ea0,#2a5080);border-radius:10px;font-size:16px;font-weight:800;color:#fff;letter-spacing:.06em;transition:all .15s}.setup-start-btn:hover{filter:brightness(1.15)}.setup-start-btn:active{transform:scale(.98)}.duel-grid-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#111125;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.duel-grid{display:flex;gap:4px;flex:1}.grid-tile{flex:1;height:52px;background:#ffffff0d;border-radius:6px;display:flex;align-items:center;justify-content:center;position:relative;min-width:0}.grid-tile-f0{background:#4a9ede33;border:1px solid rgba(74,158,222,.5)}.grid-tile-f1{background:#e0555533;border:1px solid rgba(224,85,85,.5)}.grid-fighter-dot{font-size:14px;font-weight:800;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.grid-fighter-dot-0{background:#4a9ede;color:#fff}.grid-fighter-dot-1{background:#e05555;color:#fff}.duel-grid-range{font-size:13px;color:#fff6;white-space:nowrap;flex-shrink:0}.duel-grid-range strong{color:#d8d8f0;font-size:16px}.fighter-class-badge{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.badge-wc{font-size:11px;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.06em}.badge-wpn{font-size:10px;color:#ffffff4d}.action-counter{display:flex;align-items:center;gap:8px;padding:4px 0;flex-shrink:0}.action-counter-label{font-size:10px;font-weight:700;color:#ffffff4d;text-transform:uppercase;letter-spacing:.06em}.action-pips{display:flex;gap:4px}.action-pip{width:14px;height:14px;border-radius:3px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);transition:all .2s}.action-pip-used{background:#4a9ede99;border-color:#4a9ede}.action-counter-done{font-size:10px;color:#ffffff59;font-style:italic}.action-counter-pt{font-size:10px;color:#ffe060;font-weight:700;animation:power-turn-glow 1.2s ease-in-out infinite}.fighter-panel-turn-done{opacity:.85}.stance-btn-unreachable{opacity:.3;cursor:not-allowed}.action-btn-power{background:linear-gradient(135deg,#ffc80040,#ffdc3c26)!important;border:1px solid rgba(255,200,0,.5)!important;color:#ffe060!important;animation:power-turn-glow 1.2s ease-in-out infinite}.action-btn-flow{background:#a064dc26!important;border:1px solid rgba(160,100,220,.4)!important;color:#c090e8!important}.action-token-notice{grid-column:1 / -1;background:#4a9ede1f;border:1px solid rgba(74,158,222,.3);border-radius:6px;padding:5px 8px;font-size:11px;color:#7bc0f0;text-align:center}.action-token-heavy{background:#c880501f;border-color:#c880504d;color:#e0a060}.action-section-label{grid-column:1 / -1;font-size:10px;font-weight:700;color:#ffffff40;text-transform:uppercase;letter-spacing:.08em;padding:4px 0 0;border-top:1px solid rgba(255,255,255,.07);margin-top:4px}
