:root{--bg-body: #f5f5f7;--bg-panel: linear-gradient(135deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, .1) 100%);--bg-panel-light: linear-gradient(135deg, rgba(255, 255, 255, .3) 0%, rgba(255, 255, 255, .05) 100%);--border-light: rgba(255, 255, 255, .5);--border-dark: transparent;--accent-blue: #0071e3;--accent-blue-dark: #0077ed;--accent-red: #ff3b30;--accent-gold: #f59e0b;--accent-green: #34c759;--text-primary: #1d1d1f;--text-muted: rgba(0, 0, 0, .56);--button-text: #ffffff;--log-odd: rgba(255, 255, 255, .2);--log-even: rgba(255, 255, 255, .35);--system-message: rgba(253, 246, 227, .82);--log-round-border: rgba(0, 0, 0, .15);--log-body-bg: rgba(0, 0, 0, .05);--rarity-poor: #8e8e93;--rarity-normal: #6e6e73;--rarity-magic: #34c759;--rarity-rare: #0071e3;--rarity-epic: #af52de;--rarity-legendary: #ff9500;--font-display: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-text: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--shadow-card: 0 8px 32px 0 rgba(31, 38, 135, .1), inset 1px 1px 0 0 rgba(255, 255, 255, .8);--shadow-subtle: 0 4px 16px 0 rgba(31, 38, 135, .05), inset 1px 1px 0 0 rgba(255, 255, 255, .6);--nav-bg: linear-gradient(135deg, rgba(255, 255, 255, .6) 0%, rgba(255, 255, 255, .2) 100%);--nav-border: rgba(255, 255, 255, .5);--glass-blur: 24px;--glass-border-gradient: linear-gradient( 135deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .3) 20%, rgba(255, 255, 255, .1) 50%, rgba(255, 255, 255, .3) 80%, rgba(255, 255, 255, .7) 100% );--font-size-base: 17px;--font-size-small: 14px;--font-size-xs: 12px;--font-size-caption: 11px;--font-size-label: 13px;--font-size-heading: clamp(32px, 5vw, 56px);--font-size-subheading: clamp(20px, 3vw, 28px);--font-size-section: 19px}[data-theme=dark]{--bg-body: #000000;--bg-panel: linear-gradient(135deg, rgba(44, 44, 46, .6) 0%, rgba(28, 28, 30, .2) 100%);--bg-panel-light: linear-gradient(135deg, rgba(58, 58, 60, .4) 0%, rgba(28, 28, 30, .1) 100%);--border-light: rgba(255, 255, 255, .15);--border-dark: transparent;--accent-blue: #0a84ff;--accent-blue-dark: #2997ff;--accent-red: #ff453a;--accent-gold: #ffd60a;--accent-green: #32d74b;--text-primary: #ffffff;--text-muted: rgba(255, 255, 255, .55);--button-text: #ffffff;--log-odd: rgba(44, 44, 46, .35);--log-even: rgba(28, 28, 30, .45);--system-message: rgba(58, 50, 32, .85);--rarity-poor: #8f93a3;--rarity-normal: #f4f1ff;--rarity-magic: #6dd39e;--rarity-rare: #59a6ff;--rarity-epic: #c282ff;--rarity-legendary: #ff9b52;--shadow-card: 0 8px 32px 0 rgba(0, 0, 0, .5), inset 1px 1px 0 0 rgba(255, 255, 255, .1);--shadow-subtle: 0 4px 16px 0 rgba(0, 0, 0, .3), inset 1px 1px 0 0 rgba(255, 255, 255, .05);--nav-bg: linear-gradient(135deg, rgba(28, 28, 30, .7) 0%, rgba(28, 28, 30, .3) 100%);--nav-border: rgba(255, 255, 255, .15);--glass-border-gradient: linear-gradient( 135deg, rgba(255, 255, 255, .4) 0%, rgba(255, 255, 255, .1) 20%, rgba(255, 255, 255, .02) 50%, rgba(255, 255, 255, .05) 80%, rgba(255, 255, 255, .2) 100% )}*{margin:0;padding:0;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{font-family:var(--font-text);line-height:1.47;letter-spacing:-.011em;font-size:var(--font-size-base);background-color:var(--bg-body);background-image:radial-gradient(circle at 0% 0%,rgba(0,113,227,.3) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(52,199,89,.25) 0%,transparent 50%),radial-gradient(circle at 100% 0%,rgba(255,59,48,.2) 0%,transparent 40%),radial-gradient(circle at 0% 100%,rgba(245,158,11,.2) 0%,transparent 40%);background-attachment:fixed;color:var(--text-primary);min-height:100vh;padding:32px 16px 48px}.container{max-width:1120px;margin:0 auto;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);box-shadow:var(--shadow-card);padding:32px 28px 40px;position:relative;border-radius:20px}h1{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;text-align:center;font-size:var(--font-size-heading);letter-spacing:.25rem;color:var(--accent-gold);margin-bottom:28px}.view-switcher{display:flex;justify-content:flex-end;gap:12px;margin-bottom:24px;flex-wrap:wrap}.view-switcher__button{background:var(--bg-panel-light);color:var(--accent-blue);border:none;padding:10px 18px;min-width:140px;box-shadow:var(--shadow-card);transition:transform .1s ease,box-shadow .1s ease,background .2s ease,color .2s ease;border-radius:980px;font-weight:400}.view-switcher__button:disabled{background:#0000000f;color:#0000007a;box-shadow:none;cursor:not-allowed}[data-theme=dark] .view-switcher__button:disabled{background:#ffffff14;color:#ffffff7a}.view-switcher__button--active{background:var(--accent-blue);color:var(--border-dark);box-shadow:var(--shadow-card)}.view-switcher__button:focus-visible{outline:3px solid rgba(108,216,255,.6);outline-offset:2px}.view{display:flex;flex-direction:column;gap:28px}.view[hidden]{display:none!important}.view--battle .player-form{margin-bottom:0;border-radius:8px}h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.14;font-size:var(--font-size-subheading);color:var(--text-primary);margin-bottom:16px}h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;line-height:1.2;font-size:var(--font-size-section);color:var(--text-primary);margin:24px 0 12px}.player-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);box-shadow:var(--shadow-subtle);padding:24px;margin-bottom:28px;border-radius:16px}.player-input{display:flex;flex-direction:column;gap:8px;border-radius:8px}label{font-size:var(--font-size-label);letter-spacing:.15rem;color:var(--text-muted)}input{width:100%;padding:12px;font-size:var(--font-size-small);font-family:inherit;color:var(--text-primary);background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);border-radius:8px;transition:border-color .2s,box-shadow .2s}input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 4px #0071e31f}select,textarea{width:100%;padding:12px;font-size:var(--font-size-small);font-family:inherit;color:var(--text-primary);background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);border-radius:8px;resize:vertical;min-height:48px;transition:border-color .2s,box-shadow .2s}select:focus,textarea:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 4px #0071e31f}button{padding:10px 18px;font-size:var(--font-size-small);font-family:inherit;font-weight:500;color:var(--button-text);background:var(--accent-blue);border:none;border-radius:8px;cursor:pointer;box-shadow:var(--shadow-subtle);transition:transform .1s ease,filter .1s ease,box-shadow .2s ease}button:hover:not(:disabled){filter:brightness(1.1);box-shadow:var(--shadow-subtle),0 4px 12px #0071e33d}button:active:not(:disabled){transform:scale(.98)}button:disabled{cursor:not-allowed;background:#0000000a;color:#0000007a;box-shadow:none;opacity:1}[data-theme=dark] button:disabled{background:#ffffff0f;color:#ffffff7a}#battle-btn{grid-column:1 / -1;width:100%;padding:12px 28px;font-size:17px;font-weight:600;border-radius:11px}.form-error{grid-column:1 / -1;color:var(--accent-red);font-size:var(--font-size-label);text-align:center;min-height:18px}.growth-lab{margin-bottom:28px;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);box-shadow:var(--shadow-card);padding:24px;display:flex;flex-direction:column;gap:24px;border-radius:20px}.growth-lab__header{display:flex;flex-direction:column;gap:8px}.growth-lab__hint{font-size:var(--font-size-small);color:var(--text-muted);line-height:1.6}.growth-lab__panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.growth-panel{background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);box-shadow:var(--shadow-subtle);padding:20px;display:flex;flex-direction:column;gap:18px;border-radius:8px}.growth-panel__header{display:flex;flex-direction:column;gap:12px}.growth-panel__meta{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}.growth-panel__name{font-size:var(--font-size-small);color:var(--text-muted)}.growth-panel__name strong{color:var(--text-primary);font-weight:600}.growth-panel__saved{display:flex;align-items:center;gap:8px;font-size:var(--font-size-small);color:var(--text-muted)}.growth-panel__saved select{min-width:160px;border-radius:8px}.growth-panel__points{font-size:var(--font-size-small);color:var(--accent-green)}.growth-section h4{font-size:var(--font-size-section);color:var(--accent-blue);margin-bottom:12px}.growth-attributes{display:flex;flex-direction:column;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border-radius:16px;border:1px solid var(--border-light);box-shadow:var(--shadow-subtle);overflow:hidden}.growth-attributes__header{display:grid;grid-template-columns:minmax(90px,110px) repeat(4,minmax(0,1fr));gap:12px;padding:12px 16px;font-size:var(--font-size-label);color:var(--text-muted);letter-spacing:.08rem;border-bottom:1px solid var(--border-light);background:#00000005}.growth-attributes__header span:first-child{justify-self:start}.growth-attributes__header span:not(:first-child){text-align:center}.attribute-row{display:grid;grid-template-columns:minmax(90px,110px) repeat(4,minmax(0,1fr));gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-light);transition:background-color .2s ease}.attribute-row:last-child{border-bottom:none}.attribute-row:hover{background:#00000005}[data-theme=dark] .attribute-row:hover{background:#ffffff05}.attribute-row__label{font-weight:700;color:var(--accent-gold)}.attribute-row__controls{display:inline-flex;align-items:center;gap:8px;justify-content:center}.attribute-row__controls button{flex-shrink:0;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;font-weight:500;font-size:16px;background:var(--log-even);color:var(--text-primary);box-shadow:0 2px 4px #0000000d;transition:transform .1s ease,opacity .2s ease,background .2s ease;cursor:pointer}.attribute-row__controls button:hover:not(:disabled){background:var(--accent-blue);color:#fff;transform:scale(1.05)}.attribute-row__controls button:active:not(:disabled){transform:scale(.95)}.attribute-row__controls button:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.attribute-row__adjust{min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.attribute-row__equipment,.attribute-row__total,.attribute-row__base{font-size:var(--font-size-small);color:var(--text-muted);text-align:center}.attribute-row__total span,.attribute-row__base span,.attribute-row__equipment span{color:var(--text-primary);font-weight:700;margin-left:4px}.growth-equipment{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.growth-equipment label{display:flex;flex-direction:column;gap:8px;font-size:var(--font-size-small);color:var(--text-primary);font-weight:600}.equipment-field{display:flex;align-items:stretch;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);border-radius:12px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.equipment-field:focus-within{border-color:var(--accent-blue);box-shadow:0 0 0 4px #0071e326}.equipment-field select{flex:1;min-width:0;border:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-radius:0;padding:10px 12px;outline:none}.equipment-field select:focus{box-shadow:none}.equipment-refine{display:inline-flex;align-items:center;background:#00000008;border-left:1px solid var(--border-light)}[data-theme=dark] .equipment-refine{background:#ffffff0d}.equipment-refine span{font-size:var(--font-size-xs);color:var(--text-muted);padding-left:10px;letter-spacing:.05rem}.equipment-refine input{width:48px;border:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-radius:0;font-size:var(--font-size-small);font-weight:600;text-align:center;padding:10px 6px;outline:none}.equipment-refine input:focus{box-shadow:none}.equipment-refine input:disabled{opacity:.45}.growth-equipment__preview{margin-top:16px;display:flex;flex-direction:column;gap:12px}.growth-equipment__empty{color:var(--text-muted);font-size:var(--font-size-small);font-style:italic;text-align:center;padding:20px 0}.equipment-preview-item{background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);padding:12px 14px;border-radius:12px;box-shadow:var(--shadow-subtle);background-image:linear-gradient(135deg,transparent 50%,color-mix(in srgb,var(--item-rarity-color, transparent) 12%,transparent) 100%);position:relative}.equipment-preview-item__header{font-weight:600;color:var(--item-rarity-color, var(--text-primary));margin-bottom:8px;font-size:calc(var(--font-size-small) + .05rem);display:flex;align-items:center;gap:8px}.equipment-preview-item__header:before{content:"";display:block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:var(--item-rarity-color, var(--text-muted));box-shadow:0 1px 3px #0000001a,0 0 8px color-mix(in srgb,var(--item-rarity-color, transparent) 50%,transparent);flex-shrink:0}.equipment-preview-item__attributes{list-style:none;display:grid;gap:4px;font-size:var(--font-size-small)}.growth-skill{display:flex;flex-direction:column;gap:12px;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);padding:16px;border-radius:12px;box-shadow:var(--shadow-subtle)}.growth-skill label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:var(--text-primary)}.growth-skill__default{font-size:var(--font-size-small);color:var(--text-muted)}.growth-skill__description{font-size:var(--font-size-small);color:var(--text-primary);line-height:1.5;background:#00000005;padding:12px;border-radius:8px;border:1px solid var(--border-light)}[data-theme=dark] .growth-skill__description{background:#ffffff05}.growth-panel__actions{display:flex;flex-wrap:wrap;gap:10px}.growth-panel__status{font-size:var(--font-size-small);min-height:20px}.growth-panel__status[data-tone=success]{color:var(--accent-green)}.growth-panel__status[data-tone=warn],.growth-storage__status[data-tone=warn]{color:var(--accent-gold)}.growth-panel__status[data-tone=error],.growth-storage__status[data-tone=error]{color:var(--accent-red)}.growth-lab__storage{background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);padding:24px;border-radius:16px;box-shadow:var(--shadow-subtle);margin-top:24px}.growth-lab__storage h3{margin-top:0}.growth-storage__hint{font-size:var(--font-size-small);color:var(--text-muted);line-height:1.6}.growth-storage__controls{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.growth-storage__status{font-size:var(--font-size-small);min-height:20px}@media(max-width:900px){.attribute-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;border-radius:8px}.growth-attributes__header{display:none}.attribute-row__label{grid-column:1 / -1}.attribute-row__controls{justify-content:flex-start}}.battle-area{display:flex;gap:20px;align-items:stretch;flex-wrap:wrap}.player-info{flex:1;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);padding:16px 18px;box-shadow:var(--shadow-card);min-width:260px;border-radius:16px}.player1-info{border-color:var(--accent-blue-dark)}.player2-info{border-color:var(--accent-red)}.player-card{display:grid;gap:14px}.player-card__header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.player-card__header h2{margin-top:8px}.player-card__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;flex:1 1 240px}.summary-block{display:grid;gap:6px;padding:10px 12px;background:var(--bg-panel-light);border:1px solid var(--border-light);min-width:140px;border-radius:12px}.summary-block--name{align-content:start}.summary-block--name .summary-value{font-size:calc(var(--font-size-small) + .05rem)}.summary-block--name .summary-health{margin-top:2px;display:block}.summary-block--name .health-meter{margin-top:4px;padding:8px 10px;grid-template-columns:minmax(0,1fr) auto;width:100%}.summary-block--name .health-meter__track{height:14px;border-radius:4px}.summary-block--name .atb-meter{margin-top:4px;padding:0 10px;width:100%}.summary-block--name .atb-meter__track{height:6px;border-radius:2px}.player1-info .summary-block{border-color:var(--accent-blue-dark);border-radius:8px}.player2-info .summary-block{border-color:var(--accent-red);border-radius:8px}.summary-label{font-size:var(--font-size-caption);letter-spacing:.08rem;color:var(--text-muted)}.summary-value{font-size:var(--font-size-small);font-weight:700;word-break:break-word;line-height:1.3}.player-card__stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.stat-tile{display:grid;gap:5px;background:var(--bg-panel-light);border:1px solid var(--border-light);padding:8px 10px;border-radius:10px}.player1-info .stat-tile{border-color:var(--accent-blue-dark);border-radius:8px}.player2-info .stat-tile{border-color:var(--accent-red);border-radius:8px}.stat-label{font-size:var(--font-size-caption);color:var(--text-muted);letter-spacing:.08rem}.stat-value{font-size:calc(var(--font-size-base) + .05rem);font-weight:700}.player-card__detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;align-items:start;align-self:start}.detail-section{align-self:start}.detail-section h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;margin-top:0}.detail-list{margin-top:10px;display:grid;gap:8px;align-items:start}.detail-entry{background:var(--bg-panel-light);border:1px solid var(--border-light);padding:8px 10px;line-height:1.4;font-size:var(--font-size-small);position:relative;transition:border-color .2s ease,transform .2s ease;border-radius:8px;height:max-content}.player1-info .detail-entry{border-color:var(--accent-blue-dark);border-radius:8px}.player2-info .detail-entry{border-color:var(--accent-red);border-radius:8px}.detail-placeholder{color:var(--text-muted);font-style:italic;text-align:center;border-style:dashed}.status-item{font-size:var(--font-size-small);letter-spacing:.05rem}.set-effect-entry{font-size:calc(var(--font-size-small) + .05rem);border-style:dashed;font-weight:600}.equipment-item{cursor:help;overflow:visible;z-index:1;background-image:linear-gradient(135deg,transparent 50%,color-mix(in srgb,var(--item-rarity-color, transparent) 12%,transparent) 100%);transition:border-color .2s ease,transform .2s ease,background-image .2s ease}.equipment-item:focus-within,.equipment-item:hover{border-color:var(--item-rarity-color, var(--accent-gold));transform:translateY(-1px);z-index:5;background-image:linear-gradient(135deg,transparent 30%,color-mix(in srgb,var(--item-rarity-color, transparent) 25%,transparent) 100%)}.equipment-item:focus-visible{outline:none;box-shadow:0 0 0 3px #ffd16659}.equipment-item__header{display:flex;align-items:center;gap:8px}.equipment-slot{font-size:var(--font-size-caption);color:var(--text-muted);letter-spacing:.08rem;flex-shrink:0}.equipment-name{flex:1;font-size:var(--font-size-small);font-weight:600;line-height:1.3}.equipment-rarity-chip{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:var(--rarity-color, var(--text-muted));box-shadow:0 1px 3px #0000001a,0 0 8px color-mix(in srgb,var(--rarity-color, transparent) 50%,transparent);flex-shrink:0}.equipment-tooltip{position:absolute;left:0;top:100%;margin-top:10px;padding:10px 12px;min-width:220px;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);box-shadow:var(--shadow-card);line-height:1.5;z-index:20;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s,transform .2s;transform:translateY(-5px);border-radius:12px}.equipment-item:hover .equipment-tooltip,.equipment-item:focus-within .equipment-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.equipment-tooltip:before{content:"";position:absolute;top:-6px;left:18px;width:12px;height:12px;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border-left:1px solid var(--border-light);border-top:1px solid var(--border-light);transform:rotate(45deg)}.equipment-tooltip__name{font-size:calc(var(--font-size-small) + .05rem);font-weight:600;margin-bottom:6px}.equipment-tooltip__rarity{font-size:var(--font-size-xs);margin-bottom:6px}.equipment-tooltip__meta{font-size:var(--font-size-caption);color:var(--text-muted);display:grid;gap:4px}.equipment-tooltip__stats{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.15);display:grid;gap:4px;font-size:var(--font-size-caption)}.equipment-tooltip__empty{color:var(--text-muted);font-style:italic}.health-meter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;background:var(--bg-panel-light);border:1px solid var(--border-light);border-radius:8px}.health-meter__track{position:relative;height:14px;border:1px solid var(--border-light);background:var(--bg-body);overflow:hidden;border-radius:6px}.health-meter__fill{height:100%;background:var(--accent-green);transition:width .5s cubic-bezier(.25,1,.5,1),background-color .3s ease;background:linear-gradient(90deg,#34c759,#32d74b);box-shadow:0 0 8px #34c75966;border-radius:4px}.health-meter__value{font-size:var(--font-size-label);font-weight:700;min-width:60px;text-align:right}.health-meter[data-state=warning] .health-meter__fill{background:var(--accent-gold);background:linear-gradient(90deg,#34c759,#32d74b);box-shadow:0 0 8px #34c75966;border-radius:4px;background:linear-gradient(90deg,#f59e0b,#ffd60a);box-shadow:0 0 8px #f59e0b66}.health-meter[data-state=critical] .health-meter__fill{background:var(--accent-red);background:linear-gradient(90deg,#34c759,#32d74b);box-shadow:0 0 8px #34c75966;border-radius:4px;background:linear-gradient(90deg,#ff3b30,#ff453a);box-shadow:0 0 8px #ff3b3066}.health-meter[data-state=overheal] .health-meter__fill{background:var(--accent-blue);background:linear-gradient(90deg,#34c759,#32d74b);box-shadow:0 0 8px #34c75966;border-radius:4px}.atb-meter{display:flex;align-items:center;padding:4px 8px;background:transparent}.atb-meter__track{position:relative;width:100%;height:8px;border:1px solid var(--border-light);background:var(--bg-body);overflow:hidden;border-radius:4px}.atb-meter__fill{height:100%;width:0%;background:var(--accent-gold);transition:width .1s linear;background:linear-gradient(90deg,#f59e0b,#ffd60a);box-shadow:0 0 10px #f59e0b66;border-radius:4px}.battle-result{flex:2 1 320px;min-width:320px;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);padding:24px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;border-radius:16px}.battle-controls .view-switcher__button{min-width:90px;padding:8px 16px;font-size:var(--font-size-small);background:#0000000d}[data-theme=dark] .battle-controls .view-switcher__button{background:#ffffff1a}.battle-controls .view-switcher__button:disabled{background:#0000001a;color:#00000080}[data-theme=dark] .battle-controls .view-switcher__button:disabled{background:#ffffff0d;color:#ffffff80}.battle-summary-trigger{position:relative;margin-top:20px;padding:18px 20px;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);box-shadow:var(--shadow-card);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;border-radius:8px}.battle-summary-trigger__status{position:relative;margin:0;padding-left:18px;color:var(--text-primary);font-size:var(--font-size-base);font-weight:600;line-height:1.6;letter-spacing:-.01em}.battle-summary-trigger__status:before{content:"▸";position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:.7rem;color:var(--accent-blue)}.battle-summary-trigger__button{position:relative;justify-self:end;padding:10px 24px;font-size:var(--font-size-small);font-weight:600;letter-spacing:-.01em;background:var(--accent-blue);color:#fff;border:none;box-shadow:var(--shadow-subtle);transition:transform .12s ease,filter .12s ease;border-radius:980px}.battle-summary-trigger__button:not(:disabled):hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-card)}.battle-summary-trigger__button:not(:disabled):active{transform:translate(2px,2px);box-shadow:var(--shadow-card)}.battle-summary-trigger__button:disabled{background:var(--bg-panel-light);color:var(--text-muted);box-shadow:none;transform:none}@media(max-width:720px){.battle-summary-trigger{grid-template-columns:1fr;gap:14px;border-radius:8px}.battle-summary-trigger__button{justify-self:stretch;text-align:center;border-radius:8px;border:none;font-weight:400;padding:10px 18px}}#result-log{flex:1 1 auto;min-height:320px;background:var(--bg-panel-light);border:1px solid var(--border-light);padding:16px 18px;color:var(--text-primary);font-size:var(--font-size-small);line-height:1.5;overflow-y:auto;border-radius:12px}.log-line{margin-bottom:12px;padding:10px 14px;background:var(--log-even);box-shadow:var(--shadow-subtle);border-radius:12px}.log-line--system{color:var(--border-dark);background:var(--system-message);box-shadow:none}.log-round{margin-bottom:14px;background:var(--log-even);box-shadow:var(--shadow-card);border-radius:12px}.log-round__header{padding:10px 12px;border-bottom:1px solid var(--border-light);font-weight:600;letter-spacing:.02rem;color:var(--text-primary)}.log-round__body{display:grid;gap:6px;padding:12px 18px 14px;background:var(--log-body-bg);border-radius:0 0 12px 12px}.log-entry{padding:0;border:0;background:none}.log-entry--action-header{margin-top:8px;margin-bottom:2px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-light);padding-bottom:4px}.log-line--active{border-color:var(--accent-blue);box-shadow:var(--shadow-card);background:#0071e31a}.log-entry--active{background:#0071e326;padding:4px 6px;border-radius:4px}.log-round__header--active{background:#0071e326}#result-log::-webkit-scrollbar{width:14px}#result-log::-webkit-scrollbar-track{background:var(--bg-body);border:1px solid var(--border-light)}#result-log::-webkit-scrollbar-thumb{background:var(--accent-blue);border:1px solid var(--border-light)}.battle-summary{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:2000}.battle-summary--visible{display:flex}.battle-summary__overlay{position:absolute;inset:0;background:#0c0912d1}.battle-summary__panel{position:relative;z-index:1;width:min(920px,94vw);max-height:90vh;overflow-y:auto;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);box-shadow:var(--shadow-card);padding:28px 32px;display:grid;gap:24px;border-radius:20px}.battle-summary__header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;justify-content:space-between}.battle-summary__meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:var(--font-size-small);color:var(--text-muted);margin-left:auto;text-align:right}.battle-summary__close{background:var(--accent-red);color:var(--border-dark);border:1px solid var(--border-light);width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;font-size:1.25rem;line-height:1;text-align:center;cursor:pointer;box-shadow:var(--shadow-card)}.battle-summary__body{display:grid;gap:24px}.summary-section{background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-light);padding:20px 22px;box-shadow:var(--shadow-subtle);display:grid;gap:18px;border-radius:12px}.summary-section h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;margin:0}.summary-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.summary-card{background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);padding:18px 20px;box-shadow:var(--shadow-subtle);display:grid;gap:16px;border-radius:12px}.summary-card h4{margin:0;font-size:1.05rem;color:var(--accent-blue)}.summary-metrics{list-style:none;margin:0;padding:0;display:grid;gap:8px}.summary-metrics__item{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:12px;font-size:var(--font-size-small)}.summary-metrics__label{color:var(--text-muted);letter-spacing:.04rem}.summary-metrics__value{justify-self:end;font-weight:600;color:var(--text-primary)}.summary-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:var(--font-size-small)}.summary-list--details{gap:8px;line-height:1.55}.summary-list__empty{color:var(--text-muted);font-style:italic}@media(max-width:960px){body{padding:24px 12px 36px}.container{padding:28px 22px 34px;border-radius:8px}.battle-area{flex-direction:column}#result-log{min-height:260px}}@media(max-width:720px){h1{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;font-size:clamp(1.3rem,6vw,1.5rem)}button{width:100%;border-radius:8px;border:none;font-weight:400;padding:10px 18px}.player-form{grid-template-columns:1fr;border-radius:8px}}.fct-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50;overflow:visible}.fct-text{position:absolute;font-weight:700;font-size:1.5rem;color:#fff;animation:fct-float 1.2s ease-out forwards;white-space:nowrap;opacity:0}.fct-text--damage{color:#fff}.fct-text--crit{color:var(--accent-red);font-size:2rem;animation:fct-float-crit 1.5s ease-out forwards;z-index:51}.fct-text--heal{color:var(--accent-green);font-size:1.6rem;animation:fct-float-heal 1.2s ease-out forwards}@keyframes fct-float{0%{opacity:0;transform:translate(-50%,20px) scale(.8)}15%{opacity:1;transform:translate(-50%,-5px) scale(1.1)}30%{transform:translate(-50%,-15px) scale(1)}80%{opacity:1;transform:translate(-50%,-40px)}to{opacity:0;transform:translate(-50%,-60px)}}@keyframes fct-float-crit{0%{opacity:0;transform:translate(-50%,20px) scale(.5)}15%{opacity:1;transform:translate(-50%,-10px) scale(1.4)}30%{transform:translate(-50%,-20px) scale(1.2)}80%{opacity:1;transform:translate(-50%,-50px)}to{opacity:0;transform:translate(-50%,-70px)}}@keyframes fct-float-heal{0%{opacity:0;transform:translate(-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-20px) scale(1.1)}80%{opacity:1;transform:translate(-50%,-60px)}to{opacity:0;transform:translate(-50%,-80px)}}.status-icon{display:inline-flex;align-items:center;gap:6px;background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);padding:4px 8px;margin:2px;border-radius:6px;font-size:var(--font-size-xs);box-shadow:var(--shadow-subtle)}.status-icon--buff{border-color:var(--accent-green)}.status-icon--debuff{border-color:var(--accent-red)}.status-icon__img{font-size:1rem;line-height:1}.status-icon__text{font-weight:600}.app-footer{text-align:center;margin-top:48px;padding-top:24px;font-size:var(--font-size-xs);color:var(--text-muted);border-top:1px solid var(--border-light);letter-spacing:.02rem}.app-footer p{margin:0}.apple-nav{position:sticky;top:16px;z-index:1000;max-width:980px;margin:0 auto 24px;border-radius:980px;background:var(--nav-bg);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);display:flex;align-items:center;justify-content:space-between;padding:8px 16px;box-shadow:0 4px 14px #0000000f;border:1px solid var(--nav-border)}.apple-nav__logo{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--text-primary)}.apple-nav__links{display:flex;gap:8px;align-items:center}.apple-nav__actions .theme-toggle-btn{background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:none;transition:background-color .2s}.apple-nav__actions .theme-toggle-btn:hover{background:#7878801f}.view-switcher__button{border-radius:980px;border:none;background:transparent;color:var(--text-muted);box-shadow:none;position:relative;padding:6px 14px;font-size:14px}.view-switcher__button:hover{background:#7878801f}.view-switcher__button--active{background:transparent;box-shadow:none;color:var(--text-primary);font-weight:600}.view-switcher__button--active:after{content:"•";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);font-size:12px;color:var(--text-primary)}.version-badge{position:fixed;top:auto;bottom:24px;right:24px;background:transparent;border:none;padding:0;box-shadow:none;font-size:12px;color:var(--text-muted);letter-spacing:.5px;z-index:1000}h1,.view-switcher{display:none}.apple-nav .view-switcher__button{display:inline-block}.container,.player-form,.growth-lab,.growth-panel,.player-info,.battle-result,.battle-summary-trigger,.battle-summary__panel,.summary-card,.log-line,.log-round,.log-round__body,.attribute-row{position:relative;border:none!important}.equipment-tooltip{position:absolute;border:none!important;z-index:100;background:linear-gradient(135deg,#fffffffa,#fffffff2);box-shadow:var(--shadow-card),0 12px 48px #00000026}[data-theme=dark] .equipment-tooltip{background:linear-gradient(135deg,#1c1c1efa,#121214f2)}.container:after,.player-form:after,.growth-lab:after,.growth-panel:after,.player-info:after,.battle-result:after,.battle-summary-trigger:after,.battle-summary__panel:after,.summary-card:after,.equipment-tooltip:after,.log-line:after,.log-round:after,.log-round__body:after,.attribute-row:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--glass-border-gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:10}.tournament-registration{background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);padding:32px;border-radius:20px;box-shadow:var(--shadow-card);margin:0 auto;max-width:800px}.tournament-registration__input-area{display:flex;gap:12px;margin-bottom:24px}.tournament-registration__add-btn{white-space:nowrap;padding:0 24px}.tournament-registration__count{font-size:var(--font-size-small);color:var(--text-muted);font-weight:500;margin-bottom:12px}.tournament-registration__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;list-style:none;margin-bottom:32px}.tournament-registration__item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-body);border:1px solid var(--border-light);padding:8px 12px;border-radius:8px;font-size:var(--font-size-small);font-weight:500;box-shadow:var(--shadow-subtle);transition:transform .2s ease,border-color .2s ease}.tournament-registration__item:hover{transform:translateY(-2px);border-color:var(--accent-red)}.tournament-registration__remove-btn{background:transparent;border:none;color:var(--text-muted);font-size:18px;line-height:1;padding:0 4px;cursor:pointer;box-shadow:none;transition:color .2s ease}.tournament-registration__remove-btn:hover{color:var(--accent-red);background:transparent;box-shadow:none;transform:none}.tournament-registration__start-btn{width:100%;padding:14px;font-size:16px;border-radius:12px}.tournament-group-stage__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.tournament-group-stage__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tournament-group{background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);padding:24px;border-radius:16px;box-shadow:var(--shadow-subtle)}.tournament-table-container{margin-bottom:24px;overflow-x:auto}.tournament-table{width:100%;border-collapse:collapse}.tournament-table th,.tournament-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-light)}.tournament-table th{font-size:var(--font-size-label);color:var(--text-muted);font-weight:500;background:#00000005}.tournament-table__id{font-weight:600;color:var(--accent-gold)}.tournament-schedule{display:flex;flex-direction:column;gap:16px;max-height:500px;overflow-y:auto;padding-right:8px}.tournament-schedule__round h4{font-size:var(--font-size-small);color:var(--text-muted);margin:12px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border-light)}.tournament-schedule__list{list-style:none;display:flex;flex-direction:column;gap:8px}.tournament-match-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-body);border:1px solid var(--border-light);border-radius:10px;box-shadow:var(--shadow-subtle);transition:transform .2s ease}.tournament-match-item:hover{transform:translate(4px)}.tournament-match-item__info .winner{color:var(--accent-green);text-shadow:0 0 8px rgba(52,199,89,.3)}.tournament-match-item__info .vs{color:var(--text-muted);margin:0 8px;font-size:.9em}.tournament-match-item__controls{display:flex;gap:6px}.tournament-match-item__btn{padding:6px 12px;font-size:12px;border-radius:6px}.tournament-match-item__status{font-size:var(--font-size-xs);color:var(--text-muted)}.tournament-bracket-stage{display:flex;flex-direction:column;gap:32px;overflow-x:auto;padding:16px 4px}.tournament-bracket-tree{margin-bottom:48px}.tournament-bracket-tree h3{font-size:var(--font-size-title-sm);margin-bottom:24px;color:var(--accent-blue);display:flex;align-items:center;gap:12px}.tournament-bracket-tree__container{display:flex;gap:60px;padding:12px 0}.tournament-bracket-tree__column{display:flex;flex-direction:column;min-width:180px}.tournament-bracket-tree__column h4{text-align:center;margin-bottom:20px;font-size:var(--font-size-label);color:var(--text-muted);padding-bottom:8px;border-bottom:1px solid var(--border-light)}.tournament-bracket-tree__matches{display:flex;flex-direction:column;justify-content:space-around;flex:1;gap:32px}.tournament-match-card{background:var(--bg-panel-light);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border-light);border-radius:12px;padding:12px;min-width:160px;position:relative;box-shadow:var(--shadow-subtle);transition:transform .2s ease,box-shadow .2s ease}.tournament-match-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.tournament-match-card__player{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.tournament-match-card__player:first-child{border-bottom:1px solid var(--border-light);margin-bottom:4px;padding-bottom:8px}.tournament-match-card__name{font-size:var(--font-size-small);font-weight:500}.tournament-match-card__name.winner{color:var(--accent-green);font-weight:700}.tournament-match-card__score{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:600}.tournament-match-card__controls{display:flex;gap:8px;margin-top:12px}.tournament-match-card__btn{flex:1;padding:6px;font-size:11px;border-radius:6px}.tournament-match-card__label{position:absolute;top:-10px;left:8px;background:var(--accent-blue);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;box-shadow:0 2px 4px #0000001a}.tournament-finished{text-align:center;padding:48px 32px;margin-bottom:32px;background:linear-gradient(135deg,#ffd7001a,#ff8c001a);backdrop-filter:blur(20px);border:1px solid rgba(255,215,0,.3);border-radius:24px;box-shadow:0 12px 40px #ffd70026}.tournament-finished__title{color:var(--accent-gold);font-size:2.5em;margin-bottom:16px;text-shadow:0 2px 10px rgba(255,215,0,.3)}.tournament-finished__subtitle{font-size:1.8em;margin-bottom:32px;color:var(--text-primary)}.tournament-finished__restart-btn{padding:14px 32px;font-size:1.2em;background:var(--accent-gold);color:#000;font-weight:700}.tournament-finished__restart-btn:hover{box-shadow:0 4px 20px #ffd70066;transform:scale(1.02)}
