*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,system-ui,sans-serif}#root{min-height:100svh}.camera-demo__app{align-items:center;background:#141418;color:#f0f0f0;display:flex;flex-direction:column;font-family:Segoe UI,system-ui,sans-serif;gap:20px;min-height:100vh;padding:32px 16px}.camera-demo__title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0}.camera-demo__live-badge{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;margin-left:8px;padding:2px 8px;vertical-align:middle}.camera-demo__live-badge--on{background:#166534;color:#bbf7d0}.camera-demo__live-badge--off{background:#7f1d1d;color:#fca5a5}.camera-demo__capture-stage{grid-column-gap:12px;align-items:start;column-gap:12px;display:grid;grid-template-columns:130px 960px minmax(360px,1fr);max-width:1474px;width:100%}.camera-demo__capture-stage--compact-opponent{grid-template-columns:130px 960px 130px;max-width:1244px}.camera-demo__app--compact-opponent .camera-demo__controls-wrap,.camera-demo__app--compact-opponent .camera-demo__match-results-wrap{max-width:1244px}.camera-demo__team-panel{display:flex;flex-direction:column;gap:0;height:auto;min-height:540px;position:relative;width:100%}.camera-demo__team-panel--opponent{min-height:auto}.camera-demo__team-panel--compact{align-items:center;min-height:auto}.camera-demo__team-title{color:#d4d4d8;font-size:.85rem;font-weight:700;left:0;position:absolute;right:0;text-align:center;top:-22px}.camera-demo__team-title--with-toggle{align-items:center;display:flex;gap:8px;justify-content:center}.camera-demo__team-title-toggle{align-items:center;color:#a1a1aa;display:inline-flex;font-size:.72rem;font-weight:500;gap:4px}.camera-demo__team-title-checkbox{accent-color:#60a5fa;height:13px;margin:0;width:13px}.camera-demo__team-list{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;display:flex;flex:1 1;flex-direction:column;min-height:540px;overflow:visible}.camera-demo__status-preview-wrap{display:flex;justify-content:center;margin-bottom:6px;width:100%}.camera-demo__status-preview-wrap--opponent{justify-content:flex-start}.camera-demo__status-preview{background:#00000047;border:1px solid #ffffff1f;border-radius:6px;display:block;height:auto;max-width:100%;object-fit:contain;width:130px}.camera-demo__team-list--compact{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;flex:0 0 auto;min-height:auto;width:130px}.camera-demo__team-list--compact-ally{width:72px}.camera-demo__team-list--opponent{gap:0;min-height:auto}.camera-demo__member-card{align-items:center;background:#0000;display:flex;flex:1 1;gap:8px;min-height:0;padding:5px 8px}.camera-demo__member-card--compact{flex:0 0 auto;justify-content:center;padding:6px 4px}.camera-demo__member-card--reverse{flex-direction:row-reverse}.camera-demo__member-card--divider{border-top:1px solid #ffffff14}.camera-demo__member-placeholder-card{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:76px;padding:8px}.camera-demo__member-placeholder{color:#71717a;font-size:.78rem;line-height:1.4}.camera-demo__member-thumb-wrap{flex:0 0 56px;height:56px;overflow:hidden;width:56px}.camera-demo__member-thumb{display:block;height:100%;object-fit:cover;width:100%}.camera-demo__member-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.camera-demo__member-meta--reverse{align-items:flex-end}.camera-demo__member-index{color:#a1a1aa;font-size:.78rem;line-height:1.2}.camera-demo__opponent-card{grid-gap:10px;align-items:start;display:grid;flex:0 0 auto;gap:10px;grid-template-columns:64px minmax(0,1fr);padding:5px 8px}.camera-demo__opponent-thumb-wrap{flex-shrink:0;height:64px;overflow:hidden;position:relative;width:64px}.camera-demo__opponent-thumb{display:block;height:100%;object-fit:cover;width:100%}.camera-demo__opponent-confidence-badge{background:#0000;box-sizing:border-box;color:#a1a1aa;font-size:.55rem;font-weight:700;left:0;line-height:1.25;max-width:calc(100% - 3px);overflow:hidden;padding:0;pointer-events:none;position:absolute;text-overflow:ellipsis;top:0;white-space:nowrap}.camera-demo__opponent-content{display:flex;flex-direction:column;gap:2px;min-width:0}.camera-demo__opponent-name-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.camera-demo__opponent-name{color:#f4f4f5;font-size:.74rem;font-weight:700;line-height:1.3;min-width:0;word-break:break-word}.camera-demo__opponent-raw-name{color:#a1a1aa;font-weight:600}.camera-demo__opponent-name--muted{color:#a1a1aa}.camera-demo__opponent-meta-line{color:#d4d4d8;font-size:.64rem;line-height:1.3;word-break:break-word}.camera-demo__stats-block{grid-column-gap:0;align-items:start;color:#d4d4d8;column-gap:0;display:grid;font-size:.64rem;grid-template-columns:auto minmax(0,1fr);line-height:1.3}.camera-demo__stats-stack{display:flex;flex-direction:column;min-width:0}.camera-demo__meta-label{color:#d4d4d8;white-space:nowrap}.camera-demo__mega-stats-values,.camera-demo__stats-values{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:0;white-space:nowrap}.camera-demo__opponent-meta-line--muted{color:#71717a}.camera-demo__mega-inline{align-items:center;border-radius:999px;display:inline-flex;font-size:.58rem;font-weight:700;line-height:1.2;margin-left:8px;padding:1px 5px;white-space:nowrap}.camera-demo__mega-inline--mega{background:#a855f724;color:#d8b4fe}.camera-demo__mega-inline--mega-x{background:#3b82f629;color:#93c5fd}.camera-demo__mega-inline--mega-y{background:#f59e0b29;color:#fde68a}.camera-demo__mega-inline--mega-z{background:#10b98129;color:#86efac}.camera-demo__mega-stats-line{font-size:.64rem;line-height:1.3}.camera-demo__mega-stats-line--mega{color:#d8b4fe}.camera-demo__mega-stats-line--mega-x{color:#93c5fd}.camera-demo__mega-stats-line--mega-y{color:#fde68a}.camera-demo__mega-stats-line--mega-z{color:#86efac}.camera-demo__gender-badge{border-radius:999px;display:inline-block;font-size:.72rem;font-weight:700;padding:2px 6px}.camera-demo__gender-badge--male{background:#3b82f62e;color:#93c5fd}.camera-demo__gender-badge--female{background:#f472b62e;color:#f9a8d4}.camera-demo__gender-badge--neutral{background:#ffffff14;color:#a1a1aa}.camera-demo__video-wrapper{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:12px;flex:0 0 960px;height:540px;min-width:0;overflow:hidden;position:relative;width:960px}.camera-demo__video{display:block;height:100%;object-fit:cover;width:100%}.camera-demo__crop-layer{inset:0;position:absolute;touch-action:none}.camera-demo__crop-box{background:#60a5fa14;border:2px solid #60a5faf2;border-radius:10px;box-shadow:0 0 0 9999px #00000073;position:absolute}.camera-demo__crop-box--locked{background:#4ade8014;border:2px solid #4ade80f2}.camera-demo__crop-handle{background:#f8fafc;border:2px solid #0f172a;border-radius:999px;box-shadow:0 2px 8px #0f172a59;height:16px;position:absolute;width:16px}.camera-demo__crop-edge-handle{background:#0000;position:absolute}.camera-demo__overlay{align-items:center;background:#000000a6;color:#aaa;display:flex;font-size:.9rem;inset:0;justify-content:center;position:absolute}.camera-demo__detect-row{bottom:10px;display:flex;justify-content:space-between;left:0;padding:0 12px;pointer-events:none;position:absolute;right:0}.camera-demo__detect-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.02em;padding:4px 10px}.camera-demo__detect-badge--blue{background:#3b82f6d9;border:1px solid #93c5fd80}.camera-demo__detect-badge--red{background:#ef4444d9;border:1px solid #fca5a580}.camera-demo__audio-hidden{display:none}.camera-demo__error-box{background:#3b0a0a;border:1px solid #7f1d1d;border-radius:10px;color:#fca5a5;font-size:.875rem;max-width:640px;padding:14px 18px;text-align:left;width:100%}.camera-demo__controls-wrap{margin:0 auto;max-width:1474px;width:100%}.camera-demo__controls{align-items:center;column-gap:10px;display:flex;flex-wrap:wrap;justify-content:flex-start;margin:0;max-width:100%;row-gap:10px;width:100%}.camera-demo__select{background:#1e1e1e;border:1px solid #ffffff26;border-radius:8px;flex:0 1 220px;min-width:200px}.camera-demo__select,.camera-demo__toggle-label{color:#f0f0f0;cursor:pointer;font-size:.875rem;padding:10px 14px}.camera-demo__toggle-label{align-items:center;background:#0000;border:none;border-radius:8px;display:inline-flex;flex-shrink:0;gap:8px;white-space:nowrap}.camera-demo__checkbox{accent-color:#60a5fa;cursor:pointer;height:16px;width:16px}.camera-demo__volume-control{align-items:center;display:inline-flex;flex:0 1 230px;gap:8px;min-width:230px}.camera-demo__volume-label{color:#d4d4d8;flex-shrink:0;font-size:.875rem;white-space:nowrap}.camera-demo__range{accent-color:#60a5fa;cursor:pointer;flex:1 1 auto;min-width:140px}.camera-demo__btn-blue,.camera-demo__btn-green,.camera-demo__btn-mute,.camera-demo__btn-red,.camera-demo__btn-slate{cursor:pointer;font-size:.875rem;font-weight:600;white-space:nowrap}.camera-demo__btn-mute{align-items:center;background:#0000;border:none;border-radius:8px;color:#f0f0f0;display:inline-flex;font-size:1.1rem;height:42px;justify-content:center;min-width:48px}.camera-demo__btn-blue,.camera-demo__btn-green,.camera-demo__btn-red,.camera-demo__btn-slate{border-radius:8px;padding:10px 20px}.camera-demo__btn-green{background:#166534;border:none;color:#fff}.camera-demo__btn-red{background:#991b1b;border:none;color:#fff}.camera-demo__btn-blue{background:#1d4ed8;border:none;color:#fff}.camera-demo__btn-slate{background:#27272a;border:1px solid #ffffff29;color:#fff}.camera-demo__btn-blue:disabled,.camera-demo__btn-green:disabled,.camera-demo__btn-mute:disabled,.camera-demo__btn-red:disabled,.camera-demo__btn-slate:disabled,.camera-demo__checkbox:disabled,.camera-demo__range:disabled,.camera-demo__select:disabled{cursor:not-allowed;opacity:.6}.camera-demo__match-results-wrap{display:flex;flex-direction:column;gap:14px;max-width:1474px;width:100%}.camera-demo__toast-success{background:#166534f5;border:1px solid #86efac73;border-radius:10px;box-shadow:0 10px 30px #00000038;color:#dcfce7;font-size:1rem;font-weight:700;min-width:400px;padding:10px 18px;pointer-events:none;position:fixed;text-align:center;z-index:50}.camera-demo__match-results-header-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.camera-demo__match-results-header{color:#f4f4f5;font-size:1rem;font-weight:700}.camera-demo__match-results-link{color:#93c5fd;font-size:1rem;text-decoration:none;white-space:nowrap}.camera-demo__match-group{display:flex;flex-direction:column;gap:8px}.camera-demo__match-group-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.camera-demo__match-group-title{color:#e5e7eb;font-size:.9rem;font-weight:700}.camera-demo__match-group-count{color:#9ca3af;font-size:.78rem}.camera-demo__match-status-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;color:#d4d4d8;font-size:.88rem;padding:18px 16px;text-align:center}.camera-demo__match-grid{grid-gap:12px 8px;display:grid;gap:12px 8px;grid-template-columns:repeat(3,minmax(0,1fr))}.camera-demo__match-card{background:#1e1e1e;border:1px solid #ffffff14;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:10px;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.camera-demo__match-card--active{background:#3b82f61f;border-color:#60a5fa8c;box-shadow:0 8px 24px #3b82f62e;transform:scale(1.02)}.camera-demo__match-card--hovered{background:#ffffff0f;border-color:#ffffff2e;transform:scale(1.01)}.camera-demo__match-row-top{align-items:center;display:flex;font-size:.78rem;gap:8px;justify-content:space-between}.camera-demo__match-author{color:#f5f5f5;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-demo__match-date{color:#9ca3af;flex-shrink:0}.camera-demo__match-row-meta{grid-gap:6px;align-items:center;display:grid;font-size:.76rem;gap:6px;grid-template-columns:2.5fr 1fr 1fr}.camera-demo__match-meta-value{background:#ffffff0a;border-radius:8px;color:#d4d4d8;min-width:0;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;white-space:nowrap}.camera-demo__match-pokemon-row{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(6,minmax(0,1fr))}.camera-demo__match-pokemon-slot{aspect-ratio:1/1;border-radius:8px;overflow:hidden;position:relative}.camera-demo__match-pokemon-slot--unmatched{background:#e9e9e91f}.camera-demo__match-pokemon-anchor,.camera-demo__match-pokemon-img{display:block;height:100%;width:100%}.camera-demo__match-pokemon-img{object-fit:cover}.camera-demo__match-item-icon,.camera-demo__match-item-thumb-icon,.camera-demo__match-tera-icon,.camera-demo__match-tera-thumb-icon{position:absolute}.camera-demo__match-tera-icon{height:40px;left:0;top:0;width:40px}.camera-demo__match-item-icon{bottom:0;height:40px;right:0;width:40px}.camera-demo__match-tera-thumb-icon{height:24px;left:0;top:0;width:24px}.camera-demo__match-item-thumb-icon{bottom:0;height:24px;right:0;width:24px}.camera-demo__selected-team-panel{background:#1e293beb;border:1px solid #60a5fa47;border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:12px}.camera-demo__selected-team-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.camera-demo__selected-team-title-row{align-items:center;display:flex;gap:8px}.camera-demo__selected-team-title{color:#fff;font-size:.95rem;font-weight:700}.camera-demo__calculator-btn{align-items:center;background:linear-gradient(180deg,#60a5fa33,#2563eb2e),#0f172aeb;border:1px solid #60a5fa6b;border-radius:999px;box-shadow:inset 0 1px 0 #ffffff14,0 6px 16px #1e40af2e;color:#eff6ff;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:700;gap:8px;letter-spacing:.01em;padding:6px 12px;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform 80ms ease;white-space:nowrap}.camera-demo__calculator-btn:hover{background:linear-gradient(180deg,#93c5fd42,#2563eb3d),#0f172afa;border-color:#93c5fd9e;box-shadow:inset 0 1px 0 #ffffff1a,0 10px 24px #2563eb3d;transform:translateY(-1px)}.camera-demo__calculator-btn:active{background:linear-gradient(180deg,#3b82f633,#1e40af38),#0f172af5;transform:translateY(0)}.camera-demo__calculator-btn-icon{stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;height:16px;width:16px}.camera-demo__selected-team-meta{color:#dbeafe;font-size:.78rem}.camera-demo__selected-team-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(6,minmax(0,1fr))}.camera-demo__selected-pokemon-card{background:#0f172af5;border:1px solid #ffffff14;border-radius:10px;cursor:default;display:flex;flex-direction:column;gap:5px;min-width:0;padding:7px;transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}.camera-demo__selected-pokemon-card--hovered{background:#1e293bfa;border-color:#60a5fa73;box-shadow:0 8px 22px #00000038;transform:translateY(-2px) scale(1.015)}.camera-demo__selected-pokemon-thumb-wrap{align-self:center;border-radius:10px;height:96px;overflow:hidden;position:relative;width:96px}.camera-demo__selected-pokemon-thumb-wrap--unmatched{background:#e9e9e91f}.camera-demo__selected-pokemon-thumb{display:block;height:100%;object-fit:cover;width:100%}.camera-demo__selected-pokemon-name{color:#fff;font-size:.78rem;font-weight:700;line-height:1.2}.camera-demo__selected-pokemon-line{color:#e2e8f0;font-size:.7rem;line-height:1.35}.camera-demo__selected-pokemon-tag-row{display:flex;flex-wrap:wrap;gap:4px}.camera-demo__selected-pokemon-tag{background:#60a5fa29;border-radius:999px;color:#eff6ff;font-size:.66rem;line-height:1.2;padding:3px 6px}.camera-demo__selected-stats-block{display:flex;flex-direction:column;gap:3px}.camera-demo__selected-stats-line{color:#e2e8f0;font-size:.68rem;line-height:1.35}.camera-demo__selected-stat-positive{color:#f87171;font-weight:700}.camera-demo__selected-stat-negative{color:#4ade80;font-weight:700}.camera-demo__selected-stat-neutral{color:#e2e8f0}.camera-demo__selected-stat-separator{color:#94a3b8}.camera-demo__selected-moves{grid-column-gap:8px;grid-row-gap:6px;align-items:stretch;column-gap:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto;min-height:4.2em;row-gap:6px}.camera-demo__selected-move{align-items:center;background:#3b82f62e;border-radius:8px;color:#eff6ff;display:flex;font-size:.8rem;line-height:1;min-height:2.5em;padding:2px 6px;text-align:justify}.camera-demo__info-box{background:#1a1a1a;border:1px solid #ffffff14;border-radius:10px;color:#888;font-size:.82rem;line-height:1.8;max-width:640px;padding:14px 18px;text-align:left;width:100%}.camera-demo__debug-section{border-top:1px solid #2a2a2a;margin-top:8px;padding-top:8px}.camera-demo__debug-value--blue{color:#93c5fd}.camera-demo__debug-value--red{color:#fca5a5}.camera-demo__debug-mode--active{color:#86efac}.camera-demo__debug-mode--inactive{color:#fca5a5}.camera-demo__debug-hint{color:#555;font-size:.75rem;margin-top:4px}
/*# sourceMappingURL=main.5aa5eef0.css.map*/