*,*:before,*:after{font-family:Inter,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent;box-sizing:border-box}*:focus{outline:none}*:focus-visible{outline:none;box-shadow:0 0 0 2px #1e90ff33}*{scrollbar-width:none}*:hover{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}*::-webkit-scrollbar{width:3px;height:3px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:#00000014;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background-color:#00000026}html{scroll-behavior:smooth}:root{--brand-blue: #1e90ff;--brand-blue-deep: #0057cc;--brand-lime: #9cff00;--brand-lime-deep: #6ed600;--brand-black: #111111;--accent-gradient: linear-gradient(135deg, #1e90ff 0%, #38ff7a 100%);--accent-gradient-hover: linear-gradient(135deg, #42a5f5 0%, #5fff96 100%);--energy-gradient: linear-gradient(135deg, #9cff00 0%, #38ff7a 100%);--card-stripe: linear-gradient(90deg, #2196f3, #0057cc, #38ff7a);--bg-app: #f2f3f5;--bg-card: #ffffff;--bg-secondary: #f7f8fa;--bg-elevated: #ffffff;--bg-input: #ffffff;--bg-hover: #edf0f4;--bg-muted: #e4e6ea;--text-primary: #111111;--text-secondary: #444;--text-muted: #777;--text-placeholder: #aaa;--border-default: #dcdfe3;--border-light: #e8eaee;--border-input: #cfd2d6;--accent: #e74c3c;--accent-hover: #d43b2c;--accent-danger: #e74c3c;--danger-gradient: linear-gradient(135deg, #8b2020 0%, #c0392b 100%);--danger-gradient-hover: linear-gradient(135deg, #7a1b1b 0%, #a93226 100%);--accent-blue: #1e90ff;--accent-blue-deep: #0057cc;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--shadow-card: 0 2px 8px rgba(0, 0, 0, .05);--shadow-glow-blue: 0 0 12px rgba(30, 144, 255, .25);--ease-smooth: cubic-bezier(.25, .1, .25, 1);--ease-spring: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);font-family:Inter,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--text-primary);background-color:var(--bg-app);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--text-primary);text-decoration:none;transition:color .2s var(--ease-smooth)}a:hover{color:var(--text-secondary)}html,body,#root{height:100%;margin:0;padding:0}body{background-color:var(--bg-app)}h1{font-size:3.2em;line-height:1.1}button,input,select,textarea{font-family:inherit}button{border-radius:12px;border:1px solid var(--border-light);padding:.6em 1.2em;font-size:1em;font-weight:500;background-color:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:transform .2s var(--ease-bounce),box-shadow .2s var(--ease-bounce),border-color .2s var(--ease-smooth),opacity .15s ease}button:hover{transform:none;box-shadow:none}button:active{transform:scale(.93);box-shadow:none}button:focus{outline:none;box-shadow:none}button:focus-visible{outline:none;box-shadow:none}.segmented-btn:hover,.segmented-btn:active{transform:none!important;box-shadow:none!important}.favorite-star-btn:hover,.favorite-star-btn:active{box-shadow:none!important}.circular-fab{border-radius:50%;padding:0;background:linear-gradient(135deg,#1a1a2e,#0a0a0a);border:none;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 16px #0000004d,0 1px 4px #00000026;outline:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.circular-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #00000059,0 2px 6px #0003}.circular-fab:active{transform:scale(.93);box-shadow:0 2px 8px #00000040,0 1px 4px #0000001a}input,select,textarea{background-color:var(--bg-input);color:var(--text-primary);border:2px solid var(--border-default);border-radius:999px;padding:.5em .75em;outline:none;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;font-family:Inter,sans-serif;transition:border-color .2s var(--ease-smooth),box-shadow .2s var(--ease-smooth),background-image .2s var(--ease-smooth)}input:focus,select:focus,textarea:focus{border-color:transparent;background-color:transparent;background-image:linear-gradient(var(--bg-input),var(--bg-input)),linear-gradient(135deg,#1e90ff,#38ff7a);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:none;outline:none}input:active,select:active,textarea:active{outline:none;box-shadow:none}select option{background:var(--bg-card);color:var(--text-primary);font-family:Inter,sans-serif}select option:checked{background:var(--bg-card);color:var(--text-primary)}:root{--container-padding: 16px;--grid-gap: 12px;--header-padding: 16px 16px;--content-max-width: 100%;--page-title-size: 32px;--bottom-nav-height: 80px;--floating-bar-height: 68px}@media(min-width:640px){:root{--container-padding: 24px;--grid-gap: 16px;--header-padding: 20px 24px}}@media(min-width:768px){:root{--page-title-size: 34px}}@media(min-width:1024px){:root{--container-padding: 32px;--grid-gap: 20px;--header-padding: 20px 32px;--content-max-width: 900px;--page-title-size: 36px}}@media(min-width:1280px){:root{--container-padding: 40px;--grid-gap: 22px;--header-padding: 20px 48px;--content-max-width: 1000px;--page-title-size: 38px}}@media(min-width:1536px){:root{--container-padding: 48px;--content-max-width: 1080px}}.app-shell{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;background-color:var(--bg-app);overflow:hidden}.responsive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);align-content:start}@media(min-width:768px){.responsive-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.responsive-grid{grid-template-columns:repeat(5,1fr)}}.filter-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;max-height:18px;padding:0;flex-shrink:0;border:1.5px solid var(--border-default, #bbb);border-radius:4px;background-color:#fff;cursor:pointer;margin:0;position:relative;vertical-align:middle;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.filter-checkbox:focus{outline:none}.filter-checkbox:focus-visible{box-shadow:0 0 0 2px #00000014}.filter-checkbox:checked{background-color:var(--brand-blue);border-color:var(--brand-blue)}.filter-checkbox:checked:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}.filter-btn{outline:none;-webkit-tap-highlight-color:transparent}.filter-btn:focus{outline:none}.filter-btn:focus-visible{box-shadow:0 0 0 2px #00000014}.filter-btn:active{background-color:inherit}.filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px}@media(min-width:640px){.filter-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.filter-grid{grid-template-columns:repeat(4,1fr)}}.main-content{flex:1;overflow:hidden;width:100%;display:flex;flex-direction:column;padding-bottom:var(--bottom-nav-height)}.main-content-inner{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:var(--container-padding);padding-bottom:calc(var(--floating-bar-height) + 24px);display:flex;flex-direction:column;flex:1;min-height:0;box-sizing:border-box}.app-header{width:100%;background:linear-gradient(135deg,#0a0a0a,#1a1a2e);border-bottom:none;flex-shrink:0;box-shadow:0 2px 12px #00000059;position:relative;z-index:50}.app-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent-gradient)}.app-header-logo{filter:brightness(0) invert(1)}.app-header-inner{display:flex;justify-content:space-between;align-items:center;padding:var(--header-padding);max-width:var(--content-max-width);margin:0 auto;width:100%}.app-header-logo{height:32px;width:auto;object-fit:contain}.page-title{margin:0;padding:4px 0 12px;text-align:center;font-family:Bebas Neue,Inter,sans-serif;font-size:var(--page-title-size);font-weight:400;line-height:1.05;color:var(--brand-black);letter-spacing:2px;text-transform:uppercase}.bottom-nav-wrapper{position:fixed;bottom:0;left:0;right:0;width:100%;background:linear-gradient(135deg,#1a1a2e,#0a0a0a);border-top:none;box-shadow:0 -2px 12px #00000059;z-index:100;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-gradient)}.bottom-nav{display:flex;position:relative;padding:6px 8px 12px;min-height:58px;overflow:hidden;max-width:600px;margin:0 auto}.card-container{background-color:var(--bg-card);border-radius:16px;padding:16px;box-shadow:var(--shadow-card)}@media(min-width:1024px){.card-container{padding:24px;border-radius:20px}}.floating-bar{position:fixed;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 8px);left:0;right:0;width:100%;max-width:var(--content-max-width);margin:0 auto;height:var(--floating-bar-height);display:flex;align-items:center;justify-content:center;padding:0 var(--container-padding);z-index:90;pointer-events:none}.floating-bar--bg{background:linear-gradient(to top,var(--bg-app) 60%,transparent)}.floating-bar>*{pointer-events:auto}@media(min-width:1024px){.app-header-inner{max-width:none}.main-content-inner{padding-top:20px;padding-bottom:calc(var(--floating-bar-height) + 28px)}.page-title{padding:0 0 8px}.floating-bar{bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 12px)}.circular-fab{width:64px!important;height:64px!important}}@media(min-width:1024px){.build-list{max-width:1140px;margin-left:auto;margin-right:auto;width:100%;display:grid!important;grid-template-columns:repeat(2,1fr);gap:18px!important}.build-sort-bar,.build-list>div:only-child{grid-column:1 / -1}.build-card{height:150px!important;min-height:0!important;padding:18px 20px!important;box-sizing:border-box;display:flex;overflow:hidden}.build-card--combo{align-items:center}.build-card--deck{flex-direction:column;gap:12px!important}.build-card--deck .deck-slots{flex:1;gap:10px;min-height:0}.build-card--deck .deck-slots>div{aspect-ratio:auto!important;padding:10px 8px!important;min-height:0;flex:1}}@media(min-width:1280px){.build-list{grid-template-columns:repeat(3,1fr)}}.skeleton-card{background:var(--bg-card);aspect-ratio:1 / 1;border-radius:12px;border:1px solid var(--border-light);animation:skeletonPulse 1.4s ease-in-out infinite}.build-spinner-container{display:flex;align-items:center;justify-content:center;padding:48px 24px;min-height:120px}.build-spinner{width:28px;height:28px;border:3px solid var(--border-light);border-top-color:var(--brand-blue);border-radius:50%;animation:buildSpinnerRotate .8s linear infinite}@keyframes buildSpinnerRotate{to{transform:rotate(360deg)}}@keyframes skeletonPulse{0%,to{opacity:.35}50%{opacity:.7}}.favorite-star{width:24px;height:24px;transition:fill .2s ease,color .2s ease}@media(max-width:768px){.favorite-star{width:22px;height:22px}}@media(max-width:480px){.favorite-star{width:20px;height:20px}}.filter-star{width:18px;height:18px;flex-shrink:0}.removal-modal-backdrop{position:fixed;inset:0;background-color:#00000059;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:removalModalFadeIn .25s var(--ease-smooth)}.removal-modal-card{width:100%;max-width:340px;margin:0 16px;background-color:var(--bg-card);border-radius:18px;padding:24px 20px 18px;box-shadow:0 20px 60px #00000026,0 4px 16px #00000014;border:1px solid var(--border-light);display:flex;flex-direction:column;gap:16px;animation:removalModalFadeIn .25s var(--ease-smooth);position:relative;overflow:hidden}.removal-modal-title{margin:0;font-size:17px;font-weight:800;color:var(--text-primary);text-align:center}.removal-modal-description{margin:0;font-size:13px;line-height:1.6;color:var(--text-secondary);text-align:center}.removal-modal-buttons{display:flex;gap:10px;margin-top:4px}.removal-modal-btn{flex:1;padding:11px 0;border-radius:999px;cursor:pointer;font-size:13px;transition:background-color .2s var(--ease-smooth)}.removal-modal-btn:hover{box-shadow:none;transform:none}.removal-modal-btn:active{transform:scale(.97);box-shadow:none}.removal-modal-btn--cancel{background-color:transparent;border:1px solid var(--border-light);color:var(--text-secondary);font-weight:600}.removal-modal-btn--cancel:hover,.removal-modal-btn--cancel:active{background-color:transparent}.removal-modal-btn--remove{background:var(--danger-gradient);border:none;color:#fff;font-weight:700}.removal-modal-btn--remove:hover,.removal-modal-btn--remove:active{background:var(--danger-gradient-hover)}@keyframes removalModalFadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.circular-fab{width:52px!important;height:52px!important}.floating-btn-group{gap:16px}.floating-bar{bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 6px)}}@media(max-width:767px){.main-content{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.collection-page{flex:none}.collection-card-container,.collection-scroll-wrapper{flex:none;overflow:visible}.main-content{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.responsive-grid{overflow-x:hidden}.collection-card{min-width:0;overflow:hidden}}@media(max-width:767px){@supports (-webkit-touch-callout: none){.app-shell{position:fixed;inset:0}}}@media(max-width:767px){html,body,#root,.app-shell,.main-content,.main-content-inner{max-width:100vw;overflow-x:hidden}}.collection-page{display:flex;flex-direction:column;width:100%;gap:16px;flex:1;min-height:0}.collection-card-container{background-color:var(--bg-secondary);border-radius:16px;padding:16px;display:flex;flex-direction:column;box-shadow:0 2px 12px #00000012,0 1px 3px #0000000a;flex:1;min-height:0;overflow:hidden}.collection-scroll-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding-bottom:16px;-webkit-overflow-scrolling:touch}.collection-top-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.collection-filter-btn{display:flex;align-items:center;justify-content:center;position:relative;width:40px;height:40px;padding:0;border-radius:50%;cursor:pointer;border:1px solid var(--border-light);background-color:var(--bg-card);color:var(--text-secondary);transition:border-color .2s var(--ease-smooth),background-color .2s var(--ease-smooth),color .2s var(--ease-smooth);flex-shrink:0}.collection-filter-btn--active{border:1.5px solid var(--border-default);background-color:var(--bg-secondary);color:var(--text-primary)}.collection-filter-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background-color:var(--accent-blue)}.filter-panel-wrapper{position:relative;z-index:20}.filter-panel-backdrop{position:fixed;inset:0;z-index:19}.filter-panel{background-color:var(--bg-card);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;max-height:0;opacity:0;pointer-events:none;transition:max-height .3s var(--ease-spring),opacity .25s var(--ease-smooth);position:absolute;top:0;left:0;right:0;z-index:20}.filter-panel--open{opacity:1;pointer-events:auto}.filter-panel--open[data-category=bey],.filter-panel--open[data-category=blade]{max-height:420px}.filter-panel--open[data-category=ratchet]{max-height:320px}.filter-panel--open[data-category=bit]{max-height:260px}.filter-panel--open[data-category=assistblade],.filter-panel--open[data-category=lockchip]{max-height:180px}.filter-panel-inner{padding:14px;display:flex;flex-direction:column;gap:12px}.filter-section-label{font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:1.1px;text-transform:uppercase;margin-bottom:6px}.filter-check-row{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0;line-height:1.3;min-height:32px}.filter-check-label{font-size:13px;font-weight:500;color:var(--text-primary);-webkit-user-select:none;user-select:none}.filter-check-label--capitalize{text-transform:capitalize}.filter-line-img{width:24px;height:24px;object-fit:contain}.filter-type-img{width:20px;height:20px;object-fit:contain}.filter-reset-btn{align-self:flex-end;background:none;border:none;color:#a93226;font-size:12px;font-weight:600;cursor:pointer;padding:0;min-height:28px}.collection-card{aspect-ratio:1 / 1;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;padding:8px;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a;background-color:var(--bg-card);cursor:pointer;-webkit-tap-highlight-color:transparent}.collection-card:hover,.collection-card:active,.collection-card--non-interactive:hover,.collection-card--non-interactive:active{transform:none;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a}.collection-card--locked{background-color:#ddd}.collection-card--selected{background-color:#1e90ff0a;border:2px solid var(--brand-blue)}.collection-card--non-interactive{cursor:default}.card-line-logo{position:absolute;bottom:6px;right:6px;width:28px;height:28px;opacity:.75;pointer-events:none;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));transition:opacity .2s ease}.collection-card:hover .card-line-logo{opacity:.45}.collection-card-title{text-align:center;font-size:12px;font-weight:500;word-break:break-word;color:var(--text-primary)}.collection-card-title--locked{color:var(--text-secondary)}.collection-card-img{width:100%;height:100%;object-fit:contain;pointer-events:none;mix-blend-mode:multiply}.collection-card-img--locked{opacity:.35;filter:grayscale(1)}.favorite-star-btn{position:absolute;top:8px;left:8px;z-index:11;background:none;border:none;padding:0;cursor:pointer;pointer-events:auto;transform:scale(.9);transition:transform .25s cubic-bezier(.4,0,.2,1);line-height:0}.favorite-star-btn--active{transform:scale(1)}.mode-btn-row{display:flex;gap:12px;width:100%}.mode-btn-cancel{flex:1;padding:12px 16px;border-radius:999px;border:none;background-color:var(--bg-muted);color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500}.mode-btn-confirm-add{flex:1;padding:12px 16px;border-radius:999px;border:none;background:var(--accent-gradient);color:#fff;cursor:pointer;font-size:14px;font-weight:600;box-shadow:0 2px 8px #1e90ff33}.mode-btn-remove{flex:1;padding:12px 16px;border-radius:999px;border:none;color:#fff;font-size:14px;font-weight:500}.mode-btn-remove:not(:disabled){background:var(--danger-gradient);cursor:pointer}.mode-btn-remove:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.floating-btn-group{display:flex;justify-content:center;gap:24px}.search-mode-row{display:flex;gap:8px;align-items:center;width:100%}.search-input{flex:1;padding:12px 16px;border-radius:999px;border:2px solid var(--border-light);background-color:var(--bg-card);font-size:14px;color:var(--text-primary);outline:none;transition:border-color .2s var(--ease-smooth),box-shadow .2s var(--ease-smooth)}.search-btn{padding:12px 16px;border-radius:999px;border:none;background-color:var(--bg-muted);color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap}.modal-overlay{position:fixed;inset:0;background-color:#00000059;display:flex;justify-content:center;align-items:center;z-index:2000;padding:24px;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.modal-card{position:relative;width:100%;max-width:400px;max-height:80vh;background-color:var(--bg-card);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026,0 4px 16px #00000014;border:1px solid var(--border-light)}.modal-content{padding:28px 24px 8px}.modal-header{flex-shrink:0;padding:28px 24px 0}.modal-stats{flex:1;overflow-y:auto;padding:0 24px 8px;min-height:0}.modal-footer{padding:12px 24px 20px;flex-shrink:0}.modal-close-bottom-btn{width:100%;padding:12px 0;border-radius:999px;border:none;background-color:var(--bg-muted);color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s var(--ease-smooth),opacity .15s var(--ease-smooth),transform .2s var(--ease-bounce);outline:none;-webkit-tap-highlight-color:transparent;box-shadow:none}.modal-close-bottom-btn:hover{transform:none;box-shadow:none;background-color:var(--bg-muted)}.modal-close-bottom-btn:active{transform:scale(.93);background-color:var(--bg-muted)}.modal-image-container{display:flex;justify-content:center;margin-bottom:16px}.modal-image{width:160px;height:160px;object-fit:contain;border-radius:12px}.modal-image-placeholder{width:160px;height:160px;border-radius:12px;background-color:var(--bg-muted);display:flex;align-items:center;justify-content:center}.modal-placeholder-emoji{font-size:36px}.modal-details{display:flex;flex-direction:column;gap:4px}.modal-title{margin:0;font-size:20px;font-weight:800;color:var(--text-primary);letter-spacing:-.2px}.modal-subtitle{margin:0;font-size:14px;color:var(--text-muted)}.modal-divider{height:2px;border:none;border-radius:999px;background:linear-gradient(90deg,transparent,var(--border-light) 20%,var(--border-light) 80%,transparent);margin:14px 0}.modal-sub-divider{height:2px;border:none;border-radius:999px;background:linear-gradient(90deg,transparent,var(--border-light) 20%,var(--border-light) 80%,transparent);margin:10px 0}.modal-detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px}.modal-detail-row:nth-child(2n){background-color:var(--bg-secondary)}.modal-detail-label{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.modal-detail-value{font-size:14px;font-weight:600;color:var(--text-primary)}.modal-value-with-icon{display:flex;align-items:center;gap:6px}.modal-line-img{width:28px;height:28px;object-fit:contain}.modal-type-img{width:22px;height:22px;object-fit:contain}.modal-belongs-header{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--text-primary)}.modal-parent-section{padding-left:8px;margin-bottom:4px}.detail-modal-image{width:100%;max-height:220px;object-fit:contain;margin-bottom:1rem}.detail-modal-placeholder{width:160px;height:160px;border-radius:12px;background-color:var(--bg-muted);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-secondary)}.modal-empty-text{margin:0;font-size:14px;color:var(--text-muted);font-style:italic}.cs-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;height:42px;padding:0 16px 0 20px;border-radius:999px;border:1px solid var(--border-light);background-color:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:500;font-family:Inter,sans-serif;letter-spacing:-.01em;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:border-color .2s var(--ease-smooth),box-shadow .2s var(--ease-smooth);-webkit-user-select:none;user-select:none;white-space:nowrap}.cs-trigger:hover{border-color:var(--border-default, #bbb);transform:none;box-shadow:none}.cs-trigger:focus-visible{box-shadow:0 0 0 2px #00000014;border-color:var(--border-default, #bbb)}.cs-trigger[data-state=open]{border-color:var(--border-default, #bbb)}.cs-icon{display:flex;align-items:center;color:var(--text-placeholder, #999);transition:transform .2s var(--ease-smooth);flex-shrink:0}.cs-trigger[data-state=open] .cs-icon{transform:rotate(180deg)}.cs-content{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:14px;box-shadow:0 8px 30px #0000001a,0 2px 8px #0000000f;overflow:hidden;z-index:200;min-width:var(--radix-select-trigger-width);animation:csSlideIn .18s ease-out}.cs-content[data-state=closed]{animation:csSlideOut .14s ease-in}@keyframes csSlideIn{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes csSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-4px) scale(.97)}}.cs-viewport{padding:6px}.cs-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 14px;border-radius:10px;font-size:13px;font-weight:500;font-family:Inter,sans-serif;color:var(--text-primary);cursor:pointer;outline:none;-webkit-user-select:none;user-select:none;transition:background-color .1s ease}.cs-item[data-highlighted]{background-color:var(--bg-secondary, #f5f5f5)}.cs-item[data-state=checked]{color:var(--brand-blue, #1e90ff);font-weight:600}.cs-indicator{display:flex;align-items:center;color:var(--brand-blue, #1e90ff)}@keyframes buildFadeIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.build-page{display:flex;flex-direction:column;width:100%;flex:1;min-height:0;overflow:hidden}.build-header{flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding-bottom:12px;background:var(--bg-app);z-index:10}.build-content-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.build-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;animation:buildFadeIn .25s ease-out;align-items:stretch;padding-bottom:100px}.build-sort-bar{display:flex;justify-content:flex-end}.build-spinner-container{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;padding:48px}.build-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--brand-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.build-empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center}.build-empty-state__text{font-size:15px;color:var(--text-muted);line-height:1.6}.build-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:#00000059;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:buildFadeIn .25s var(--ease-smooth)}.build-modal-overlay--high{z-index:1100}.build-modal-card{background-color:var(--bg-card);border-radius:22px;padding:24px 20px 20px;width:100%;max-width:420px;max-height:80vh;margin:0 16px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px #00000026,0 4px 16px #00000014;animation:buildFadeIn .25s var(--ease-smooth);overflow-y:auto;border:1px solid var(--border-light);position:relative}.build-modal-card--small{max-width:340px;border-radius:18px;padding:24px 20px 18px}.build-modal-card--medium{max-width:400px;gap:20px}.build-modal-card--create{max-width:400px;padding:28px 24px 20px;gap:20px}.build-modal-card--manage{max-width:440px;max-height:85vh}.build-modal-header{display:flex;align-items:center;justify-content:center;gap:10px}.build-modal-user-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:2px}.build-modal-username-btn{font-size:14px;font-weight:600;color:#1a1a1a;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:2px;-webkit-tap-highlight-color:transparent}.build-modal-username-btn:hover,.build-modal-username-btn:focus{outline:none;box-shadow:none;background:none}.build-modal-title{margin:0;font-size:22px;font-weight:800;color:#1a1a1a}.build-modal-title--center{text-align:center;font-size:19px}.build-modal-message{margin:0;font-size:15px;color:#1a1a1a;line-height:1.6;text-align:center;white-space:pre-line}.build-modal-subtitle{margin:0;font-size:14px;color:#333;line-height:1.6;text-align:center}.build-modal-subtitle--muted{color:#555}.build-section-title{margin:0;font-size:14px;font-weight:700;color:#1a1a1a;text-transform:uppercase;letter-spacing:.5px}.build-part-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:150px;overflow-y:auto;padding-bottom:4px;padding-right:2px;scroll-behavior:smooth}.build-part-grid--blade{grid-template-columns:repeat(3,1fr)}.build-part-section{display:flex;flex-direction:column;gap:8px}.build-part-section--disabled{opacity:.35;pointer-events:none}.build-part-section__header{display:flex;align-items:center;gap:8px}.build-part-section__search-wrapper{position:relative}.build-part-section__search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-placeholder);line-height:1}.build-section-search{width:100%;box-sizing:border-box;padding:8px 12px 8px 32px;border-radius:999px;border:2px solid var(--border-light);background-color:var(--bg-secondary);color:var(--text-primary);font-size:12px;font-family:Inter,sans-serif;outline:none;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;transition:border-color .2s var(--ease-smooth),box-shadow .2s var(--ease-smooth)}.build-section-search:focus{border-color:transparent;background-color:transparent;background-image:linear-gradient(var(--bg-secondary),var(--bg-secondary)),linear-gradient(135deg,#1e90ff,#38ff7a);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:none}.build-name-input{width:100%;box-sizing:border-box;padding:11px 14px;border-radius:999px;border:2px solid var(--border-light);background-color:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:Inter,sans-serif;outline:none;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;transition:border-color .2s var(--ease-smooth),box-shadow .2s var(--ease-smooth)}.build-name-input:focus{border-color:transparent;background-color:transparent;background-image:linear-gradient(var(--bg-secondary),var(--bg-secondary)),linear-gradient(135deg,#1e90ff,#38ff7a);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:none}.build-name-input--error{border-color:var(--accent-danger, #d32f2f)}.build-name-input--error:focus{border-color:var(--accent-danger, #d32f2f);background-image:none;box-shadow:none}.build-name-error{font-size:12px;color:var(--accent-danger, #d32f2f);margin-top:-8px}.build-modal-btn-row{display:flex;gap:10px;margin-top:4px}.build-modal-btn{flex:1;padding:11px 0;border-radius:999px;border:none;font-size:13px;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s,transform .2s var(--ease-bounce)}.build-modal-btn:hover{transform:none;box-shadow:0 1px 3px #00000014}.build-modal-btn:active{transform:scale(.93);box-shadow:0 1px 3px #00000014}.build-modal-btn--secondary{border:none;background-color:var(--bg-muted);color:var(--text-secondary);font-weight:600;box-shadow:0 1px 3px #00000014}.build-modal-btn--secondary:hover,.build-modal-btn--secondary:active{background-color:var(--bg-muted)}.build-modal-btn--primary{border:none;background:var(--accent-gradient);color:#fff;font-weight:700;box-shadow:0 1px 3px #00000014}.build-modal-btn--primary:disabled{background:#b0cfe0;color:#ffffff80;cursor:not-allowed;opacity:.6}.build-modal-btn--secondary:disabled{cursor:not-allowed;opacity:.6}.build-modal-btn--close{flex:none;padding:12px 0;width:100%;margin-top:4px}.build-part-card{padding:10px 8px;border-radius:12px;cursor:pointer;border:2px solid var(--border-light);background-color:var(--bg-card);transition:border-color .2s var(--ease-smooth),background-color .2s var(--ease-smooth),transform .15s var(--ease-smooth),opacity .2s;position:relative;display:flex;flex-direction:column;align-items:center}.build-part-card--selected{border:2px solid var(--brand-blue);background-color:#1e90ff0f}.build-part-card--disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.35}.build-part-card__img{width:48px;height:48px;object-fit:contain;margin-bottom:6px}.build-part-card__img--disabled{opacity:.4}.build-part-card__placeholder{width:48px;height:48px;background-color:var(--bg-secondary);border-radius:8px;margin-bottom:6px}.build-part-card__name{font-size:11px;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.2}.build-part-card__name--disabled{color:var(--text-placeholder)}.build-part-card__line-img{display:block;width:16px;height:16px;object-fit:contain;opacity:.7;position:absolute;top:4px;right:4px}.build-part-card__line-img--disabled{opacity:.25}.build-part-card__no-match{font-size:12px;color:var(--text-placeholder);padding:8px 4px}.build-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 9px;border-radius:999px;font-size:10px;font-weight:700;color:#fff;letter-spacing:.3px}.build-badge--icon{width:28px;height:28px;padding:0;border-radius:50%}.build-badge--modal{width:32px;height:32px}.build-badge--combo{background-color:#4a148c}.build-badge--deck{background-color:#37474f}.build-badge--posted{background-color:#2e7d32}.build-badge--integrated{background-color:#00695c}.build-create-options{display:flex;gap:12px}.build-create-option{flex:1;border-radius:16px;border:2px solid var(--border-default);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden;position:relative;aspect-ratio:1 / 1;transition:transform .12s ease-out;-webkit-tap-highlight-color:transparent}.build-create-option__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.build-create-option__img--deck{object-position:center 85%}.build-create-option__label{position:relative;z-index:1;width:100%;padding:20px 0 10px;display:flex;flex-direction:column;align-items:center;gap:2px}.build-create-option__text{font-size:17px;font-weight:800;color:#000;text-shadow:0 1px 3px rgba(0,0,0,.1)}.build-create-cancel{padding:12px 0;border-radius:999px;border:none;background-color:var(--bg-muted);color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 1px 3px #00000014;transition:opacity .18s ease,transform .2s var(--ease-bounce)}.build-create-cancel:hover{transform:none;box-shadow:0 1px 3px #00000014}.build-create-cancel:active{transform:scale(.93);opacity:.65}.build-card{padding:16px;border-radius:16px;background-color:var(--bg-card);border:1px solid var(--border-light);box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;cursor:pointer;box-sizing:border-box;position:relative;overflow:hidden;transition:transform .2s var(--ease-bounce),border-color .2s var(--ease-smooth);animation:buildFadeIn .25s ease-out;-webkit-tap-highlight-color:transparent}.build-card__badges{position:absolute;top:10px;right:10px;display:flex;gap:6px;z-index:2}.build-card:hover{transform:scale(1.02)}.build-card:active{transform:scale(.95)}.build-card--selected{background-color:#1e90ff0a;border-color:var(--brand-blue);box-shadow:0 0 0 2px #1e90ff33}.build-card--combo{display:flex;align-items:center;gap:14px;padding:14px 16px}.build-card__thumb{width:80px;height:80px;border-radius:14px;background-color:transparent;flex-shrink:0;position:relative}.build-card__stack-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);object-fit:contain;width:90%;height:90%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.build-card__stack-img--bit{z-index:1;transform:translate(-50%,-42%);width:82%;height:82%}.build-card__stack-img--ratchet{z-index:2}.build-card__stack-img--assist{z-index:3}.build-card__stack-img--blade{z-index:4}.build-card__stack-img--lockchip{z-index:5;width:45%;height:45%}.build-card__content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.build-card__header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.build-card__name{font-size:16px;font-weight:700;color:var(--text-primary);word-break:break-word;line-height:1.3;max-width:100%}.build-card__meta{font-size:13px;font-weight:500;color:var(--text-muted)}.build-card__username{font-size:13px;font-weight:600;color:#1a1a1a}.build-card__parts{display:flex;flex-direction:column;gap:8px;margin-top:12px}.build-card__part-row{display:flex;align-items:center;gap:10px}.build-card__part-label{font-size:13px;font-weight:600;color:var(--text-muted);min-width:90px;flex-shrink:0}.build-card__part-value{font-size:14px;font-weight:500;color:var(--text-primary);word-break:break-word}.build-card__summary{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.build-card__chevron{flex-shrink:0;color:var(--text-muted);margin-left:auto}.build-card--deck{display:flex;flex-direction:column;gap:12px;padding:14px 16px}.build-card__title-row{display:flex;flex-direction:column;gap:4px}.deck-slots{display:flex;gap:4px;justify-content:center;align-items:center}.deck-slot{flex:1;display:flex;align-items:center;justify-content:center;padding:8px}.deck-slot__thumb{width:60px;height:60px;position:relative;flex-shrink:0}.deck-slot__thumb--stacked{width:70px;height:70px}.deck-slot__img{width:100%;height:100%;object-fit:contain}.deck-slot__stack-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.deck-slot__stack-img--bit{z-index:1;transform:translate(-50%,-42%);width:82%;height:82%}.deck-slot__stack-img--ratchet{z-index:2}.deck-slot__stack-img--assist{z-index:3}.deck-slot__stack-img--blade{z-index:4}.deck-slot__stack-img--lockchip{z-index:5;width:45%;height:45%}.deck-slot__placeholder{font-size:10px;color:var(--text-muted);text-align:center}.deck-slot__name{font-size:12px;font-weight:700;color:var(--text-primary);text-align:center;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.deck-slot__empty{font-size:13px;color:var(--text-placeholder)}.build-detail-parts{display:flex;flex-direction:column;gap:12px}.build-detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px}.build-detail-row:nth-child(2n){background-color:var(--bg-secondary)}.build-detail-row-left{display:flex;align-items:center;gap:10px}.build-detail-part-img{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.12))}.build-detail-label{font-size:13px;font-weight:600;color:var(--text-muted)}.build-detail-value{font-size:14px;font-weight:700;color:var(--text-primary)}.build-detail-preview{width:120px;height:120px;margin:0 auto 16px;position:relative}.build-detail-stack-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.build-detail-stack-img--bit{z-index:1;transform:translate(-50%,-42%);width:82%;height:82%}.build-detail-stack-img--ratchet{z-index:2}.build-detail-stack-img--assist{z-index:3}.build-detail-stack-img--blade{z-index:4}.build-detail-stack-img--lockchip{z-index:5;width:50%;height:50%}.build-deck-combo{display:flex;flex-direction:row;gap:14px;padding:14px 16px;border-radius:14px;background-color:var(--bg-secondary);border:none;align-items:flex-start;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a}.build-deck-combo__preview{width:80px;height:80px;flex-shrink:0;position:relative}.build-deck-combo__stack-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.build-deck-combo__stack-img--bit{z-index:1;transform:translate(-50%,-42%);width:82%;height:82%}.build-deck-combo__stack-img--ratchet{z-index:2}.build-deck-combo__stack-img--assist{z-index:3}.build-deck-combo__stack-img--blade{z-index:4}.build-deck-combo__stack-img--lockchip{z-index:5;width:50%;height:50%}.build-deck-combo__info{flex:1;display:flex;flex-direction:column;gap:8px}.build-deck-combo__name{font-size:14px;font-weight:700;color:var(--text-primary);text-align:center}.build-deck-combo__parts{display:flex;flex-direction:column;gap:4px}.build-deck-combo__row{display:flex;align-items:center;gap:8px}.build-deck-combo__part-img{width:24px;height:24px;object-fit:contain;border-radius:4px}.build-deck-combo__label{font-size:11px;color:var(--text-muted);min-width:70px}.build-deck-combo__value{font-size:11px;font-weight:600;color:var(--text-primary)}.build-select-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.build-select-list--deck{max-height:260px}.build-select-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:2px solid var(--border-default);background-color:var(--bg-card);cursor:pointer;text-align:left;transition:transform .2s var(--ease-bounce),border-color .12s ease-out,background-color .12s ease-out;width:100%;-webkit-tap-highlight-color:transparent;outline:none}.build-select-item:active{transform:scale(.97)}.build-select-item--selected{border-color:var(--brand-blue);background-color:#1e90ff14}.build-select-item--disabled{cursor:not-allowed;opacity:.5}.build-select-item--posted{cursor:not-allowed;opacity:.65;background-color:var(--bg-secondary)}.build-select-item--posted:hover{border-color:var(--border-light)}.build-select-item--deck{padding:10px 14px}.build-select-checkbox{width:22px;height:22px;border-radius:6px;border:2px solid var(--border-default);background-color:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:13px;font-weight:700}.build-select-checkbox--selected{border-color:var(--brand-blue);background-color:var(--brand-blue)}.build-select-content{display:flex;flex-direction:column;gap:2px;overflow:hidden;flex:1}.build-select-name{font-size:14px;font-weight:700;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.build-select-summary{font-size:12px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.build-no-combos{font-size:14px;color:#333;text-align:center;margin:16px 0}.build-new-combo-btn{align-self:center;display:flex;align-items:center;gap:6px;border-radius:999px;padding:12px 24px;border:1px solid var(--border-light);background-color:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer}.build-edit-row{display:flex;gap:12px;width:100%}.build-edit-btn{flex:1;padding:12px 16px;border-radius:999px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s var(--ease-smooth),opacity .2s var(--ease-smooth)}.build-edit-btn--cancel{background-color:var(--bg-muted);color:var(--text-primary)}.build-edit-btn--edit{background:var(--accent-gradient);color:#fff}.build-edit-btn--edit:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.build-edit-btn--delete{background:var(--danger-gradient);color:#fff}.build-edit-btn--delete:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.build-search-row{display:flex;gap:8px;align-items:center;width:100%}.build-search-input{flex:1;padding:12px 16px;border-radius:999px;border:1px solid var(--border-light);background-color:var(--bg-card);font-size:14px;font-family:Inter,sans-serif;color:var(--text-primary);outline:none;-webkit-tap-highlight-color:transparent;transition:border-color .2s var(--ease-smooth),box-shadow .2s var(--ease-smooth)}.build-search-btn{padding:12px 16px;border-radius:999px;border:none;background-color:var(--bg-muted);color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap}.build-system-img{width:32px;height:32px;object-fit:contain}.build-no-posts{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:15px;text-align:center;padding:48px}.build-no-combos{font-size:13px;color:var(--text-muted);text-align:center;margin:8px 0}.build-deck-hint{font-size:13px;color:#333;text-align:center}.build-deck-warning{display:block;font-size:12px;color:#d32f2f;text-align:center;margin-top:4px;font-weight:500}@media(min-width:1200px){.build-list{grid-template-columns:repeat(3,1fr);gap:18px}.build-card__thumb{width:90px;height:90px}.build-card__name{font-size:17px}.deck-slot__thumb,.deck-slot__thumb--stacked{width:75px;height:75px}}@media(max-width:768px)and (min-width:481px){.build-list{grid-template-columns:repeat(2,1fr);gap:14px}.build-card{padding:14px 16px;border-radius:14px}.build-card--combo{gap:14px;padding:14px 16px}.build-card__thumb{width:70px;height:70px;border-radius:10px}.build-card__name{font-size:14px}.build-card__meta{font-size:11px}.build-card--deck{padding:14px 16px;gap:12px}.deck-slots{gap:8px}.deck-slot{padding:10px;border-radius:10px}.deck-slot__thumb,.deck-slot__thumb--stacked{width:55px;height:55px}}@media(max-width:480px){.build-list{grid-template-columns:1fr;gap:8px;padding-left:12px;padding-right:12px}.build-card{padding:12px 14px;border-radius:12px;width:100%;box-sizing:border-box}.build-card--combo{flex-direction:row;align-items:center;gap:10px;padding:12px 14px}.build-card__thumb{width:56px;height:56px;border-radius:8px}.build-card__content{gap:2px;align-items:flex-start;text-align:left;flex:1}.build-card__header{justify-content:flex-start;gap:8px}.build-card__name{font-size:13px;text-align:left}.build-card__meta{font-size:10px;text-align:left}.build-card__stack-img{width:82%;height:82%}.build-card__stack-img--lockchip{width:40%;height:40%}.build-card--deck{flex-direction:row;align-items:center;padding:12px 14px;gap:10px;min-height:80px}.build-card--combo{min-height:80px}.build-card--deck .build-card__title-row{flex:1;min-width:0}.build-card--deck .build-card__name{font-size:13px;text-align:left}.deck-slots{gap:2px;flex:0 0 auto;justify-content:flex-start;order:-1}.deck-slot{padding:0;flex:0 0 auto}.deck-slot__thumb,.deck-slot__thumb--stacked{width:48px;height:48px}.deck-slot__stack-img--lockchip{width:40%;height:40%}.deck-slot__empty{font-size:10px}.build-part-card__line-img{width:14px;height:14px}.build-badge--icon{width:24px;height:24px}.build-card__badges{top:6px;right:6px;gap:4px}.build-modal-card{max-height:80dvh;padding:18px 14px 14px;margin:0 10px}.build-modal-card--manage{max-height:85vh}}.build-select-list--manage{max-height:50vh;overflow-y:auto}.build-manage-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border-light);background-color:var(--bg-card);cursor:pointer;transition:transform .2s var(--ease-bounce),border-color .15s ease}.build-manage-item:hover{transform:scale(1.02)}.build-manage-item:active{transform:scale(.95)}.build-manage-item--selected{border-color:var(--primary);background-color:rgba(var(--primary-rgb, 99, 102, 241),.05)}.build-manage-item__checkbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;background-color:transparent}.build-manage-item__checkbox--checked{border-color:#4a148c;background-color:#4a148c;color:#fff}.build-manage-item__preview{width:44px;height:44px;position:relative;flex-shrink:0}.build-manage-item__preview .build-card__stack-img{width:100%;height:100%}.build-manage-item__content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.build-manage-item__type{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.build-modal-btn--danger{background:var(--danger-gradient);color:#fff;border:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.build-modal-btn--danger:hover{background:var(--danger-gradient-hover);transform:none}.battles-page{display:flex;flex-direction:column;width:100%;flex:1;min-height:0;overflow:hidden}.battles-header{flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding-bottom:12px;background:var(--bg-app);z-index:10}.battles-content-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;padding:0 8px}.battles-list{display:flex;flex-direction:column;gap:14px;padding:6px 6px 100px}.battle-card{padding:16px 40px;border-radius:16px;background-color:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;cursor:pointer;transition:transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent}.battle-card:hover{transform:scale(1.02)}.battle-card:active{transform:scale(.95)}.battle-card__participants{display:flex;align-items:center;gap:12px;position:relative}.battle-card__participant{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:8px;border-radius:12px;border:1.5px solid transparent;position:relative;min-height:100px;justify-content:center}.battle-card__participant--winner{border-color:var(--brand-blue);border-width:2px;background-color:#1e90ff0a;position:relative}.battle-card__participant--winner:after{content:"★";position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:var(--accent-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;line-height:1;box-shadow:0 2px 6px #1e90ff4d}.battle-card__side-tab{position:absolute;top:0;bottom:0;width:28px;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font-size:0;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:#fff;pointer-events:none;z-index:2;line-height:1}.battle-card__side-tab--left{left:0;transform:rotate(180deg);background:linear-gradient(180deg,#1e90ff,#42a5f5)}.battle-card__side-tab--right{right:0;background:linear-gradient(180deg,#38ff7a,#2ecc71)}.battle-card__side-tab--winner{font-size:10px}.battle-card__participant-name{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center;word-break:break-word;line-height:1.3}.battle-card__winner-badge{font-size:10px;font-weight:700;color:#fff;background:var(--accent-gradient);padding:1px 7px;border-radius:6px;text-transform:uppercase;letter-spacing:.4px;line-height:1.6}.battle-card__thumb{width:56px;height:56px;border-radius:12px;background-color:transparent;flex-shrink:0;position:relative;overflow:hidden}.battle-card__stack-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);object-fit:contain;width:90%;height:90%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.battle-card__stack-img--bit{z-index:1}.battle-card__stack-img--ratchet{z-index:2}.battle-card__stack-img--assist{z-index:3}.battle-card__stack-img--blade{z-index:4}.battle-card__stack-img--lockchip{z-index:5;width:70%;height:70%}.battle-card__center{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.battle-card__score{font-size:20px;font-weight:800;color:var(--text-primary);letter-spacing:1px}.battle-card__vs{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.battle-card__opponent-avatar{width:56px;height:56px;border-radius:50%;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;color:#999;flex-shrink:0;box-shadow:0 2px 6px #0000001a}.battle-card__meta-tags{display:flex;gap:6px;align-items:center}.battle-card__match-type{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;border-radius:999px}.battle-card__match-type--casual{color:#fff;background:linear-gradient(135deg,#1e90ff,#42a5f5)}.battle-card__match-type--competitive{color:#fff;background:linear-gradient(135deg,#2ecc71,#38ff7a)}.battle-card__meta{display:flex;align-items:center;justify-content:space-between}.battle-card__date{font-size:12px;color:var(--text-muted);font-weight:500}.battle-card__format{font-size:11px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;background-color:#6c757d;padding:2px 10px;border-radius:999px}.battle-card__deck-combos{display:flex;gap:2px;justify-content:center;max-width:56px}.battle-card__deck-combo-thumb{width:26px;height:40px;position:relative;flex-shrink:0;overflow:hidden}.battle-card__deck__stack-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);object-fit:contain;width:90%;height:90%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.12))}.battle-card__deck__stack-img--bit{z-index:1}.battle-card__deck__stack-img--ratchet{z-index:2}.battle-card__deck__stack-img--assist{z-index:3}.battle-card__deck__stack-img--blade{z-index:4}.battle-card__deck__stack-img--lockchip{z-index:5;width:70%;height:70%}.battles-spinner-container{display:flex;align-items:center;justify-content:center;padding:48px}.battles-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--brand-blue);border-radius:50%;animation:battlesSpin .8s linear infinite}@keyframes battlesSpin{to{transform:rotate(360deg)}}.battles-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center}.battles-empty-state__icon{color:var(--text-muted);opacity:.4}.battles-empty-state__text{font-size:15px;color:var(--text-muted);line-height:1.6}@media(max-width:599px){.battle-card{padding:12px 34px;gap:8px}.battle-card__side-tab{width:22px}.battle-card__side-tab--winner{font-size:9px;letter-spacing:1.5px}.battle-card__participants{gap:6px}.battle-card__participant{min-height:80px;padding:6px}.battle-card__thumb,.battle-card__opponent-avatar{width:44px;height:44px}.battle-card__participant-name{font-size:12px}.battle-card__score{font-size:16px}.battle-card__vs{font-size:10px}.battle-card__deck-combo-thumb{width:20px;height:32px}.battle-card__meta{flex-wrap:wrap;gap:4px}.battle-card__date{font-size:11px}.battle-card__match-type,.battle-card__format{font-size:10px;padding:2px 8px}}@keyframes battleFadeIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.battle-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:#00000059;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:battleFadeIn .25s var(--ease-smooth)}.battle-modal-card{background-color:var(--bg-card);border-radius:22px;padding:24px 20px 20px;width:100%;max-width:420px;min-height:420px;max-height:80vh;margin:0 16px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px #00000026,0 4px 16px #00000014;animation:battleFadeIn .25s var(--ease-smooth);overflow-y:auto;border:1px solid var(--border-light);position:relative}.battle-modal-title{margin:0;font-size:22px;font-weight:800;color:var(--text-primary);text-align:center}.battle-modal-message{margin:0;font-size:14px;color:var(--text-muted);line-height:1.6;text-align:center}.battle-modal-section{display:flex;flex-direction:column;gap:8px;animation:battleFadeIn .18s ease}.battle-modal-label{font-size:13px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.battle-modal-pick-list{display:flex;flex-wrap:wrap;gap:8px;max-height:140px;overflow-y:auto;padding-bottom:2px}.battle-modal-pick{padding:8px 14px;border-radius:999px;border:none;background-color:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s var(--ease-smooth),transform .2s var(--ease-bounce);font-family:inherit;-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px #00000014}.battle-modal-pick:hover{transform:none;box-shadow:0 1px 3px #00000014}.battle-modal-pick:active{transform:scale(.93)}.battle-modal-pick--selected{background:var(--accent-gradient);color:#fff}.battle-modal-input{padding:10px 14px;border-radius:999px;border:2px solid var(--border-light);background-color:var(--bg-card);color:var(--text-primary);font-size:14px;font-weight:500;font-family:inherit;outline:none;transition:border-color .15s var(--ease-smooth);width:100%;box-sizing:border-box}.battle-modal-input::placeholder{color:var(--text-muted);opacity:.6}.battle-modal-input:focus{border-color:transparent;background-color:transparent;background-image:linear-gradient(var(--bg-card),var(--bg-card)),linear-gradient(135deg,#1e90ff,#38ff7a);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:none}.battle-modal-input--score{text-align:center;width:64px;padding:10px 8px;font-size:18px;font-weight:700;-moz-appearance:textfield}.battle-modal-input--score::-webkit-outer-spin-button,.battle-modal-input--score::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.battle-modal-score-row{display:flex;align-items:center;justify-content:center;gap:12px}.battle-modal-score-field{display:flex;flex-direction:column;align-items:center;gap:4px}.battle-modal-score-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.battle-modal-score-dash{font-size:22px;font-weight:800;color:var(--text-muted);margin-top:14px}.battle-modal-locked-format{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 0;border-radius:999px;background-color:var(--bg-muted)}.battle-modal-locked-format__label{font-size:13px;font-weight:600;color:var(--text-muted)}.battle-modal-locked-format__value{font-size:13px;font-weight:700;color:var(--text-primary)}.battle-modal-tally{display:flex;flex-direction:column;gap:6px;padding:8px 12px;background:var(--card-bg);border-radius:14px;border:none;box-shadow:0 1px 3px #00000014}.battle-modal-tally__row{display:flex;align-items:center;justify-content:space-between}.battle-modal-tally__row--win .battle-modal-tally__label,.battle-modal-tally__row--win .battle-modal-tally__score{color:var(--brand-blue)}.battle-modal-tally__row--goal{border-top:1px solid var(--border-light);padding-top:6px;margin-top:2px}.battle-modal-tally__row--goal .battle-modal-tally__label,.battle-modal-tally__row--goal .battle-modal-tally__score{color:var(--text-muted);font-size:13px}.battle-modal-tally__label{font-size:14px;font-weight:600;color:var(--text-primary)}.battle-modal-tally__score{font-size:22px;font-weight:800;color:var(--text-primary)}.battle-modal-rounds{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto}.battle-modal-round{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background-color:var(--bg-secondary);font-size:14px}.battle-modal-round__num{font-weight:700;color:var(--text-muted);min-width:26px}.battle-modal-round__winner{font-weight:700;min-width:32px}.battle-modal-round__winner--you{color:var(--brand-blue)}.battle-modal-round__winner--opp{color:var(--text-muted)}.battle-modal-round__finish{flex:1;color:var(--text-primary);font-weight:500}.battle-modal-round__pts{font-weight:700;color:var(--text-primary);min-width:28px;text-align:right}.battle-modal-round__remove{display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:8px;transition:color .15s;-webkit-tap-highlight-color:transparent;min-width:32px;min-height:32px}.battle-modal-round__remove:hover{transform:none;box-shadow:none}.battle-modal-undo-btn{display:inline-block;margin:4px auto 0;width:auto;padding:8px 20px;border:none;border-radius:999px;background-color:var(--bg-secondary);color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;text-align:center;transition:opacity .15s;-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px #00000014}.battle-modal-undo-btn:hover{transform:none;box-shadow:0 1px 3px #00000014}.battle-modal-round-picker{display:flex;flex-direction:column;gap:6px}.battle-modal-round-picker__label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.battle-modal-round-picker__btns{display:flex;gap:8px}.battle-modal-round-pick{flex:1;padding:9px 0;border-radius:10px;border:1.5px solid var(--border-light);background-color:var(--bg-card);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s var(--ease-smooth),background-color .15s var(--ease-smooth),color .15s var(--ease-smooth),transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent}.battle-modal-round-pick:active{transform:scale(.93)}.battle-modal-round-pick--you{border-color:var(--brand-blue);background-color:var(--brand-blue);color:#fff}.battle-modal-round-pick--opp{border-color:var(--text-muted);background-color:var(--text-muted);color:#fff}.battle-modal-quick-grid{display:flex;flex-direction:column;gap:8px}.battle-modal-quick-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background-color:var(--bg-secondary)}.battle-modal-quick-row__label{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap}.battle-modal-quick-row__pts{font-weight:700;color:var(--text-muted);font-size:11px}.battle-modal-quick-row__btns{display:flex;gap:6px;flex-shrink:0}.battle-modal-quick-btn{padding:6px 12px;border-radius:999px;border:none;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .18s ease,transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px #00000014}.battle-modal-quick-btn:hover{transform:none;box-shadow:0 1px 3px #00000014}.battle-modal-quick-btn:active{transform:scale(.93)}.battle-modal-quick-btn--you{background:var(--accent-gradient);color:#fff}.battle-modal-quick-btn--opp{background-color:var(--text-muted);color:#fff}.battle-modal-match-result{margin:0;font-size:16px;font-weight:700;text-align:center;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:6px}.battle-card__rounds{display:flex;flex-direction:column;gap:4px;padding-top:6px;border-top:1px solid var(--border-light)}.battle-card__round{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 0}.battle-card__round-num{font-weight:700;color:var(--text-muted);min-width:22px}.battle-card__round-winner{font-weight:700;min-width:28px}.battle-card__round-winner--you{color:var(--brand-blue)}.battle-card__round-winner--opponent{color:var(--text-muted)}.battle-card__round-finish{flex:1;color:var(--text-primary);font-weight:500}.battle-card__round-pts{font-weight:700;color:var(--text-primary);min-width:24px;text-align:right}.battle-modal-error{margin:0;font-size:13px;color:var(--accent-danger);text-align:center}.battle-modal-btn-row{display:flex;gap:10px;margin-top:4px}.battle-modal-btn{flex:1;padding:11px 0;border-radius:999px;border:none;font-size:13px;cursor:pointer;font-family:inherit;transition:opacity .18s ease,transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px #00000014}.battle-modal-btn:hover{transform:none;box-shadow:0 1px 3px #00000014}.battle-modal-btn:active{transform:scale(.93);box-shadow:0 1px 3px #00000014}.battle-modal-btn--secondary{background-color:var(--bg-muted);color:var(--text-secondary);font-weight:600}.battle-modal-btn--secondary:hover,.battle-modal-btn--secondary:active{background-color:var(--bg-muted)}.battle-modal-btn--primary{background:var(--accent-gradient);color:#fff;font-weight:700}.battle-modal-btn--primary:hover,.battle-modal-btn--primary:active{background:var(--accent-gradient-hover)}.battle-modal-btn--primary:disabled{background:#b0cfe0;color:#ffffff80;cursor:not-allowed;opacity:.6}.battle-modal-btn--secondary:disabled{cursor:not-allowed;opacity:.6}.battle-modal-btn--danger{background:var(--danger-gradient);color:#fff;font-weight:700}.battle-modal-btn--danger:hover,.battle-modal-btn--danger:active{background:var(--danger-gradient-hover)}@media(max-width:599px){.battle-modal-card{max-height:85vh;border-radius:18px;padding:20px 16px 16px}}.battle-card--selectable{cursor:pointer;-webkit-tap-highlight-color:transparent}.battle-card--selected{background-color:#1e90ff0a;border:2px solid var(--brand-blue)}.battle-edit-row{display:flex;gap:12px;width:100%}.battle-edit-btn{flex:1;padding:12px 16px;border-radius:999px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .18s ease,transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px #00000014}.battle-edit-btn:hover{transform:none;box-shadow:0 1px 3px #00000014}.battle-edit-btn:active{transform:scale(.93);box-shadow:0 1px 3px #00000014}.battle-edit-btn--cancel{background-color:var(--bg-muted);color:var(--text-primary)}.battle-edit-btn--cancel:hover,.battle-edit-btn--cancel:active{background-color:var(--bg-muted)}.battle-edit-btn--edit{background:var(--accent-gradient);color:#fff}.battle-edit-btn--edit:hover,.battle-edit-btn--edit:active{background:var(--accent-gradient-hover)}.battle-edit-btn--edit:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.battle-edit-btn--delete{background-color:#e74c3c;color:#fff}.battle-edit-btn--delete:hover,.battle-edit-btn--delete:active{background-color:#e74c3c}.battle-edit-btn--delete:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.battle-modal-card--small{max-width:360px}.battle-detail-modal{position:relative;max-width:440px}.battle-detail-close{position:absolute;top:14px;right:14px;background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);line-height:0;border-radius:999px}.battle-detail-close:hover{transform:none;box-shadow:none}.battle-detail-score-hero{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0 12px}.battle-detail-player{flex:1;display:flex;justify-content:center}.battle-detail-center{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.battle-detail-score{font-size:28px;font-weight:800;letter-spacing:1px}.battle-detail-result{font-size:12px;font-weight:700;text-transform:uppercase;color:#3a7bd5}.battle-detail-meta{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-top:2px solid transparent;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,transparent,var(--border-light) 20%,var(--border-light) 80%,transparent) 1}.battle-detail-date{font-size:12px;color:var(--text-muted);font-weight:500}.battle-detail-rounds{margin-top:12px}.battle-detail-rounds-title{font-size:14px;font-weight:700;margin-bottom:8px}.battle-detail-rounds-list{display:flex;flex-direction:column;gap:6px}.battle-detail-round{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background-color:var(--bg-hover);font-size:13px}.battle-detail-round--you{border-left:3px solid var(--brand-blue)}.battle-detail-round--opponent{border-left:3px solid var(--text-muted)}.battle-detail-round-num{font-weight:700;min-width:28px}.battle-detail-round-winner{font-weight:600;min-width:70px}.battle-detail-round-finish{flex:1;color:var(--text-muted)}.battle-detail-round-pts{font-weight:700;color:var(--brand-blue)}.tournament-page{display:flex;flex-direction:column;width:100%;flex:1;min-height:0;overflow:hidden}.tournament-header{flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding-bottom:12px;background:var(--bg-app);z-index:10}.tournament-content-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;padding:0 8px 100px}.tournament-section{margin-bottom:24px}.tournament-section-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 14px;text-transform:uppercase;letter-spacing:.5px}.tournament-list{display:flex;flex-direction:column;gap:12px;padding:6px 6px 0}.tournament-card{display:flex;align-items:center;gap:12px;padding:16px;border-radius:16px;background-color:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-card);cursor:pointer;transition:transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.tournament-card:hover{transform:scale(1.02)}.tournament-card:active{transform:scale(.95)}.tournament-card__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.tournament-card__header{display:flex;align-items:center;gap:10px;justify-content:space-between}.tournament-card__name{margin:0;font-size:15px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.tournament-card__status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0}.tournament-card__status--waiting{color:#fff;background:linear-gradient(135deg,#f39c12,#f1c40f)}.tournament-card__status--active{color:#fff;background:linear-gradient(135deg,#2ecc71,#38ff7a)}.tournament-card__status--completed{color:#fff;background:linear-gradient(135deg,#6c757d,#95a5a6)}.tournament-card__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tournament-card__players{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--text-secondary)}.tournament-card__format-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#fff;background-color:#6c757d;padding:2px 8px;border-radius:999px}.tournament-card__date{font-size:11px;color:var(--text-muted);font-weight:500}.tournament-card__organizer{font-size:11px;color:var(--text-muted);font-weight:500;font-style:italic}.tournament-card__arrow{color:var(--text-muted);flex-shrink:0}.tournament-empty{display:flex;align-items:center;justify-content:center;padding:24px 16px}.tournament-empty__text{font-size:13px;color:var(--text-muted);margin:0}@keyframes tournamentFadeIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tournament-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:#00000059;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:tournamentFadeIn .25s var(--ease-smooth)}.tournament-modal-card{background-color:var(--bg-card);border-radius:22px;padding:24px 20px 20px;width:100%;max-width:420px;max-height:80vh;margin:0 16px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px #00000026,0 4px 16px #00000014;animation:tournamentFadeIn .25s var(--ease-smooth);overflow-y:auto;border:1px solid var(--border-light);position:relative}.tournament-modal-card--small{max-width:360px}.tournament-modal-title{margin:0;font-size:22px;font-weight:800;color:var(--text-primary);text-align:center}.tournament-modal-section{display:flex;flex-direction:column;gap:8px}.tournament-modal-label{font-size:13px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.tournament-modal-input{padding:10px 14px;border-radius:999px;border:2px solid var(--border-light);background-color:var(--bg-card);color:var(--text-primary);font-size:14px;font-weight:500;font-family:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease;width:100%;box-sizing:border-box}.tournament-modal-input::placeholder{color:var(--text-muted);opacity:.6}.tournament-modal-input:focus{border-color:transparent;background-color:transparent;background-image:linear-gradient(var(--bg-card),var(--bg-card)),linear-gradient(135deg,#1e90ff,#38ff7a);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:none}.tournament-modal-input--code{text-align:center;font-size:22px;font-weight:800;letter-spacing:6px;text-transform:uppercase;padding:14px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace}.tournament-modal-input--valid{border-color:var(--brand-blue);box-shadow:none}.tournament-modal-input--valid:focus{border-color:var(--brand-blue);box-shadow:none;background-image:none}.tournament-modal-input--error{border-color:var(--accent-danger);box-shadow:none}.tournament-modal-input--error:focus{border-color:var(--accent-danger);box-shadow:none;background-image:none}@keyframes inputShake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}90%{transform:translate(1px)}}.tournament-modal-input--shake{animation:inputShake .4s ease}.join-code-hint{font-size:11px;font-weight:600;text-align:center;margin-top:-2px;transition:color .18s ease,opacity .18s ease;animation:hintFadeIn .2s ease}@keyframes hintFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.join-code-hint--valid{color:var(--brand-blue)}.join-code-hint--invalid{color:var(--accent-danger)}.join-btn{transition:opacity .15s ease,transform .2s ease,background .2s ease;transform:scale(.97)}.join-btn--ready{transform:scale(1)}.join-btn__spinner-wrap{display:inline-flex;align-items:center;justify-content:center;gap:6px}@keyframes joinSpinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.join-btn__spinner{animation:joinSpinnerRotate .7s linear infinite}.join-modal{animation:joinModalEntrance .2s ease}@keyframes joinModalEntrance{0%{opacity:0;transform:scale(.95) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.tournament-modal-pick-list{display:flex;flex-wrap:wrap;gap:8px}.tournament-modal-pick{padding:8px 16px;border-radius:999px;border:none;background-color:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s var(--ease-smooth),transform .2s var(--ease-bounce);font-family:inherit;-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px #00000014}.tournament-modal-pick:hover{transform:none;box-shadow:0 1px 3px #00000014}.tournament-modal-pick:active{transform:scale(.93)}.tournament-modal-pick--selected{background:var(--accent-gradient);color:#fff}.tournament-modal-info{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:12px;background-color:var(--bg-secondary)}.tournament-modal-info__label{font-size:13px;font-weight:600;color:var(--text-muted)}.tournament-modal-info__value{font-size:14px;font-weight:700;color:var(--text-primary)}.tournament-modal-error{margin:0;font-size:13px;color:var(--accent-danger);text-align:center}.tournament-modal-btn-row{display:flex;gap:10px;margin-top:4px}.tournament-modal-btn{flex:1;padding:11px 0;border-radius:999px;border:none;font-size:13px;cursor:pointer;font-family:inherit;transition:opacity .18s ease,transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px #00000014}.tournament-modal-btn:hover{transform:none;box-shadow:0 1px 3px #00000014}.tournament-modal-btn:active{transform:scale(.93);box-shadow:0 1px 3px #00000014}.tournament-modal-btn--secondary{background-color:var(--bg-muted);color:var(--text-secondary);font-weight:600}.tournament-modal-btn--secondary:hover,.tournament-modal-btn--secondary:active{background-color:var(--bg-muted)}.tournament-modal-btn--primary{background:var(--accent-gradient);color:#fff;font-weight:700}.tournament-modal-btn--primary:hover,.tournament-modal-btn--primary:active{background:var(--accent-gradient-hover)}.tournament-modal-btn--primary:disabled{background:#b0cfe0;color:#ffffff80;cursor:not-allowed;opacity:.6}.tournament-modal-btn--secondary:disabled{cursor:not-allowed;opacity:.6}@media(max-width:599px){.tournament-card{padding:14px}.tournament-card__name{font-size:14px}.tournament-modal-card{max-height:85vh;border-radius:18px;padding:20px 16px 16px}}.tournament-detail-page{display:flex;flex-direction:column;width:100%;flex:1;min-height:0;overflow:hidden}.tournament-detail-header{flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding-bottom:12px;background:var(--bg-app);z-index:10}.tournament-detail-back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:none;background:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;align-self:flex-start;transition:opacity .2s ease;box-shadow:none}.tournament-detail-back-btn svg{width:20px;height:20px;flex-shrink:0}.tournament-detail-back-btn:hover{transform:none;opacity:.6;background:none;box-shadow:none}.tournament-detail-hero{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background-color:var(--bg-card);border:2px solid transparent;background-clip:padding-box;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.tournament-detail-hero:before{content:"";position:absolute;inset:-2px;border-radius:18px;background:linear-gradient(135deg,#1e90ff,#0057cc 40%,#38ff7a);z-index:-1;opacity:.5}.tournament-detail-hero__top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tournament-detail-hero__name{margin:0;font-size:20px;font-weight:800;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-detail-hero__status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0}.tournament-detail-hero__status--waiting{color:#fff;background:linear-gradient(135deg,#f39c12,#f1c40f)}.tournament-detail-hero__status--active{color:#fff;background:linear-gradient(135deg,#2ecc71,#38ff7a)}.tournament-detail-hero__status--completed{color:#fff;background:linear-gradient(135deg,#6c757d,#95a5a6)}.tournament-detail-hero__status--cancelled{color:#fff;background:linear-gradient(135deg,#e74c3c,#ff6b6b)}.tournament-detail-hero__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tournament-detail-hero__info{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--text-secondary)}.tournament-detail-hero__format{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#fff;background-color:#6c757d;padding:2px 8px;border-radius:999px}.tournament-detail-hero__target{font-size:11px;font-weight:600;color:var(--text-muted)}.tournament-detail-code{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:2px solid var(--border-light);background-color:var(--bg-secondary);cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:opacity .15s,transform .2s var(--ease-bounce);align-self:flex-start;box-shadow:none;color:var(--text-primary)}.tournament-detail-code:hover{transform:none;box-shadow:none;background-color:var(--bg-secondary)}.tournament-detail-code:active{transform:scale(.93);background-color:var(--bg-secondary)}.tournament-detail-code__label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.tournament-detail-code__value{font-size:16px;font-weight:800;letter-spacing:2px}.tournament-detail-hero__organizer{font-size:12px;color:var(--text-muted);font-weight:500}.tournament-detail-hero__organizer strong{color:var(--text-primary);font-weight:700}.tournament-detail-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;padding-bottom:100px}.tournament-detail-body{display:flex;flex-direction:column}.tournament-detail-bracket-col,.tournament-detail-participants-col{min-width:0}.tournament-detail-section{margin-top:20px}.tournament-detail-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.tournament-detail-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center;color:var(--text-muted);font-size:15px}.tournament-detail-participants{display:flex;flex-direction:column;gap:8px}.tournament-detail-participant{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background-color:var(--bg-card);box-shadow:var(--shadow-sm)}.tournament-detail-participant--empty{opacity:.5}.tournament-detail-participants-empty{text-align:center;color:var(--text-muted);font-size:13px;font-weight:500;padding:20px 0;margin:0}.tournament-detail-participant__avatar{width:32px;height:32px;border-radius:50%;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;color:#999;flex-shrink:0}.tournament-detail-participant__avatar--empty{background-color:var(--bg-muted);color:var(--text-muted)}.tournament-detail-participant__name{flex:1;font-size:14px;font-weight:600;color:var(--text-primary)}.tournament-detail-participant__name--empty{color:var(--text-muted);font-weight:500;font-style:italic}.tournament-detail-participant__seed{font-size:11px;font-weight:700;color:var(--text-muted);margin-left:4px}.tournament-detail-participant__remove{width:28px;height:28px;padding:0;border:none;border-radius:50%;background-color:#e74c3c1a;color:var(--accent-danger);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s,transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent;box-shadow:none}.tournament-detail-participant__remove:hover{transform:none;box-shadow:none;background-color:#e74c3c26}.tournament-detail-participant__remove:active{transform:scale(.93);background-color:#e74c3c26}.tournament-detail-start-container{margin-top:16px;text-align:center;max-width:380px}.tournament-detail-start-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;border-radius:999px;border:none;background:var(--accent-gradient);color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .15s var(--ease-smooth),transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent;box-shadow:0 4px 16px #1e90ff4d}.tournament-detail-start-btn:hover{transform:none;box-shadow:0 4px 16px #1e90ff4d;background:var(--accent-gradient)}.tournament-detail-start-btn:active{transform:scale(.93);box-shadow:0 2px 8px #1e90ff33;background:var(--accent-gradient)}.tournament-detail-start-btn--disabled{background:var(--bg-muted);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.tournament-detail-start-btn--disabled:hover{opacity:1;background:var(--bg-muted)}.tournament-detail-start-btn--disabled:active{transform:none;background:var(--bg-muted)}.tournament-detail-hero-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.tournament-detail-hero-actions__buttons{display:flex;flex-direction:column;gap:8px}@media(min-width:1024px){.tournament-detail-hero-actions__buttons{max-width:380px}.tournament-detail-hero-actions--with-sidebar{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:32px}.tournament-detail-hero-actions--with-sidebar .tournament-detail-hero-actions__buttons{flex:0 1 380px;min-width:0}.tournament-detail-hero-actions--with-sidebar .tournament-detail-participants-col--inline{width:320px;flex-shrink:0;padding:16px;border-radius:16px;background-color:var(--bg-card);box-shadow:var(--shadow-card)}.tournament-detail-hero-actions--with-sidebar .tournament-detail-participants-col--inline .tournament-detail-section{margin-top:0}}.tournament-detail-cancelled-banner{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:12px 16px;border-radius:12px;background:#e74c3c1a;color:#e74c3c;font-size:14px;font-weight:600}.tournament-detail-actions{display:flex;gap:10px}.tournament-detail-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:999px;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s var(--ease-smooth),transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent}.tournament-detail-action-btn:active{transform:scale(.93)}.tournament-detail-action-btn--cancel{background:#e74c3c1f;color:#e74c3c}.tournament-detail-action-btn--cancel:hover{background:#e74c3c33}.tournament-detail-action-btn--delete{background:#e74c3c1f;color:#e74c3c}.tournament-detail-action-btn--delete:hover{background:#e74c3c33}.tournament-detail-action-btn--leave{background:#e67e221f;color:#e67e22}.tournament-detail-action-btn--leave:hover{background:#e67e2233}.tournament-detail-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.tournament-detail-action-error{margin-top:8px;padding:8px 12px;border-radius:8px;background:#e74c3c1a;color:#e74c3c;font-size:13px;text-align:center}.confirm-modal-text{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:20px;text-align:center}.tournament-modal-btn--danger{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.tournament-modal-btn--danger:hover{background:linear-gradient(135deg,#c0392b,#a93226)}.tournament-detail-winner-banner{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;padding:16px;border-radius:16px;background:var(--accent-gradient);color:#fff;box-shadow:0 4px 16px #1e90ff4d}.tournament-detail-winner-banner__text{font-size:16px;font-weight:600}.tournament-detail-winner-banner__text strong{font-weight:800}.bracket-container{width:100%;overflow-x:auto;overflow-y:hidden;border-radius:16px;background-color:var(--bg-secondary);border:1px solid var(--border-light);-webkit-overflow-scrolling:touch;cursor:grab}.bracket-scroll{display:flex;flex-direction:row;gap:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:28px 12px;min-width:min-content;min-height:360px}.bracket-container::-webkit-scrollbar,.bracket-scroll::-webkit-scrollbar{display:none}.bracket-container,.bracket-scroll{scrollbar-width:none}.bracket-round{display:flex;flex-direction:column;flex-shrink:0;min-width:260px;position:relative;padding:0 32px}.bracket-round__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:20px;padding:5px 14px;border-radius:999px;background-color:var(--bg-muted);text-align:center;align-self:center}.bracket-round__matches{display:flex;flex-direction:column;flex:1}.bracket-match-wrapper{flex:1;display:flex;align-items:center;position:relative;min-height:100px}.bracket-round:not(:last-child) .bracket-match-wrapper:nth-child(odd):after{content:"";position:absolute;right:-32px;top:50%;height:50%;width:32px;border-right:2px solid var(--border-light);border-top:2px solid var(--border-light);border-top-right-radius:4px}.bracket-round:not(:last-child) .bracket-match-wrapper:nth-child(2n):after{content:"";position:absolute;right:-32px;bottom:50%;height:50%;width:32px;border-right:2px solid var(--border-light);border-bottom:2px solid var(--border-light);border-bottom-right-radius:4px}.bracket-round:not(:first-child) .bracket-match-wrapper:before{content:"";position:absolute;left:-32px;top:50%;width:32px;height:2px;background-color:var(--border-light);transform:translateY(-50%)}.bracket-match{width:210px;border-radius:12px;background-color:var(--bg-card);border:1.5px solid var(--border-light);box-shadow:var(--shadow-sm);overflow:hidden;position:relative;transition:transform .2s var(--ease-bounce),border-color .2s ease}.bracket-match:hover{transform:scale(1.02)}.bracket-match:active{transform:scale(.95)}.bracket-match--completed{border-color:#1e90ff59}.bracket-match--pending{opacity:.45}.bracket-match--pending:hover{transform:none}.bracket-match:not(.bracket-match--completed):not(.bracket-match--pending){border-color:#1e90ff33}.bracket-match__player{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;min-height:42px;transition:background-color .15s}.bracket-match__player--winner{background-color:#1e90ff14}.bracket-match__player--winner .bracket-match__name{color:var(--brand-blue);font-weight:700;text-shadow:0 0 8px rgba(30,144,255,.25)}.bracket-match__player--winner .bracket-match__score{color:var(--brand-blue);font-weight:800}.bracket-match__player--tbd .bracket-match__name{color:var(--text-muted);font-style:italic;font-weight:500}.bracket-match__name{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.bracket-match__score{font-size:14px;font-weight:700;color:var(--text-secondary);margin-left:8px;flex-shrink:0}.bracket-match__divider{height:1px;background-color:var(--border-light)}.bracket-match__result-btn{width:100%;padding:6px 0;border:none;border-radius:0;background:var(--accent-gradient);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:opacity .18s ease,transform .2s var(--ease-bounce);box-shadow:none}.bracket-match__result-btn:hover{box-shadow:none;background:var(--accent-gradient)}.bracket-match__result-btn:active{opacity:.75;transform:scale(.93);background:var(--accent-gradient)}.bracket-match__status-badge{width:100%;padding:4px 0;text-align:center;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;background-color:var(--bg-muted)}.bracket-match--completed{box-shadow:var(--shadow-sm),0 0 12px #1e90ff1a}.match-result-subtitle{margin:-8px 0 0;font-size:13px;color:var(--text-muted);text-align:center;font-weight:600}.match-result-tally{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border-radius:14px;background-color:var(--bg-secondary);box-shadow:0 1px 3px #0000000f}.match-result-tally__row{display:flex;align-items:center;justify-content:space-between}.match-result-tally__row--win .match-result-tally__label,.match-result-tally__row--win .match-result-tally__score{color:var(--brand-blue)}.match-result-tally__row--goal{border-top:1px solid var(--border-light);padding-top:6px;margin-top:2px}.match-result-tally__row--goal .match-result-tally__label,.match-result-tally__row--goal .match-result-tally__score{color:var(--text-muted);font-size:13px}.match-result-tally__label{font-size:14px;font-weight:600;color:var(--text-primary)}.match-result-tally__score{font-size:22px;font-weight:800;color:var(--text-primary)}.match-result-rounds{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto}.match-result-round{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background-color:var(--bg-secondary);font-size:14px}.match-result-round__num{font-weight:700;color:var(--text-muted);min-width:26px}.match-result-round__winner{font-weight:700;min-width:40px}.match-result-round__winner--player1{color:var(--brand-blue)}.match-result-round__winner--player2{color:#2ecc71}.match-result-round__finish{flex:1;color:var(--text-primary);font-weight:500}.match-result-round__pts{font-weight:700;color:var(--text-primary);min-width:28px;text-align:right}.match-result-section,.match-result-quick-grid{display:flex;flex-direction:column;gap:8px}.match-result-quick-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background-color:var(--bg-secondary)}.match-result-quick-row__label{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap}.match-result-quick-row__pts{font-weight:700;color:var(--text-muted);font-size:11px}.match-result-quick-row__btns{display:flex;gap:6px;flex-shrink:0}.match-result-quick-btn{padding:6px 10px;border-radius:999px;border:none;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .15s,transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px #00000014;white-space:nowrap}.match-result-quick-btn:hover{transform:none;box-shadow:0 1px 3px #00000014}.match-result-quick-btn:active{transform:scale(.93);opacity:.6}.match-result-quick-btn--p1{background:var(--accent-gradient);color:#fff}.match-result-quick-btn--p2{background:linear-gradient(135deg,#2ecc71,#38ff7a);color:#fff}.match-result-undo-btn{display:inline-block;margin:4px auto 0;width:auto;padding:8px 20px;border:none;border-radius:999px;background-color:var(--bg-secondary);color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;text-align:center;transition:opacity .15s,transform .2s var(--ease-bounce);-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px #00000014}.match-result-undo-btn:hover{transform:none;box-shadow:0 1px 3px #00000014}.match-result-undo-btn:active{transform:scale(.93)}.match-result-winner{margin:0;font-size:16px;font-weight:700;text-align:center;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:6px}@media(max-width:768px){.tournament-detail-participants-col{padding:0 16px}}@media(max-width:599px){.tournament-detail-hero__name{font-size:18px}.bracket-round{min-width:220px;padding:0 24px}.bracket-match{width:180px}.bracket-match__name{font-size:12px}.bracket-match__player{padding:8px 10px;min-height:38px}.bracket-match-wrapper{min-height:84px}.bracket-round:not(:last-child) .bracket-match-wrapper:nth-child(odd):after,.bracket-round:not(:last-child) .bracket-match-wrapper:nth-child(2n):after{right:-24px;width:24px}.bracket-round:not(:first-child) .bracket-match-wrapper:before{left:-24px;width:24px}.match-result-quick-btn{font-size:10px;padding:5px 8px}}@media(min-width:1024px){.tournament-detail-body{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}.tournament-detail-bracket-col{min-width:0;overflow:visible}.tournament-detail-participants-col{position:sticky;top:0;max-height:calc(100vh - 200px);overflow-y:auto;padding:16px;border-radius:16px;background-color:var(--bg-card);box-shadow:var(--shadow-card)}.tournament-detail-participants-col .tournament-detail-section{margin-top:0}.bracket-match{width:230px}.bracket-round{min-width:294px}}@media(min-width:1280px){.tournament-detail-body{gap:40px}.bracket-match{width:240px}.bracket-round{min-width:304px}}@media(min-width:1440px){.bracket-match{width:260px}.bracket-round{min-width:324px}}.access-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;width:100%;max-width:480px;margin:0 auto;padding:0 24px;background-color:var(--bg-app)}.access-logo{width:240px;height:72px;object-fit:contain;margin-bottom:32px}.access-form{width:100%;display:flex;flex-direction:column;gap:16px}.access-field-group{display:flex;flex-direction:column;gap:6px}.access-label{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:.2px}.access-input{width:100%;box-sizing:border-box;height:48px;padding:0 20px;border-radius:999px;border:2px solid var(--border-default);background-color:var(--bg-secondary);background-image:none;color:var(--text-primary);font-size:15px;outline:none;-webkit-appearance:none;appearance:none;box-shadow:0 1px 4px #0000000d;transition:border-color .25s var(--ease-smooth),box-shadow .25s var(--ease-smooth)}.access-input:focus,.access-input:focus-visible{border-color:transparent;background-color:transparent;background-image:linear-gradient(var(--bg-secondary),var(--bg-secondary)),linear-gradient(135deg,#1e90ff,#38ff7a);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:none!important;outline:none}.access-input--password{padding-right:48px}.access-input-wrap{position:relative}.access-eye-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:999px;outline:none;-webkit-tap-highlight-color:transparent;pointer-events:auto;transition:transform .18s var(--ease-spring)}.access-eye-btn:hover,.access-eye-btn:focus{background:none;box-shadow:none;outline:none;color:var(--text-muted);transform:translateY(-50%)}.access-eye-btn:active{transform:translateY(-50%) scale(.8)}.access-btn{padding:12px 40px;border-radius:999px;border:none;background:linear-gradient(135deg,#1a1a2e,#0a0a0a);color:#fff;font-family:Bebas Neue,Inter,sans-serif;font-size:18px;font-weight:400;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:transform .2s var(--ease-bounce),box-shadow .3s cubic-bezier(.4,0,.2,1);margin-top:8px;outline:none;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 14px #00000040,0 2px 6px #0000001a;align-self:center}.access-btn:hover{transform:none;box-shadow:0 4px 14px #00000040,0 2px 6px #0000001a}.access-btn:active{transform:scale(.93);box-shadow:0 2px 8px #0003,0 1px 3px #00000014}.access-btn:disabled{background:linear-gradient(135deg,#3a3a4e,#2a2a2a);color:#ffffff80;cursor:not-allowed;opacity:.6;box-shadow:none}.access-switch-row{margin-top:24px;text-align:center;font-size:14px;color:var(--text-muted)}.access-switch-btn{background:linear-gradient(135deg,#1e90ff,#38ff7a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;border:none;cursor:pointer;padding:0;font-weight:700;font-size:14px;outline:none;-webkit-tap-highlight-color:transparent;display:inline-block;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.access-switch-btn:hover{transform:none;box-shadow:none}.access-switch-btn:active{transform:scale(.88);box-shadow:none}.access-error{font-size:13px;color:var(--accent-danger);text-align:center;margin:0;line-height:1.5}.access-mismatch{font-size:12px;color:var(--accent-danger);margin:4px 0 0}.access-loading{justify-content:center}.access-loading__text{color:var(--text-muted);font-size:15px}
