@charset "UTF-8";a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;margin:0;padding:0;vertical-align:initial}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body,html{height:100%}body{line-height:1.6;margin:0;padding:0}#root{height:100%}:root{--nav-top-inner-height:70px;--nav-bottom-inner-height:56px}@media (max-width:768px){:root{--layout-pad-bottom-mobile:calc(4rem + env(safe-area-inset-bottom, 0px))}}:root{--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-card:#fff;--bg-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-inverse:#fff;--border-color:#e2e8f0;--border-hover:#cbd5e1;--accent-primary:#3b82f6;--accent-hover:#2563eb;--accent-active:#1d4ed8;--accent-primary-rgb:59 130 246;--accent-hover-rgb:37 99 235;--accent-active-rgb:29 78 216;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--success-rgb:16 185 129;--warning-rgb:245 158 11;--error-rgb:239 68 68;--info-rgb:59 130 246;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--transition-fast:150ms ease-in-out;--transition-normal:250ms ease-in-out;--transition-slow:350ms ease-in-out}.dark-mode{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293b;--bg-hover:#334155;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-inverse:#0f172a;--border-color:#334155;--border-hover:#475569;--accent-primary:#60a5fa;--accent-hover:#3b82f6;--accent-active:#2563eb;--accent-primary-rgb:96 165 250;--accent-hover-rgb:59 130 246;--accent-active-rgb:37 99 235;--success:#34d399;--warning:#fbbf24;--error:#f87171;--info:#60a5fa;--success-rgb:52 211 153;--warning-rgb:251 191 36;--error-rgb:248 113 113;--info-rgb:96 165 250;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -4px #00000080;--shadow-xl:0 20px 25px -5px #0009,0 8px 10px -6px #0009}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-primary);color:#0f172a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .25s ease-in-out,color .25s ease-in-out;transition:background-color var(--transition-normal),color var(--transition-normal)}#root{display:flex;flex-direction:column;min-height:100vh}.text-primary{color:#0f172a;color:var(--text-primary)}.text-secondary{color:#475569;color:var(--text-secondary)}.text-tertiary{color:#64748b;color:var(--text-tertiary)}.bg-primary{background-color:#fff;background-color:var(--bg-primary)}.bg-secondary{background-color:#f8fafc;background-color:var(--bg-secondary)}.bg-card{background-color:#fff;background-color:var(--bg-card)}.app{background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;overflow:hidden}*{transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.loading-spinner{animation:spin .6s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-primary);display:inline-block;height:20px;width:20px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.btn{border:none;font-weight:600;justify-content:center;padding:.75rem 1.5rem}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem;transition:all var(--transition-normal)}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.form-input{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;padding:.875rem;transition:all var(--transition-fast);width:100%}.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input.error{border-color:var(--error)}.full-width-page{background:var(--bg-primary);height:calc(100vh - 70px);left:0;overflow:hidden;position:fixed;top:70px;width:100vw}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.map-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.map-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);color:var(--text-primary);display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;width:100%}.map-modal-header{align-items:center;background:var(--bg-secondary);border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.map-modal-header h3{color:var(--text-primary);font-size:1.25rem;margin:0}.close-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;font-size:2rem;height:2rem;transition:background var(--transition-fast),color var(--transition-fast);width:2rem}.close-btn:hover{color:var(--text-primary)}.close-btn:focus-visible{border-color:rgba(var(--accent-primary-rgb),.5);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.18);outline:none}.map-modal-content{background:var(--bg-primary);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.map-modal-legend{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:10px;padding:10px 12px}.map-legend-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:999px;display:inline-flex;gap:8px;max-width:100%;padding:6px 10px}.map-legend-dot{border-radius:999px;box-shadow:0 0 0 4px #0000000f;height:10px;width:10px}.map-legend-name{color:var(--text-primary);font-size:12px;font-weight:800;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.map-modal{border-left:none;border-radius:0;border-right:none;height:100vh;max-height:100vh;max-width:100vw;width:100vw}.map-modal-header{padding:.9rem 1rem}.map-modal-header h3{font-size:1.05rem}.map-modal-actions{gap:.75rem;padding:.9rem 1rem}.map-modal-content .mcc-container{flex:1 1;min-height:0}}.map-container{align-items:center;background:var(--bg-tertiary);display:flex;flex:1 1;justify-content:center;max-height:70vh;min-height:400px;overflow:auto}.map-image{max-height:100%;max-width:100%;-webkit-user-select:none;user-select:none}.answer-pin{color:var(--success);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:2rem;transform:translate(-50%,-100%);z-index:9}.map-modal-actions{background:var(--bg-secondary);border-top:2px solid var(--border-color);display:flex;gap:1rem;justify-content:center;padding:1.5rem}.btn-show-answer,.gg-btn-submit{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.gg-btn-submit{background:linear-gradient(135deg,rgb(var(--accent-primary-rgb)) 0,rgb(var(--accent-hover-rgb)) 100%);border:1px solid rgba(var(--accent-active-rgb),.35);box-shadow:var(--shadow-md),0 1px 0 #ffffff40 inset;color:var(--text-inverse)}.gg-btn-submit:hover{box-shadow:var(--shadow-lg),0 1px 0 #ffffff38 inset;transform:translateY(-2px)}.gg-btn-submit:active{box-shadow:var(--shadow-sm),0 1px 0 #ffffff2e inset;transform:translateY(0)}.gg-btn-submit:focus-visible{box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.22),var(--shadow-lg),0 1px 0 #fff3 inset;outline:none}.btn-show-answer{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-show-answer:hover:not(:disabled){background:var(--bg-hover);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-show-answer:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.answer-shown-indicator{background:var(--success);border-radius:var(--radius-md);color:var(--text-inverse);font-weight:600;padding:.75rem 1.5rem;text-align:center}.user-guess-pin{z-index:11}.guess-results-wrapper{align-items:center;display:flex;flex-direction:column;gap:1rem;width:100%}.guess-results-display{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:2rem;justify-content:center;padding:.75rem 1.5rem;width:100%}.guess-stat{align-items:center;display:flex;flex-direction:column;gap:.25rem}.stat-label{font-weight:500}.stat-value{font-size:1.125rem;font-weight:600}.stat-value.score-value{color:var(--success);font-size:1.25rem}.map-line-overlay{pointer-events:none}.btn-close-result{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all var(--transition-fast)}.btn-close-result:hover{background:var(--bg-hover);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-close-result:focus-visible{border-color:rgba(var(--accent-primary-rgb),.5);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.14);outline:none}.photo-zoom-modal-overlay{align-items:center;background:#000000d9;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.photo-zoom-modal{background:#1a1a1a;background:var(--bg-card,#1a1a1a);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:12px;box-shadow:0 24px 48px #00000080;color:#fff;color:var(--text-primary,#fff);display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;width:100%}.photo-zoom-modal-header{align-items:center;background:#252525;background:var(--bg-secondary,#252525);border-bottom:1px solid #ffffff1f;border-bottom:1px solid var(--border-color,#ffffff1f);display:flex;flex-shrink:0;justify-content:space-between;padding:12px 16px}.photo-zoom-modal-title{color:#fff;color:var(--text-primary,#fff);font-size:1.1rem;font-weight:600;margin:0}.photo-zoom-modal-close{align-items:center;background:#0000;border:1px solid #fff3;border:1px solid var(--border-color,#fff3);border-radius:50%;color:#ffffffb3;color:var(--text-secondary,#ffffffb3);cursor:pointer;display:flex;font-size:1.75rem;height:36px;justify-content:center;line-height:1;padding:0;transition:background .15s,color .15s;width:36px}.photo-zoom-modal-close:hover{background:#ffffff1a;color:#fff;color:var(--text-primary,#fff)}.photo-zoom-modal-close:focus-visible{box-shadow:0 0 0 2px #fff6;outline:none}.photo-zoom-modal-body{display:flex;flex:1 1;flex-direction:column;height:70vh;max-height:calc(90vh - 56px);min-height:0;min-width:0;width:100%}.photo-zoom-modal-body>div{flex:1 1;min-height:0}.progressive-image{background:#1a1a1a;background:var(--bg-secondary,#1a1a1a);height:100%;overflow:hidden;position:relative;width:100%}.progressive-image__layer{display:block;height:100%;inset:0;pointer-events:none;position:absolute;transition:opacity .24s ease-out;width:100%}.progressive-image__thumb{filter:blur(18px);transform:scale(1.06);transform-origin:center center}.progressive-image__full,.progressive-image__preview{filter:none;transform:none}.progressive-image__layer--hidden{opacity:0}.progressive-image__layer--visible{opacity:1}@media (prefers-reduced-motion:reduce){.bulk-level-dropzone,.bulk-level-progress-fill,.bulk-level-wizard *{transition:none!important}.bulk-level-lightbox{animation:none!important}}.bulk-level-wizard{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 20px #0000001f;box-shadow:var(--shadow-md,0 4px 20px #0000001f);margin-top:1.25rem;padding:1.25rem 1.35rem 1.35rem}.bulk-level-wizard--empty{padding:1.5rem;text-align:center}.bulk-level-wizard-muted{color:var(--text-secondary);font-size:.9rem;margin:0 0 1rem}.bulk-level-wizard-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.bulk-level-wizard-title{color:var(--text-primary);font-size:1.1rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .25rem}.bulk-level-wizard-sub{color:var(--text-secondary);font-size:.85rem;line-height:1.45;margin:0;max-width:52ch}.bulk-level-wizard-close{flex-shrink:0}.bulk-level-steps{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;flex-wrap:wrap;gap:.35rem .5rem;margin-bottom:1.25rem;padding:.6rem .75rem}.bulk-level-steps-sep{color:var(--text-secondary);opacity:.5;-webkit-user-select:none;user-select:none}.bulk-level-step{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.78rem;font-weight:600;gap:.4rem;letter-spacing:.04em;text-transform:uppercase}.bulk-level-step.is-current{color:var(--accent-primary)}.bulk-level-step.is-done{color:#16a34a;color:var(--success,#16a34a)}.bulk-level-step-num{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:999px;display:inline-flex;font-size:.7rem;height:1.35rem;justify-content:center;width:1.35rem}.bulk-level-step.is-current .bulk-level-step-num{background:color-mix(in srgb,var(--accent-primary) 18%,var(--bg-primary));border-color:var(--accent-primary)}.bulk-level-panel{min-height:120px}.bulk-level-dropzone{background:color-mix(in srgb,var(--bg-secondary) 88%,#0000);border:2px dashed var(--border-color);border-radius:14px;cursor:pointer;outline:none;padding:2rem 1.5rem;text-align:center;transition:border-color .18s ease,background .18s ease}.bulk-level-dropzone:focus-visible,.bulk-level-dropzone:hover{background:color-mix(in srgb,var(--accent-primary) 8%,var(--bg-secondary));border-color:var(--accent-primary)}.bulk-level-dropzone.is-dragover{background:color-mix(in srgb,var(--accent-primary) 14%,var(--bg-secondary));border-color:var(--accent-primary)}.bulk-level-dropzone-icon{color:var(--accent-primary);display:block;font-size:2.5rem;margin:0 auto .75rem;opacity:.85}.bulk-level-dropzone-title{color:var(--text-primary);font-size:.95rem;font-weight:600;margin:0 0 .35rem}.bulk-level-dropzone-hint{color:var(--text-secondary);font-size:.8rem;margin:0}.bulk-level-link-btn{background:none;border:none;color:var(--accent-primary);cursor:pointer;font:inherit;font-weight:700;padding:0;text-decoration:underline}.bulk-level-file-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.bulk-level-thumb-strip{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.bulk-level-badge{background:color-mix(in srgb,var(--accent-primary) 16%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--accent-primary) 35%,#0000);border-radius:999px;color:var(--accent-primary);font-size:.72rem;font-weight:800;letter-spacing:.05em;padding:.25rem .55rem;text-transform:uppercase}.bulk-level-thumb-row{display:flex;flex:1 1;flex-wrap:wrap;gap:.35rem;min-width:0}.bulk-level-thumb-btn{background:none;border:none;border-radius:8px;cursor:zoom-in;display:inline-flex;line-height:0;margin:0;padding:0;transition:transform .15s ease,box-shadow .15s ease;vertical-align:top}.bulk-level-thumb-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.bulk-level-thumb-btn:hover{box-shadow:0 4px 14px #0000001f;transform:scale(1.04)}.bulk-level-thumb{border:1px solid var(--border-color);border-radius:8px;display:block;height:44px;object-fit:cover;width:44px}.btn-sm{font-size:.8rem;padding:.35rem .65rem}.bulk-level-toolbar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:.85rem 1rem}.bulk-level-toolbar-group{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem}.bulk-level-toolbar-label{color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.bulk-level-input,.bulk-level-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-primary);font-size:.875rem;padding:.45rem .65rem}.bulk-level-input:focus-visible,.bulk-level-select:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.bulk-level-table-wrap{border:1px solid var(--border-color);border-radius:10px;max-height:min(420px,50vh);overflow-x:auto;overflow-y:auto}.bulk-level-table{border-collapse:collapse;font-size:.85rem;width:100%}.bulk-level-table thead th{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.7rem;letter-spacing:.06em;padding:.65rem .75rem;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:1}.bulk-level-th-thumb{width:72px}.bulk-level-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .15s ease}.bulk-level-table tbody tr:hover{background:color-mix(in srgb,var(--bg-secondary) 55%,var(--bg-primary))}.bulk-level-table tbody tr.has-error{background:color-mix(in srgb,#e53e3e 6%,var(--bg-primary));background:color-mix(in srgb,var(--danger,#e53e3e) 6%,var(--bg-primary))}.bulk-level-table td{padding:.5rem .75rem;vertical-align:top}.bulk-level-table-thumb-btn{background:none;border:none;border-radius:8px;cursor:zoom-in;display:inline-flex;line-height:0;margin:0;padding:0;transition:transform .15s ease,box-shadow .15s ease}.bulk-level-table-thumb-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.bulk-level-table-thumb-btn:hover{box-shadow:0 4px 12px #0000001a;transform:scale(1.03)}.bulk-level-table-thumb{border:1px solid var(--border-color);border-radius:8px;display:block;height:56px;object-fit:cover;width:56px}.bulk-level-input-table,.bulk-level-select-table{min-width:120px;width:100%}.bulk-level-field-error{color:#e53e3e;color:var(--danger,#e53e3e);font-size:.72rem;margin-top:.25rem}.bulk-level-pin-panel{display:flex;flex-direction:column;gap:1rem}.bulk-level-pin-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.bulk-level-pin-photo-block{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.35rem}.bulk-level-pin-level-thumb-btn{background:none;border:none;border-radius:10px;cursor:zoom-in;display:inline-flex;line-height:0;margin:0;padding:0;transition:transform .15s ease,box-shadow .15s ease}.bulk-level-pin-level-thumb-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.bulk-level-pin-level-thumb-btn:hover{box-shadow:0 6px 20px #00000026;transform:scale(1.03)}.bulk-level-pin-photo-hint{color:var(--text-secondary);font-size:.68rem;font-weight:600;letter-spacing:.04em;line-height:1.25;max-width:9rem;text-align:right;text-transform:uppercase}.bulk-level-pin-toolbar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:.85rem 1rem}.bulk-level-pin-toolbar-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem}.bulk-level-pin-floor-select{flex:1 1;min-width:min(100%,220px)}.bulk-level-pin-toolbar-hint{color:var(--text-secondary);font-size:.78rem;line-height:1.45;margin:.65rem 0 0}.bulk-level-pin-map-missing{background:color-mix(in srgb,#f59e0b 8%,var(--bg-primary));background:color-mix(in srgb,var(--warning,#f59e0b) 8%,var(--bg-primary));border:1px dashed var(--border-color);border-radius:10px;margin:0;padding:1rem}.bulk-level-pin-progress{color:var(--accent-primary);font-size:.75rem;font-weight:800;letter-spacing:.06em;margin:0 0 .2rem;text-transform:uppercase}.bulk-level-pin-name{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin:0}.bulk-level-pin-level-thumb{border:2px solid var(--border-color);border-radius:10px;display:block;flex-shrink:0;height:88px;object-fit:cover;width:88px}.bulk-level-lightbox{align-items:center;animation:bulk-level-lightbox-in .2s ease;background:#000000d1;cursor:zoom-out;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:10050}@keyframes bulk-level-lightbox-in{0%{opacity:0}to{opacity:1}}.bulk-level-lightbox-close{align-items:center;background:#ffffff1f;border:none;border-radius:999px;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:2.5rem;justify-content:center;line-height:1;position:fixed;right:1rem;top:1rem;transition:background .15s ease;width:2.5rem;z-index:10051}.bulk-level-lightbox-close:hover{background:#ffffff38}.bulk-level-lightbox-inner{cursor:default;max-height:92vh;max-width:min(96vw,1400px)}.bulk-level-lightbox-img{border-radius:8px;box-shadow:0 12px 48px #00000073;display:block;height:auto;max-height:92vh;max-width:100%;object-fit:contain;width:auto}.bulk-level-pin-bar{display:flex;flex-wrap:wrap;gap:.35rem}.bulk-level-pin-step-nav{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.bulk-level-pin-dot{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:999px;cursor:pointer;height:10px;padding:0;transition:transform .15s ease,background .15s ease;width:10px}.bulk-level-pin-dot.is-active{background:color-mix(in srgb,var(--accent-primary) 35%,var(--bg-primary));border-color:var(--accent-primary);transform:scale(1.15)}.bulk-level-pin-dot.is-done{background:#22c55e;background:var(--success,#22c55e);border-color:#22c55e;border-color:var(--success,#22c55e)}.bulk-level-pin-stage{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.bulk-level-commit-summary{color:var(--text-primary);font-weight:600;margin:0 0 .75rem}.bulk-level-progress-track{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;height:8px;margin-bottom:1rem;overflow:hidden}.bulk-level-progress-fill{background:linear-gradient(90deg,var(--accent-primary),color-mix(in srgb,var(--accent-primary) 70%,cyan));height:100%;transition:width .2s ease}.bulk-level-commit-list{list-style:none;margin:0 0 1rem;max-height:220px;overflow-y:auto;padding:0}.bulk-level-commit-row{grid-gap:.5rem .75rem;align-items:start;border-radius:8px;display:grid;font-size:.82rem;gap:.5rem .75rem;grid-template-columns:1.25rem 1fr;padding:.45rem .5rem}.bulk-level-commit-row.is-ok{background:color-mix(in srgb,#22c55e 10%,#0000);background:color-mix(in srgb,var(--success,#22c55e) 10%,#0000)}.bulk-level-commit-row.is-err{background:color-mix(in srgb,#e53e3e 10%,#0000);background:color-mix(in srgb,var(--danger,#e53e3e) 10%,#0000)}.bulk-level-commit-row.is-uploading .bulk-level-commit-status{animation:bulk-level-pulse .9s ease infinite}@keyframes bulk-level-pulse{50%{opacity:.35}}.bulk-level-commit-status{border-radius:999px;height:8px;margin-top:.35rem;width:8px}.bulk-level-commit-row.is-pending .bulk-level-commit-status,.bulk-level-commit-status{background:var(--text-secondary)}.bulk-level-commit-row.is-uploading .bulk-level-commit-status{background:var(--accent-primary)}.bulk-level-commit-row.is-ok .bulk-level-commit-status{background:#22c55e;background:var(--success,#22c55e)}.bulk-level-commit-row.is-err .bulk-level-commit-status{background:#e53e3e;background:var(--danger,#e53e3e)}.bulk-level-commit-name{color:var(--text-primary);font-weight:600}.bulk-level-commit-err{color:#e53e3e;color:var(--danger,#e53e3e);font-size:.75rem;grid-column:2}.bulk-level-error-list{color:var(--text-primary);font-size:.8rem;margin:.75rem 0 0;padding-left:1.25rem}.bulk-level-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem}.map-migration-wizard{display:flex;flex-direction:column;gap:1.5rem}.map-migration-wizard section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1.1rem 1.25rem 1.25rem}.map-migration-wizard h3{font-size:1.05rem;letter-spacing:.01em;margin:0 0 .35rem}.wizard-help{color:var(--text-secondary);font-size:.85rem;line-height:1.45;margin:0 0 1rem;max-width:72ch}.wizard-section-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.wizard-section-head>div:first-child{flex:1 1 auto;min-width:0}.wizard-section-head-actions{display:flex;flex:0 0 auto;gap:.5rem}.wizard-section-head-actions .btn-secondary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.wizard-section-head{align-items:stretch;flex-direction:column}}.wizard-empty{color:var(--text-secondary);font-style:italic}.wizard-success{background:#22c55e1f;border:1px solid #22c55e4d;border-radius:6px;color:#16a34a;font-size:.875rem;padding:.5rem .75rem}.wizard-floor-list{display:flex;flex-direction:column;gap:.85rem}.wizard-floor-card{grid-gap:1.1rem;align-items:stretch;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;display:grid;gap:1.1rem;grid-template-columns:56px 220px minmax(0,1fr);padding:.9rem 2.6rem .9rem 1rem;position:relative}.wizard-floor-delete-icon{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:28px;justify-content:center;line-height:0;padding:0;position:absolute;right:.4rem;top:.4rem;width:28px}.wizard-floor-delete-icon:hover{background:color-mix(in srgb,#e53e3e 12%,#0000);background:color-mix(in srgb,var(--danger,#e53e3e) 12%,#0000);border-color:#e53e3e;border-color:var(--danger,#e53e3e);color:#e53e3e;color:var(--danger,#e53e3e)}.wizard-floor-delete-icon .material-symbols-outlined{font-size:18px;line-height:1}.wizard-floor-save-chip{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:999px;bottom:.5rem;color:var(--text-secondary);font-size:.7rem;letter-spacing:.02em;padding:.15rem .45rem;pointer-events:none;position:absolute;right:.55rem}.wizard-floor-save-chip.is-saving{border-color:color-mix(in srgb,var(--text-primary) 30%,#0000);color:var(--text-primary)}.wizard-floor-save-chip.is-saved{background:color-mix(in srgb,#38a169 10%,var(--bg-primary));background:color-mix(in srgb,var(--success,#38a169) 10%,var(--bg-primary));border-color:color-mix(in srgb,#38a169 40%,#0000);border-color:color-mix(in srgb,var(--success,#38a169) 40%,#0000);color:#38a169;color:var(--success,#38a169)}.wizard-floor-save-chip.is-error{background:color-mix(in srgb,#e53e3e 12%,var(--bg-primary));background:color-mix(in srgb,var(--danger,#e53e3e) 12%,var(--bg-primary));border-color:color-mix(in srgb,#e53e3e 50%,#0000);border-color:color-mix(in srgb,var(--danger,#e53e3e) 50%,#0000);color:#e53e3e;color:var(--danger,#e53e3e)}.wizard-floor-card.is-dragging{box-shadow:0 6px 18px #00000059;cursor:grabbing;opacity:.6;z-index:2}.wizard-floor-card.is-new{background:color-mix(in srgb,var(--bg-primary) 92%,#0000);border-style:dashed}.wizard-floor-drag-handle{align-items:center;align-self:stretch;background:#0000;border:1px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:grab;display:flex;flex-direction:column;gap:.25rem;justify-content:center;min-width:0;padding:.35rem;touch-action:none;-webkit-user-select:none;user-select:none}.wizard-floor-drag-handle:hover{background:var(--bg-secondary);border-style:solid;color:var(--text-primary)}.wizard-floor-card.is-dragging .wizard-floor-drag-handle,.wizard-floor-drag-handle:active{cursor:grabbing}.wizard-floor-drag-handle .material-symbols-outlined{font-size:22px;line-height:1}.wizard-floor-order-badge{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.68rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}.wizard-floor-drag-spacer{min-width:0}.wizard-floor-card-order-hint{border-top:1px dashed var(--border-color);color:var(--text-secondary);font-size:.75rem;grid-column:1/-1;padding-top:.25rem}.wizard-floor-card-image{align-items:center;align-self:start;aspect-ratio:16/9;background:#000;border-radius:8px;display:flex;justify-content:center;min-height:0;overflow:hidden}.wizard-floor-card-image img{height:100%;object-fit:contain;width:100%}.wizard-floor-image-empty{color:#ffffff8c;font-size:.8rem;padding:.5rem;text-align:center}.wizard-floor-dropzone{cursor:pointer;outline:2px dashed #0000;outline-offset:-3px;position:relative;transition:outline-color .12s ease,transform .12s ease}.wizard-floor-dropzone:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--accent-color,#3b82f6);outline-offset:2px}.wizard-floor-dropzone.is-empty{background:color-mix(in srgb,#000 75%,var(--bg-secondary) 25%);outline-color:#ffffff2e}.wizard-floor-dropzone:hover{outline-color:#60a5fa8c}.wizard-floor-dropzone:hover .wizard-floor-dropzone-overlay{opacity:1}.wizard-floor-dropzone.is-over{outline:2px solid #60a5fa;outline-offset:-3px;transform:scale(1.01)}.wizard-floor-dropzone.is-over .wizard-floor-dropzone-overlay{background:#0c1628c7;color:#dbeafe;opacity:1}.wizard-floor-dropzone-overlay{align-items:center;background:#0000008c;color:#fff;display:flex;flex-direction:column;font-size:.82rem;font-weight:500;gap:.35rem;inset:0;justify-content:center;letter-spacing:.02em;opacity:0;pointer-events:none;position:absolute;transition:opacity .12s ease,background .12s ease}.wizard-floor-dropzone.is-empty .wizard-floor-dropzone-overlay{background:#0000;color:#ffffffbf;opacity:1}.wizard-floor-dropzone.is-empty.is-over .wizard-floor-dropzone-overlay{background:#0c1628c7;color:#dbeafe}.wizard-floor-dropzone.is-empty .wizard-floor-image-empty{visibility:hidden}.wizard-floor-dropzone-overlay .material-symbols-outlined{font-size:28px}.wizard-floor-dropzone-input{clip:rect(0 0 0 0);border:0;height:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.wizard-floor-card-fields{grid-gap:.65rem .85rem;align-content:start;display:grid;gap:.65rem .85rem;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.wizard-floor-card-fields label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.78rem;gap:.3rem;min-width:0}.wizard-floor-card-fields input[type=number],.wizard-floor-card-fields input[type=text]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:5px;box-sizing:border-box;color:var(--text-primary);font:inherit;min-width:0;padding:.4rem .55rem;width:100%}.wizard-floor-card-fields input[type=file]{color:var(--text-secondary);font-size:.78rem;max-width:100%}.wizard-inline{align-items:center!important;align-self:end;flex-direction:row!important;gap:.45rem!important}.wizard-floor-card-actions{align-items:stretch;align-self:start;display:flex;flex-direction:column;gap:.4rem}.wizard-floor-card-actions .btn-primary,.wizard-floor-card-actions .btn-secondary{width:100%}.wizard-level-list{display:flex;flex-direction:column;gap:.75rem}.wizard-level-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:.65rem;padding:.75rem 2.55rem .75rem .85rem;position:relative}.wizard-level-card.needs-repin{background:color-mix(in srgb,var(--bg-primary) 94%,#facc15 6%);border-left:3px solid #facc15}.wizard-level-card-head{grid-gap:.85rem;align-items:start;display:grid;gap:.85rem;grid-template-columns:110px minmax(0,1fr) minmax(200px,260px)}.wizard-level-card-head.has-bulk-select{grid-template-columns:32px 110px minmax(0,1fr) minmax(200px,260px)}.wizard-level-select-cell{align-items:flex-start;display:flex;justify-content:center;padding-top:.35rem}.wizard-level-select-cell input[type=checkbox]{accent-color:var(--accent-primary);cursor:pointer;height:1.05rem;width:1.05rem}.wizard-level-select-cell input:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.wizard-level-delete-icon{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;line-height:0;padding:0;position:absolute;right:.45rem;top:.45rem;width:32px;z-index:2}.wizard-level-delete-icon .material-symbols-outlined{font-size:1.15rem}.wizard-level-delete-icon:hover{background:color-mix(in srgb,#e53e3e 10%,#0000);background:color-mix(in srgb,var(--danger,#e53e3e) 10%,#0000);border-color:color-mix(in srgb,#e53e3e 45%,#0000);border-color:color-mix(in srgb,var(--danger,#e53e3e) 45%,#0000);color:#e53e3e;color:var(--danger,#e53e3e)}.wizard-level-delete-icon:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.wizard-level-thumb{align-items:center;aspect-ratio:4/3;background:#000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:zoom-in;display:flex;font-size:.75rem;justify-content:center;overflow:hidden;padding:0;transition:transform .12s ease,box-shadow .12s ease}.wizard-level-thumb:not(:disabled):hover{box-shadow:0 1px 3px #00000040;box-shadow:var(--shadow-sm,0 1px 3px #00000040);transform:translateY(-1px)}.wizard-level-thumb:disabled{cursor:default}.wizard-level-thumb img{display:block;height:100%;object-fit:cover;width:100%}.wizard-level-thumb-empty{padding:.5rem;text-align:center}.wizard-level-info{display:flex;flex-direction:column;gap:.55rem;min-width:0}.wizard-level-name{align-items:center;display:flex;flex-wrap:wrap;font-size:1rem;font-weight:600;gap:.5rem;line-height:1.25}.wizard-level-name-text{overflow-wrap:anywhere}.wizard-level-difficulty{background:#ffffff0d;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.wizard-level-difficulty,.wizard-level-hint{border-radius:4px;font-size:.65rem;font-weight:500;padding:.12rem .5rem}.wizard-level-hint{background:#60a5fa26;color:#60a5fa;cursor:help}.wizard-level-meta{grid-gap:.5rem 1rem;display:grid;font-size:.82rem;gap:.5rem 1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0}.wizard-level-meta>div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.wizard-level-meta dt{color:var(--text-secondary);font-size:.7rem;letter-spacing:.04em;margin:0;text-transform:uppercase}.wizard-level-meta dd{font-feature-settings:"tnum";color:var(--text-primary);font-variant-numeric:tabular-nums;margin:0}.wizard-level-target{display:flex;flex-direction:column;gap:.3rem;min-width:0}.wizard-level-target-label{color:var(--text-secondary);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.wizard-level-target select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font:inherit;min-height:2.2rem;padding:.45rem .55rem;width:100%}.wizard-level-preview-bar{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem .75rem;justify-content:space-between;padding:.45rem .65rem}.wizard-level-preview-title{align-items:center;color:var(--text-secondary);display:flex;font-size:.82rem;gap:.5rem;min-width:0;overflow-wrap:anywhere}.wizard-level-preview-dot{background:var(--text-secondary);border-radius:50%;flex-shrink:0;height:8px;width:8px}.wizard-level-card.needs-repin .wizard-level-preview-dot{background:#facc15;box-shadow:0 0 0 3px #facc152e}.wizard-level-preview-actions{display:flex;flex-wrap:wrap;gap:.5rem}.wizard-level-preview-actions .btn-primary,.wizard-level-preview-actions .btn-secondary{min-height:2.1rem;white-space:nowrap}.wizard-level-preview-map{min-width:0;width:100%}.wizard-level-preview-map .mcc-container{border-radius:8px;overflow:hidden;width:100%!important}.wizard-level-preview-placeholder{align-items:center;aspect-ratio:16/9;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-secondary);display:flex;font-size:.88rem;justify-content:center;padding:1rem;text-align:center;width:100%}.wizard-level-preview-image,.wizard-level-preview-stage{position:relative;width:100%}.wizard-level-preview-image{background:var(--bg-secondary);border-radius:8px;overflow:hidden}.wizard-level-preview-image img{display:block;height:100%;object-fit:contain;width:100%}.wizard-level-preview-image .map-pin-selector{cursor:crosshair;height:100%;width:100%}.wizard-level-preview-image .map-pin-selector .mcc-container{height:100%!important;width:100%!important}.wizard-level-preview-cta{background:#0f1218d9;border:1px solid #ffffff1f;border-radius:999px;bottom:12px;color:var(--text-primary);font-size:.75rem;left:12px;padding:.3rem .6rem;pointer-events:none;position:absolute}.wizard-preview-previous{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0f1218eb;border:1px solid #ffffff24;border-radius:10px;box-shadow:0 8px 18px #00000073;color:var(--text-primary);display:flex;flex-direction:column;gap:.35rem;max-width:260px;min-width:160px;padding:.5rem;position:absolute;right:10px;top:10px;width:34%;z-index:5}.wizard-preview-previous-head{align-items:center;display:flex;font-size:.72rem;gap:.4rem}.wizard-preview-previous-head .material-symbols-outlined{color:#facc15;font-size:18px}.wizard-preview-previous-title{flex:1 1;font-weight:600;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-preview-previous-map{border-radius:6px;overflow:hidden;width:100%}.wizard-preview-previous-map .mcc-container{border-radius:6px;overflow:hidden;width:100%!important}.wizard-preview-previous-coords{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.68rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center}@media (max-width:640px){.wizard-preview-previous{max-width:45%;width:45%}}.wizard-footer{align-items:stretch;display:flex;flex-direction:column;gap:.85rem}.wizard-footer-info{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.wizard-footer-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.btn-secondary.danger{border-color:#f8717166;color:#f87171}.wizard-repin-container{display:flex;flex-direction:column}.wizard-repin-stage{display:flex;flex:1 1;flex-direction:column;min-height:0;position:relative}.wizard-repin-previous{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0f1218eb;border:1px solid #ffffff1f;border-radius:10px;box-shadow:0 10px 24px #00000080;color:var(--text-primary);display:flex;flex-direction:column;gap:.45rem;max-width:40%;padding:.6rem;pointer-events:auto;position:absolute;right:12px;top:12px;width:280px;z-index:15}.wizard-repin-previous-head{align-items:center;display:flex;font-size:.8rem;gap:.55rem}.wizard-repin-previous-head .material-symbols-outlined{color:#facc15;font-size:20px}.wizard-repin-previous-title{font-weight:600;line-height:1.2}.wizard-repin-previous-sub{color:var(--text-secondary);font-size:.72rem}.wizard-repin-previous-map{border-radius:6px;overflow:hidden;width:100%}.wizard-repin-previous-map .mcc-container{border-radius:6px;overflow:hidden;width:100%!important}.wizard-repin-previous-coords{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.72rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center}.wizard-levels-crud-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 .75rem}.wizard-levels-toolbar-secondary.is-active{border-color:var(--accent-primary);color:var(--accent-primary)}.wizard-level-single-add{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm,0 1px 3px #00000014);margin:.85rem 0 1.25rem;padding:1rem 1.1rem 1.15rem}.wizard-level-single-add-hint{margin:0}.wizard-level-single-add-grid{grid-gap:.75rem 1rem;display:grid;gap:.75rem 1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1rem}.wizard-level-single-field{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.78rem;font-weight:700;gap:.3rem;letter-spacing:.04em;text-transform:uppercase}.wizard-level-single-field-wide{grid-column:1/-1}.wizard-level-single-field input,.wizard-level-single-field select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-primary);font:inherit;font-size:.875rem;font-weight:500;letter-spacing:normal;padding:.45rem .55rem;text-transform:none}.wizard-level-single-field input:focus-visible,.wizard-level-single-field select:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.wizard-level-single-photo-preview{margin-bottom:1rem}.wizard-level-single-photo-preview img{border:1px solid var(--border-color);border-radius:10px;max-height:160px;max-width:220px;object-fit:cover}.wizard-level-single-pin-label{color:var(--text-secondary);font-size:.82rem;font-weight:600;margin:0 0 .5rem}.wizard-level-single-pin-stage{border:1px solid var(--border-color);border-radius:10px;margin-bottom:.75rem;overflow:hidden}.wizard-level-single-add-actions{display:flex;gap:.5rem;justify-content:flex-end}.wizard-level-bulk-delete-bar{align-items:center;background:color-mix(in srgb,#e53e3e 8%,var(--bg-secondary));background:color-mix(in srgb,var(--danger,#e53e3e) 8%,var(--bg-secondary));border:1px solid color-mix(in srgb,var(--danger,#e53e3e) 28%,var(--border-color));border-radius:10px;display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:.75rem 0;padding:.65rem .85rem}.wizard-level-bulk-delete-count{color:var(--text-primary);font-size:.88rem;font-weight:600;margin-right:auto}.wizard-level-bulk-delete-bar .btn-danger{background:#dc2626;background:var(--danger,#dc2626);border:1px solid color-mix(in srgb,#dc2626 88%,#000);border:1px solid color-mix(in srgb,var(--danger,#dc2626) 88%,#000);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .85rem}.wizard-level-bulk-delete-bar .btn-danger:hover:not(:disabled){filter:brightness(1.07)}@media (prefers-reduced-motion:reduce){.wizard-level-delete-icon,.wizard-level-single-pin-stage{transition:none}}@media (max-width:960px){.wizard-level-card-head{grid-template-columns:140px minmax(0,1fr);grid-template-rows:auto auto}.wizard-level-card-head.has-bulk-select{grid-template-columns:32px 140px minmax(0,1fr);grid-template-rows:auto auto}.wizard-level-target{grid-column:1/-1;grid-row:2}}@media (max-width:860px){.wizard-floor-card{grid-template-columns:48px minmax(0,1fr)}.wizard-floor-card-fields,.wizard-floor-card-image{grid-column:2}.wizard-floor-card-actions{flex-direction:row;grid-column:2;justify-content:flex-end}.wizard-floor-card-actions .btn-primary,.wizard-floor-card-actions .btn-secondary{width:auto}.wizard-floor-drag-handle{grid-row:1/span 3}.wizard-repin-previous{width:220px}}@media (max-width:720px){.wizard-level-card-head{grid-template-columns:1fr;grid-template-rows:auto auto auto}.wizard-level-card-head.has-bulk-select{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.wizard-level-card-head.has-bulk-select .wizard-level-select-cell{grid-column:1/-1;grid-row:1;justify-content:flex-start;padding-top:0}.wizard-level-card-head.has-bulk-select .wizard-level-thumb{grid-column:1/-1;grid-row:2}.wizard-level-card-head.has-bulk-select .wizard-level-info{grid-column:1/-1;grid-row:3}.wizard-level-thumb{max-width:220px}.wizard-level-target{grid-column:1;grid-row:3}.wizard-level-card-head.has-bulk-select .wizard-level-target{grid-column:1/-1;grid-row:4}.wizard-level-preview-actions{justify-content:flex-end;width:100%}.wizard-level-preview-actions .btn-primary,.wizard-level-preview-actions .btn-secondary{flex:1 1 auto}.wizard-repin-previous{max-width:60%;padding:.4rem;right:8px;top:8px;width:180px}}.geo-map-editor{display:flex;flex-direction:column;gap:1.5rem}.geo-map-editor section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1.1rem 1.25rem 1.25rem}.geo-map-editor h2{font-size:1.25rem;margin:0}.geo-map-editor h3{font-size:1.05rem;letter-spacing:.01em;margin:0 0 .35rem}.geo-map-editor-head{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;padding-bottom:.5rem}.geo-map-editor-subtitle{color:var(--text-secondary);font-size:.9rem;margin-top:.2rem}.geo-map-editor-banner{margin:0}.geo-map-editor-loading{color:var(--text-secondary);padding:2rem;text-align:center}.map-details-form.is-full .map-details-grid{grid-gap:1rem 1.25rem;display:grid;gap:1rem 1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.map-details-form.is-compact .map-details-grid{grid-gap:.6rem 1rem;display:grid;gap:.6rem 1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.map-details-field{display:flex;flex-direction:column;gap:.25rem;position:relative}.map-details-field-wide{grid-column:1/-1}.map-details-field label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.82rem;font-weight:500;gap:.25rem}.map-details-field input[type=text],.map-details-field select,.map-details-field textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.95rem;padding:.45rem .55rem}.map-details-field textarea{min-height:3rem;resize:vertical}.map-details-field-inline{align-items:center;flex-direction:row;gap:.75rem;grid-column:1/-1}.map-details-checkbox{align-items:center;color:var(--text-primary);display:inline-flex;flex-direction:row!important;font-size:.9rem;font-weight:500;gap:.45rem}.map-details-image-slot{grid-column:span 1}.map-details-image-slot .wizard-floor-dropzone{max-height:200px;min-height:140px}.map-details-image-slot .wizard-floor-dropzone img{object-fit:contain}.map-details-image-label{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.35rem}.map-details-image-title{font-size:.9rem;font-weight:600}.map-details-image-hint{color:var(--text-secondary);font-size:.78rem;line-height:1.3}.map-details-chip{background:#ffffff0f;border-radius:999px;color:var(--text-secondary);font-size:.72rem;line-height:1;padding:.15rem .45rem;position:absolute;right:0;top:0}.map-details-chip.is-saving{background:#3c8cff2e;color:#7cb4ff}.map-details-chip.is-saved{background:#48c8782e;color:#7fd59b}.map-details-chip.is-error{background:#ff5a5a33;color:#ff9a9a}@media (max-width:720px){.map-details-form.is-compact .map-details-grid,.map-details-form.is-full .map-details-grid{grid-template-columns:1fr}}.wizard-level-save-bar{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;bottom:0;box-shadow:0 6px 18px #00000040;display:flex;gap:1rem;justify-content:space-between;margin-top:1rem;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;z-index:5}.wizard-level-save-summary{font-size:.9rem}.wizard-level-save-state.is-clean{color:var(--text-secondary)}.wizard-level-save-state.is-dirty{color:#fc6;font-weight:600}.wizard-level-save-btn{font-weight:600;padding:.55rem 1.1rem}.wizard-level-pending-chip{background:#ffcc662e;border-radius:999px;color:#fc6;font-size:.72rem;font-weight:600;letter-spacing:.02em;margin-left:.5rem;padding:.1rem .5rem;text-transform:uppercase;vertical-align:middle}.map-migration-footer{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;gap:1.25rem;justify-content:space-between;padding:1.1rem 1.25rem}.map-migration-footer p{color:var(--text-secondary);font-size:.9rem;margin:0;max-width:60ch}.map-migration-footer .btn-primary{font-weight:600;padding:.55rem 1.1rem}.migration-wizard-body .geo-map-editor-head{display:none}.geo-map-edit-backdrop{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:1000}.geo-map-edit-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 60px #00000073;max-height:calc(100vh - 3rem);overflow-y:auto;padding:1.5rem;width:min(1200px,100%)}.toast-stack{display:flex;flex-direction:column;gap:10px;max-width:min(380px,calc(100% - 32px));pointer-events:none;position:fixed;right:16px;top:16px;z-index:9999}.toast{align-items:flex-start;animation:toast-slide-in .18s ease-out;background:#111827f5;border-left:4px solid #6366f1;border-radius:10px;box-shadow:0 12px 32px #00000059;color:#f3f4f6;display:flex;font-size:14px;gap:12px;line-height:1.4;padding:12px 14px;pointer-events:auto}.toast--success{border-left-color:#10b981}.toast--error{border-left-color:#ef4444}.toast--warning{border-left-color:#f59e0b}.toast--info{border-left-color:#6366f1}.toast__body{flex:1 1 auto;min-width:0}.toast__message{font-weight:600;word-break:break-word}.toast__description{font-size:12.5px;margin-top:4px;opacity:.85;word-break:break-word}.toast__close{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:inherit;cursor:pointer;font-size:20px;line-height:1;opacity:.7;padding:2px 4px;transition:opacity .12s ease}.toast__close:hover{opacity:1}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.badge-pill-tooltip-host{display:inline-flex;max-width:100%;position:relative;vertical-align:middle}.badge-pill-tooltip-host:focus-visible{border-radius:999px;outline:2px solid var(--accent-primary);outline-offset:3px}.badge-pill-tooltip{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;bottom:calc(100% + 12px);box-shadow:var(--shadow-lg);color:var(--text-primary);font-weight:400;left:50%;max-width:min(320px,70vw);min-width:200px;opacity:0;padding:.75rem .9rem;pointer-events:none;position:absolute;text-align:left;transform:translateX(-50%) translateY(6px);transition:opacity .15s ease,transform .15s ease,visibility .15s;visibility:hidden;z-index:2000}.badge-pill-tooltip:after{border:7px solid #0000;border-top:7px solid var(--bg-card);content:"";filter:drop-shadow(0 2px 1px rgba(0,0,0,.06));left:50%;margin-left:-7px;position:absolute;top:100%}.badge-pill-tooltip-title{color:var(--text-primary);display:block;font-size:.9rem;font-weight:800;letter-spacing:-.01em;margin-bottom:.2rem}.badge-pill-tooltip-tier{color:var(--accent-primary);display:inline-block;font-size:.65rem;font-weight:800;letter-spacing:.06em;margin-bottom:.45rem;text-transform:uppercase}.badge-pill-tooltip-body{color:var(--text-secondary);font-size:.8rem;line-height:1.45;margin:0}.badge-pill-tooltip-host:focus-within .badge-pill-tooltip,.badge-pill-tooltip-host:hover .badge-pill-tooltip{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.badge-pill-root{display:inline-flex;max-width:100%;vertical-align:middle}.badge-pill{align-items:center;border:0;border-radius:999px;box-shadow:0 4px 14px #0003;color:#fff;display:inline-flex;font-weight:700;gap:8px;white-space:nowrap}.badge-pill-icon{display:inline-block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}.badge-pill--normal{font-size:12px;padding:8px 12px}.badge-pill--large{font-size:13px;padding:8px 12px}.badge-pill--small{font-size:11px;padding:6px 10px}.badge-pill[data-style=default]{background:linear-gradient(135deg,#8b5cf6,#6366f1);box-shadow:0 6px 18px #6366f159}.theme-dark .badge-pill[data-style=default]{box-shadow:0 8px 24px #6366f166}.badge-pill[data-style=beta_tester]{background:linear-gradient(135deg,#7c3aed,#06b6d4);border:1px solid #ffffff40;box-shadow:0 6px 18px #06b6d466}.theme-dark .badge-pill[data-style=beta_tester]{box-shadow:0 8px 24px #7c3aed73}.badge-pill[data-style=undefeated]{background:linear-gradient(135deg,#d97706,#f59e0b);border:1px solid #ffffff59;box-shadow:0 6px 18px #f59e0b73}.theme-dark .badge-pill[data-style=undefeated]{box-shadow:0 8px 24px #d9770680}.notification-item{border-bottom:1px solid #2a2a3e;border-bottom:1px solid var(--border-color,#2a2a3e);cursor:pointer;display:flex;gap:1rem;padding:1rem 1.5rem;transition:background .2s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#ffffff0d;background:var(--bg-hover,#ffffff0d)}.notification-item.unread{background:#3b82f60d;border-left:3px solid #3b82f6;border-left:3px solid var(--accent-primary,#3b82f6)}.notification-item.unread:hover{background:#3b82f61a}.notification-item.read{opacity:.6}.notification-item.read .notification-item-title{color:#aaa;color:var(--text-secondary,#aaa);font-weight:500}.notification-item.read .notification-item-message{color:#888;color:var(--text-tertiary,#888)}.notification-item.read .notification-item-icon{opacity:.5}.notification-item-icon{align-items:center;background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border-radius:8px;border-radius:var(--radius-md,8px);display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;width:40px}.notification-item-icon:has(.badge-pill){background:#0000;height:auto;min-height:40px;min-width:40px;padding:4px;width:auto}.notification-item-content{flex:1 1;min-width:0}.notification-item-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.25rem}.notification-item-header-right{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.notification-item-title{color:#fff;color:var(--text-primary,#fff);flex:1 1;font-size:.95rem;font-weight:600;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item.unread .notification-item-title{font-weight:700}.notification-item-time{color:#aaa;color:var(--text-secondary,#aaa);flex-shrink:0;font-size:.75rem;white-space:nowrap}.notification-mark-read-btn{background:none;border:none;border-radius:4px;color:#1976d2;color:var(--primary-color,#1976d2);cursor:pointer;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-decoration:underline;transition:background-color .2s;white-space:nowrap}.notification-mark-read-btn:hover{background-color:#1976d21a}.notification-mark-read-btn:active{background-color:#1976d233}.notification-item-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#aaa;color:var(--text-secondary,#aaa);display:-webkit-box;font-size:.875rem;line-height:1.4;margin:0;overflow:hidden}.notification-item.unread .notification-item-message{color:#fff;color:var(--text-primary,#fff)}.notification-item-response{color:#aaa;color:var(--text-secondary,#aaa);font-size:.85rem;font-style:italic;margin:.5rem 0 0}.notification-item-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.notification-action-btn{border:1px solid;border-radius:6px;border-radius:var(--radius-sm,6px);cursor:pointer;font-size:.85rem;font-weight:600;padding:.35rem .75rem;transition:opacity .2s}.notification-action-btn:disabled{cursor:not-allowed;opacity:.7}.notification-action-accept{background:#22c55e26;border-color:#22c55e80;color:#4ade80}.notification-action-accept:hover:not(:disabled){background:#22c55e40}.notification-action-decline{background:#6b728026;border-color:#6b728080;color:#9ca3af}.notification-action-decline:hover:not(:disabled){background:#6b728040}.notification-item--join-request{border-left-width:4px;padding:1.25rem 1.5rem}.notification-item--join-request .notification-item-icon{background:#3b82f626;border:1px solid #3b82f64d;font-size:1.35rem;height:44px;width:44px}.notification-item--join-request.unread .notification-item-icon{background:#3b82f633}.notification-join-request-body{margin-top:.5rem}.notification-join-request-message{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9375rem;line-height:1.5;margin:0}.notification-item--join-request.unread .notification-join-request-message{color:#e5e7eb;color:var(--text-primary,#e5e7eb)}.notification-join-request-cta{background:#3b82f61f;border:1px solid #3b82f659;border-radius:8px;border-radius:var(--radius-md,8px);color:#3b82f6;color:var(--accent-primary,#3b82f6);display:inline-block;font-size:.8125rem;font-weight:600;margin-top:.75rem;padding:.4rem .75rem;transition:background .2s,border-color .2s}.notification-item--join-request:hover .notification-join-request-cta{background:#3b82f633;border-color:#3b82f680}.notification-dropdown{animation:dropdownFadeIn .2s ease-out;background:#1a1a2e;background:var(--bg-card,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;max-height:600px;max-width:calc(100vw - 2rem);position:absolute;right:0;top:calc(100% + .5rem);width:400px;z-index:1000}.notification-dropdown-header{align-items:center;border-bottom:1px solid #2a2a3e;border-bottom:1px solid var(--border-color,#2a2a3e);display:flex;justify-content:space-between;padding:1rem 1.5rem}.notification-dropdown-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1.1rem;font-weight:600;margin:0}.notification-mark-all-read{background:none;border:none;border-radius:4px;border-radius:var(--radius-sm,4px);color:#3b82f6;color:var(--accent-primary,#3b82f6);cursor:pointer;font-size:.875rem;padding:.25rem .5rem;transition:background .2s}.notification-mark-all-read:hover{background:#3b82f61a;background:var(--bg-hover,#3b82f61a)}.notification-dropdown-content{flex:1 1;min-height:0;overflow-y:auto}.notification-dropdown-empty,.notification-dropdown-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:2rem;text-align:center}.notification-dropdown-list{display:flex;flex-direction:column}.notification-dropdown-footer{border-top:1px solid #2a2a3e;border-top:1px solid var(--border-color,#2a2a3e);padding:.75rem 1.5rem;text-align:center}.notification-view-all{color:#3b82f6;color:var(--accent-primary,#3b82f6);font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s}.notification-view-all:hover{color:#2563eb;color:var(--accent-primary-hover,#2563eb);text-decoration:underline}.notification-icon-container{margin-right:.75rem;position:relative}.notification-icon-button{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:relative;transition:all .2s}.notification-icon-button:hover{background:#ffffff1a;background:var(--bg-hover,#ffffff1a)}.notification-badge{align-items:center;background:#ef4444;background:var(--error,#ef4444);border:2px solid #0a0a14;border:2px solid var(--bg-primary,#0a0a14);border-radius:999px;border-radius:var(--radius-full,999px);color:#fff;display:flex;font-size:.7rem;font-weight:600;height:18px;justify-content:center;line-height:1;min-width:18px;padding:.125rem .375rem;position:absolute;right:0;top:0;transform:translate(25%,-25%)}.notification-badge.pulse{animation:pulse 2s infinite}.navbar{background-color:var(--bg-card);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:0;transition:background-color var(--transition-normal),border-color var(--transition-normal);z-index:1000}.navbar-container{grid-column-gap:1.5rem;align-items:center;column-gap:1.5rem;display:grid;grid-template-columns:auto 1fr auto;height:70px;margin:0 auto;max-width:1400px;min-width:0;padding:0 2rem}.navbar-brand{align-items:center;color:var(--text-primary);display:flex;flex-shrink:0;font-size:1.5rem;font-weight:700;gap:.75rem;text-decoration:none;transition:opacity var(--transition-fast)}.navbar-brand:hover{opacity:.8}.brand-icon{font-size:1.75rem}.brand-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));-webkit-background-clip:text;background-clip:text;white-space:nowrap}.navbar-menu{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex-wrap:nowrap;gap:.35rem;justify-content:center;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.navbar-menu::-webkit-scrollbar{display:none}.navbar-link{border-radius:var(--radius-md);color:var(--text-secondary);flex-shrink:0;font-size:.9375rem;font-weight:500;padding:.55rem .95rem;position:relative;text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.navbar-link:hover{background-color:var(--bg-hover);color:var(--text-primary)}.navbar-link.active{background-color:var(--bg-hover);color:var(--accent-primary)}.navbar-link.active:after{background-color:var(--accent-primary);border-radius:2px;bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:60%}.navbar-actions{align-items:center;display:flex;flex-shrink:0;gap:1rem}.navbar-bottom{display:none}.navbar-bottom-link{align-items:center;color:var(--text-secondary);display:flex;flex:1 1;flex-direction:column;font-size:.75rem;gap:2px;justify-content:center;text-decoration:none}.navbar-bottom-icon{font-size:1.25rem}.navbar-bottom-link.active{color:var(--accent-primary)}.navbar-bottom-more-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font:inherit;font-size:.75rem;gap:2px;justify-content:center;margin:0;min-height:44px;padding:.35rem .15rem}.navbar-bottom-more-btn.active{color:var(--accent-primary)}.navbar-more-backdrop,.navbar-more-sheet{display:none}.theme-toggle{align-items:center;background-color:var(--bg-secondary);border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.theme-toggle:hover{background-color:var(--bg-hover);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.navbar-auth{align-items:center;display:flex;gap:.75rem}.btn-login,.btn-signup{border:1px solid #0000;border-radius:var(--radius-md);font-weight:500;padding:.5rem 1.25rem;text-decoration:none;transition:all var(--transition-fast)}.btn-login{background-color:initial;border-color:var(--border-color);color:var(--text-primary)}.btn-login:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.btn-signup{background-color:var(--accent-primary);color:var(--text-inverse)}.btn-signup:hover{background-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.navbar-user{align-items:center;display:flex;gap:1rem;position:relative}.user-name{color:var(--text-secondary);font-size:.875rem}.user-link-wrapper{align-items:center;background:linear-gradient(135deg,rgba(var(--accent-primary-rgb),.1),rgba(var(--accent-primary-rgb),.06));border:1px solid var(--border-color);border-radius:var(--radius-md);display:inline-flex;overflow:hidden;transition:all var(--transition-fast)}.user-link-wrapper:hover{background:linear-gradient(135deg,rgba(var(--accent-primary-rgb),.16),rgba(var(--accent-primary-rgb),.1));border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.user-link-name{color:var(--accent-primary);font-weight:700;padding:.5rem .5rem .5rem .9rem;text-decoration:none;transition:all var(--transition-fast)}.user-link-name:hover{color:var(--accent-hover)}.user-link-arrow{align-items:center;background:#0000;border:none;border-left:1px solid var(--border-color);color:var(--accent-primary);cursor:pointer;display:flex;justify-content:center;padding:.5rem .4rem;transition:all var(--transition-fast)}.user-link-arrow:hover{background:rgba(var(--accent-primary-rgb),.08)}.btn-logout{background-color:initial;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-weight:500;padding:.5rem 1.25rem;transition:all var(--transition-fast)}.btn-logout:hover{background-color:var(--bg-hover);border-color:var(--error);color:var(--error)}.user-dropdown{animation:dropdownFadeIn .15s ease-out;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;gap:.75rem;padding:.75rem 1rem;text-align:left;text-decoration:none;transition:background-color var(--transition-fast);width:100%}.user-dropdown-item:hover{background-color:var(--bg-hover)}.user-dropdown-item-danger{color:var(--error)}.user-dropdown-item-danger:hover{background-color:rgba(var(--error-rgb),.1)}.user-dropdown-divider{background:var(--border-color);height:1px;margin:.25rem 0}.dropdown-icon{font-size:1rem;text-align:center;width:20px}@media (max-width:1280px){.navbar-container{column-gap:1.15rem;padding:0 1.5rem}.navbar-brand{font-size:1.35rem;gap:.6rem}.brand-icon{font-size:1.6rem}.navbar-menu{gap:.25rem}.navbar-link{font-size:.875rem;padding:.5rem .7rem}}@media (max-width:1024px){.navbar-container{column-gap:1rem;padding:0 1.25rem}}@media (max-width:768px){.navbar{padding-top:env(safe-area-inset-top,0)}.navbar-container{align-items:center;display:flex;gap:.5rem;height:auto;justify-content:space-between;min-height:70px;min-height:var(--nav-top-inner-height,70px);padding:0 max(1rem,env(safe-area-inset-right,0px)) 0 max(1rem,env(safe-area-inset-left,0px))}.brand-text,.navbar-menu{display:none}.navbar-bottom{align-items:center;background-color:var(--bg-card);border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -4px 20px #00000040;box-sizing:border-box;display:flex;gap:.15rem;justify-content:space-between;left:0;min-height:calc(56px + env(safe-area-inset-bottom, 0px));min-height:calc(var(--nav-bottom-inner-height, 56px) + env(safe-area-inset-bottom, 0px));padding:0 max(.5rem,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0) max(.5rem,env(safe-area-inset-left,0px));position:fixed;right:0;z-index:999}.navbar-more-backdrop{background:#00000073;border:none;cursor:pointer;display:block;inset:0;margin:0;padding:0;position:fixed;z-index:1001}.navbar-more-sheet{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px 16px 0 0;bottom:calc(56px + env(safe-area-inset-bottom, 0px));bottom:calc(var(--nav-bottom-inner-height, 56px) + env(safe-area-inset-bottom, 0px));box-shadow:0 -8px 32px #00000059;display:block;left:0;max-height:min(70vh,420px);overflow:auto;pointer-events:none;position:fixed;right:0;transform:translateY(105%);transition:transform .22s ease,visibility .22s ease;visibility:hidden;z-index:1002}.navbar-more-sheet.is-open{pointer-events:auto;transform:translateY(0);visibility:visible}.navbar-more-sheet-inner{display:flex;flex-direction:column;padding:.5rem 0 calc(.75rem + env(safe-area-inset-bottom, 0px))}.navbar-more-link{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.75rem;min-height:48px;padding:.85rem 1.25rem;text-align:left;text-decoration:none;transition:background-color var(--transition-fast)}.navbar-more-link:focus-visible,.navbar-more-link:hover{background-color:var(--bg-hover)}.navbar-more-link.active{background:rgba(var(--accent-primary-rgb),.08);color:var(--accent-primary)}.navbar-more-link-icon{flex-shrink:0;font-size:1.25rem;text-align:center;width:1.5rem}.navbar-bottom-link{-webkit-tap-highlight-color:transparent;flex:1 1;justify-content:center;min-height:44px;min-width:0;padding:.35rem .1rem}.navbar-bottom-label{font-size:.68rem;line-height:1.1;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.navbar-actions,.navbar-auth{gap:.35rem}.navbar-auth .btn-login,.navbar-auth .btn-signup{font-size:.8rem;padding:.45rem .65rem;white-space:nowrap}.user-link-name{max-width:min(28vw,9ch);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-link-wrapper{max-width:min(42vw,200px)}.theme-toggle{flex-shrink:0;height:44px;min-height:44px;min-width:44px;width:44px}}.site-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);color:var(--text-secondary);margin-top:auto;padding:1.5rem 2rem}.footer-container{gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px}.footer-container,.footer-links{align-items:center;display:flex;flex-wrap:wrap}.footer-links{gap:.5rem 1.25rem}.footer-link{color:var(--text-secondary);font-size:.9rem;text-decoration:none}.footer-link:hover{color:var(--accent-primary);text-decoration:underline}.footer-meta{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.footer-brand{color:var(--text-primary);font-weight:600}.footer-copy{color:var(--text-secondary)}@media (max-width:768px){.site-footer{padding:1rem 1rem calc(1rem + 56px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(1rem + var(--nav-bottom-inner-height, 56px) + env(safe-area-inset-bottom, 0px))}.footer-container{align-items:flex-start;flex-direction:column;text-align:left}}.layout{background-color:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:2rem;transition:background-color var(--transition-normal);width:100%}.full-width-layout{background-color:var(--bg-primary);display:flex;flex-direction:column;height:100vh;overflow:hidden}.full-width-layout--body-scroll{height:auto;min-height:100vh;overflow:visible}.full-width-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto}.full-width-content--body-scroll{display:block;flex:none;min-height:0;overflow:visible}@media (max-width:1024px){.main-content{padding:1.5rem}}@media (max-width:768px){.main-content{padding:1rem 1rem calc(4rem + env(safe-area-inset-bottom, 0px));padding:1rem 1rem var(--layout-pad-bottom-mobile,calc(4rem + env(safe-area-inset-bottom, 0px)))}}.home-page{margin:0 auto;max-width:1200px;padding:0;width:100%}.release-banner{background:linear-gradient(135deg,#6366f11f,#8b5cf61f);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);justify-content:space-between;margin-top:1rem;padding:.75rem 1rem}.release-banner,.release-left{align-items:center;display:flex;gap:.75rem}.release-actions{margin-left:auto}.release-banner .badge{background:var(--accent-primary);border-radius:6px;color:var(--text-inverse);font-size:.8rem;font-weight:700;padding:.25rem .5rem}.contribute-banner{align-items:center;background:radial-gradient(70% 140% at 0 0,rgba(var(--accent-primary-rgb),.22) 0,#0000 55%),radial-gradient(70% 140% at 100% 0,rgba(var(--accent-hover-rgb),.18) 0,#0000 55%),linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;gap:1rem;justify-content:space-between;margin-top:.75rem;padding:1rem}.contribute-left{display:flex;flex-direction:column;gap:.35rem}.contribute-title{font-weight:800;letter-spacing:-.01em}.contribute-sub{color:var(--text-secondary);font-size:.95rem}.contribute-actions{display:flex;flex-wrap:wrap;gap:.5rem}.hero{margin-bottom:4rem;padding:4rem 0;text-align:center}.hero-content{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:800px}.hero-title{color:var(--text-primary);font-size:3.5rem;font-weight:800;line-height:1.1;margin:0}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-primary),#8b5cf6);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);font-size:1.25rem;line-height:1.6;max-width:100%}.hero-actions{align-items:center;margin-top:1rem}.cta-actions,.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-primary,.btn-secondary{border:2px solid #0000;display:inline-block;padding:.875rem 2rem}.btn-secondary{border-color:var(--border-color)}.contribute-banner .btn-secondary,.release-banner .btn-secondary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border-color:#0000;box-shadow:var(--shadow-sm);color:var(--text-inverse)}.contribute-banner .btn-secondary:hover,.release-banner .btn-secondary:hover{background:linear-gradient(135deg,var(--accent-hover),var(--accent-primary));border-color:#0000;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-large{font-size:1.125rem;padding:1rem 2.5rem}.hero-visual{align-items:center;display:flex;justify-content:center}.hero-showcase{position:relative;width:100%}.showcase-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.showcase-card{background:linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:1.25rem;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.showcase-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.showcase-icon{font-size:1.75rem;margin-bottom:.5rem}.showcase-title{color:var(--text-primary);font-weight:700;margin-bottom:.25rem}.showcase-sub{color:var(--text-secondary);font-size:.95rem}.showcase-glow{background:radial-gradient(60% 60% at 20% 50%,#6366f140 0,#8b5cf626 40%,#0000 70%);filter:blur(20px);height:120px;inset:-10% -10% auto -10%;pointer-events:none;position:absolute}.main-features{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-bottom:6rem;padding:4rem 0}.main-feature-card{background:linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:2px solid var(--border-color);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem;position:relative;text-align:center;transition:all var(--transition-normal)}.main-feature-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-xl);transform:translateY(-8px)}.main-feature-card.featured{background:linear-gradient(180deg,var(--bg-card),rgba(var(--accent-primary-rgb),.05));border-color:var(--accent-primary);box-shadow:var(--shadow-lg)}.main-feature-badge{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border-radius:12px;color:var(--text-inverse);font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.25rem .75rem;position:absolute;right:1.5rem;text-transform:uppercase;top:-12px}.main-feature-icon{font-size:4rem;margin-bottom:.5rem}.main-feature-title{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.main-feature-description{color:var(--text-secondary);flex-grow:1;font-size:1rem;line-height:1.6}.main-feature-highlights{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.highlight-item{align-items:center;color:var(--text-secondary);display:flex;font-size:.95rem;gap:.75rem;justify-content:flex-start;text-align:left}.highlight-icon{flex-shrink:0;font-size:1.25rem}.main-feature-cta{background:var(--bg-hover);border:2px solid var(--accent-primary);border-radius:var(--radius-lg);color:var(--accent-primary);display:inline-block;font-weight:600;margin-top:auto;padding:.875rem 1.5rem;text-decoration:none;transition:all var(--transition-normal)}.main-feature-cta:hover{background:var(--accent-primary);color:var(--text-inverse);transform:translateX(4px)}.features{margin-bottom:6rem;padding:6rem 0}.section-title{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:3rem;text-align:center}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}.feature-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:2rem;text-align:center;transition:all var(--transition-normal)}.feature-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.feature-icon{display:block;font-size:3rem;margin-bottom:1rem}.feature-card h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.75rem}.feature-card p{color:var(--text-secondary);line-height:1.6}.use-cases{background-color:var(--bg-secondary);border-radius:var(--radius-xl);margin-bottom:6rem;padding:4rem 2rem}.use-cases-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1200px}.use-case-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem;transition:all var(--transition-normal)}.use-case-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.use-case-header{align-items:center;display:flex;gap:1rem}.use-case-icon{flex-shrink:0;font-size:2.5rem}.use-case-card h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.use-case-card p{color:var(--text-secondary);flex-grow:1;line-height:1.7}.use-case-link{align-items:center;color:var(--accent-primary);display:inline-flex;font-weight:600;gap:.5rem;text-decoration:none;transition:all var(--transition-normal)}.use-case-link:hover{color:var(--accent-hover);gap:.75rem}.cta{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:var(--radius-xl);margin-bottom:4rem;padding:4rem 2rem;text-align:center}.cta h2{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta p{color:var(--text-secondary);font-size:1.25rem;margin-bottom:2rem}@media (max-width:1024px){.hero{gap:3rem}.hero,.main-features{grid-template-columns:1fr}.main-features{gap:2rem}.showcase-grid{grid-template-columns:1fr 1fr}.hero-title{font-size:2.5rem}.features-grid,.use-cases-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.home-page{padding:0}.release-banner{align-items:flex-start;flex-direction:column;gap:.5rem}.release-actions{width:100%}.release-actions .btn-secondary{text-align:center;width:100%}.contribute-banner{align-items:flex-start;flex-direction:column}.contribute-actions{width:100%}.contribute-actions .btn-secondary{justify-content:center;text-align:center;width:100%}.hero{margin-bottom:3rem;padding:2.5rem 0 2rem}.hero-title{font-size:2rem}.main-features{margin-bottom:3.5rem;padding:2.5rem 0 3rem}.features-grid,.main-features,.use-cases-grid{grid-template-columns:1fr}.use-cases{margin-bottom:3.5rem;padding:3rem 1.5rem}.showcase-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.hero-actions .btn-primary,.hero-actions .btn-secondary{text-align:center;width:100%}.section-title{font-size:clamp(1.65rem,5vw,2.5rem);margin-bottom:2rem}.features{margin-bottom:3.5rem;padding:3.5rem 0}.cta{margin-bottom:3rem;padding:3rem 1.5rem}.cta h2{font-size:clamp(1.65rem,5.5vw,2.5rem)}.cta p{margin-bottom:1.5rem}.cta p,.hero-subtitle{font-size:1.05rem}.main-feature-title{font-size:1.5rem}.main-feature-card{padding:1.75rem}}@media (max-width:480px){.hero-title{font-size:1.75rem}.section-title{font-size:1.5rem;margin-bottom:1.5rem}.use-cases{margin-bottom:2.5rem;padding:2.25rem 1.15rem}.features{margin-bottom:2.75rem;padding:2.75rem 0}.cta h2{font-size:1.45rem}.cta p{font-size:.98rem}.main-features{margin-bottom:2.5rem;padding:2rem 0 2.5rem}}@media (prefers-reduced-motion:reduce){.btn-primary:hover,.btn-secondary:hover,.contribute-banner .btn-secondary:hover,.feature-card:hover,.main-feature-card:hover,.main-feature-cta:hover,.release-banner .btn-secondary:hover,.showcase-card:hover,.use-case-card:hover{transform:none}}.login-container{align-items:center;background-color:var(--bg-secondary);display:flex;justify-content:center;min-height:calc(100vh - 70px);padding:2rem}.login-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:480px;padding:3rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:.5rem}.login-header p{color:var(--text-secondary);font-size:1rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-button{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border:none;border-radius:var(--radius-md);color:var(--text-inverse);cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.875rem;transition:all var(--transition-normal)}.login-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-button.loading{color:#0000;position:relative}.login-button.loading:after{animation:spin .6s linear infinite;border:2px solid var(--text-inverse);border-radius:50%;border-top:2px solid #0000;content:"";height:20px;left:50%;margin-left:-10px;margin-top:-10px;position:absolute;top:50%;width:20px}.login-footer{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:2rem;text-align:center}.login-footer p{color:var(--text-secondary);font-size:.875rem}.signup-container{align-items:center;background-color:var(--bg-secondary);display:flex;justify-content:center;min-height:calc(100vh - 70px);padding:2rem}.signup-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:480px;padding:3rem;width:100%}.signup-header{margin-bottom:2rem;text-align:center}.signup-header h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:.5rem}.signup-header p{color:var(--text-secondary);font-size:1rem}.signup-form{gap:1.5rem}.form-group,.signup-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group input{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;padding:.875rem;transition:all var(--transition-fast)}.form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input.error{border-color:var(--error)}.field-error{color:var(--error);margin-top:-.25rem}.error-message{background-color:#ef44441a}.error-banner{margin-bottom:.5rem}.success-message{background-color:#10b9811a;border:1px solid var(--success);border-radius:var(--radius-md);color:var(--success);margin-bottom:1.5rem;padding:1.5rem;text-align:center}.success-message p{margin-bottom:.5rem}.email-hint{color:var(--text-secondary);font-size:.875rem;margin-top:.5rem}.signup-button{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border:none;border-radius:var(--radius-md);color:var(--text-inverse);cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.875rem;transition:all var(--transition-normal)}.signup-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.signup-button:active:not(:disabled){transform:translateY(0)}.signup-button:disabled{cursor:not-allowed;opacity:.6}.signup-button.loading{color:#0000;position:relative}.signup-button.loading:after{animation:spin .6s linear infinite;border:2px solid var(--text-inverse);border-radius:50%;border-top:2px solid #0000;content:"";height:20px;left:50%;margin-left:-10px;margin-top:-10px;position:absolute;top:50%;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.signup-footer{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:2rem;text-align:center}.signup-footer p{color:var(--text-secondary);font-size:.875rem}.link-button{color:var(--accent-primary);font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.link-button:hover{color:var(--accent-hover);text-decoration:underline}.bp-breadcrumbs{margin:0 0 .75rem}.bp-breadcrumbs-list{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:1px solid var(--border-color);border-radius:999px;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:.6rem .85rem}.bp-breadcrumbs--compact .bp-breadcrumbs-list{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;box-shadow:none;padding:0}.bp-breadcrumbs-item{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.9rem;font-weight:500;gap:.4rem}.bp-bc-current,.bp-bc-link{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;gap:.45rem;padding:.35rem .55rem;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.bp-breadcrumbs--compact .bp-bc-current,.bp-breadcrumbs--compact .bp-bc-link{border-radius:10px;padding:.15rem .25rem}.bp-breadcrumbs--compact .bp-bc-current{background:#0000;border-color:#0000;color:var(--text-secondary)}.bp-breadcrumbs--compact .bp-bc-icon{display:none}.bp-bc-link{color:var(--text-primary);text-decoration:none}.bp-bc-link:hover{background:var(--bg-hover);border-color:var(--border-hover)}.bp-bc-current{background:#0000001f;border-color:var(--border-color);color:var(--text-secondary)}.bp-bc-icon{font-size:.95rem}.bp-bc-icon,.bp-bc-label{line-height:1}.bp-bc-sep{margin:0 .1rem;opacity:.55}@media (max-width:768px){.bp-breadcrumbs-list{-webkit-overflow-scrolling:touch;border-radius:18px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}}.maps-container{margin:0 auto;max-width:1400px;padding:1.5rem 1.25rem 3rem;width:100%}.maps-content{animation:contentReveal .5s ease-out}.maps-header{margin-bottom:2.5rem;text-align:center}.maps-header.maps-header--hero{background:linear-gradient(145deg,var(--bg-card) 0,var(--bg-secondary) 100%);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;padding:2rem 1.5rem;position:relative}.maps-header.maps-header--hero:before{background:linear-gradient(90deg,var(--accent-primary),var(--accent-hover));content:"";height:3px;left:0;opacity:.9;position:absolute;right:0;top:0}.maps-header h1{color:var(--text-primary);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 .5rem}.maps-header p{color:var(--text-secondary);font-size:1rem;margin:.5rem auto 0;max-width:480px}.maps-body{margin-top:2rem}.maps-game-bar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.maps-game-bar-label{color:var(--text-secondary);flex-shrink:0;font-size:.8125rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.maps-game-pills{display:flex;flex-wrap:wrap;gap:.5rem}.maps-game-pill{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:9999px;color:var(--text-secondary);cursor:pointer;font-size:.9375rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s,border-color .2s,color .2s}.maps-game-pill:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.maps-game-pill--active{background:var(--bg-card);border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(59 130 246,.2);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb,59 130 246),.2);color:var(--accent-primary)}.maps-main{min-height:200px}.maps-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.map-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);color:inherit;display:block;overflow:hidden;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .2s}.map-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.map-card-image{aspect-ratio:16/10;overflow:hidden;position:relative;width:100%}.map-card-image img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.map-card:hover .map-card-image img{transform:scale(1.06)}.map-card-placeholder{align-items:center;background:var(--bg-tertiary);color:var(--text-secondary);display:flex;font-size:.875rem;height:100%;justify-content:center;width:100%}.map-card-overlay{background:linear-gradient(0deg,#000000e0 0,#00000080 55%,#0000);bottom:0;color:#fff;display:flex;flex-direction:column;gap:.25rem;left:0;padding:1.25rem 1rem 1rem;position:absolute;right:0}.map-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;display:-webkit-box;font-size:1.0625rem;font-weight:600;line-height:1.35;margin:0;overflow:hidden;text-shadow:0 1px 3px #0006}.map-card-date{color:#ffffffd9;font-size:.75rem}.no-games-empty,.no-maps{align-items:center;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--radius-xl);color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem;padding:3rem 2rem;text-align:center}.no-games-empty-icon,.no-maps-icon{font-size:2.5rem;opacity:.6}.no-games-empty p,.no-maps p{font-size:1rem;margin:0;max-width:320px}.no-games-empty .help-text,.no-maps .help-text{color:var(--text-secondary);font-size:.9375rem}.maps-error,.maps-loading{align-items:center;display:flex;font-size:1rem;justify-content:center;min-height:280px;padding:2rem}.maps-loading{color:var(--text-secondary)}.maps-error{background-color:#ef444414;border:1px solid #ef44444d;border-radius:var(--radius-lg);color:var(--error)}@media (max-width:768px){.maps-container{padding:1rem 1rem 2rem}.maps-header.maps-header--hero{margin-bottom:1.75rem;padding:1.5rem 1rem}.maps-header h1{font-size:1.5rem}.maps-body{margin-top:1.5rem}.maps-game-bar{align-items:flex-start;flex-direction:column;margin-bottom:1.5rem}.maps-grid{gap:1.25rem;grid-template-columns:1fr}.map-card-image{aspect-ratio:4/3}}.new-strategy-form{background:#fff;background:var(--bg-card,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;border-radius:var(--radius-lg,8px);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-md,0 2px 4px #0000001a);margin:2rem auto;max-width:600px;padding:2rem}.new-strategy-form h2{margin-bottom:1.5rem}.form-group label,.new-strategy-form h2{color:#333;color:var(--text-primary,#333)}.form-group .required{color:#dc3545;color:var(--error,#dc3545)}.form-group input,.form-group select{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;border-radius:var(--radius-md,4px);color:#333;color:var(--text-primary,#333);font-family:inherit;font-size:1rem;padding:.75rem}.form-group input:focus,.form-group select:focus{border-color:#0366d6;border-color:var(--accent-primary,#0366d6)}.form-hint{display:block;font-size:.875rem;font-style:italic;margin-top:.5rem}.form-hint,.loading-teams,.no-teams{color:#666;color:var(--text-secondary,#666)}.loading-teams,.no-teams{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border-radius:4px;border-radius:var(--radius-md,4px);padding:1rem;text-align:center}.no-teams p{margin:0 0 .5rem}.link-primary{color:#0366d6;color:var(--accent-primary,#0366d6);font-weight:500;text-decoration:none}.link-primary:hover{text-decoration:underline}.submit-btn{background:linear-gradient(135deg,#0366d6,#0256b9);background:linear-gradient(135deg,var(--accent-primary,#0366d6),var(--accent-hover,#0256b9));border:none;border-radius:4px;border-radius:var(--radius-md,4px);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-md,0 2px 4px #0000001a);color:#fff;color:var(--text-inverse,#fff);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;transition:all .2s;transition:all var(--transition-fast,.2s);width:100%}.submit-btn:hover{box-shadow:0 4px 6px #00000026;box-shadow:var(--shadow-lg,0 4px 6px #00000026);transform:translateY(-2px)}.error{border:1px solid #dc3545;border:1px solid var(--error,#dc3545);border-radius:4px;border-radius:var(--radius-md,4px);color:#dc3545;color:var(--error,#dc3545);font-size:.9rem;margin-bottom:1rem;padding:.75rem}.strategy-preview{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.strategy-preview:not(.strategy-preview--card){height:auto;min-height:0}.strategy-preview-container{border-radius:var(--radius-md);min-height:400px}.strategy-preview:not(.strategy-preview--card) .strategy-preview-container{height:auto;min-height:400px}.strategy-preview--card .strategy-preview-container{height:100%;min-height:0}.strategy-preview-clickable{cursor:pointer;transition:all var(--transition-fast)}.strategy-preview-clickable:hover{box-shadow:0 0 0 2px var(--accent-primary)}.strategy-preview-empty,.strategy-preview-error,.strategy-preview-loading,.strategy-preview-no-image{color:var(--text-secondary);font-size:.875rem;padding:2rem;text-align:center}.strategy-preview-error{color:var(--error)}.preview-edit-overlay{align-items:center!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important;background:#0006!important;border-radius:var(--radius-lg);bottom:0!important;cursor:pointer!important;display:flex!important;height:100%!important;justify-content:center!important;left:0!important;opacity:0!important;pointer-events:none!important;position:absolute!important;right:0!important;top:0!important;transition:opacity .25s cubic-bezier(.4,0,.2,1)!important;width:100%!important;z-index:10!important}.strategy-preview-clickable:hover .preview-edit-overlay{opacity:1!important;pointer-events:all!important}.preview-edit-overlay.viewing-version{cursor:pointer!important}.strategy-preview-container:hover .preview-edit-overlay.viewing-version{opacity:1!important;pointer-events:all!important}.strategy-preview-clickable.overlay-clicked .preview-edit-overlay{opacity:0!important;pointer-events:none!important}.strategy-preview-container{position:relative!important}.strategy-preview-clickable:hover .canvas-container,.strategy-preview-clickable:hover .canvas-container *,.strategy-preview-clickable:hover .canvas-container canvas,.strategy-preview-clickable:hover [data-testid=canvas-container]{pointer-events:none!important}.preview-edit-text{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;border:1px solid #ffffff26;border-radius:var(--radius-md);box-shadow:0 4px 12px #0000004d,inset 0 0 0 1px #ffffff0d;color:#fffffff2;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;letter-spacing:1.5px;padding:.5rem 1rem;position:relative;text-transform:uppercase;transition:all .25s cubic-bezier(.4,0,.2,1)}.preview-edit-text:before{background:#ffffffe6;content:"";height:14px;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;opacity:.9;transition:opacity .25s ease;width:14px}.preview-edit-overlay:hover .preview-edit-text{background:#000000a6;border-color:#ffffff40;box-shadow:0 6px 16px #0006,inset 0 0 0 1px #ffffff1a;transform:translateY(-1px)}.preview-edit-overlay:hover .preview-edit-text:before{opacity:1}.strategy-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:inherit;display:block;overflow:hidden;position:relative;text-decoration:none;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.strategy-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-xl);transform:translateY(-6px)}.strategy-card--private:hover{border-color:#8b5cf680;box-shadow:0 12px 24px -8px #8b5cf640}.strategy-card--team:hover{border-color:#3b82f680;box-shadow:0 12px 24px -8px #3b82f640}.strategy-card--public:hover{border-color:#10b98180;box-shadow:0 12px 24px -8px #10b98140}.strategy-card-pill{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;border-radius:9999px;color:#fff;font-size:.6875rem;font-weight:700;left:.75rem;letter-spacing:.04em;padding:.25rem .6rem;position:absolute;text-transform:uppercase;top:.75rem;z-index:2}.strategy-card--private .strategy-card-pill{background:#8b5cf6e6}.strategy-card--team .strategy-card-pill{background:#3b82f6e6}.strategy-card--public .strategy-card-pill{background:#10b981e6}.strategy-card .strategy-preview{background:var(--bg-secondary);height:180px;overflow:hidden;position:relative;width:100%}.strategy-card .strategy-preview>.strategy-preview,.strategy-card .strategy-preview>.strategy-preview--card{height:100%;min-height:0}.strategy-card .strategy-preview img{height:100%;object-fit:cover;opacity:.92;transition:transform .4s ease;width:100%}.strategy-card:hover .strategy-preview .strategy-preview-container{transform:scale(1.08);transition:transform .4s ease}.strategy-card:hover .strategy-preview img{transform:scale(1.08)}.strategy-card-overlay{background:linear-gradient(0deg,#000000e0 0,#00000080 55%,#0000);bottom:0;color:#fff;display:flex;flex-direction:column;gap:.5rem;left:0;padding:1.5rem 1rem 1rem;position:absolute;right:0}.strategy-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;display:-webkit-box;font-size:1.0625rem;font-weight:600;line-height:1.35;margin:0;overflow:hidden;text-shadow:0 1px 3px #0006}.strategy-card-meta{align-items:center;color:#ffffffe0;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.4rem}.strategy-card-badge{align-items:center;background:#ffffff2e;border-radius:var(--radius-sm);display:inline-flex;font-size:.6875rem;font-weight:600;gap:.2rem;padding:.2rem .4rem}.strategy-card-rating{background:#eab30866;color:#fef08a}.strategy-card-forks{background:#22c55e66;color:#86efac}.strategy-card-version{background:#3b82f666;color:#93c5fd}.strategy-card-forked{background:#8b5cf666;color:#c4b5fd}.strategy-card-byline{color:#ffffffb3;font-size:.6875rem;margin-left:auto}.strategies-container{margin:0 auto;max-width:1400px;padding:1.5rem 1.25rem 3rem;width:100%}.strategies-content{animation:contentReveal .5s ease-out}.strategies-header{background:linear-gradient(145deg,var(--bg-card) 0,var(--bg-secondary) 100%);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:2.5rem;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center}.strategies-header:before{background:linear-gradient(90deg,var(--accent-primary),var(--accent-hover));content:"";height:3px;left:0;opacity:.9;position:absolute;right:0;top:0}.strategies-header h1{color:var(--text-primary);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 .5rem}.strategies-header p{color:var(--text-secondary);font-size:1rem;margin:0 auto 1.5rem;max-width:480px}.new-strategy-btn{align-items:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border:none;border-radius:9999px;box-shadow:0 4px 14px rgba(59 130 246,.35);box-shadow:0 4px 14px rgba(var(--accent-primary-rgb,59 130 246),.35);color:var(--text-inverse);cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.new-strategy-btn:hover{box-shadow:0 6px 20px rgba(59 130 246,.4);box-shadow:0 6px 20px rgba(var(--accent-primary-rgb,59 130 246),.4);transform:translateY(-2px)}.new-strategy-btn-icon{font-size:1.125rem;line-height:1;opacity:.95}.strategies-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:.25rem 0}.strategies-tab-pill{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:9999px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.strategies-tab-pill:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.strategies-tab-pill--active{background:var(--bg-card);border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(59 130 246,.2);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb,59 130 246),.2);color:var(--accent-primary)}.strategies-tab-pill--active.strategies-tab-pill--private{border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf640;color:#7c3aed}.strategies-tab-pill--active.strategies-tab-pill--team{border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(59 130 246,.2);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb,59 130 246),.2);color:var(--accent-hover)}.strategies-tab-pill--active.strategies-tab-pill--public{border-color:#10b981;box-shadow:0 0 0 2px #10b98140;color:#059669}.strategies-tab-pill-icon{font-size:1rem;line-height:1}.strategies-tab-pill-label{line-height:1.2}.strategies-tab-pill-count{background:var(--bg-tertiary);border-radius:9999px;color:var(--text-secondary);font-size:.75rem;font-weight:700;min-width:1.25rem;padding:.125rem .4rem;text-align:center}.strategies-tab-pill--active .strategies-tab-pill-count{background:rgba(59 130 246,.15);background:rgba(var(--accent-primary-rgb,59 130 246),.15);color:inherit}.strategies-tabpanel{margin-bottom:1rem}.strategies-section-block{margin-bottom:2.75rem}.strategies-section-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem}.strategies-section-block.section-accent-private .strategies-section-header{border-bottom-color:#8b5cf666}.strategies-section-block.section-accent-team .strategies-section-header{border-bottom-color:#3b82f666}.strategies-section-block.section-accent-public .strategies-section-header{border-bottom-color:#10b98166}.strategies-section-icon{filter:grayscale(.2);font-size:1.5rem;line-height:1}.strategies-section-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin:0}.strategies-section-count{background:var(--bg-secondary);border-radius:9999px;color:var(--text-secondary);font-size:.8125rem;font-weight:600;margin-left:auto;padding:.25rem .6rem}.strategies-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.no-strategies{align-items:center;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);display:flex;flex-direction:column;gap:.75rem;grid-column:1/-1;padding:2.5rem 2rem;text-align:center}.no-strategies-icon{font-size:2rem;opacity:.6}.no-strategies p{font-size:1rem;margin:0;max-width:320px}.strategies-error,.strategies-loading{align-items:center;display:flex;font-size:1.0625rem;justify-content:center;min-height:320px;padding:2rem}.strategies-loading{color:var(--text-secondary)}.strategies-error{background-color:#ef444414;border:1px solid #ef44444d;border-radius:var(--radius-lg);color:var(--error)}@keyframes contentReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.strategies-container{padding:1rem 1rem 2rem}.strategies-header{margin-bottom:1.75rem;padding:1.5rem 1rem}.strategies-header h1{font-size:1.5rem}.strategies-grid{gap:1.25rem;grid-template-columns:1fr}.strategies-section-block{margin-bottom:2rem}}.operator-palette{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1rem}.operator-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.operator-item{border:1px solid #e1e4e8;border-radius:6px;cursor:pointer;padding:8px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.operator-item:hover{background:#f6f8fa;border-color:#0366d6;transform:translateY(-2px)}.operator-item:active{cursor:grabbing}.operator-item img{border-radius:4px;height:48px;object-fit:cover;width:48px}.operator-item span{color:#24292e;font-size:.8rem;text-align:center}.operator-item.dragging{box-shadow:0 5px 15px #0003;cursor:grabbing;transform:scale(1.05)}.operator-item:hover{cursor:grab}.save-draft-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all var(--transition-fast)}.save-draft-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.save-draft-btn:disabled{cursor:not-allowed;opacity:.5}.save-draft-btn-saved{background:linear-gradient(135deg,#22c55ee6,#16a34ae6)!important;border-color:#16a34a!important;color:#fff!important;cursor:default!important;opacity:1!important}.save-draft-btn-saved:hover{background:linear-gradient(135deg,#22c55e,#16a34a)!important;transform:none!important}.publish-btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.publish-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.save-draft-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.save-draft-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:500px;overflow:hidden;width:100%}.save-draft-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.save-draft-modal-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.save-draft-modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;padding:0;transition:all var(--transition-fast);width:2rem}.save-draft-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.save-draft-modal-content{padding:1.5rem}.save-draft-modal-content p{color:var(--text-secondary);line-height:1.5;margin:0 0 1.5rem}.save-draft-form-group{margin-bottom:1.5rem}.save-draft-form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.save-draft-form-group select,.save-draft-form-group textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.875rem;padding:.625rem;transition:all var(--transition-fast);width:100%}.save-draft-form-group select:focus,.save-draft-form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.save-draft-form-group select:disabled,.save-draft-form-group textarea:disabled{cursor:not-allowed;opacity:.5}.save-draft-help{color:var(--text-tertiary);font-size:.75rem;font-style:italic;margin-top:.5rem}.save-draft-error{background:#ef44441a;border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:.875rem;margin-top:1rem;padding:.75rem}.save-draft-modal-footer{border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.publish-draft-btn{align-items:center;background:var(--accent-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-inverse);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all var(--transition-fast)}.publish-draft-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.publish-draft-btn:disabled{cursor:not-allowed;opacity:.5}.publish-draft-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.publish-draft-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:600px;overflow:hidden;width:100%}.publish-draft-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.publish-draft-modal-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.publish-draft-modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;padding:0;transition:all var(--transition-fast);width:2rem}.publish-draft-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.publish-draft-modal-content{padding:1.5rem}.version-preview{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;padding:1.5rem}.version-preview-item{align-items:center;display:flex;flex-direction:column;gap:.5rem}.version-preview-label{color:var(--text-tertiary);font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.version-preview-value{color:var(--text-primary);font-size:1.5rem;font-weight:600}.version-preview-value.next{color:var(--accent-primary)}.version-preview-arrow{color:var(--text-tertiary);font-size:1.5rem}.publish-draft-form-group{margin-bottom:1.5rem}.publish-draft-form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.publish-draft-form-group select,.publish-draft-form-group textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.875rem;padding:.625rem;transition:all var(--transition-fast);width:100%}.publish-draft-form-group select:focus,.publish-draft-form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.publish-draft-form-group select:disabled,.publish-draft-form-group textarea:disabled{cursor:not-allowed;opacity:.5}.publish-draft-help{color:var(--text-tertiary);font-size:.75rem;font-style:italic;margin-top:.5rem}.draft-summary-display{background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1rem}.draft-summary-display strong{color:var(--text-primary);display:block;font-size:.875rem;margin-bottom:.5rem}.draft-summary-display p{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.publish-draft-error{background:#ef44441a;border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:.875rem;margin-top:1rem;padding:.75rem}.publish-draft-modal-footer{border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.draft-indicator{align-items:center;border:1px solid;border-radius:var(--radius-sm);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.375rem .75rem}.version-selector{display:inline-block;position:relative}.version-selector-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1rem;transition:all var(--transition-fast)}.version-selector-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.version-selector-btn:disabled{cursor:not-allowed;opacity:.5}.version-label{color:var(--text-secondary);font-weight:400}.version-value{font-weight:600}.version-arrow{color:var(--text-tertiary);font-size:.75rem;margin-left:auto}.version-selector-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:100}.version-selector-dropdown{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);left:0;max-height:300px;min-width:250px;overflow-y:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:200}.version-selector-empty,.version-selector-loading{color:var(--text-secondary);font-size:.875rem;padding:1rem;text-align:center}.version-option{align-items:center;background:none;border:none;border-bottom:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all var(--transition-fast);width:100%}.version-option:last-child{border-bottom:none}.version-option:hover{background:var(--bg-hover)}.version-option.selected{background:#3b82f61a;color:var(--accent-primary)}.version-option-icon{font-size:1rem}.version-option-string{flex:1 1;font-weight:500}.version-option-date{color:var(--text-tertiary);font-size:.75rem}.version-option-check{color:var(--accent-primary);font-weight:600}.strategy-edit-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.strategy-edit-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:95vh;max-width:95vw;overflow:hidden;width:100%}.modal-header-main{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:1rem}.modal-success-banner{animation:slideDown .3s ease-out;background:#22c55e1a;border-bottom:1px solid #22c55e4d;color:#16a34a;flex-shrink:0;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem}.draft-saved-notice{background:#fbbf241a;border:1px solid #fbbf244d;border-radius:var(--radius-md);margin-bottom:1rem;padding:.75rem 1rem}.draft-saved-notice p{color:#d97706;font-size:.875rem;font-weight:500;margin:0}.unsaved-changes-indicator{align-items:center;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:var(--radius-sm);color:#f59e0b;display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.25rem .625rem;white-space:nowrap}.modal-error-banner{background:#ef44441a;border-bottom:1px solid var(--border-color);color:var(--error);flex-shrink:0;font-size:.875rem;padding:.75rem 1.5rem}.modal-content{display:flex;flex:1 1;gap:1.5rem;min-height:0;overflow:hidden}.modal-tools-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow:hidden;padding:1.5rem;width:280px}.modal-tools-panel h3{border-bottom:1px solid var(--border-color);color:var(--text-primary);flex-shrink:0;font-size:1rem;font-weight:600;margin:0;padding-bottom:.75rem}.tools-grid{grid-gap:.75rem;display:grid;flex-shrink:0;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.tool-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem;transition:all var(--transition-fast)}.tool-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.tool-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:var(--shadow-md);color:var(--text-inverse)}.elements-list{border-top:1px solid var(--border-color);display:flex;flex:1 1;flex-direction:column;min-height:0;padding-top:1rem}.elements-list h3{color:var(--text-primary);flex-shrink:0;font-size:1rem;font-weight:600;margin:0 0 .75rem}.elements-container{flex:1 1;min-height:0;overflow-y:auto;padding-right:.5rem}.elements-container::-webkit-scrollbar{width:6px}.elements-container::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.elements-container::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}.element-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.5rem;padding:.75rem;transition:all var(--transition-fast)}.element-item:hover{background:var(--bg-hover);border-color:var(--border-hover)}.element-item.selected{background:#3b82f61a;border-color:var(--accent-primary);color:var(--accent-primary)}.element-item.draft-element{border-left:3px solid #22c55e80}.delete-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem .5rem;transition:all var(--transition-fast)}.delete-btn:hover{background:#ef44441a;color:var(--error)}.modal-canvas-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex:1 1;min-height:0;overflow:hidden;position:relative}.modal-canvas-wrapper .canvas-container{align-items:center;background:var(--bg-secondary);display:flex;height:100%;justify-content:center;position:relative;touch-action:none;width:100%}.modal-footer{flex-shrink:0}@media (max-width:768px){.strategy-edit-modal{border-radius:0;max-height:100vh;max-width:100vw}.modal-content{flex-direction:column;padding:1rem}.modal-tools-panel{max-height:40vh;width:100%}.modal-canvas-wrapper{min-height:50vh}}.strategy-forks-list{padding:1rem 0}.strategy-forks-list h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 1rem}.forks-empty,.forks-error,.forks-loading{color:var(--text-secondary);padding:2rem;text-align:center}.forks-error{color:var(--error)}.forks-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.fork-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;padding:1rem;transition:all var(--transition-fast)}.fork-item:hover{background:var(--bg-hover);border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.fork-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.fork-icon{font-size:1.25rem}.fork-name{color:var(--text-primary);flex:1 1;font-weight:500}.fork-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:.25rem}.fork-owner{font-weight:500}.fork-date,.fork-version{color:var(--text-tertiary)}.fork-version{font-size:.75rem;margin-top:.25rem}@media (max-width:768px){.forks-grid{grid-template-columns:1fr}}.strategy-versions-list{padding:.25rem 0}.versions-empty,.versions-error,.versions-loading{color:var(--text-secondary);font-size:.875rem;padding:1rem;text-align:center}.versions-error{color:var(--error)}.versions-timeline{max-height:400px;overflow-y:auto;padding-left:1.25rem;position:relative}.version-item{cursor:pointer;margin-bottom:.5rem;position:relative;transition:all var(--transition-fast)}.version-item:hover{transform:translateX(4px)}.version-item.current{border-left:3px solid var(--accent-primary);margin-left:-1rem;padding-left:1rem}.version-item.selected{background:#8b5cf60d;border-left:3px solid #8b5cf6;border-left:3px solid var(--accent-secondary,#8b5cf6);margin-left:-1rem;padding-left:1rem}.version-item.selected .version-content{background:#8b5cf60d;border-color:#8b5cf6;border-color:var(--accent-secondary,#8b5cf6)}.version-timeline-line{background:var(--border-color);bottom:-.75rem;left:-1.5rem;position:absolute;top:0;width:2px}.version-item:last-child .version-timeline-line{display:none}.version-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.5rem .625rem;transition:all var(--transition-fast)}.version-item:hover .version-content{background:var(--bg-hover);border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.version-header{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.125rem}.version-string{color:var(--text-primary);font-size:.9375rem;font-weight:600}.version-type-badge{border:1px solid;font-weight:500}.version-type-badge.version-type-major{background:#ef44441a;border-color:#ef4444;color:#ef4444}.version-type-badge.version-type-minor{background:#eab3081a;border-color:#eab308;color:#eab308}.version-type-badge.version-type-patch{background:#22c55e1a;border-color:#22c55e;color:#22c55e}.current-badge{background:var(--accent-primary)}.current-badge,.viewing-badge{border-radius:var(--radius-sm);color:var(--text-inverse);font-size:.75rem;font-weight:500;margin-left:auto;padding:.25rem .5rem}.viewing-badge{background:#8b5cf6;background:var(--accent-secondary,#8b5cf6)}.version-meta{color:var(--text-secondary);display:flex;font-size:.7rem;gap:.5rem;margin-bottom:.125rem}.version-author{font-weight:500}.version-date{color:var(--text-tertiary)}.version-summary{background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.7rem;line-height:1.3;margin:.25rem 0;padding:.375rem .5rem}.view-version-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:.7rem;font-weight:500;margin-top:.25rem;padding:.25rem .5rem;transition:all var(--transition-fast)}.view-version-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.draft-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:.375rem;padding:.5rem .625rem}.draft-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.25rem}.draft-info{flex:1 1}.draft-contributor{align-items:center;display:flex;gap:.375rem;margin-bottom:.125rem}.draft-author{color:var(--text-primary);font-size:.875rem;font-weight:600}.draft-date{color:var(--text-tertiary);font-size:.75rem}.draft-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.draft-status-badge{border-radius:var(--radius-sm);font-size:.75rem;gap:.25rem;padding:.1875rem .5rem}.draft-status-draft{border-color:#eab308}.draft-status-pending{border-color:#3b82f6}.draft-status-approved{border-color:#22c55e}.draft-status-rejected{border-color:#ef4444}.draft-version-type{color:var(--text-secondary);font-size:.75rem}.draft-summary{color:var(--text-secondary);font-size:.75rem;line-height:1.3;padding:.375rem .5rem}.draft-preview,.draft-summary{background:var(--bg-secondary);border-radius:var(--radius-sm);margin:.25rem 0}.draft-preview{padding:.25rem .375rem}.draft-preview-label{color:var(--text-tertiary);font-size:.75rem}.draft-actions{border-top:1px solid var(--border-color);display:flex;gap:.5rem;justify-content:flex-end;margin-top:.375rem;padding-top:.375rem}.btn{font-size:.75rem;gap:.375rem;padding:.375rem .75rem}.btn-sm{font-size:.7rem;padding:.25rem .5rem}.draft-reject-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.draft-reject-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:500px;overflow:hidden;width:100%}.draft-reject-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.25rem}.draft-reject-modal-header h4{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.draft-reject-modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;transition:all var(--transition-fast);width:2rem}.draft-reject-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.draft-reject-modal-content{padding:1.25rem}.draft-reject-modal-content p{color:var(--text-primary);margin:0 0 1rem}.draft-reject-form-group{margin-top:1rem}.draft-reject-form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.draft-reject-form-group textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.875rem;min-height:80px;padding:.625rem;resize:vertical;width:100%}.draft-reject-form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a;outline:none}.draft-reject-modal-footer{border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem}.confirm-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirm-modal{animation:slideUp .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.confirm-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.confirm-modal-header h3{color:#333;font-size:1.25rem;font-weight:600;margin:0}.modal-close-btn{color:#666;transition:background-color .2s}.modal-close-btn:hover{background-color:#f0f0f0;color:#333}.confirm-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.confirm-modal-body p{color:#555;font-size:1rem;line-height:1.5;margin:0}.confirm-modal-footer{background-color:#f9f9f9;border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.confirm-modal-footer button{border:none;border-radius:6px;cursor:pointer;font-size:.9375rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.confirm-modal-footer button:disabled{cursor:not-allowed;opacity:.6}.confirm-modal-footer .btn-secondary{background-color:#f0f0f0;color:#333}.confirm-modal-footer .btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.confirm-modal-footer .btn-danger{background-color:#dc3545;color:#fff}.confirm-modal-footer .btn-danger:hover:not(:disabled){background-color:#c82333}.confirm-modal-footer .btn-primary{background-color:#007bff;color:#fff}.confirm-modal-footer .btn-primary:hover:not(:disabled){background-color:#0056b3}@media (max-width:600px){.confirm-modal{margin:1rem;width:95%}.confirm-modal-body,.confirm-modal-footer,.confirm-modal-header{padding:1rem}}.my-drafts-list{display:flex;flex-direction:column;gap:.375rem;max-height:400px;overflow-y:auto}.my-draft-item-wrapper{margin-bottom:.375rem}.my-draft-item-wrapper:last-child{margin-bottom:0}.draft-status-info{font-size:.75rem;margin-top:.25rem;padding-top:.25rem}.my-drafts-empty,.my-drafts-error,.my-drafts-loading{color:var(--text-secondary);font-size:.875rem;padding:1rem;text-align:center}.my-drafts-error{color:var(--error)}.my-drafts-help{color:var(--text-tertiary);font-size:.75rem;margin-top:.5rem}.reject-draft-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2001}.reject-draft-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:500px;overflow:hidden;width:100%}.modal-content p{color:var(--text-secondary);line-height:1.5}.form-group,.modal-content p{margin-bottom:1rem}.form-group label{font-size:.9375rem}.form-group textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.875rem;min-height:100px;padding:.75rem;width:100%}.form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.draft-review-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.draft-review-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:100%}.modal-header{flex-shrink:0}.modal-header-content{align-items:center;display:flex;flex:1 1;gap:1rem}.modal-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.draft-status-badge{align-items:center;border:1px solid;border-radius:var(--radius-md);display:inline-flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.375rem .75rem}.draft-status-draft{background:#eab3081a;border-color:#eab3084d;color:#eab308}.draft-status-pending{background:#3b82f61a;border-color:#3b82f64d;color:#3b82f6}.draft-status-approved{background:#22c55e1a;border-color:#22c55e4d;color:#22c55e}.draft-status-rejected{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.modal-body{flex:1 1;gap:1.5rem;overflow-y:auto;padding:1.5rem}.draft-info-section,.modal-body{display:flex;flex-direction:column}.draft-info-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);gap:.75rem;padding:1rem}.draft-info-row{align-items:center;display:flex;font-size:.875rem;gap:1rem;justify-content:space-between}.draft-info-row strong{color:var(--text-primary);font-weight:600;min-width:150px}.draft-info-row span{color:var(--text-secondary);flex:1 1;text-align:right}.version-type-badge{background:var(--accent-primary);border-radius:var(--radius-sm);color:var(--text-inverse);display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.draft-preview-section{display:flex;flex-direction:column;gap:.75rem}.draft-preview-section h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.draft-preview-container{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-sizing:border-box;display:flex;height:500px;justify-content:center;max-height:600px;min-height:400px;overflow:hidden;padding:1rem;position:relative;width:100%}.draft-preview-no-elements,.draft-preview-no-image{color:var(--text-secondary);font-size:.875rem;padding:2rem;text-align:center}.draft-preview-no-image{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.draft-actions-section{border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:1rem;justify-content:flex-end;padding-top:1rem}.pending-drafts-list{display:flex;flex-direction:column;gap:.375rem;max-height:400px;overflow-y:auto}.pending-draft-item-wrapper{margin-bottom:.375rem}.pending-draft-item-wrapper:last-child{margin-bottom:0}.draft-review-section{margin-top:.25rem}.pending-drafts-empty,.pending-drafts-error,.pending-drafts-loading{color:var(--text-secondary);font-size:.875rem;padding:1rem;text-align:center}.pending-drafts-error{color:var(--error)}.comment-item{border-bottom:1px solid var(--border-color);margin-bottom:0;padding:.5rem 0;position:relative;transition:all var(--transition-fast)}.comment-item:last-child{border-bottom:none}.comment-item:hover{background:var(--bg-hover);border-radius:var(--radius-sm);margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem;padding-right:.5rem}.comment-item.level-0{margin-left:0}.comment-item.level-1{border-bottom:none;border-left:2px solid var(--accent-primary);margin-left:1.25rem;padding-bottom:.375rem;padding-left:.75rem;padding-top:.375rem}.comment-item.level-1:hover{margin-left:.75rem;padding-left:.75rem}.comment-item.level-2{border-bottom:none;border-left:2px solid var(--border-color);margin-left:1.25rem;padding-bottom:.375rem;padding-left:.75rem;padding-top:.375rem}.comment-item.level-2:hover{margin-left:.75rem;padding-left:.75rem}.comment-item.deleted{font-style:italic;opacity:.5;padding:.375rem 0}.deleted-text{color:var(--text-tertiary);font-size:.8125rem}.comment-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:.25rem}.comment-author,.comment-header{align-items:baseline;display:flex;gap:.5rem}.comment-author{flex:1 1;flex-wrap:wrap;min-width:0}.comment-username{color:var(--text-primary);font-size:.8125rem;font-weight:600;line-height:1.2}.comment-date,.comment-edited{color:var(--text-tertiary);font-size:.6875rem;line-height:1.2}.comment-edited{font-style:italic}.comment-actions{display:flex;flex-shrink:0;gap:.125rem;opacity:0;transition:opacity var(--transition-fast)}.comment-item:hover .comment-actions{opacity:1}.comment-action-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:flex;font-size:.75rem;height:20px;justify-content:center;line-height:1;padding:.25rem;transition:all var(--transition-fast);width:20px}.comment-action-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.comment-content{word-wrap:break-word;color:var(--text-primary);font-size:.8125rem;line-height:1.5;margin-bottom:.25rem;padding-right:1.5rem;white-space:pre-wrap}.comment-footer{align-items:center;display:flex;gap:.5rem;margin-top:.25rem}.comment-reply-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--accent-primary);cursor:pointer;font-size:.6875rem;font-weight:500;opacity:.7;padding:.125rem .375rem;transition:all var(--transition-fast)}.comment-reply-btn:hover{background:#3b82f61a;opacity:1}.comment-edit-form,.comment-reply-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:.5rem;margin-top:.5rem;padding:.625rem}.comment-edit-textarea,.comment-reply-textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.8125rem;min-height:60px;padding:.5rem;resize:vertical;transition:all var(--transition-fast);width:100%}.comment-edit-textarea:focus,.comment-reply-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a;outline:none}.comment-edit-actions,.comment-reply-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.comment-replies{border-left:none;margin-left:0;margin-top:.25rem;padding-left:0}.comment-replies .comment-item{border-bottom:none;padding-bottom:.375rem;padding-top:.375rem}.comment-replies .comment-item:last-child{padding-bottom:.5rem}.btn{border-radius:var(--radius-sm);font-size:.6875rem;gap:.25rem;line-height:1.2;padding:.3125rem .625rem}.comment-form{margin-bottom:1rem}.comment-form-textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.875rem;min-height:80px;padding:.625rem;resize:vertical;transition:all var(--transition-fast);width:100%}.comment-form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a;outline:none}.comment-form-textarea:disabled{cursor:not-allowed;opacity:.5}.comment-form-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.btn{font-size:.8125rem}.strategy-comments-section{display:flex;flex-direction:column}.comments-error,.comments-loading{color:var(--text-secondary);font-size:.875rem;padding:1rem;text-align:center}.comments-error{background:#ef44441a;border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error)}.comments-empty{color:var(--text-tertiary);font-size:.875rem;padding:2rem 1rem;text-align:center}.comments-empty p{margin:0}.comments-list{display:flex;flex-direction:column;gap:0}.strategy-rating-section{padding:1rem 0}.strategy-rating-section h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 1rem}.rating-display{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.rating-stars-display{display:flex;gap:.25rem}.rating-star{font-size:1.5rem;transition:all var(--transition-fast)}.rating-star.filled{filter:drop-shadow(0 0 2px rgba(234,179,8,.5))}.rating-star.empty{opacity:.3}.rating-stats{align-items:center;display:flex;gap:.5rem}.rating-average{color:var(--text-primary);font-size:1.5rem;font-weight:600}.rating-count{color:var(--text-secondary);font-size:.875rem}.rating-input{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.rating-input-label{color:var(--text-primary);font-size:.875rem;font-weight:500;margin:0 0 .75rem}.rating-stars-input{display:flex;gap:.5rem;margin-bottom:.75rem}.rating-star-btn{background:none;border:none;cursor:pointer;filter:grayscale(100%);font-size:2rem;opacity:.5;padding:.25rem;transition:all var(--transition-fast)}.rating-star-btn:hover:not(:disabled){filter:grayscale(0);opacity:1;transform:scale(1.2)}.rating-star-btn.active{filter:grayscale(0);opacity:1}.rating-star-btn:disabled{cursor:not-allowed;opacity:.5}.rating-delete-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all var(--transition-fast)}.rating-delete-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.rating-login-prompt{color:var(--text-secondary);font-size:.875rem;margin:1rem 0 0}.rating-login-prompt a{color:var(--accent-primary);text-decoration:none}.rating-login-prompt a:hover{text-decoration:underline}.rating-error{background:#ef44441a;border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:.875rem;margin-top:1rem;padding:.75rem}.contributor-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:.5rem;min-height:auto;padding:.625rem .875rem;transition:all var(--transition-fast)}.contributor-item:hover{border-color:var(--border-hover)}.contributor-item.current-user{border-left:3px solid var(--accent-primary)}.contributor-info{align-items:center;display:flex;flex:1 1;gap:1rem;min-width:0}.contributor-header{align-items:center;display:flex;gap:.5rem;margin-bottom:0;min-width:120px}.contributor-username{color:var(--text-primary);font-size:.875rem;font-weight:600}.contributor-you{color:var(--accent-primary);font-size:.875rem;font-weight:500}.contributor-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:0;min-width:150px}.role-badge{align-items:center;border:1px solid;border-radius:var(--radius-sm);display:inline-flex;gap:.25rem;padding:.1875rem .5rem;white-space:nowrap}.role-owner{background:#eab3081a;border-color:#eab308;color:#eab308}.role-admin{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.role-editor{background:#22c55e1a;border-color:#22c55e;color:#22c55e}.role-read{background:#6b72801a;border-color:#6b7280;color:#6b7280}.contributor-date{color:var(--text-tertiary);font-size:.75rem;white-space:nowrap}.contributor-permissions{display:none}.permissions-label{font-weight:500}.permissions-list{color:var(--text-tertiary)}.contributor-actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn-danger{background:#ef44441a;border-color:#ef4444;color:#ef4444}.btn-danger:hover{background:#ef444433}.add-contributor-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.add-contributor-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:500px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.modal-close-btn{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:2rem;height:2rem;transition:all var(--transition-fast);width:2rem}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-content{padding:1.5rem}.invite-mode-toggle{background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1rem}.invite-mode-toggle label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.invite-link-section{padding:1rem 0}.invite-link-display{display:flex;flex-direction:column;gap:.75rem}.invite-link-display label{color:var(--text-primary);font-size:.875rem;font-weight:500}.invite-link-input-group{display:flex;gap:.5rem}.invite-link-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);flex:1 1;font-size:.875rem;padding:.625rem}.invite-link-help{color:var(--text-tertiary);font-size:.75rem;font-style:italic;margin:0}.generate-invite-section{padding:2rem 0;text-align:center}.generate-invite-section p{color:var(--text-secondary);margin:0 0 1.5rem}.form-group label{font-size:.875rem}.form-group input,.form-group select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;padding:.625rem;transition:all var(--transition-fast);width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input:disabled,.form-group select:disabled{cursor:not-allowed;opacity:.5}.form-help{color:var(--text-tertiary);font-size:.75rem;font-style:italic;margin-top:.5rem}.error-message{background:#ef44441a;border:1px solid var(--error);color:var(--error);font-size:.875rem;margin-top:1rem;padding:.75rem}.modal-footer{border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.contributor-invitations-list{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:2rem}.contributor-invitations-list h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 1rem}.invitations-list{display:flex;flex-direction:column;gap:.75rem}.invitation-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem}.invitation-info{display:flex;flex-direction:column;gap:.25rem}.invitation-email{color:var(--text-primary);font-weight:500}.invitation-token{color:var(--text-tertiary);font-family:monospace;font-size:.75rem}.invitation-date{color:var(--text-tertiary);font-size:.875rem}.strategy-contributors-section{max-width:100%;padding:1rem 0;width:100%}.contributors-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.contributors-header h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.contributors-empty,.contributors-error,.contributors-loading{color:var(--text-secondary);padding:2rem;text-align:center}.contributors-error{color:var(--error)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-md)}.team-strategy-ownership{padding:1rem 0}.team-ownership-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.team-ownership-header h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.team-info{align-items:center;display:flex;gap:.75rem}.team-name{color:var(--text-primary);font-size:1rem;font-weight:600}.team-logo{border-radius:var(--radius-sm);height:2rem;object-fit:cover;width:2rem}.team-ownership-info{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:2rem;padding:1rem}.team-ownership-description{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin:0 0 1rem}.team-ownership-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{color:var(--text-primary);font-size:.875rem}.detail-item strong{color:var(--text-primary);margin-right:.5rem}.team-members-contributors{margin-bottom:2rem}.team-members-contributors h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .75rem}.team-members-note{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 1rem;padding:.75rem}.no-team-members{color:var(--text-secondary);padding:2rem;text-align:center}.team-contributors-list{display:flex;flex-direction:column;gap:.75rem}.team-contributor-wrapper{position:relative}.team-member-badge{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:var(--radius-sm);color:#3b82f6;font-size:.75rem;font-weight:500;padding:.25rem .5rem;position:absolute;right:.5rem;text-transform:capitalize;top:.5rem}.external-contributors{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:2rem}.external-contributors h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .75rem}.external-contributors-note{color:var(--text-secondary);font-size:.875rem;margin:0 0 1rem}.contributors-list{display:flex;flex-direction:column;gap:.75rem}.team-ownership-error,.team-ownership-loading{color:var(--text-secondary);padding:2rem;text-align:center}.team-ownership-error{color:var(--error)}.fork-strategy-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all var(--transition-fast)}.fork-strategy-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.fork-count{color:var(--text-secondary);font-size:.75rem;font-weight:400}.fork-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.fork-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:500px;overflow:hidden;width:100%}.fork-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.fork-modal-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.fork-modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;padding:0;transition:all var(--transition-fast);width:2rem}.fork-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.fork-modal-content{padding:1.5rem}.fork-modal-content p{color:var(--text-secondary);line-height:1.5;margin:0 0 1rem}.fork-info{color:var(--text-tertiary);font-size:.875rem;font-style:italic}.fork-form-group{margin-top:1.5rem}.fork-form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.fork-form-group input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;padding:.625rem;transition:all var(--transition-fast);width:100%}.fork-form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.fork-form-group input:disabled{cursor:not-allowed;opacity:.5}.fork-error{background:#ef44441a;border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:.875rem;margin-top:1rem;padding:.75rem}.fork-modal-footer{border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.btn{padding:.625rem 1.25rem}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:var(--bg-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.forked-from-banner{align-items:center;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:var(--radius-md);display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.forked-from-icon{font-size:1rem}.forked-from-text{color:var(--text-secondary)}.forked-from-link{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:inherit;font-weight:500;padding:0;text-decoration:underline;transition:color var(--transition-fast)}.forked-from-link:hover{color:var(--accent-hover)}.strategy-detail-page{background:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh;padding:0 0 2rem}.strategy-detail-breadcrumbs{padding:.625rem 1.25rem}.strategy-detail-breadcrumbs,.strategy-page-header{background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.strategy-page-header{margin-bottom:.75rem;padding:.5rem 1.25rem}.header-content{align-items:center;display:flex;gap:1rem;justify-content:space-between}.header-main{display:flex;flex:1 1;flex-direction:column;gap:.4rem;min-width:0}.header-title-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between;min-width:0}.strategy-page-title{color:var(--text-primary);font-size:1.125rem;font-weight:600;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-pills{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.header-pill{align-items:center;background:var(--bg-secondary);border:1px solid #0000;border-radius:12px;color:var(--text-secondary);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;line-height:1.2;padding:.25rem .5rem;transition:all var(--transition-fast);vertical-align:middle;white-space:nowrap}.header-pill-draft{background:linear-gradient(135deg,#f59e0b26,#d9770626);border-color:#f59e0b4d;color:#d97706}.header-pill-version{cursor:pointer}.header-pill-version:hover{background:var(--bg-hover);border-color:var(--border-hover)}.header-pill-public{background:#22c55e1a;border-color:#22c55e33;color:#22c55e}.header-pill-private{background:#ef44441a;border-color:#ef444433;color:#ef4444}.header-pill-team{background:#3b82f61a;border-color:#3b82f633;color:#3b82f6}.header-pill-contributors,.header-pill-forks{cursor:pointer}.header-pill-contributors:hover,.header-pill-forks:hover{background:var(--bg-hover);border-color:var(--border-hover)}.pill-icon{font-size:.875rem}.pill-icon,.pill-text{line-height:1}.pill-count{background:var(--bg-primary);border-radius:10px;color:var(--text-primary);font-size:.6875rem;font-weight:600;min-width:1.25rem;padding:.125rem .375rem;text-align:center}.pill-arrow{font-size:.625rem;margin-left:.125rem;transition:transform var(--transition-fast)}.pill-menu-container{position:relative}.pill-menu-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;left:0;max-height:500px;max-width:500px;min-width:300px;overflow:hidden;position:absolute;top:calc(100% + .5rem);z-index:1000}.pill-menu-header{background:var(--bg-secondary);padding:0}.pill-menu-header,.pill-menu-tabs{border-bottom:1px solid var(--border-color)}.pill-menu-tabs{display:flex}.pill-menu-tab{background:var(--bg-secondary);border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.8125rem;font-weight:500;padding:.625rem .75rem;text-align:center;transition:all var(--transition-fast)}.pill-menu-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.pill-menu-tab.active{background:var(--bg-primary);border-bottom-color:var(--accent-primary);color:var(--text-primary);font-weight:600}.pill-menu-header button{font-size:.75rem;height:auto;padding:.375rem .625rem}.pill-menu-content{max-height:350px;overflow-y:auto;padding:.5rem}.header-actions{align-items:center;display:flex;flex-shrink:0;gap:.375rem}.header-action-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;height:28px;justify-content:center;line-height:1;padding:0;transition:all var(--transition-fast);width:28px}.header-action-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.strategy-content-layout{display:flex;flex:1 1;flex-direction:column;gap:.75rem;margin:0 auto;max-width:1600px;overflow-x:hidden;overflow-y:visible;padding:0 1.25rem;width:100%}.strategy-preview-row{width:100%}.strategy-preview-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:calc(100vh - 280px);max-height:750px;min-height:500px;overflow:hidden}.preview-card-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:.625rem .875rem}.preview-card-header h2{align-items:center;color:var(--text-primary);display:flex;flex-wrap:wrap;font-size:1rem;font-weight:600;gap:.5rem;margin:0}.version-indicator{align-items:center;display:inline-flex;font-weight:500;gap:.375rem}.clear-version-btn,.version-indicator{color:var(--text-secondary);font-size:.875rem}.clear-version-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;line-height:1;padding:.125rem .375rem;transition:all var(--transition-fast)}.clear-version-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.preview-header-actions{gap:.75rem}.preview-header-actions,.preview-rating-inline{align-items:center;display:flex}.preview-rating-inline .strategy-rating-section{padding:0}.preview-rating-inline .strategy-rating-section h3{display:none}.preview-rating-inline .rating-display{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);gap:.375rem;margin:0;padding:.25rem .5rem}.preview-rating-inline .rating-star{font-size:.875rem}.preview-rating-inline .rating-average{font-size:.8125rem}.preview-rating-inline .rating-count{font-size:.6875rem}.preview-rating-inline .rating-input{display:none}.edit-preview-btn{align-items:center;background:var(--accent-primary);border:none;border-radius:var(--radius-sm);color:var(--text-inverse);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.375rem .625rem;transition:all var(--transition-fast)}.edit-preview-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.preview-card-body{align-items:center;box-sizing:border-box;display:flex;flex:1 1;justify-content:center;min-height:0;overflow:auto;padding:.75rem;position:relative}.strategy-preview-container{-webkit-overflow-scrolling:touch;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);height:100%;overflow:hidden;overscroll-behavior:contain;width:100%}.strategy-preview-container,.strategy-preview-container .canvas-container{align-items:center;display:flex;justify-content:center;min-height:450px;position:relative}.strategy-preview-container .canvas-container{box-sizing:border-box;flex-shrink:0;height:100%!important;max-height:100%;max-width:100%!important;min-width:0;overflow:hidden;padding:.5rem;width:100%!important}.strategy-preview-container canvas{height:auto!important;max-height:100%!important;max-width:100%!important;width:auto!important}.strategy-comments-row{margin-bottom:4rem;padding-bottom:1rem;width:100%}.strategy-comments-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;max-height:none;min-height:400px;overflow:visible}.comments-section-content{box-sizing:border-box;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:visible;padding:1rem 1rem 1.5rem}.error,.loading{align-items:center;color:var(--text-secondary);display:flex;font-size:1.125rem;justify-content:center;min-height:400px;padding:2rem}.error{background:#ef44441a;border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error)}@media (max-width:1200px){.strategy-preview-card{max-height:650px}}@media (max-width:768px){.strategy-detail-breadcrumbs{padding:.5rem .75rem}.strategy-page-header{padding:.5rem 1rem}.header-content{align-items:flex-start;flex-direction:column;gap:.75rem}.header-main,.header-title-row{width:100%}.strategy-page-title{font-size:1rem}.header-pills{width:100%}.strategy-content-layout{padding:0 1rem .75rem}.strategy-preview-card{max-height:500px;min-height:400px}.strategy-preview-container,.strategy-preview-container .canvas-container{min-height:350px}}.comments-section-content::-webkit-scrollbar,.pill-menu-content::-webkit-scrollbar,.strategy-preview-container::-webkit-scrollbar{height:6px;width:6px}.comments-section-content::-webkit-scrollbar-track,.pill-menu-content::-webkit-scrollbar-track,.strategy-preview-container::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.comments-section-content::-webkit-scrollbar-thumb,.pill-menu-content::-webkit-scrollbar-thumb,.strategy-preview-container::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}.comments-section-content::-webkit-scrollbar-thumb:hover,.pill-menu-content::-webkit-scrollbar-thumb:hover,.strategy-preview-container::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.custom-level-picker{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.custom-level-picker-section{display:flex;flex-direction:column;gap:.5rem}.custom-level-picker-section-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.custom-level-picker-section--selected .custom-level-picker-selected-zone{min-height:3rem}.custom-level-picker-selected-inner{align-items:center;background:var(--bg-primary);border:2px dashed var(--border-color);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:.5rem;min-height:2.75rem;padding:.5rem .75rem;transition:border-color .2s,background .2s}.custom-level-picker-selected-inner.is-over{background:rgba(var(--accent-primary-rgb),.06);border-color:var(--accent-primary)}.custom-level-picker-empty{color:var(--text-tertiary);font-size:.9rem}.custom-level-chip--selected{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-left:3px solid var(--text-tertiary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-primary);display:inline-flex;flex-shrink:0;font-size:.9rem;font-weight:500;gap:.45rem;min-width:0;padding:.55rem .6rem .55rem .45rem}.custom-level-chip--selected.is-dragging{box-shadow:var(--shadow-md);opacity:.6;z-index:1}.custom-level-chip--selected .custom-level-chip-drag{color:var(--text-tertiary);cursor:grab;flex-shrink:0;opacity:.7;padding:0 .15rem;-webkit-user-select:none;user-select:none}.custom-level-chip--selected .custom-level-chip-drag:active{cursor:grabbing}.custom-level-picker--readonly{gap:.75rem;margin-top:0}.custom-level-picker--readonly .custom-level-picker-section--selected .custom-level-picker-selected-zone{min-height:0}.custom-level-picker--readonly .custom-level-picker-selected-inner{background:var(--bg-secondary);border-style:solid;border:1px solid var(--border-color);gap:.6rem;min-height:0;padding:.75rem 1rem}.custom-level-picker--readonly .custom-level-picker-section-label{color:var(--text-tertiary);font-size:.8rem;font-weight:600;letter-spacing:.03em;margin-bottom:.15rem;text-transform:uppercase}.custom-level-chip--readonly-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;display:block;height:5.25rem;min-width:7rem;overflow:hidden;padding:0;position:relative;transition:border-color .2s,box-shadow .2s;width:7rem}.custom-level-chip--readonly-card:hover{border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb),.2)}.custom-level-readonly-image{display:block;inset:0;overflow:hidden;position:absolute}.custom-level-readonly-image img{display:block;height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.custom-level-readonly-placeholder{align-items:center;color:var(--text-tertiary);display:flex;font-size:.75rem;font-weight:600;height:100%;justify-content:center;padding:.5rem;text-align:center;width:100%}.custom-level-chip-order--overlay{left:.35rem;margin:0;position:absolute;top:.35rem;z-index:1}.custom-level-chip-order{align-items:center;background:var(--bg-primary);border-radius:var(--radius-sm);color:var(--text-tertiary);display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:1.35rem;justify-content:center;min-width:1.35rem;padding:0 .25rem}.custom-level-chip-thumb{background:#0003;border-radius:var(--radius-sm);flex-shrink:0;height:2rem;overflow:hidden;width:2rem}.custom-level-chip-thumb img{height:100%;object-fit:cover;width:100%}.custom-level-chip-main{align-items:flex-start;display:flex;flex-direction:column;gap:.15rem;min-width:0}.custom-level-chip-label{max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-level-chip-meta{display:flex;flex-wrap:wrap;gap:.25rem}.custom-level-chip-pill{border-radius:999px;font-size:.7rem;font-weight:600;padding:.15rem .4rem;text-transform:capitalize}.custom-level-chip--selected .custom-level-chip-pill--easy{background:#22c55e40;color:var(--text-primary)}.custom-level-chip--selected .custom-level-chip-pill--medium{background:#eab30840;color:var(--text-primary)}.custom-level-chip--selected .custom-level-chip-pill--hard{background:#ef444440;color:var(--text-primary)}.custom-level-chip--selected .custom-level-chip-pill--env{background:var(--bg-secondary);color:var(--text-secondary);font-size:.65rem}.custom-level-chip-preview-btn{align-items:center;background:#ffffff38;border:none;border-radius:var(--radius-md);color:inherit;cursor:pointer;display:inline-flex;flex-shrink:0;height:1.6rem;justify-content:center;line-height:1;padding:0;transition:background .15s,transform .1s;width:1.6rem}.custom-level-chip-preview-btn:hover{background:#ffffff61}.custom-level-chip-preview-btn:focus{box-shadow:0 0 0 2px #ffffff80;outline:none}.custom-level-chip--selected .custom-level-chip-preview-btn{background:var(--bg-secondary);color:var(--text-secondary)}.custom-level-chip--selected .custom-level-chip-preview-btn:hover{background:var(--border-color);color:var(--text-primary)}.custom-level-chip--selected .custom-level-chip-remove{background:var(--bg-secondary);color:var(--text-secondary)}.custom-level-chip--selected .custom-level-chip-remove:hover{background:#ef444440;color:var(--text-primary)}.custom-level-preview-icon{display:block}.custom-level-chip-remove{align-items:center;background:#ffffff40;border:none;border-radius:var(--radius-sm);color:inherit;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1rem;height:1.35rem;justify-content:center;line-height:1;padding:0;transition:background .15s;width:1.35rem}.custom-level-chip-remove:hover{background:#fff6}.custom-level-chip--overlay{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-left:3px solid var(--text-tertiary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--text-primary);cursor:grabbing;display:inline-flex;font-size:.9rem;font-weight:500;gap:.4rem;opacity:1;padding:.5rem .6rem}.custom-level-chip--overlay .custom-level-chip-main{display:flex;flex-direction:column;gap:.15rem}.custom-level-chip--overlay .custom-level-chip-thumb{height:2rem;width:2rem}.custom-level-chip--overlay .custom-level-chip-pill--easy{background:#22c55e40;color:var(--text-primary)}.custom-level-chip--overlay .custom-level-chip-pill--medium{background:#eab30840;color:var(--text-primary)}.custom-level-chip--overlay .custom-level-chip-pill--hard{background:#ef444440;color:var(--text-primary)}.custom-level-chip--overlay .custom-level-chip-pill--env{background:var(--bg-secondary);color:var(--text-secondary)}.custom-level-picker-unselected-zone{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:.5rem;min-height:2.5rem;padding:.5rem .75rem}.custom-level-chip--unselected{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:grab;display:inline-flex;font-size:.9rem;font-weight:500;gap:.45rem;min-width:0;padding:.55rem .65rem;transition:border-color .2s,background .2s,box-shadow .2s}.custom-level-chip--unselected:hover{background:rgba(var(--accent-primary-rgb),.06);border-color:var(--accent-primary)}.custom-level-chip--unselected:active{cursor:grabbing}.custom-level-chip--unselected.is-dragging{box-shadow:var(--shadow-md);opacity:.4}.custom-level-chip--unselected .custom-level-chip-pill--easy{background:#22c55e40;color:var(--text-primary)}.custom-level-chip--unselected .custom-level-chip-pill--medium{background:#eab30840;color:var(--text-primary)}.custom-level-chip--unselected .custom-level-chip-pill--hard{background:#ef444440;color:var(--text-primary)}.custom-level-chip--unselected .custom-level-chip-pill--env,.custom-level-chip--unselected .custom-level-chip-preview-btn{background:var(--bg-secondary);color:var(--text-secondary)}.custom-level-chip--unselected .custom-level-chip-preview-btn:hover{background:var(--border-color);color:var(--text-primary)}.custom-level-preview-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;overflow:hidden;padding:1.5rem;position:fixed;z-index:9999}.custom-level-preview-popover{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;flex-shrink:0;max-height:85vh;max-width:min(480px,92vw);position:relative}.custom-level-preview-scroll{-webkit-overflow-scrolling:touch;max-height:80vh;outline:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.custom-level-preview-close{background:var(--bg-secondary);border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:1.25rem;height:2rem;line-height:1;padding:0;position:absolute;right:.5rem;top:.5rem;width:2rem;z-index:1}.custom-level-preview-close:hover{background:var(--border-color)}.custom-level-preview-header{flex-shrink:0;padding:1.25rem 1.25rem .75rem}.custom-level-preview-title{color:var(--text-primary);display:block;font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.custom-level-preview-meta-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.custom-level-preview-pill{border-radius:999px;font-size:.75rem;font-weight:600;padding:.2rem .5rem;text-transform:capitalize}.custom-level-preview-pill--easy{background:#22c55e33;color:var(--text-primary)}.custom-level-preview-pill--medium{background:#eab30833;color:var(--text-primary)}.custom-level-preview-pill--hard{background:#ef444433;color:var(--text-primary)}.custom-level-preview-pill--env{background:var(--bg-secondary);color:var(--text-secondary)}.custom-level-preview-detail{color:var(--text-secondary);font-size:.875rem;margin:.35rem 0}.custom-level-preview-detail-label{color:var(--text-tertiary);display:inline-block;font-weight:600;margin-right:.25rem;min-width:4.5rem}.custom-level-preview-hint{font-style:italic;margin-top:.5rem}.custom-level-preview-image-wrap{align-items:center;display:flex;justify-content:center;min-height:120px;padding:0 1.25rem 1.25rem}.custom-level-preview-image-wrap img{border-radius:var(--radius-md);height:auto;max-height:50vh;max-width:100%;object-fit:contain;width:auto}.custom-level-preview-no-image{color:var(--text-tertiary);font-size:.9rem;padding:2rem 1.25rem}.geoguesser-home{align-items:flex-start;background-color:var(--bg-primary);color:var(--text-primary);display:flex;justify-content:center;min-height:calc(100vh - 70px);padding:3rem 2rem 2rem}.geoguesser-home-container{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:900px;padding:2.25rem;width:100%}.geoguesser-home h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-primary),#8b5cf6);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:2.5rem;font-weight:800;margin-bottom:.5rem;text-align:center}.geoguesser-home .subtitle{color:var(--text-secondary);font-size:1.1rem;font-weight:400;margin-bottom:2rem;text-align:center}.error-message{background-color:var(--error);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-inverse);font-weight:500;margin-bottom:1.5rem;padding:1rem 1.5rem}.game-setup{margin-bottom:2.5rem}.accordion-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem;overflow:hidden}.accordion-header{align-items:center;background:var(--bg-card);border:none;color:var(--text-primary);cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:.8rem 1rem;width:100%}.accordion-header:disabled{cursor:not-allowed;opacity:.6}.accordion-title{font-size:.95rem;font-weight:700}.accordion-summary{color:var(--text-secondary);font-size:.85rem}.step-indicator{color:var(--text-secondary);font-size:.75rem;font-weight:400;margin-left:.35rem}.accordion-body{padding:.85rem 1rem 1rem}.map-step-fixed{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem}.map-fixed-label{color:var(--text-secondary);font-size:.9rem;margin:0}.preset-custom-readonly{margin-top:.25rem}.preset-custom-readonly .custom-level-picker--readonly{margin-top:0}.accordion-actions{display:flex;justify-content:flex-end;margin-top:1rem}.setup-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}.tile-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem}.game-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.game-tile{background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-weight:600;min-height:52px;overflow:hidden;padding:.7rem .85rem;position:relative;text-align:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.game-tile:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.game-tile.selected{background:rgba(var(--accent-primary-rgb),.08);border-color:var(--accent-primary);box-shadow:var(--shadow-sm),0 0 0 2px rgba(var(--accent-primary-rgb),.18) inset;color:var(--accent-primary)}.game-name{display:inline-block;font-size:.95rem}.game-tile.custom-mode-tile{border-style:dashed}.game-tile .tile-subtext{color:var(--text-secondary);display:block;font-size:.7rem;margin-top:.15rem}.mode-badge{display:block;font-size:.65rem;margin-top:.2rem;opacity:.9}.mode-badge--owned,.mode-tag-pill{color:var(--accent-primary)}.mode-tag-pill{background:rgba(var(--accent-primary-rgb),.15);border-radius:999px;display:inline-block;font-size:.65rem;font-weight:600;margin-top:.25rem;padding:.15rem .45rem}.game-tile--custom-owned{border-left:4px solid var(--accent-primary)}.mode-icon-custom{color:var(--accent-primary);display:inline-block;font-size:.85rem;margin-right:.35rem;vertical-align:middle}.game-tile.disabled,.game-tile:disabled{border-color:var(--border-color);box-shadow:none;cursor:not-allowed;filter:grayscale(.15);opacity:.5;transform:none}.game-tile.disabled:hover,.game-tile:disabled:hover{box-shadow:var(--shadow-sm);transform:none}.tile-watermark{bottom:12%;color:var(--text-primary);font-size:.9rem;font-weight:800;letter-spacing:1.5px;mix-blend-mode:soft-light;opacity:.26;pointer-events:none;position:absolute;right:8%;text-shadow:0 1px 1px #0000001a,0 2px 3px #0000001a,0 0 .5px #ffffff0f;text-transform:uppercase;transform:rotate(-16deg);-webkit-user-select:none;user-select:none}.game-options-form{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.field--full{grid-column:1/-1}.level-sub-settings{margin-top:.25rem}.difficulty-checkboxes{display:flex;flex-wrap:wrap;gap:.75rem}.checkbox-inline{align-items:center;cursor:pointer;display:inline-flex;font-weight:500;gap:.35rem}.level-picker-row,.saved-config-row{margin-top:.5rem}.sub-label{color:var(--text-secondary);display:block;font-size:.85rem;margin-bottom:.25rem}.level-picker-multi{display:flex;flex-wrap:wrap;gap:.5rem 1rem;max-height:12rem;overflow-y:auto;padding:.5rem 0}.custom-mode{margin-top:1rem}.custom-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.field label{display:block;font-weight:600;margin-bottom:.35rem}.custom-mode textarea,.field input[type=number],.field input[type=text],.field select{background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:.65rem .75rem;width:100%}.helper-text{color:var(--text-tertiary);font-size:.85rem;margin-top:.5rem}.setup-section{margin-bottom:2rem}.setup-section label{color:var(--text-primary);display:block;font-size:1rem;font-weight:600;margin-bottom:.75rem}.setup-section select{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:1rem;padding:.875rem 1rem;transition:all var(--transition-fast);width:100%}.setup-section select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.setup-section select:hover{border-color:var(--border-hover)}.setup-section select option{background-color:var(--bg-primary);color:var(--text-primary)}.radio-group{display:flex;flex-wrap:wrap;gap:.5rem}.radio-item{align-items:center;background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:999px;color:var(--text-primary);cursor:pointer;display:inline-flex;gap:.5rem;padding:.5rem .75rem;transition:background .2s,border-color .2s,color .2s;-webkit-user-select:none;user-select:none}.radio-item input[type=radio]{accent-color:var(--accent-primary)}.radio-item.selected{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary)}.map-select-row{margin-top:.5rem}.mode-details{background-color:var(--bg-secondary);border-radius:var(--radius-lg);font-size:.95rem;padding:1.5rem}.mode-details,.mode-details-card{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-top:1.25rem}.mode-details-card{background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;position:relative;transition:box-shadow .2s ease,border-color .2s ease}.mode-details-card--preset{border-radius:var(--radius-lg)}.mode-details-card:before{background:linear-gradient(180deg,var(--accent-primary),var(--accent-hover));border-radius:var(--radius-lg) 0 0 var(--radius-lg);bottom:0;content:"";left:0;opacity:.85;pointer-events:none;position:absolute;top:0;width:3px}.mode-details-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.mode-details-header{background:linear-gradient(180deg,rgba(var(--accent-primary-rgb),.06),#0000);border-bottom:1px solid var(--border-color);padding:1rem 1.25rem .85rem calc(1.25rem + 3px)}.mode-title{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .65rem;margin-bottom:.35rem}.mode-title-text{color:var(--text-primary);font-size:1.125rem;font-weight:800;letter-spacing:-.02em;line-height:1.25}.mode-title-badge{background:rgba(var(--accent-primary-rgb),.1);border:1px solid rgba(var(--accent-primary-rgb),.22);border-radius:var(--radius-full);color:var(--accent-primary);font-size:.65rem;font-weight:800;letter-spacing:.06em;padding:.2rem .5rem;text-transform:uppercase}.mode-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0;padding-top:.35rem}.mode-spec-sheet{padding:0 1.25rem 1.1rem calc(1.25rem + 3px)}.mode-spec-heading{color:var(--text-tertiary);font-size:.7rem;font-weight:800;letter-spacing:.08em;margin:0;padding:.85rem 0 .5rem;text-transform:uppercase}.mode-spec-list{grid-gap:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:grid;gap:0;grid-template-columns:1fr;margin:0;overflow:hidden}.mode-spec-row{grid-gap:.75rem 1rem;align-items:center;border-bottom:1px solid var(--border-color);display:grid;gap:.75rem 1rem;grid-template-columns:minmax(0,1fr) auto;padding:.65rem .85rem}.mode-spec-row:last-of-type{border-bottom:none}.mode-spec-row dt{color:var(--text-secondary);font-size:.8125rem;font-weight:600;line-height:1.3;margin:0}.mode-spec-row dd{margin:0;min-width:0;text-align:right}.mode-spec-row--full{grid-column:1/-1}.mode-spec-row--wide-value dd{margin-left:auto;max-width:min(100%,20rem)}.mode-spec-value{font-feature-settings:"tnum";color:var(--text-primary);font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:700}.mode-spec-unit{color:var(--text-tertiary);font-size:.8em;font-weight:600;margin-left:.15rem}.mode-spec-pill{background:var(--bg-card);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);display:inline-block;font-size:.78rem;font-weight:700;max-width:100%;overflow:hidden;padding:.2rem .55rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.mode-spec-footer{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.mode-spec-flag{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);display:inline-flex;font-size:.78rem;font-weight:600;gap:.4rem;line-height:1.2;padding:.4rem .65rem}.mode-spec-flag.is-on{background:rgba(var(--accent-primary-rgb),.08);border-color:rgba(var(--accent-primary-rgb),.35);color:var(--accent-primary)}.mode-spec-flag.is-off{opacity:.88}.mode-spec-flag-icon{flex-shrink:0;font-size:1rem;line-height:1}.mode-spec-flag-text{min-width:0}.expand-in{animation:expandIn .22s ease-out}@keyframes expandIn{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.mode-details-header{padding:.9rem 1rem .75rem calc(1rem + 3px)}.mode-title-text{font-size:1.05rem}.mode-description{font-size:.88rem}.mode-spec-sheet{padding:0 1rem 1rem calc(1rem + 3px)}.mode-spec-heading{padding-top:.75rem}.mode-spec-row{padding:.55rem .75rem}.mode-spec-row--wide-value dd{max-width:100%}.mode-spec-pill{text-align:center;white-space:normal}}.mode-details p{color:var(--text-primary);line-height:1.6;margin:.75rem 0}.mode-details p:first-child{margin-top:0}.mode-details p strong{color:var(--text-primary);font-weight:600}.mode-details ul{color:var(--text-secondary);margin:.75rem 0;padding-left:1.75rem}.mode-details ul li{line-height:1.6;margin:.5rem 0}.action-buttons{flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2.5rem}.action-dock{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a9e;border-radius:14px;bottom:12px;box-shadow:0 8px 20px #00000040;padding:.6rem .75rem;position:-webkit-sticky;position:sticky;z-index:5}.warning-banner--error{background:linear-gradient(135deg,#ef44441f,#ef44440f);border:1px solid #ef444459;color:#fecaca}.session-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn-small{line-height:1.2!important;padding:.4rem .85rem!important}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;transform:none}.btn-secondary:hover{box-shadow:var(--shadow-md)}.loading{font-size:1.5rem;font-weight:500;min-height:calc(100vh - 70px)}.recent-sessions{border-top:2px solid var(--border-color);margin-top:2.5rem;padding-top:2rem}.recent-sessions h2{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin-bottom:1.5rem}.no-recent-sessions,.sessions-loading{color:var(--text-secondary);font-size:1rem;padding:2rem;text-align:center}.no-recent-sessions p{font-style:italic;margin:0}.sessions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}.session-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:all var(--transition-normal)}.session-card:hover{background:var(--bg-hover);border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.session-card-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.session-code-badge{background:#3b82f61a;border:1px solid #3b82f633;border-radius:var(--radius-md);color:var(--accent-primary);font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;padding:.4rem .75rem}.status-badge{border-radius:var(--radius-full);padding:.35rem .75rem}.status-badge.status-completed{background:#10b98126;border:1px solid #10b9814d;color:var(--success)}.status-badge.status-active{background:#3b82f626;border:1px solid #3b82f64d;color:var(--info)}.status-badge.status-waiting{background:#f59e0b26;border:1px solid #f59e0b4d;color:var(--warning)}.status-badge.status-cancelled{background:#ef444426;border:1px solid #ef44444d;color:var(--error)}.session-card-body{display:flex;flex:1 1;flex-direction:column;gap:.75rem}.session-game-mode{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0}.session-map-name{color:var(--text-secondary);font-size:.9rem;font-style:italic;margin:0}.session-meta{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.meta-item{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem}.meta-icon{font-size:1rem}.session-card-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:auto;padding-top:1rem}.session-date{color:var(--text-tertiary);font-size:.85rem;font-style:italic}.session-action{color:var(--accent-primary);font-size:.9rem;font-weight:600;transition:all var(--transition-fast)}.session-card:hover .session-action{color:var(--accent-hover);transform:translateX(4px)}.no-game-modes-message{background-color:var(--warning);background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border:2px solid var(--warning);border-radius:var(--radius-md);color:var(--text-primary);padding:1.25rem}.no-game-modes-message p{color:var(--text-primary);font-weight:500;margin:0}.warning-banner{background:linear-gradient(135deg,#f59e0b1f,#f59e0b0f);border:1.5px solid #f59e0b59;border-radius:var(--radius-md);color:var(--text-primary);font-size:.95rem;padding:.9rem 1rem}.geoguesser-submission-banner{align-items:center;display:flex;gap:12px;justify-content:space-between}.geoguesser-submission-banner-text{flex:1 1;line-height:1.5;margin:0;min-width:0}.geoguesser-submission-banner-btn{flex-shrink:0}@media (max-width:768px){.geoguesser-home{min-height:calc(100vh - 126px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));min-height:calc(100vh - var(--nav-top-inner-height, 70px) - var(--nav-bottom-inner-height, 56px) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));min-height:calc(100dvh - 126px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));min-height:calc(100dvh - var(--nav-top-inner-height, 70px) - var(--nav-bottom-inner-height, 56px) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));overflow-x:hidden;padding:1.25rem max(1rem,env(safe-area-inset-left,0px)) 1.25rem max(1rem,env(safe-area-inset-right,0px))}.geoguesser-home-container{border-radius:var(--radius-lg);max-width:100%;min-width:0;overflow-x:hidden;padding:1.35rem 1.15rem 1.5rem}.geoguesser-home h1{font-size:clamp(1.65rem,6.5vw,2.25rem);letter-spacing:-.02em;line-height:1.15;margin-bottom:.35rem}.geoguesser-home .subtitle{font-size:1rem;line-height:1.5;margin-bottom:1.35rem;padding:0 .15rem}.geoguesser-submission-banner{align-items:stretch;flex-direction:column;gap:.85rem;padding:1rem 1.1rem}.geoguesser-submission-banner-btn{font-size:1rem;min-height:48px;width:100%}.accordion-item.open{border-color:rgba(var(--accent-primary-rgb),.35);box-shadow:0 0 0 1px rgba(var(--accent-primary-rgb),.2),var(--shadow-md)}.accordion-header{align-items:flex-start;gap:.5rem;min-height:52px;min-width:0;padding:.9rem 1rem}.accordion-title{font-size:1rem;line-height:1.35;min-width:0;text-align:left}.accordion-summary{font-size:.8rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.accordion-body{padding:.75rem 1rem 1.1rem}.game-grid{gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.game-tile{-webkit-tap-highlight-color:transparent;min-height:56px;padding:.75rem .65rem}.game-name{font-size:.9rem;line-height:1.25;word-break:break-word}.custom-grid,.setup-grid{grid-template-columns:1fr}.tile-card{min-width:0;padding:1rem}.radio-group{gap:.4rem}.radio-item{font-size:.9rem;min-height:44px;padding:.55rem .85rem}.mode-details-card{border-radius:var(--radius-lg)}.action-buttons{flex-direction:column;gap:.65rem;margin-bottom:1.75rem}.action-dock{background:#0f172ac7;border:1px solid #ffffff14;border-radius:16px;bottom:calc(66px + env(safe-area-inset-bottom, 0px));bottom:calc(10px + var(--nav-bottom-inner-height, 56px) + env(safe-area-inset-bottom, 0px));margin-left:-.25rem;margin-right:-.25rem;padding:.65rem .85rem;z-index:10}.action-dock .btn-primary,.action-dock .btn-secondary{font-size:1.05rem;min-height:50px}.btn-primary,.btn-secondary{width:100%}.recent-sessions{margin-top:1.75rem;padding-top:1.5rem}.recent-sessions h2{font-size:1.35rem;margin-bottom:1rem}.sessions-grid{gap:.85rem;grid-template-columns:1fr}.session-card{border-radius:var(--radius-lg);min-height:44px;padding:1.15rem}.session-card-header{align-items:flex-start;flex-wrap:wrap}.session-code-badge{font-size:1rem}.session-game-mode{font-size:1.05rem}.session-card-footer{align-items:stretch;flex-direction:column;gap:.65rem}.session-card-actions{width:100%}.session-card-actions .btn-primary,.session-card-actions .btn-secondary{min-height:44px;width:100%}.custom-mode textarea,.field input[type=number],.field input[type=text],.field select{font-size:1rem;min-height:48px}.setup-section select{min-height:48px}}@media (max-width:480px){.geoguesser-home-container{padding:1.15rem 1rem 1.35rem}.accordion-title .step-indicator{display:block;font-size:.7rem;margin-left:0;margin-top:.2rem}.custom-grid.game-options-form,.game-grid{grid-template-columns:1fr}.mode-spec-flag{flex:1 1 auto;font-size:.74rem;justify-content:center;min-width:min(100%,160px)}}@media (max-width:768px) and (prefers-reduced-motion:reduce){.game-tile:hover,.session-card:hover{transform:none}}.gg-lobby{min-height:70vh;padding:28px 18px;position:relative}.gg-lobby-shell{margin:0 auto;max-width:980px}.gg-lobby-title h1{font-size:32px;letter-spacing:-.02em;margin:0}.gg-lobby-hero{background:radial-gradient(120% 120% at 0 0,rgba(var(--accent-primary-rgb),.26) 0,#0000 52%),radial-gradient(120% 120% at 100% 0,rgba(var(--accent-hover-rgb),.22) 0,#0000 52%),linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-sm);margin-bottom:14px;overflow:hidden;padding:18px 18px 16px;position:relative}.gg-lobby-hero:after{background:radial-gradient(60% 60% at 50% 50%,#fff3 0,#fff0 70%);content:"";filter:blur(24px);height:160px;inset:-80px -140px auto -140px;opacity:.35;pointer-events:none;position:absolute}.gg-lobby-hero-bar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px 18px;justify-content:space-between;position:relative;z-index:1}.gg-lobby-hero-main{flex:1 1 220px;min-width:0}.gg-lobby-hero-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}.gg-lobby-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.gg-pill{align-items:center;background:#ffffff0f;border:1px solid var(--border-color);display:inline-flex;font-size:12px;font-weight:800;gap:8px;letter-spacing:.02em;padding:8px 12px}.gg-pill-status.waiting{border-color:rgba(var(--accent-primary-rgb),.25)}.gg-pill-status.active{border-color:rgba(var(--success-rgb),.35)}.gg-pill-status.completed{border-color:rgba(var(--border-hover-rgb),.35)}.gg-pill-live.on{border-color:#ef444466}.gg-pill-live.off{border-color:#6b728073}.gg-live-dot{background:#6b7280f2;box-shadow:0 0 0 1px #0000001f;box-sizing:border-box;min-height:10px;min-width:10px}.gg-pill-live.on .gg-live-dot{animation:ggLobbyLivePulse 1.4s ease-in-out infinite;background:#ef4444;box-shadow:0 0 0 1px #00000026}.gg-pill-live.off .gg-live-dot{animation:none}@keyframes ggLobbyLivePulse{0%{box-shadow:0 0 0 0 #ef444400,0 0 0 1px #00000026}50%{box-shadow:0 0 0 8px #ef444447,0 0 0 1px #0000001f}to{box-shadow:0 0 0 0 #ef444400,0 0 0 1px #00000026}}.gg-lobby-identity-hint{align-items:center;background:#ffffff0a;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);display:inline-flex;flex-wrap:wrap;font-size:12px;font-weight:600;gap:4px;line-height:1.3;max-width:100%;padding:6px 10px}.gg-lobby-identity-name{color:var(--text-primary);font-weight:800;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-lobby-banner{border-radius:12px;margin:10px 0 14px;padding:12px 14px}.gg-lobby-banner-error{background:#ef44441f;border:1px solid #ef444459}.gg-lobby-grid{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gg-lobby-left{gap:14px;grid-column:1;min-height:0}.gg-lobby-chat,.gg-lobby-left{display:flex;flex-direction:column;grid-row:1;min-width:0}.gg-lobby-chat{align-self:stretch;contain:layout;grid-column:2;max-height:min(560px,calc(100svh - 220px));min-height:200px;overflow:hidden}.gg-lobby-chat .sc-chat{flex:1 1;max-height:100%;min-height:0;min-width:0;overflow:hidden}@media (max-width:860px){.gg-lobby-grid{grid-template-columns:1fr}.gg-lobby-chat,.gg-lobby-left{grid-column:1;grid-row:auto}.gg-lobby-chat{max-height:min(520px,calc(100svh - 200px))}}.gg-lobby-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:16px}.gg-lobby-card-title{font-weight:800;margin-bottom:12px;opacity:.95}.gg-rules-head{margin-bottom:12px}.gg-rules-heading{font-size:1rem;font-weight:800;letter-spacing:-.02em;line-height:1.25;margin:0 0 6px;opacity:.98}.gg-rules-mode{color:var(--text-primary);font-size:.9375rem;font-weight:700;line-height:1.35;margin:0}.gg-rules-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.8125rem;line-height:1.45;margin:6px 0 0;overflow:hidden}.gg-rules-body{display:flex;flex-direction:column;gap:12px}.gg-rules-metrics{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.gg-rules-metric{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;min-width:0;padding:10px;text-align:center}.gg-rules-metric-label{color:var(--text-tertiary);display:block;font-size:.65rem;font-weight:700;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.gg-rules-metric-value{font-feature-settings:"tnum";color:var(--text-primary);font-size:1.125rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.2}.gg-rules-metric-unit{color:var(--text-tertiary);font-size:.75em;font-weight:600;margin-left:1px}.gg-rules-details{background:rgba(var(--accent-primary-rgb),.04);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:8px;margin:0;padding:10px 12px}.gg-rules-detail{grid-gap:8px 12px;align-items:baseline;display:grid;font-size:.8125rem;gap:8px 12px;grid-template-columns:minmax(5rem,34%) 1fr}.gg-rules-detail dt{color:var(--text-secondary);font-weight:600;margin:0}.gg-rules-detail dd{color:var(--text-primary);font-weight:700;margin:0;text-align:right;word-break:break-word}.gg-rules-badges{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.gg-rules-badge{align-items:center;border:1px solid var(--border-color);border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:5px 10px}.gg-rules-badge--on{background:rgba(var(--success-rgb),.12);border-color:rgba(var(--success-rgb),.35);color:var(--text-primary)}.gg-rules-badge--off{background:var(--bg-secondary);color:var(--text-secondary);opacity:.95}.gg-lobby-rules-fallback{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}@media (max-width:520px){.gg-rules-metrics{grid-template-columns:1fr}.gg-rules-metric{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto;text-align:left}.gg-rules-metric-label{margin-bottom:0}.gg-rules-metric-value{font-size:1rem;text-align:right}.gg-rules-detail{gap:2px;grid-template-columns:1fr}.gg-rules-detail dd{text-align:left}.gg-lobby-hero-actions{width:100%}.gg-lobby-hero-actions .gg-btn{flex:1 1 auto;justify-content:center;min-width:0}}.gg-lobby-count{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:999px;display:inline-flex;font-size:13px;height:26px;justify-content:center;margin-left:8px;min-width:26px}.gg-lobby-player-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr;max-height:360px;overflow:auto;padding-right:6px}.gg-lobby-player-grid.is-stale{opacity:.9}.gg-player-card{align-items:center;background:linear-gradient(180deg,var(--bg-secondary),var(--bg-card));border:1px solid var(--border-color);border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:12px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.gg-player-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.gg-player-left{gap:12px}.gg-avatar{align-items:center;background:linear-gradient(135deg,rgb(var(--accent-primary-rgb)),rgb(var(--accent-hover-rgb)));border-radius:14px;box-shadow:var(--shadow-sm);color:var(--text-inverse);display:inline-flex;font-size:18px;font-weight:900;height:38px;justify-content:center;letter-spacing:-.02em;width:38px}.gg-player-identity{flex-direction:column;gap:3px}.gg-player-identity,.gg-player-name{display:flex;min-width:0}.gg-player-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.gg-badge{padding:4px 10px}.gg-badge.is-leader{background:rgba(var(--success-rgb),.12);border-color:rgba(var(--success-rgb),.45)}.gg-badge.is-you{background:rgba(var(--accent-primary-rgb),.14);border-color:rgba(var(--accent-primary-rgb),.45);color:var(--text-primary)}.gg-badge.is-host{background:#eab3081f;border-color:#eab30873;color:var(--text-primary)}.gg-player-card--self{background:linear-gradient(180deg,rgba(var(--accent-primary-rgb),.14),var(--bg-card));border-color:rgba(var(--accent-primary-rgb),.42);box-shadow:0 0 0 1px rgba(var(--accent-primary-rgb),.1)}.gg-player-card--host:not(.gg-player-card--self){border-color:#eab30852}.gg-player-kick{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1.35rem;height:34px;justify-content:center;line-height:1;transition:background .12s ease,color .12s ease,border-color .12s ease;width:34px}.gg-player-kick:hover{background:#ef44441f;border-color:#ef444466;color:#f87171}.gg-lobby-pill{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:999px;font-size:12px;opacity:.9;padding:4px 8px}.gg-player-score{font-weight:800;opacity:.9}.gg-lobby-empty{opacity:.7;padding:10px 0 4px}.gg-empty-title{font-weight:900;margin-bottom:4px;opacity:.95}.gg-empty-sub{font-size:13px;opacity:.8}.gg-lobby-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.gg-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;color:inherit;font-weight:800;padding:10px 14px}.gg-btn:hover{background:var(--bg-hover)}.gg-btn:disabled{cursor:not-allowed;opacity:.5}.gg-btn-primary{border-color:rgba(var(--accent-active-rgb),.35)}.gg-btn-glow{overflow:hidden;position:relative}.gg-btn-glow:after{animation:ggSweep 2.8s ease-in-out infinite;background:radial-gradient(40% 40% at 20% 50%,#ffffff59 0,#fff0 70%);content:"";inset:-40% -30%;opacity:.55;pointer-events:none;position:absolute;transform:translateX(-20%)}@keyframes ggSweep{0%{opacity:.15;transform:translateX(-30%)}40%{opacity:.55;transform:translateX(30%)}to{opacity:.1;transform:translateX(60%)}}.gg-btn-secondary{background:var(--bg-card)}.gg-btn-ghost{background:#0000}.gg-btn-small{font-size:12px;padding:6px 10px}.gg-btn.is-copied{background:rgba(var(--success-rgb),.14);border-color:rgba(var(--success-rgb),.35)}.dark-mode .gg-lobby-card{background:#ffffff0f}.dark-mode .gg-lobby-card,.dark-mode .gg-lobby-hero{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff1f}.dark-mode .gg-lobby-hero{background:radial-gradient(120% 120% at 0 0,#6366f14d 0,#0000 55%),radial-gradient(120% 120% at 100% 0,#8b5cf642 0,#0000 55%),#ffffff0f}.dark-mode .gg-pill{background:#ffffff0f;border:1px solid #ffffff1f}.dark-mode .gg-lobby-count{background:#ffffff14;border:1px solid #ffffff1f}.dark-mode .gg-btn,.dark-mode .gg-lobby-pill{background:#ffffff0f;border:1px solid #ffffff1f}.dark-mode .gg-btn:hover{background:#ffffff1a}.dark-mode .gg-btn-primary{background:#6366f140;border-color:#6366f173;color:inherit}.dark-mode .gg-lobby-identity-hint{background:#ffffff0f;border:1px solid #ffffff1f}.gg-lobby-error,.gg-lobby-loading{opacity:.85;padding:40px 18px}.gg-name-modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}.gg-name-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-lg);max-width:420px;width:100%}.gg-name-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:14px 16px}.gg-name-modal-header h2{font-size:1.05rem;margin:0}.gg-name-modal-close{align-items:center;background:#0000;border:none;border-radius:999px;cursor:pointer;display:inline-flex;font-size:1.2rem;height:32px;justify-content:center;width:32px}.gg-name-modal-body{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px}.gg-name-label{display:flex;flex-direction:column;font-weight:600;gap:6px}.gg-name-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;font-size:.95rem;padding:8px 10px}.gg-name-hint{font-size:.8rem;margin:0;opacity:.8}.gg-name-error{color:var(--error);font-size:.8rem;margin:0}.gg-name-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}@media (max-width:480px){.gg-lobby{padding:20px 14px}.gg-lobby-title h1{font-size:1.35rem}.gg-lobby-actions{align-items:stretch;flex-direction:column}.gg-lobby-actions .gg-btn{justify-content:center;width:100%}}.sc-chat{display:flex;flex-direction:column;height:100%;isolation:isolate;min-height:0;position:relative}.sc-chat.is-disabled{opacity:.92}.sc-head{align-items:center;background:linear-gradient(180deg,rgba(var(--accent-primary-rgb),.06),#0000);border-bottom:1px solid rgba(var(--border-hover-rgb),.2);display:flex;flex:0 0 auto;gap:10px;justify-content:space-between;margin-bottom:2px;padding-bottom:10px}.sc-title{font-size:1rem;font-weight:900;letter-spacing:-.02em}.sc-live{background:#ffffff0f;border:1px solid var(--border-color);border-radius:999px;font-size:12px;font-weight:900;padding:6px 10px}.sc-live.on{border-color:rgba(var(--success-rgb),.35)}.sc-live.off{border-color:#ef444459}.sc-body{position:relative}.sc-body,.sc-list{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.sc-list{gap:12px;overflow-x:hidden;overflow-y:scroll;padding:10px 4px 8px 0;scrollbar-gutter:stable}.sc-emoji-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0003;border:none;border-radius:0;cursor:pointer;inset:0;margin:0;padding:0;position:absolute;z-index:4}.sc-empty{font-size:13px;line-height:1.45;opacity:.72;padding:12px 4px 8px}.sc-msg{align-items:flex-start;display:flex;gap:12px}.sc-msg--mine{flex-direction:row-reverse}.sc-msg--mine .sc-bubble{border-radius:16px 14px 10px 16px}.sc-msg--mine .sc-bubble--themed:before,.sc-msg--mine .sc-bubble:before{border-radius:0 14px 14px 0;left:auto;right:0}.sc-avatar{align-items:center;background:linear-gradient(135deg,rgba(var(--accent-primary-rgb),.28),rgba(var(--accent-hover-rgb),.2));border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);display:inline-flex;flex-shrink:0;font-size:18px;font-weight:900;height:36px;justify-content:center;margin-top:2px;width:36px}.sc-avatar--themed{background:linear-gradient(145deg,hsl(var(--sc-user-hue) var(--sc-user-sat) 38%/.35),hsl(var(--sc-user-hue) calc(var(--sc-user-sat) - 6%) 22%/.22));border-color:hsl(var(--sc-user-hue) var(--sc-user-sat) 52%/.55);box-shadow:0 0 0 1px hsl(var(--sc-user-hue) var(--sc-user-sat) 55%/.12),var(--shadow-sm)}.sc-bubble{background:linear-gradient(165deg,var(--bg-secondary),var(--bg-card));border:1px solid var(--border-color);border-radius:12px 16px 16px 12px;flex:1 1;min-width:0;overflow:hidden;padding:9px 12px 10px;position:relative}.sc-bubble:before{background:linear-gradient(180deg,rgba(var(--accent-primary-rgb),.5),rgba(var(--accent-hover-rgb),.35));border-radius:14px 0 0 14px;bottom:0;content:"";left:0;opacity:.35;pointer-events:none;position:absolute;top:0;width:3px}.sc-bubble--themed{background:linear-gradient(168deg,hsl(var(--sc-user-hue) var(--sc-user-sat) 24%/.34),hsl(var(--sc-user-hue) calc(var(--sc-user-sat) - 8%) 14%/.2));border-color:hsl(var(--sc-user-hue) var(--sc-user-sat) 50%/.42);box-shadow:0 1px 0 hsl(var(--sc-user-hue) var(--sc-user-sat) 62%/.08),0 8px 22px #0000001f}.sc-bubble--themed:before{background:linear-gradient(180deg,hsl(var(--sc-user-hue) var(--sc-user-sat) 58%/.95),hsl(var(--sc-user-hue) calc(var(--sc-user-sat) - 12%) 42%/.55));opacity:1;width:4px}.sc-meta{align-items:baseline;display:flex;gap:8px;justify-content:space-between;margin-bottom:5px}.sc-name{align-items:center;display:inline-flex;flex:1 1;flex-wrap:wrap;font-weight:900;gap:6px;line-height:1.25;min-width:0;overflow:hidden}.sc-name--themed{color:hsl(var(--sc-user-hue) calc(var(--sc-user-sat) + 6%) 72%)}.guest-pill{background:#ffffff0f;border:1px solid var(--border-color);color:var(--text-secondary);letter-spacing:.04em}.guest-pill,.sc-you-pill{flex-shrink:0;font-size:10px;font-weight:800;padding:2px 6px}.sc-you-pill{background:rgba(var(--accent-primary-rgb),.14);border:1px solid rgba(var(--accent-primary-rgb),.4);border-radius:999px;color:var(--text-primary);letter-spacing:.05em;text-transform:uppercase}.sc-time{font-feature-settings:"tnum";flex:0 0 auto;font-size:11px;font-variant-numeric:tabular-nums;opacity:.62}.sc-text{font-size:.92rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.sc-text--emoji-only{letter-spacing:.02em;line-height:1.05;padding:4px 2px 2px;text-align:center}.sc-text--emoji-1{font-size:clamp(2.65rem,9vw,3.35rem)}.sc-text--emoji-few{font-size:clamp(1.85rem,6vw,2.45rem)}.sc-text--emoji-many{font-size:clamp(1.35rem,4.5vw,1.85rem)}.sc-footer{background:linear-gradient(0deg,var(--bg-card) 60%,#0000);border-top:1px solid rgba(var(--border-hover-rgb),.18);flex:0 0 auto;margin-top:auto;padding-top:8px;position:relative;z-index:6}.sc-typing{font-size:12px;margin-bottom:6px;min-height:18px;opacity:.78;padding-left:2px}.sc-jump-floating{bottom:10px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:3}.sc-jump-floating .sc-jump-bottom{pointer-events:auto}.sc-jump-bottom{align-items:center;background:linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid rgba(var(--accent-primary-rgb),.5);border-radius:999px;box-shadow:0 4px 18px #00000029,0 0 0 1px #0000000f,inset 0 1px 0 #ffffff1a;color:var(--text-primary);cursor:pointer;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;line-height:0;margin:0;padding:0;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;width:44px}.sc-jump-bottom-icon{display:block;flex-shrink:0}.sc-jump-bottom:hover{border-color:rgba(var(--accent-primary-rgb),.72);box-shadow:0 6px 22px #0000002e,0 0 0 1px #00000012,inset 0 1px 0 #ffffff1f;transform:translateY(-1px)}.sc-compose{align-items:center;box-sizing:border-box;display:flex;gap:8px;min-width:0;width:100%}.sc-emoji-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;flex-shrink:0;font-size:18px;height:40px;line-height:1;transition:transform .12s ease,border-color .12s ease;width:40px}.sc-emoji-btn:hover:not(:disabled){border-color:rgba(var(--accent-primary-rgb),.45);transform:translateY(-1px)}.sc-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:inherit;flex:1 1;font-size:.9rem;height:40px;min-width:0;padding:0 12px}.sc-send{background:linear-gradient(135deg,rgba(var(--accent-primary-rgb),.98),rgba(var(--accent-hover-rgb),.92));border:1px solid #ffffff47;border-radius:12px;box-shadow:0 2px 10px #0000002e,inset 0 1px 0 #ffffff38;color:#fff;cursor:pointer;flex-shrink:0;font-size:.88rem;font-weight:900;height:40px;letter-spacing:.02em;padding:0 16px;text-shadow:0 1px 2px #00000059}.sc-send:hover:not(:disabled){filter:brightness(1.06)}.sc-emoji-btn:disabled,.sc-input:disabled,.sc-send:disabled{cursor:not-allowed;opacity:.58;transform:none}.sc-emoji-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;bottom:calc(100% + 6px);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;left:0;max-height:min(320px,42vh);overflow:hidden;position:absolute;right:0}.sc-emoji-panel.sc-emoji-panel--speech{border-radius:16px;bottom:calc(100% + 2px);box-shadow:0 12px 32px #0003,0 0 0 1px rgba(var(--border-hover-rgb),.12);max-width:min(100%,300px);right:auto;width:min(100%,300px);z-index:8}.sc-emoji-panel.sc-emoji-panel--speech:after{background:var(--bg-card);border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);bottom:-7px;content:"";height:12px;left:21px;pointer-events:none;position:absolute;transform:rotate(45deg);width:12px;z-index:2}.sc-emoji-panel-head{align-items:center;background:linear-gradient(180deg,rgba(var(--accent-primary-rgb),.08),#0000);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:8px;justify-content:space-between;padding:8px 10px}.sc-emoji-panel-title{font-size:11px;font-weight:900;letter-spacing:.08em;opacity:.85;text-transform:uppercase}.sc-emoji-panel-close{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:inherit;cursor:pointer;display:inline-flex;font-size:1.1rem;height:30px;justify-content:center;line-height:1;width:30px}.sc-emoji-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));min-height:0;overflow-x:hidden;overflow-y:auto;padding:10px}.sc-emoji-cell{align-items:center;aspect-ratio:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;display:inline-flex;font-size:1.35rem;justify-content:center;line-height:1;min-height:40px;transition:background .1s ease,transform .1s ease;width:100%}.sc-emoji-cell:hover{background:rgba(var(--accent-primary-rgb),.12);transform:scale(1.06)}.user-card{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.user-card.hover,.user-card:hover{background:#ffffff0d;background:var(--bg-hover,#ffffff0d);border-color:#2a2a3e;border-color:var(--border-color,#2a2a3e)}.user-card.selected{background:#3b82f61a;border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6)}.user-card-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--accent-primary,#3b82f6),var(--accent-secondary,#8b5cf6));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:40px;justify-content:center;width:40px}.user-card-info{flex:1 1;min-width:0}.user-card-username{color:#fff;color:var(--text-primary,#fff);font-size:.9rem;font-weight:600;margin-bottom:.25rem}.user-card-email,.user-card-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-email{color:#aaa;color:var(--text-secondary,#aaa);font-size:.8rem;margin-bottom:.125rem}.user-card-name{color:#888;color:var(--text-tertiary,#888);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-autocomplete-container{position:relative;width:100%}.user-autocomplete-input{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-primary,#fff);font-family:inherit;font-size:.9rem;padding:.75rem;transition:all .2s;width:100%}.user-autocomplete-input:focus{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 0 0 3px #3b82f61a;outline:none}.user-autocomplete-input:disabled{cursor:not-allowed;opacity:.6}.user-autocomplete-dropdown{animation:slideDown .2s ease-out;background:#1a1a2e;background:var(--bg-card,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);box-shadow:0 4px 12px #0000004d;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-autocomplete-results{padding:.25rem}.user-autocomplete-empty,.user-autocomplete-loading{color:#aaa;color:var(--text-secondary,#aaa);font-size:.875rem;padding:1rem;text-align:center}.user-autocomplete-empty{color:#888;color:var(--text-tertiary,#888)}.geoguesser-game.gg-game{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;padding:22px 16px 110px}.gg-game-shell{margin:0 auto;max-width:1200px}.error-banner{background:#ef444424;border:1px solid #ef444459;border-radius:12px;color:var(--text-primary);margin-bottom:12px;padding:12px 14px}.gg-game-hero{background:radial-gradient(120% 120% at 0 0,rgba(var(--accent-primary-rgb),.22) 0,#0000 55%),radial-gradient(120% 120% at 100% 0,rgba(var(--accent-hover-rgb),.18) 0,#0000 55%),linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-sm);margin-bottom:14px;overflow:hidden;padding:16px 16px 14px;position:relative}.gg-game-hero:after{background:radial-gradient(60% 60% at 50% 50%,#ffffff2e 0,#fff0 70%);content:"";filter:blur(24px);height:170px;inset:-90px -160px auto -160px;opacity:.3;pointer-events:none;position:absolute}.gg-game-hero-left,.gg-game-hero-right{align-items:center;display:flex;gap:10px;position:relative;z-index:1}.gg-game-hero{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.gg-game-title{font-size:22px;letter-spacing:-.02em;margin:0}.gg-game-sub{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.gg-chip{background:#ffffff0f;border:1px solid var(--border-color);font-size:12px;font-weight:800;gap:8px;letter-spacing:.02em;padding:8px 12px}.gg-chip-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:.12em}.gg-chip-live.on{border-color:rgba(var(--success-rgb),.35)}.gg-chip-live.off{border-color:#ef444459}.gg-live-dot{background:#ef4444e6;border-radius:999px;box-shadow:0 0 0 0 #ef444400;height:10px;width:10px}.gg-chip-live.on .gg-live-dot{animation:ggGamePulse 1.4s ease-in-out infinite;background:rgba(var(--success-rgb),.95)}@keyframes ggGamePulse{0%{box-shadow:0 0 0 0 rgba(var(--success-rgb),0)}50%{box-shadow:0 0 0 8px rgba(var(--success-rgb),.18)}to{box-shadow:0 0 0 0 rgba(var(--success-rgb),0)}}.gg-timer{font-feature-settings:"tnum";background:#ffffff0f;border:1px solid var(--border-color);border-radius:999px;font-variant-numeric:tabular-nums;font-weight:900;padding:8px 12px}.gg-timer-photo{border-color:#3b82f659}.gg-timer-guess{border-color:#ef444459}.gg-game-grid{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:1.35fr .65fr}.gg-stage-frame{align-items:center;background:linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-sm);display:flex;justify-content:center;min-height:420px;overflow:hidden;position:relative}.gg-stage-photo-wrap{background:none;border:none;border-radius:18px;cursor:pointer;display:block;padding:0;transition:transform .15s ease,box-shadow .15s ease;width:100%}.gg-stage-photo-wrap:hover{box-shadow:0 4px 16px #0003;transform:scale(1.01)}.gg-stage-photo-wrap:focus-visible{outline:2px solid #6366f199;outline:2px solid rgba(var(--accent-primary-rgb,99,102,241),.6);outline-offset:2px}.gg-stage-photo{display:block;height:100%;max-height:74vh;object-fit:contain;padding:10px;width:100%}.gg-stage-hidden{opacity:.9;padding:20px;text-align:center}.gg-stage-hidden-title{font-weight:900;margin-bottom:4px}.gg-stage-hidden-sub{font-size:14px;opacity:.75}.gg-review-overlay{display:flex;inset:auto 12px 12px 12px;justify-content:flex-start;position:absolute}.gg-review-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000008c;border:1px solid #ffffff1f;border-radius:16px;color:#fff;padding:12px 12px 10px;width:min(520px,100%)}.gg-review-title{font-weight:900;letter-spacing:-.01em;margin-bottom:8px}.gg-review-metrics{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.gg-metric{background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;padding:10px}.gg-metric-label{font-size:12px;margin-bottom:2px;opacity:.78}.gg-metric-value{font-size:16px;font-weight:900}.gg-metric-score{color:rgba(var(--success-rgb),.95)}.gg-review-sub{font-size:13px;margin-top:10px;opacity:.9}.gg-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);padding:14px}.gg-card-title{font-weight:900;margin-bottom:10px}.gg-count{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:999px;display:inline-flex;font-size:13px;height:26px;justify-content:center;margin-left:8px;min-width:26px}.gg-player-list{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto;padding-right:6px}.gg-player-row{background:linear-gradient(180deg,var(--bg-secondary),var(--bg-card));border:1px solid var(--border-color);border-radius:14px;justify-content:space-between;padding:10px}.gg-player-left,.gg-player-row{align-items:center;display:flex;gap:10px}.gg-player-left{min-width:0}.gg-player-avatar{background:linear-gradient(135deg,rgb(var(--accent-primary-rgb)),rgb(var(--accent-hover-rgb)));border-radius:14px;box-shadow:var(--shadow-sm);font-size:18px;height:34px;justify-content:center;width:34px}.gg-player-avatar,.gg-player-name{align-items:center;display:inline-flex}.gg-player-name{font-weight:900;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-badge{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:999px;font-size:12px;font-weight:800;opacity:.9;padding:3px 9px}.gg-player-right{align-items:center;display:flex;gap:10px}.gg-player-status{align-items:center;display:inline-flex;gap:6px}.gg-player-score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:900}.gg-player-dot{background:#ef4444d9;border-radius:999px;box-shadow:0 0 0 0 #ef444400;height:10px;width:10px}.gg-player-dot.on{background:rgba(var(--success-rgb),.95);box-shadow:0 0 0 6px rgba(var(--success-rgb),.18)}.gg-player-status-label{font-size:12px;font-weight:700;opacity:.86}.gg-player-row.has-guessed .gg-player-name{opacity:.78}.gg-player-row.has-guessed .gg-player-status-label{color:rgba(var(--success-rgb),.95)}.gg-player-dot.offline{background:#eab308e6;box-shadow:0 0 0 0 #eab30800}.gg-player-dot.left{background:#808080b3}.gg-player-row.gg-player-disconnected .gg-player-status-label,.gg-player-row.gg-player-left-game .gg-player-status-label{color:#808080f2}.gg-player-row.gg-player-disconnected .gg-player-name,.gg-player-row.gg-player-left-game .gg-player-name{opacity:.75}.gg-player-hint{font-size:12px;margin-bottom:6px;opacity:.8}.gg-card-actions{margin-top:12px}.gg-btn-primary{background:linear-gradient(135deg,rgb(var(--accent-primary-rgb)),rgb(var(--accent-hover-rgb)));border:1px solid rgba(var(--accent-active-rgb),.35);border-radius:14px;box-shadow:var(--shadow-md);color:var(--text-inverse);font-weight:900;padding:12px 14px;transition:transform .12s ease,box-shadow .12s ease;width:100%}.gg-btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-1px)}.gg-btn-primary:disabled{cursor:not-allowed;opacity:.6}.gg-action-hint{font-size:13px;margin-top:10px;opacity:.8}.gg-guess-preview{background:linear-gradient(180deg,var(--bg-secondary),var(--bg-card));border:1px solid var(--border-color);border-radius:16px;cursor:pointer;margin-top:12px;padding:12px 12px 10px;text-align:left;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;width:100%}.gg-guess-preview:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.gg-guess-preview-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.gg-guess-preview-title{font-weight:900}.gg-guess-preview-cta{color:var(--text-secondary);font-size:12px;font-weight:900}.gg-guess-preview-map .mcc-container{border:1px solid var(--border-color);border-radius:14px}.gg-card-chat{margin-top:14px}@media (max-width:980px){.gg-card-chat{margin-top:12px}}.gg-mobile-bar{background:#0000;bottom:0;display:none;left:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:1200}.gg-mobile-btn{background:linear-gradient(135deg,rgb(var(--accent-primary-rgb)),rgb(var(--accent-hover-rgb)));border:1px solid rgba(var(--accent-active-rgb),.35);border-radius:16px;box-shadow:var(--shadow-xl);color:var(--text-inverse);font-weight:900;padding:14px;width:100%}.gg-mobile-btn:disabled{opacity:.6}@media (max-width:860px){.geoguesser-game.gg-game{padding-bottom:140px}.gg-game-grid{grid-template-columns:1fr}.gg-mobile-bar{display:block}.gg-card-actions{display:none}.gg-stage-frame{min-height:320px}}.loading{font-size:1.25rem;opacity:.9}.error,.loading{align-items:center;color:var(--text-primary);display:flex;justify-content:center;min-height:100vh}.error{flex-direction:column;gap:1rem}.error button{background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:var(--text-inverse);cursor:pointer;padding:1rem 2rem;transition:all var(--transition-normal)}.error button:hover{background:var(--accent-hover)}.gg-grid-picker{color:#e5e7eb;display:flex;flex-direction:column;gap:12px;min-height:0;width:100%}.gg-grid-picker.is-disabled{opacity:.6;pointer-events:none}.gg-grid-picker-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.gg-grid-picker-title{color:#f3f4f6;font-size:1rem;font-weight:600;letter-spacing:.01em;margin:0}.gg-grid-picker-sub{color:#e5e7ebb3;font-size:.8rem;margin:0}.gg-grid-picker-back{align-items:center;background:#ffffff0a;border:1px solid #ffffff29;border-radius:999px;color:#e5e7eb;cursor:pointer;display:inline-flex;font-size:.82rem;gap:4px;padding:.35rem .7rem;transition:background .15s ease,border-color .15s ease}.gg-grid-picker-back:hover:not(:disabled){background:#ffffff14;border-color:#ffffff47}.gg-grid-picker-back .material-symbols-outlined{font-size:18px}.gg-grid-picker-crumbs{align-items:center;color:#e5e7ebcc;display:inline-flex;font-size:.85rem;gap:6px;min-width:0}.gg-grid-picker-crumb-map{color:#f3f4f6;font-weight:600;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-grid-picker-crumb-sep{opacity:.5}.gg-grid-picker-crumb-floor{color:#e5e7ebb3}.gg-grid-picker-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));overflow:auto;padding-right:2px}.gg-grid-picker.is-fullscreen .gg-grid-picker-grid{gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.gg-grid-picker-empty{background:#ffffff05;border:1px dashed #ffffff1f;border-radius:10px;color:#e5e7ebb3;font-size:.9rem;grid-column:1/-1;padding:1.5rem 1rem;text-align:center}.gg-grid-tile{background:#1113198c;border:1px solid #ffffff14;border-radius:12px;color:#e5e7eb;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:8px;padding:6px;text-align:left;transition:transform .12s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.gg-grid-tile:hover:not(:disabled){background:#1e293bbf;border-color:#60a5fa8c;box-shadow:0 8px 22px #00000059;transform:translateY(-1px)}.gg-grid-tile:focus-visible{border-color:#60a5fabf;box-shadow:0 0 0 3px #60a5fa40;outline:none}.gg-grid-tile.is-selected{background:#104e3c73;border-color:#34d399cc;box-shadow:0 0 0 2px #34d39940}.gg-grid-tile:disabled{cursor:not-allowed;opacity:.55}.gg-grid-tile-thumb{align-items:center;aspect-ratio:16/9;background:linear-gradient(135deg,#1e293bcc,#0f172acc);border-radius:8px;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.gg-grid-tile-thumb img{display:block;height:100%;object-fit:cover;width:100%}.gg-grid-tile-thumb-inner{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.gg-grid-tile-thumb-inner img{display:block;height:100%;object-fit:cover;width:100%}.gg-grid-tile-placeholder--lazy{background:#0f172a59;height:100%;min-height:48px;width:100%}.gg-grid-tile-placeholder{color:#94a3b8bf}.gg-grid-tile-placeholder .material-symbols-outlined{font-size:36px}.gg-grid-tile-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#34d39938;border:1px solid #34d39966;border-radius:999px;color:#6ee7b7;font-size:.68rem;font-weight:600;letter-spacing:.02em;padding:2px 8px;position:absolute;right:6px;text-transform:uppercase;top:6px}.gg-grid-tile-badge.is-warn{background:#fbbf2433;border-color:#fbbf2473;color:#fcd34d}.gg-grid-tile-meta{display:flex;flex-direction:column;gap:2px;min-width:0;padding:0 4px 2px}.gg-grid-tile-name{color:#f3f4f6;font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-grid-tile-sub{color:#e5e7eb99;font-size:.74rem}@media (max-width:640px){.gg-grid-picker-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.gg-grid-picker.is-fullscreen .gg-grid-picker-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.gg-grid-tile-name{font-size:.82rem}}.gg2-fullscreen{background:#0b0d10;color:#f5f7fa;font-family:inherit;inset:0;overflow:hidden;position:fixed;z-index:1100}.gg2-error,.gg2-loading{color:var(--text-primary);flex-direction:column;gap:1rem;min-height:70vh}.gg2-error,.gg2-loading,.gg2-photo-wrap{align-items:center;display:flex;justify-content:center}.gg2-photo-wrap{background:radial-gradient(ellipse at 20% 10%,#3b82f647 0,#0000 55%),radial-gradient(ellipse at 85% 90%,#a855f738 0,#0000 50%),linear-gradient(135deg,#0b1220,#111827 45%,#0b0d10);inset:0;isolation:isolate;position:absolute;z-index:0}.gg2-photo-canvas{inset:0;overflow:hidden;position:absolute;z-index:1}.gg2-photo-canvas .mcc-container{aspect-ratio:auto!important;background:#0000!important;border:none!important;border-radius:0!important;height:100%!important;width:100%!important}.gg2-photo-hidden{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f11168c;border:1px solid #ffffff14;border-radius:20px;box-shadow:0 20px 60px #00000073;color:#ffffffc7;max-width:520px;padding:2.5rem 1.5rem;position:relative;text-align:center}.gg2-photo-hidden-title{font-size:1.5rem;font-weight:600;margin-bottom:.4rem}.gg2-photo-hidden-sub{color:#ffffff8c;font-size:.95rem}.gg2-review-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1116c7;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 12px 40px #00000073;min-width:240px;padding:1.25rem 2rem;text-align:center;top:42%;z-index:20}.gg2-review-card,.gg2-review-card--map-main{left:50%;pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.gg2-review-card--map-main{top:36%;z-index:35}.gg2-review-row{align-items:baseline;display:flex;gap:1.5rem;justify-content:space-between;padding:.25rem 0}.gg2-review-label{color:#fff9;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.gg2-review-value{font-size:1.4rem;font-weight:700}.gg2-review-score{color:#34d399}.gg2-review-penalty{color:#fbbf24;font-size:.85rem;margin-top:.4rem;text-transform:capitalize}.gg2-next-round-loading{align-items:center;background:#05070a6b;display:flex;inset:0;justify-content:center;pointer-events:auto;position:absolute;z-index:39}.gg2-next-round-card{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f1116e0;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;gap:.85rem;min-width:220px;padding:1.1rem 1.6rem;text-align:center}.gg2-next-round-spinner{animation:gg2-next-round-spin .75s linear infinite;border:3px solid #ffffff1f;border-radius:50%;border-top-color:#60a5faf2;height:28px;width:28px}.gg2-next-round-text{color:#f5f7faeb;font-size:.95rem;font-weight:600;margin:0}@keyframes gg2-next-round-spin{to{transform:rotate(1turn)}}.gg-overlay{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f1116c7;border:1px solid #ffffff14;border-radius:14px;box-shadow:0 12px 40px #00000059;color:#f5f7fa;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;position:absolute;z-index:20}.gg-overlay.is-collapsed{border-radius:999px}.gg-overlay-header{align-items:center;background:#ffffff0a;border-bottom:1px solid #ffffff0f;display:flex;gap:.5rem;justify-content:space-between;padding:.55rem .85rem}.gg-overlay.is-collapsed .gg-overlay-header{background:#0000;border-bottom:none}.gg-overlay-header-btn{background:#0000;border:none;color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%}.gg-overlay-title{align-items:center;display:flex;font-size:.9rem;font-weight:600;gap:.5rem}.gg-overlay-title .material-symbols-outlined{font-size:18px}.gg-overlay-actions{display:flex;gap:.25rem}.gg-overlay-icon-btn{align-items:center;background:#ffffff0f;border:none;border-radius:8px;color:#f5f7fa;cursor:pointer;display:inline-flex;height:28px;justify-content:center;width:28px}.gg-overlay-icon-btn:hover:not(:disabled){background:#ffffff24}.gg-overlay-icon-btn:disabled{cursor:not-allowed;opacity:.4}.gg-overlay-icon-btn .material-symbols-outlined{font-size:18px}.gg-home-btn{background:#60a5fa2e;color:#93c5fd}.gg-home-btn:hover:not(:disabled){background:#60a5fa4d}.gg-leave-btn{background:#ef444429;color:#fca5a5}.gg-leave-btn:hover:not(:disabled){background:#ef444447}.gg-overlay-chevron{color:#fff9;font-size:18px}.gg-overlay-body{padding:.85rem}.gg-overlay-top{grid-gap:.5rem;align-items:center;box-shadow:0 10px 30px #00000073;display:grid;flex-direction:row;gap:.5rem;grid-template-columns:1fr auto 1fr;left:12px;padding:.5rem .85rem;right:12px;top:12px;z-index:40}.gg-top-left,.gg-top-right{align-items:center;display:flex;gap:.5rem;min-width:0}.gg-top-left{flex-wrap:nowrap;justify-content:flex-start;overflow:hidden}.gg-top-left .gg-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-top-right{justify-content:flex-end}.gg-top-center{align-items:center;display:flex;justify-content:center;min-height:36px;min-width:0}.gg-chip{align-items:center;background:#ffffff12;border-radius:999px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:600;gap:.35rem;padding:.25rem .6rem}.gg-chip-code{background:#60a5fa26;color:#93c5fd;letter-spacing:.05em}.gg-overlay-top--minimal .gg-chip-level{max-width:none}.gg-chip-level{background:#ffffff14}.gg-chip-live.on{background:#34d3992e;color:#6ee7b7}.gg-chip-live.off{background:#f871712e;color:#fca5a5}.gg-live-dot{background:currentColor;border-radius:50%;flex-shrink:0;height:7px;width:7px}.gg-chip-live.on .gg-live-dot{background:#34d399;box-shadow:0 0 0 1px #00000040}.gg-chip-live.off .gg-live-dot{background:#ef4444;box-shadow:0 0 0 1px #0003}.gg-timer-big{font-feature-settings:"tnum";align-items:baseline;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1116eb;border:2px solid #ffffff2e;border-radius:999px;box-shadow:0 8px 24px #00000080;display:inline-flex;font-variant-numeric:tabular-nums;gap:.5rem;line-height:1;padding:.45rem 1rem;white-space:nowrap}.gg-timer-big-label{color:#ffffffb8;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.gg-timer-big-value{color:#f5f7fa;font-size:1.35rem;font-weight:800}.gg-timer-big--photo{border-color:#60a5fab3}.gg-timer-big--photo .gg-timer-big-value{color:#93c5fd}.gg-timer-big--guess{border-color:#f59e0bb3}.gg-timer-big--guess .gg-timer-big-value{color:#fcd34d}.gg-timer-big--review{border-color:#34d399a6}.gg-timer-big--review .gg-timer-big-value{color:#6ee7b7}.gg-left-stack{bottom:18px;display:flex;flex-direction:column;gap:10px;left:12px;max-height:calc(100vh - 100px);max-width:calc(100vw - 24px);pointer-events:none;position:absolute;width:340px;z-index:20}.gg-left-stack>.gg-overlay{bottom:auto;left:auto;max-width:100%;pointer-events:auto;position:static;right:auto;top:auto;width:100%;z-index:auto}.gg-left-stack>.gg-overlay-chat{flex:0 1 auto;max-height:50vh;min-height:0}.gg-left-stack>.gg-overlay-players{flex:0 1 auto;max-height:35vh;min-height:0}.gg-left-stack>.gg-overlay.is-collapsed{flex:0 0 auto;max-height:none}.gg-overlay-players{max-width:calc(100vw - 24px);width:340px}.gg-players-embed-root{padding:4px 14px 8px;width:100%}.gg-players-body{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.gg-players-hint{color:#fff9;font-size:.8rem}.gg-players-list{display:flex;flex-direction:column;gap:.3rem}.gg-players-empty{color:#ffffff80;padding:.75rem;text-align:center}.gg-players-row{align-items:center;background:#ffffff08;border-radius:8px;display:flex;justify-content:space-between;padding:.35rem .5rem}.gg-players-row.has-guessed{background:#34d3991f}.gg-players-row.is-disconnected,.gg-players-row.is-left{opacity:.55}.gg-players-row-l{align-items:center;display:flex;gap:.5rem;min-width:0}.gg-players-avatar{align-items:center;background:#ffffff14;border-radius:50%;display:inline-flex;font-size:14px;height:26px;justify-content:center;width:26px}.gg-players-name{align-items:center;display:flex;font-size:.85rem;gap:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-players-row-r{align-items:center;display:flex;font-size:.82rem;gap:.5rem}.gg-players-score{color:#f5f7fa;font-weight:700}.gg-players-status{align-items:center;color:#ffffff8c;display:inline-flex;font-size:.72rem;gap:.3rem}.gg-players-status.status-guessed{color:#6ee7b7}.gg-badge{background:#ffffff1a;border-radius:4px;color:#ffffffb3;font-size:.65rem;letter-spacing:.04em;padding:.1rem .35rem;text-transform:uppercase}.gg-pill{background:#ffffff14;border-radius:999px;font-size:.7rem;padding:.05rem .45rem}.gg-penalty-pill{background:#fcd34d2e;border-radius:4px;color:#fcd34d;font-size:.65rem;letter-spacing:.03em;padding:.1rem .35rem;text-transform:uppercase}.gg-penalty-pill.is-bad{background:#f8717133;color:#fca5a5}.gg-overlay-chat{max-height:50vh;max-width:calc(100vw - 24px);width:340px}.gg-chat-body{display:flex;flex-direction:column;height:100%;min-height:300px;padding:.75rem .9rem .85rem}.gg-chat-body>*{flex:1 1 auto;min-height:0}.gg-chat-body .sc-chat{display:flex;flex-direction:column;height:100%}.gg-chat-body .sc-head{border-bottom:1px solid #ffffff14;margin-bottom:.5rem;padding-bottom:.4rem}.gg-chat-body .sc-title{color:#ffffffbf;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.gg-chat-body .sc-live{background:#ffffff14;border-color:#ffffff1a;color:#fffc;font-size:11px;padding:3px 8px}.gg-chat-body .sc-list{flex:1 1 auto;gap:.55rem;max-height:none;overflow-y:scroll;padding:.25rem .25rem .5rem 0;scrollbar-gutter:stable}.gg-chat-body .sc-footer{background:linear-gradient(0deg,#0c0e12f5,#0000);border-top:1px solid #ffffff1a;margin-top:.2rem;padding-top:.45rem}.gg-chat-body .sc-typing{color:#ffffff8c}.gg-chat-body .sc-bubble.sc-bubble--themed{background:linear-gradient(168deg,hsl(var(--sc-user-hue) var(--sc-user-sat) 46%/.24),hsl(var(--sc-user-hue) calc(var(--sc-user-sat) - 8%) 34%/.15));border-color:hsl(var(--sc-user-hue) var(--sc-user-sat) 60%/.38);border-radius:10px;box-shadow:0 8px 22px #00000047;padding:.45rem .65rem}.gg-chat-body .sc-avatar{background:#ffffff14;border-color:#ffffff1a;border-radius:10px;height:28px;width:28px}.gg-chat-body .sc-avatar--themed{background:linear-gradient(145deg,hsl(var(--sc-user-hue) var(--sc-user-sat) 50%/.3),hsl(var(--sc-user-hue) calc(var(--sc-user-sat) - 6%) 36%/.18));border-color:hsl(var(--sc-user-hue) var(--sc-user-sat) 62%/.48)}.gg-chat-body .sc-name{color:#f5f7fa}.gg-chat-body .sc-name--themed{color:hsl(var(--sc-user-hue) calc(var(--sc-user-sat) + 8%) 84%)}.gg-chat-body .sc-text{color:#f5f7fa}.gg-chat-body .sc-time{color:#ffffff73}.gg-chat-body .sc-compose{gap:.4rem;margin-top:0}.gg-chat-body .sc-input{background:#14171cf2;border:1px solid #ffffff24;border-radius:10px;color:#f5f7fa;color-scheme:dark;height:36px}.gg-chat-body .sc-input:focus{border-color:#60a5fab3;outline:none}.gg-chat-body .sc-emoji-btn{background:#ffffff0f;border:1px solid #ffffff24;border-radius:10px;color:#f5f7fa;font-weight:700;height:36px}.gg-chat-body .sc-send{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:1px solid #fff6;border-radius:10px;box-shadow:0 2px 12px #2563eb8c,inset 0 1px 0 #ffffff40;color:#fff;font-weight:800;height:36px;letter-spacing:.03em;text-shadow:0 1px 2px #00000073}.gg-chat-body .sc-send:hover:not(:disabled){filter:brightness(1.08)}.gg-chat-body .sc-send:disabled{background:#ffffff0f;border-color:#ffffff1a;box-shadow:none;color:#ffffff73;filter:none;text-shadow:none}.gg-chat-body .sc-jump-bottom{background:linear-gradient(180deg,#1c2028fa,#14171cf2);border-color:#ffffff38;box-shadow:0 4px 16px #00000059,inset 0 1px 0 #ffffff1f;color:#f5f7fa}.gg-chat-body .sc-jump-bottom:hover{border-color:#60a5fa8c}.gg-chat-body .sc-emoji-panel{background:#14171cfa;border-color:#ffffff24}.gg-chat-body .sc-emoji-panel-head{border-bottom-color:#ffffff1a}.gg-chat-body .sc-emoji-cell,.gg-chat-body .sc-emoji-panel-close{background:#ffffff0f;border-color:#ffffff1f;color:#f5f7fa}.gg-chat-body .sc-emoji-cell:hover{background:#60a5fa2e}.gg-chat-body .sc-emoji-backdrop{background:#00000080}.gg-chat-body .sc-emoji-panel.sc-emoji-panel--speech:after{background:#14171cfa;border-bottom-color:#ffffff24;border-right-color:#ffffff24}.gg-chat-body .sc-you-pill{background:#60a5fa2e;border-color:#60a5fa80;color:#f5f7fa}.gg-overlay-guessmap{bottom:18px;max-width:calc(100vw - 24px);right:12px;width:380px}.gg-map-floor-select{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-bottom:.7rem}.gg-mfs-row{display:flex;flex-direction:column;font-size:.85rem;gap:.25rem}.gg-mfs-label{color:#ffffff8c;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.gg-mfs-select{appearance:none;-webkit-appearance:none;background:#14171cf2;background-image:linear-gradient(45deg,#0000 50%,#ffffffd9 0),linear-gradient(135deg,#ffffffd9 50%,#0000 0);background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid #ffffff2e;border-radius:8px;color:#f5f7fa;color-scheme:dark;cursor:pointer;font:inherit;font-size:.9rem;font-weight:600;padding:.5rem 1.8rem .5rem .65rem;transition:border-color .12s ease,background-color .12s ease;width:100%}.gg-mfs-select:hover:not(:disabled){border-color:#60a5fa8c}.gg-mfs-select:focus{border-color:#60a5facc;box-shadow:0 0 0 2px #60a5fa40;outline:none}.gg-mfs-select:disabled{cursor:not-allowed;opacity:.45}.gg-mfs-select option{background:#14171c;color:#f5f7fa}.gg-mfs-static{color:#f5f7fa;flex:1 1 auto;font-weight:700;padding:.35rem .1rem}.gg-guessmap-canvas{background:#0006;border-radius:8px;overflow:hidden}.gg-guessmap-empty{color:#ffffff8c;font-size:.9rem;padding:1.25rem;text-align:center}.gg-guessmap-breadcrumb{align-items:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;color:#e5e7eb;display:flex;font-size:.85rem;gap:10px;justify-content:space-between;min-width:0;padding:6px 8px 6px 12px}.gg-guessmap-breadcrumb-text{align-items:center;display:inline-flex;gap:6px;min-width:0;overflow:hidden}.gg-guessmap-breadcrumb-map{color:#f3f4f6;font-weight:600;max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-guessmap-breadcrumb-sep{opacity:.45}.gg-guessmap-breadcrumb-floor{color:#e5e7ebd9;max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-guessmap-breadcrumb-btn{align-items:center;background:#60a5fa2e;border:1px solid #60a5fa73;border-radius:999px;color:#bfdbfe;cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:.78rem;font-weight:600;gap:4px;padding:.3rem .75rem;transition:background .15s ease,border-color .15s ease}.gg-guessmap-breadcrumb-btn:hover:not(:disabled){background:#60a5fa4d;border-color:#60a5faa6}.gg-guessmap-breadcrumb-btn .material-symbols-outlined{font-size:16px}.gg-guessmap-breadcrumb-btn:disabled{cursor:not-allowed;opacity:.55}.gg-overlay-guessmap.is-fullscreen .gg-overlay-body{gap:14px;padding:18px 24px}.gg-overlay-guessmap.is-fullscreen .gg-grid-picker{margin:0 auto;max-width:1200px;width:100%}.gg-guessmap-submit{align-items:stretch;background:#ffffff05;border-top:1px solid #ffffff0f;display:flex;flex-direction:column;gap:.35rem;padding:.75rem .85rem .85rem}.gg-overlay-guessmap.is-collapsed{border-radius:14px}.gg-guessmap-submit.is-compact{padding:.55rem .75rem .65rem}.gg-overlay-submit{align-items:stretch;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;box-shadow:none;flex-direction:column;gap:.35rem;padding:0;position:static;transform:none}.gg-submit-pill{background:linear-gradient(135deg,#2563eb,#1e40af);border:none;border-radius:10px;box-shadow:0 6px 18px #2563eb66;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:.75rem 1.25rem;transition:transform .12s ease,box-shadow .12s ease;width:100%}.gg-submit-pill:not(:disabled):hover{box-shadow:0 12px 40px #2563eb8c;transform:translateY(-2px)}.gg-submit-pill:disabled{background:#ffffff14;box-shadow:none;color:#ffffff80;cursor:not-allowed}.gg-submit-pill.is-review{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 8px 30px #16a34a73}.gg-submit-hint{color:#ffffff8c;font-size:.75rem;padding:.1rem 0;text-align:center}.gg2-error-banner{background:#f871712e;border:1px solid #f8717166;border-radius:8px;color:#fecaca;font-size:.85rem;padding:.5rem 1rem;top:64px;z-index:50}.gg2-error-banner,.gg2-event-banner-stack{left:50%;position:absolute;transform:translateX(-50%)}.gg2-event-banner-stack{align-items:center;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 24px));pointer-events:none;top:calc(88px + env(safe-area-inset-top, 0px));z-index:46}.gg2-event-banner{align-items:flex-start;animation:gg2-event-banner-in .2s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1116eb;border:1px solid #ffffff1f;border-radius:12px;box-shadow:0 12px 36px #00000073;color:#f5f7fa;display:flex;font-size:.88rem;font-weight:600;gap:10px;line-height:1.35;padding:10px 12px 10px 14px;pointer-events:auto}@keyframes gg2-event-banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.gg2-event-banner--warning{border-color:#f59e0b73;box-shadow:0 12px 36px #00000073,0 0 0 1px #f59e0b1f}.gg2-event-banner--info{border-color:#60a5fa66}.gg2-event-banner--chat{border-color:#60a5fa73;box-shadow:0 12px 36px #00000073,0 0 0 1px #60a5fa1a}.gg2-event-banner__text{flex:1 1 auto;min-width:0;word-break:break-word}.gg2-event-banner__close{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:#ffffffa6;cursor:pointer;flex:0 0 auto;font-size:1.35rem;line-height:1;margin:-2px 0 0;padding:0 2px}.gg2-event-banner__close:hover{color:#fff}.gg2-fullscreen.is-map-big .gg-overlay-top{z-index:30}.gg2-fullscreen.is-map-big.is-next-round-loading .gg-overlay-top{z-index:50}.gg2-fullscreen.is-map-big .gg-overlay-players{z-index:22}.gg2-fullscreen.is-map-big .gg-left-stack{bottom:max(10px,env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left,0px));max-height:min(44vh,calc(100vh - 76px));z-index:40}.gg2-fullscreen.is-map-big .gg-overlay-guessmap{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;border-radius:0;inset:0;bottom:0;box-shadow:none;display:flex;flex-direction:column;left:0;max-width:none;position:absolute;right:0;top:72px;width:auto;z-index:5}.gg2-fullscreen.is-map-big .gg-overlay-guessmap .gg-overlay-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1116b8;border-bottom:1px solid #ffffff14;flex:0 0 auto}.gg2-fullscreen.is-map-big .gg-overlay-guessmap .gg-overlay-body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:.6rem .85rem .85rem}.gg2-fullscreen.is-map-big .gg-overlay-guessmap .gg-guessmap-canvas{border-radius:12px;flex:1 1 auto;min-height:0}.gg2-fullscreen.is-map-big .gg-overlay-guessmap .gg-guessmap-canvas .mcc-container{aspect-ratio:auto!important;height:100%!important;width:100%!important}.gg2-fullscreen.is-map-big .gg-overlay-guessmap .gg-map-floor-select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1116b8;border:1px solid #ffffff14;border-radius:12px;margin-bottom:.7rem;padding:.55rem .7rem}.gg-overlay-guessmap.is-fullscreen .gg-guessmap-submit{display:none}.gg2-fullscreen.is-map-big .gg2-photo-float-root{aspect-ratio:16/9;border:1px solid #ffffff14;border-radius:14px;inset:auto;bottom:calc(18px + env(safe-area-inset-bottom, 0px));box-shadow:0 20px 60px #0000008c;cursor:grab;height:auto;isolation:isolate;left:auto;max-width:calc(100vw - 24px);overflow:hidden;position:absolute;right:max(12px,env(safe-area-inset-right,0px));top:auto;touch-action:none;width:380px;will-change:transform;z-index:52}.gg2-fullscreen.is-map-big .gg2-photo-float-root:active{cursor:grabbing}.gg2-fullscreen.is-map-big .gg2-photo-float-root .gg2-photo-wrap{border-radius:inherit;height:100%;inset:auto;overflow:hidden;position:relative;width:100%}.gg2-fullscreen.is-map-big .gg2-photo-canvas .mcc-zoom-controls{display:none!important}.gg2-photo-swap{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1116b8;border:1px solid #ffffff24;border-radius:8px;color:#f5f7fa;cursor:pointer;display:inline-flex;height:32px;justify-content:center;position:absolute;right:8px;top:8px;transition:background-color .12s ease,border-color .12s ease;width:32px;z-index:45}.gg2-photo-swap:hover{background:#1e222ae6;border-color:#60a5fa8c}.gg2-photo-swap .material-symbols-outlined{font-size:20px}.gg2-floating-submit{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1116c7;border:1px solid #ffffff1a;border-radius:14px;bottom:max(12px,env(safe-area-inset-bottom,0px));box-shadow:0 16px 40px #00000073;display:flex;flex-direction:column;gap:.35rem;left:50%;max-width:calc(100vw - 24px);min-width:260px;padding:.55rem .75rem;position:absolute;transform:translateX(-50%);z-index:55}.gg2-floating-submit .gg-submit-pill{min-width:220px}@media (max-width:1100px){.gg-left-stack,.gg-overlay-chat,.gg-overlay-guessmap{width:300px}}@media ((max-height:520px) and (orientation:landscape) and (max-width:1280px)),(max-width:768px){.gg-overlay-top{align-items:center;gap:.24rem .35rem;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;left:max(12px,env(safe-area-inset-left,0px));padding:.28rem .5rem;right:max(12px,env(safe-area-inset-right,0px));top:calc(6px + env(safe-area-inset-top, 0px))}.gg-overlay-top--minimal{align-items:center;gap:.22rem .3rem;grid-template-columns:1fr auto 1fr;grid-template-rows:auto;padding:.18rem .4rem}.gg-top-left{grid-column:1;grid-row:1;min-width:0}.gg-overlay-top--minimal .gg-top-left{align-items:center;align-self:center;flex-direction:row;flex-wrap:nowrap;gap:.28rem;justify-self:start}.gg-overlay-top--minimal .gg-chip-level{font-size:.65rem;line-height:1.15;padding:.12rem .38rem}.gg-overlay-top--minimal .gg-chip-live{padding:.12rem .35rem}.gg-overlay-top--minimal .gg-chip-live .gg-live-label{clip:auto;border:0;font-size:.58rem;font-weight:700;height:auto;letter-spacing:.06em;margin:0;max-width:4.2rem;overflow:hidden;padding:0;position:static;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;width:auto}.gg-overlay-top--minimal .gg-chip-live{gap:.2rem;position:relative}.gg-top-right{align-self:center;grid-column:2;grid-row:1}.gg-overlay-top--minimal .gg-top-right{grid-column:3;grid-row:1;justify-self:end}.gg-top-center{grid-column:1/-1;grid-row:2;justify-content:center;width:100%}.gg-overlay-top--minimal .gg-top-center{grid-column:2;grid-row:1;justify-content:center;justify-self:center;min-width:0;width:auto}.gg-top-center .gg-timer-big{flex:0 1 auto;justify-content:center;max-width:min(100%,280px)}.gg-overlay-top--minimal .gg-top-center .gg-timer-big{gap:.24rem;max-width:min(100%,200px);padding:.16rem .45rem}.gg-overlay-top--minimal .gg-timer-big-label{font-size:.48rem;letter-spacing:.07em}.gg-overlay-top--minimal .gg-timer-big-value{font-size:.74rem}.gg-overlay-top--minimal .gg-overlay-icon-btn{height:34px;min-height:34px;min-width:34px;width:34px}.gg-timer-big{padding:.38rem .85rem}.gg-timer-big-label{font-size:.62rem}.gg-timer-big-value{font-size:1.12rem}.gg-chip{font-size:.74rem;padding:.22rem .5rem}.gg-chip-live{flex-shrink:0}.gg2-error-banner{top:calc(62px + env(safe-area-inset-top, 0px))}.gg2-narrow-ui .gg-overlay-top{z-index:45}.gg2-narrow-ui .gg2-error-banner{top:calc(44px + env(safe-area-inset-top, 0px))}.gg2-event-banner-stack{top:calc(62px + env(safe-area-inset-top, 0px))}.gg2-narrow-ui .gg2-event-banner-stack{top:calc(44px + env(safe-area-inset-top, 0px))}.gg-overlay-icon-btn,.gg2-photo-swap{height:44px;min-height:44px;min-width:44px;width:44px}.gg2-floating-submit{bottom:calc(24px + env(safe-area-inset-bottom, 0px));max-width:calc(100vw - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))}.gg-left-stack{bottom:auto;gap:8px;left:max(12px,env(safe-area-inset-left,0px));max-height:min(28vh,calc(100vh - 220px));max-width:none;right:max(12px,env(safe-area-inset-right,0px));top:calc(102px + env(safe-area-inset-top, 0px));width:auto}.gg-left-stack>.gg-overlay-chat{max-height:min(16vh,180px)}.gg-left-stack>.gg-overlay-players{max-height:min(12vh,140px)}.gg-overlay-guessmap{bottom:calc(12px + env(safe-area-inset-bottom, 0px));left:max(12px,env(safe-area-inset-left,0px));max-width:none;right:max(12px,env(safe-area-inset-right,0px));width:auto}.gg2-narrow-ui.is-map-big .gg-overlay-top{z-index:45}.gg2-narrow-ui.is-map-big .gg2-photo-float-root{max-width:88vw;width:min(320px,88vw)}.gg2-narrow-ui.is-map-big .gg-overlay-guessmap{bottom:0;left:0;min-height:0;right:0;top:calc(44px + env(safe-area-inset-top, 0px))}.gg2-narrow-ui.is-map-big .gg-overlay-guessmap .gg-overlay-body{min-height:0;overflow:hidden}.gg2-narrow-ui.is-map-big .gg-overlay-guessmap .gg-guessmap-canvas{max-height:calc(100dvh - 140px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));min-height:0}.gg2-narrow-ui.is-map-big .gg-overlay-guessmap .gg-guessmap-canvas .mcc-container{max-height:100%!important}.gg2-narrow-ui.is-map-big .gg2-floating-submit{bottom:max(12px,env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left,0px));max-width:none;min-width:0;padding:.5rem .65rem;right:max(12px,env(safe-area-inset-right,0px));transform:none;z-index:60}.gg2-narrow-ui.is-map-big .gg2-floating-submit .gg-submit-pill{min-width:0;width:100%}.gg2-narrow-ui .gg-left-stack{display:none!important}.gg2-narrow-ui .gg2-mobile-dock{-webkit-tap-highlight-color:rgba(255,255,255,.12);bottom:auto;display:flex;flex-direction:column;gap:8px;left:max(12px,env(safe-area-inset-left,0px));pointer-events:none;position:absolute;touch-action:manipulation;z-index:43}.gg2-narrow-ui.gg2-mobile-dock-lower .gg2-mobile-dock{top:calc(96px + env(safe-area-inset-top, 0px))}.gg2-narrow-ui.gg2-mobile-dock-higher:not(.is-map-big) .gg2-mobile-dock{top:calc(52px + env(safe-area-inset-top, 0px))}.gg2-narrow-ui.is-map-big .gg2-mobile-dock{bottom:calc(108px + env(safe-area-inset-bottom, 0px));flex-direction:row;gap:6px;top:auto;z-index:43}.gg2-narrow-ui.is-map-big .gg2-mobile-dock-btn{border-radius:10px;height:44px;min-height:44px;min-width:44px;padding:0;width:44px}.gg2-narrow-ui.is-map-big .gg2-mobile-dock-btn .material-symbols-outlined{font-size:22px}.gg2-mobile-dock-btn{-webkit-tap-highlight-color:rgba(255,255,255,.15);align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1116e0;border:1px solid #ffffff1f;border-radius:12px;box-shadow:0 10px 28px #0006;color:#e5e7eb;cursor:pointer;display:inline-flex;height:48px;justify-content:center;min-height:48px;min-width:48px;pointer-events:auto;touch-action:manipulation;width:48px}.gg2-mobile-dock-btn .material-symbols-outlined{font-size:24px;pointer-events:none}.gg2-mobile-dock-btn:active{transform:scale(.97)}.gg2-narrow-ui .gg-submit-pill{-webkit-tap-highlight-color:rgba(255,255,255,.12);font-size:.88rem;min-height:48px;padding:.65rem .85rem;touch-action:manipulation;white-space:nowrap}.gg2-narrow-ui .gg-submit-hint{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg2-narrow-ui .gg2-floating-submit{touch-action:manipulation}.gg2-narrow-ui .gg-overlay-icon-btn{-webkit-tap-highlight-color:rgba(255,255,255,.1);touch-action:manipulation}.gg2-mobile-sheet-backdrop{background:#00000085;border:0;cursor:pointer;inset:0;margin:0;padding:0;position:fixed;z-index:55}.gg2-mobile-sheet{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0e12f7;border:1px solid #ffffff1a;border-bottom:0;border-radius:18px 18px 0 0;bottom:0;box-shadow:0 -12px 40px #0000008c;display:flex;flex-direction:column;left:0;max-height:min(78vh,620px);position:fixed;right:0;z-index:56}.gg2-mobile-sheet-head{align-items:center;border-bottom:1px solid #ffffff14;display:flex;flex:0 0 auto;justify-content:space-between;padding:14px 16px 10px}.gg2-mobile-sheet-title{color:#f9fafb;font-size:1.05rem;font-weight:700}.gg2-mobile-sheet-close{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:#ffffffa6;cursor:pointer;font-size:1.75rem;line-height:1;padding:4px 8px}.gg2-mobile-sheet-body{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow:auto;padding:0 0 16px}.gg2-mobile-sheet-body .gg-chat-embedded{max-height:none;padding:12px 14px 0}.gg2-mobile-sheet-body .gg-players-embed-root{flex:1 1 auto;min-height:min(48vh,360px)}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow.is-collapsed:not(.is-fullscreen){bottom:calc(50px + env(safe-area-inset-bottom, 0px));left:max(12px,env(safe-area-inset-left,0px));margin-left:auto;margin-right:auto;max-height:none;max-width:min(210px,calc(100vw - 96px));right:max(12px,env(safe-area-inset-right,0px));top:auto;width:min(210px,calc(100vw - 96px));z-index:41}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow.is-collapsed:not(.is-fullscreen) .gg-overlay-header{-webkit-tap-highlight-color:rgba(255,255,255,.12);background:#0f1116eb;border:1px solid #60a5fa59;border-radius:999px;box-shadow:0 10px 26px #0000006b;justify-content:center;min-height:48px;padding:.22rem .65rem;text-align:center;touch-action:manipulation}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow.is-collapsed:not(.is-fullscreen) .gg-overlay-header-btn{min-height:48px}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow.is-collapsed:not(.is-fullscreen) .gg-overlay-title{font-size:.8rem;font-weight:700;gap:.28rem;justify-content:center;text-align:center;width:100%}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow.is-collapsed:not(.is-fullscreen) .gg-overlay-actions,.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow.is-collapsed:not(.is-fullscreen) .gg-overlay-chevron{display:none}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow.is-collapsed:not(.is-fullscreen) .gg-overlay-title .material-symbols-outlined{font-size:16px}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed):not(.is-reviewing-round){border-radius:14px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;left:max(12px,env(safe-area-inset-left,0px));max-height:min(82vh,680px);max-width:none;min-height:0;right:max(12px,env(safe-area-inset-right,0px));top:auto;width:auto;z-index:42}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed):not(.is-reviewing-round) .gg-overlay-body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:auto}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed):not(.is-reviewing-round) .gg-grid-picker{flex:1 1 auto;min-height:0;overflow:auto}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed):not(.is-reviewing-round) .gg-map-floor-select{flex:0 0 auto}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed):not(.is-reviewing-round) .gg-guessmap-canvas{align-items:stretch;display:flex;flex:1 1 auto;height:min(48vh,360px);max-height:min(48vh,360px);min-height:0;overflow:hidden}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed):not(.is-reviewing-round) .gg-guessmap-canvas .mcc-container{aspect-ratio:auto!important;flex:1 1 auto;max-height:100%!important;min-height:0!important;width:100%!important}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed) .gg-overlay-header{align-items:center;gap:.45rem;justify-content:space-between;padding-left:.65rem;padding-right:.55rem;position:relative}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed) .gg-overlay-title{flex:1 1 auto;font-size:.92rem;gap:.3rem;justify-content:flex-start;max-width:none;min-width:0;pointer-events:none;position:static;text-align:left;transform:none}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed) .gg-overlay-actions{flex:0 0 auto;z-index:1}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed) .gg-guessmap-submit{border-top:1px solid #ffffff14;flex:0 0 auto;padding:.5rem max(12px,env(safe-area-inset-right,0px)) calc(.55rem + env(safe-area-inset-bottom, 0px)) max(12px,env(safe-area-inset-left,0px))}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed).is-reviewing-round{border-radius:16px 16px 0 0;bottom:0;box-shadow:0 -12px 40px #0000007a;display:flex;flex-direction:column;left:0;max-height:min(52vh,480px);min-height:0;right:0;top:auto;z-index:44}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed).is-reviewing-round .gg-overlay-body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed).is-reviewing-round .gg-guessmap-canvas{flex:1 1 auto;min-height:0}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed).is-reviewing-round .gg-guessmap-submit{flex:0 0 auto;position:relative;z-index:2}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow.is-collapsed.is-reviewing-round:not(.is-fullscreen){z-index:44}.gg2-narrow-ui .gg2-review-card{min-width:0;padding:.75rem 1.1rem;top:36%;transform:translate(-50%,-50%);width:min(300px,calc(100vw - 32px));z-index:20}.gg2-narrow-ui .gg2-review-card--map-main{top:42%}.gg2-narrow-ui .gg2-review-value{font-size:1.15rem}}@media (max-height:520px) and (orientation:landscape) and (max-width:1280px){.gg-overlay-top{gap:.2rem .32rem;padding:.22rem .45rem}.gg-timer-big{padding:.28rem .55rem}.gg-timer-big-value{font-size:1rem}.gg-overlay-top--minimal .gg-timer-big-value{font-size:.68rem}.gg-overlay-top--minimal .gg-overlay-icon-btn{height:32px;min-height:32px;min-width:32px;width:32px}.gg-left-stack{max-height:min(26vh,calc(100vh - 140px));top:calc(72px + env(safe-area-inset-top, 0px))}.gg-left-stack>.gg-overlay-chat{max-height:min(14vh,120px)}.gg-left-stack>.gg-overlay-players{max-height:min(11vh,100px)}.gg2-narrow-ui .gg2-error-banner,.gg2-narrow-ui .gg2-event-banner-stack{top:calc(36px + env(safe-area-inset-top, 0px))}.gg2-narrow-ui.gg2-mobile-dock-higher:not(.is-map-big) .gg2-mobile-dock,.gg2-narrow-ui.gg2-mobile-dock-lower .gg2-mobile-dock{gap:6px;top:calc(86px + env(safe-area-inset-top, 0px))}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow.is-collapsed:not(.is-fullscreen){bottom:calc(8px + env(safe-area-inset-bottom, 0px));max-width:min(196px,calc(100vw - 72px));width:min(196px,calc(100vw - 72px))}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed):not(.is-reviewing-round){max-height:min(calc(100vh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)),92vh)}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed):not(.is-reviewing-round) .gg-guessmap-canvas{height:min(30vh,200px);max-height:min(30vh,200px)}.gg2-narrow-ui .gg-overlay-guessmap.gg-guessmap-narrow:not(.is-fullscreen):not(.is-collapsed).is-reviewing-round{max-height:min(40vh,240px)}.gg2-narrow-ui .gg2-review-card{padding:.6rem .9rem;top:24%}.gg2-narrow-ui .gg2-review-card--map-main{top:30%}.gg2-narrow-ui .gg2-review-value{font-size:1.05rem}.gg2-narrow-ui .gg2-mobile-sheet{max-height:min(68vh,380px);touch-action:manipulation}.gg2-narrow-ui .gg2-mobile-sheet-close{-webkit-tap-highlight-color:rgba(255,255,255,.12);min-height:48px;min-width:48px;touch-action:manipulation}.gg2-narrow-ui.is-map-big .gg-overlay-guessmap{top:calc(38px + env(safe-area-inset-top, 0px))}.gg2-narrow-ui.is-map-big .gg-overlay-guessmap .gg-overlay-header{padding:.28rem .4rem}.gg2-narrow-ui.is-map-big .gg-overlay-guessmap .gg-overlay-body{padding:.3rem .4rem .4rem}.gg2-narrow-ui.is-map-big .gg-overlay-guessmap .gg-guessmap-canvas{max-height:calc(100vh - 100px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));max-height:calc(100dvh - 100px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))}.gg2-narrow-ui.is-map-big .gg2-mobile-dock{bottom:calc(90px + env(safe-area-inset-bottom, 0px));gap:6px}.gg2-narrow-ui.is-map-big .gg2-floating-submit{bottom:max(6px,env(safe-area-inset-bottom,0px));padding:.4rem .55rem}.gg2-narrow-ui.is-map-big .gg2-photo-float-root{max-width:42vw;width:min(280px,42vw)}}.leaderboard-summary{color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;font-size:.9rem;justify-content:flex-end;padding:4px 2px 8px}.filter-clear label{visibility:hidden}.btn-small{border-radius:8px;font-size:.85rem!important;padding:6px 12px!important}.podium{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.5rem 0 2rem}.podium-slot{background:#111827;background:var(--bg-secondary,#111827);border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:16px;padding:16px 12px 20px;text-align:center;transition:transform .12s ease}.podium-slot.is-you{outline:2px solid #6366f1;outline:2px solid var(--accent-primary,#6366f1);outline-offset:2px}.podium-medal{font-size:34px;line-height:1;margin-bottom:8px}.podium-name{font-size:1rem;font-weight:700;word-break:break-word}.podium-score{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.9rem;margin-top:4px}.podium-place-1{background:linear-gradient(180deg,#facc1529,#facc150a);border-color:#facc1559;transform:translateY(-12px)}.podium-place-2{background:linear-gradient(180deg,#94a3b829,#94a3b80a);border-color:#94a3b859}.podium-place-3{background:linear-gradient(180deg,#d9770629,#d977060a);border-color:#d9770659}.podium-empty{background:#0000;border:1px dashed #ffffff1f;border:1px dashed var(--border-color,#ffffff1f);opacity:.3}.you-won-banner{background:linear-gradient(90deg,#10b9812e,#10b9810d);border:1px solid #10b98173;border-radius:12px;color:#d1fae5;font-weight:600;margin-bottom:1rem;margin-top:.5rem;padding:10px 14px}.claim-ranked-banner{align-items:center;background:#111827;background:var(--bg-secondary,#111827);border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:12px;display:flex;flex-wrap:wrap;font-size:.95rem;gap:12px;justify-content:space-between;margin:1rem 0;padding:12px 16px}.claim-ranked-banner.claim-claimed{background:#10b98114;border-color:#10b98173}.claim-ranked-banner.claim-ineligible{background:#ef44440f;border-color:#ef444459}@media (max-width:640px){.podium{align-items:stretch;display:flex;flex-direction:column;gap:12px}.podium-slot{transform:none}.podium-place-1{order:1}.podium-place-2{order:2}.podium-place-3{order:3}.podium-empty{order:10}}.geoguesser-results{align-items:flex-start;background-color:var(--bg-primary);box-sizing:border-box;color:var(--text-primary);display:flex;justify-content:center;min-height:calc(100vh - 70px);padding:2rem;width:100%}.results-error,.results-loading{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:var(--text-primary);margin:2rem auto;max-width:600px;padding:3rem;text-align:center}.results-error h2{color:var(--error);margin-bottom:1rem}.results-container{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);box-sizing:border-box;margin:0 auto;max-width:1200px;padding:1.5rem 2rem;width:100%}.results-header{border-bottom:1px solid var(--border-color);margin-bottom:1.25rem;padding-bottom:1rem;text-align:center}.results-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-primary),#8b5cf6);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.session-code{color:var(--text-secondary);font-size:.95rem;font-weight:500;margin:.15rem 0}.game-mode{color:var(--text-tertiary);font-size:.875rem;margin:0}.winner-banner-wrapper{display:block;margin:0 0 1.25rem;width:100%}.winner-banner{align-items:center;background:linear-gradient(135deg,var(--success),#34d399);border:1px solid var(--success);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:.75rem 1rem;text-align:center}.winner-banner.you-won{box-shadow:0 0 0 2px #10b9814d}.winner-content{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.winner-content h2{font-size:.875rem;font-weight:600;opacity:.95}.winner-content h2,.winner-name{color:var(--text-inverse);margin:0}.winner-name{font-size:1.1rem;font-weight:700}.winner-score{color:var(--text-inverse);font-size:1rem;font-weight:600;margin:0;opacity:.95}.results-session-summary{--summary-accent-1:#6366f1f2;--summary-accent-2:#8b5cf6f2;--summary-accent-3:#f59e0bf2;--summary-accent-4:#10b981f2;background:linear-gradient(165deg,#6366f117 0,#0000 42%,#8b5cf60d 100%),var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;box-shadow:inset 0 1px 0 #ffffff0a,0 12px 28px -18px #00000073;margin-bottom:1.5rem;overflow:hidden;position:relative}.results-session-summary:before{background:linear-gradient(90deg,var(--summary-accent-1),var(--summary-accent-2) 38%,var(--summary-accent-3) 68%,var(--summary-accent-4));content:"";height:3px;left:0;opacity:.92;pointer-events:none;position:absolute;right:0;top:0}.session-summary-header{background:linear-gradient(180deg,#ffffff08,#0000);border-bottom:1px solid #ffffff0f;padding:.65rem 1rem .35rem}.session-summary-kicker{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.68rem;font-weight:700;gap:.4rem;letter-spacing:.14em;text-transform:uppercase}.session-summary-kicker:before{background:linear-gradient(135deg,var(--summary-accent-1),var(--summary-accent-2));border-radius:50%;box-shadow:0 0 10px #6366f173;content:"";height:6px;width:6px}.session-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.session-summary-item{align-items:center;border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:.35rem;justify-content:center;min-width:0;padding:.85rem 1rem;text-align:center;transition:background-color .15s ease}.session-summary-item,.session-summary-item:first-child{--summary-accent:var(--summary-accent-1)}.session-summary-item:nth-child(2){--summary-accent:var(--summary-accent-2)}.session-summary-item:nth-child(3){--summary-accent:var(--summary-accent-3)}.session-summary-item:nth-child(4){--summary-accent:var(--summary-accent-4)}@media (hover:hover){.session-summary-item:hover{background-color:#6366f10f}}.session-summary-item:last-child{border-right:none}.session-summary-label{color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.session-summary-value{font-feature-settings:"tnum";color:var(--text-primary);font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-section{margin-bottom:1.5rem}.leaderboard-section h2{color:var(--text-primary);font-size:1.15rem;font-weight:700;margin-bottom:.75rem;text-align:center}.leaderboard{display:flex;flex-direction:column;gap:.5rem}.leaderboard-item{align-items:center;background-color:var(--bg-secondary);border-left:4px solid var(--border-color);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;gap:1rem;padding:.6rem 1rem;transition:all var(--transition-fast)}.leaderboard-item:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateX(5px)}.leaderboard-item.top-three{background:linear-gradient(135deg,#ff98001a,#ff98000d);border-left-color:var(--warning)}.leaderboard-item.first-place{background:linear-gradient(135deg,#fbc02d33,#fbc02d1a);border-left-color:var(--warning);box-shadow:var(--shadow-md)}.rank-badge{color:var(--accent-primary);font-size:1rem;font-weight:700;min-width:36px;text-align:center}.leaderboard-item.first-place .rank-badge,.leaderboard-item.top-three .rank-badge{color:var(--warning)}.player-info{flex:1 1}.player-name{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.2rem}.player-name.player-link{background:#0000;border:none;color:var(--text-primary);cursor:pointer;padding:0}.player-stats{display:flex;flex-wrap:wrap;gap:.5rem}.stat-badge{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--accent-primary);font-size:.75rem;font-weight:600;padding:.25rem .5rem}.stat-badge.best{background-color:#10b9811a;border-color:var(--success);color:var(--success)}.player-score{color:var(--accent-primary);font-size:1.1rem;font-weight:700;min-width:70px;text-align:right}.leaderboard-item.first-place .player-score{color:var(--warning)}.detailed-stats-section{margin-bottom:1.5rem}.detailed-stats-section h2{color:var(--text-primary);font-size:1.15rem;font-weight:700;margin-bottom:.75rem;text-align:center}.player-details{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:.75rem;padding:1rem 1.25rem}.player-details-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.player-details-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.total-score-badge{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border-radius:25px;box-shadow:var(--shadow-md);color:var(--text-inverse);font-size:1.2rem;font-weight:700;padding:.75rem 1.5rem}.summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.summary-stat{align-items:center;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:1rem}.summary-stat .label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.summary-stat .value{color:var(--text-primary);font-size:1.2rem;font-weight:700}.level-breakdown h4{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin-bottom:1rem}.levels-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.level-stat{background-color:var(--bg-card);border-left:4px solid var(--accent-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1rem;transition:all var(--transition-fast)}.level-stat:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.level-name{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.5rem}.level-score{color:var(--accent-primary);font-size:1.5rem;font-weight:700;margin:.5rem 0}.level-distance{color:var(--text-secondary);font-size:.85rem;margin-bottom:.25rem}.level-time{color:var(--text-tertiary);font-size:.85rem;font-style:italic}.results-actions{border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;padding-top:1.25rem}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;justify-content:center;padding:1rem 2rem;text-decoration:none;transition:all var(--transition-normal)}.btn-primary:hover{transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-card);border:2px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-2px)}.btn-large{font-size:1rem;padding:.75rem 1.5rem}@media (max-width:768px){.geoguesser-results{padding:1.5rem 1rem 1rem}.filters-row{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:1rem;margin-bottom:1.5rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin}.filters-row::-webkit-scrollbar{height:6px}.filters-row::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:999px}.filters-row .filter{flex:0 0 auto;min-width:min(220px,78vw)}.filters-row .filter-clear{flex:0 0 auto}.results-container{padding:1rem 1.25rem}.leaderboard-item{flex-wrap:wrap;gap:.5rem}.player-score{min-width:auto}.player-details-header{align-items:flex-start;flex-direction:column;gap:.5rem}.levels-grid{grid-template-columns:1fr}.results-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.level-result-card{grid-template-columns:1fr}}@media (max-width:768px) and (orientation:landscape){.session-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-summary-item{border-bottom:1px solid var(--border-color)}.session-summary-item:nth-child(2n){border-right:none}.session-summary-item:nth-last-child(-n+2){border-bottom:none}}@media (max-width:768px) and (orientation:portrait){.geoguesser-results{align-items:stretch;min-height:100dvh;min-height:100vh;padding:max(.75rem,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(1.25rem,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.results-container{border-radius:16px;max-width:100%;padding:1rem max(14px,env(safe-area-inset-left,0px)) 1.35rem max(14px,env(safe-area-inset-right,0px))}.results-header{margin-bottom:1rem;padding-bottom:.85rem}.results-header h1{font-size:1.35rem;line-height:1.2;padding:0 .15rem;word-break:break-word}.game-mode,.session-code{font-size:.82rem;word-break:break-word}.podium{margin:1rem 0 1.15rem}.podium-name{font-size:.95rem}.you-won-banner{font-size:.9rem;padding:10px 12px}.claim-ranked-banner{align-items:stretch;flex-direction:column;font-size:.9rem;padding:12px 14px;text-align:center}.claim-ranked-banner .btn-primary,.claim-ranked-banner .btn-small{justify-content:center;width:100%}.session-summary-header{padding:.55rem max(14px,env(safe-area-inset-left,0px)) .3rem max(14px,env(safe-area-inset-right,0px))}.session-summary-grid{grid-template-columns:1fr}.session-summary-item{align-items:center;border-bottom:1px solid var(--border-color);border-left:3px solid var(--summary-accent);border-right:none;box-shadow:inset 0 1px 0 #ffffff08;flex-direction:row;justify-content:space-between;padding:.75rem max(14px,env(safe-area-inset-left,0px)) .75rem max(14px,env(safe-area-inset-right,0px));text-align:left}.session-summary-item:last-child{border-bottom:none}.session-summary-label{flex:0 1 auto;padding-right:.75rem}.session-summary-value{color:var(--text-primary);flex:0 1 auto;font-weight:800;text-align:right;text-shadow:0 0 14px #6366f133}.leaderboard-section h2,.level-guesses-section h2{font-size:1.05rem}.leaderboard-item{grid-gap:.5rem .65rem;align-items:center;display:grid;gap:.5rem .65rem;grid-template-columns:2.75rem minmax(0,1fr) auto;padding:.65rem .75rem}.leaderboard-item:hover{transform:none}.rank-badge{font-size:.95rem;grid-row:1/-1;justify-self:center}.player-info{min-width:0}.player-name{font-size:.95rem}.player-stats{gap:.35rem}.stat-badge{font-size:.7rem;padding:.2rem .45rem}.player-score{font-size:1rem;grid-column:3;grid-row:1/-1;margin-left:0;text-align:right}.level-guesses-section{margin-top:1.25rem;padding-top:1.25rem}.level-result-card{gap:1rem;padding:.85rem .95rem}.level-result-photo{max-height:min(48vw,240px)}.results-actions{gap:.65rem;padding-top:1rem}.btn-large{font-size:.95rem;min-height:48px;padding:.85rem 1rem}}.level-guesses-section{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.level-guesses-section h2{color:var(--text-primary);font-size:1.15rem;margin-bottom:1rem;text-align:center}.level-guesses-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr;margin-top:1rem}.level-result-card{grid-gap:1.25rem;align-items:start;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:1.25rem;grid-template-columns:1fr 1fr;padding:1rem 1.25rem}.level-result-card-title{color:var(--text-primary);font-size:1rem;font-weight:600;grid-column:1/-1;margin:0 0 .5rem}.level-result-challenge{display:flex;flex-direction:column;gap:.5rem}.level-result-challenge-label{color:var(--text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.level-result-photo{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);max-height:200px;object-fit:contain;width:100%}.level-result-photo-placeholder{align-items:center;color:var(--text-tertiary);display:flex;font-size:.875rem;justify-content:center;min-height:120px}.level-result-stats{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.75rem 1rem}.level-result-stats span{align-items:center;display:inline-flex;gap:.25rem}.level-result-round-winner,.level-result-stats .score-val{color:var(--success);font-weight:600}.level-result-round-winner{background:#10b9811f;border-radius:var(--radius-sm);display:inline-block;font-size:.8rem;margin-top:.25rem;padding:.25rem .5rem}.level-result-answer{display:flex;flex-direction:column;gap:.5rem}.level-result-answer-label{color:var(--text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.level-result-map-wrap{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;width:100%}.level-result-legend{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding-top:.5rem}.level-result-legend-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.8rem;gap:.35rem;padding:0}.level-result-legend-item:hover{color:var(--text-primary)}.level-result-legend-item[aria-pressed=true]{color:var(--text-primary);font-weight:600}.level-result-legend-item.is-wrong-floor{cursor:default;opacity:.6}.level-result-legend-wrong-floor{background:#ef444426;border-radius:999px;color:#ef4444;font-size:.65rem;font-weight:600;letter-spacing:.4px;margin-left:.35rem;padding:.05rem .4rem;text-transform:uppercase}.level-result-answer-floor{color:var(--text-secondary);font-weight:500;letter-spacing:0;margin-left:.25rem;text-transform:none}.level-result-legend-marker{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.level-result-legend-answer{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.8rem;gap:.35rem}.level-guess-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;transition:transform .2s,box-shadow .2s}.level-guess-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.level-guess-header{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1rem}.level-guess-header h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:.75rem}.level-guess-stats{display:flex;flex-wrap:wrap;gap:1.5rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-item .stat-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.stat-item .stat-value{color:var(--text-primary);font-size:1rem;font-weight:600}.stat-item .stat-value.score{color:var(--success);font-size:1.125rem}.level-guess-content{display:flex;flex-direction:column;gap:1.5rem}.recent-games-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:1.5rem}.recent-game-card{background:linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:1.25rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.recent-game-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.recent-game-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.recent-game-title{display:flex}.badge,.recent-game-title{align-items:center;gap:.5rem}.badge{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);display:inline-flex;font-size:.8rem;font-weight:700;padding:.35rem .65rem}.badge.code{background:#6366f114;border-color:var(--accent-primary);color:var(--accent-primary)}.badge.winner{background:#10b98114;border-color:var(--success);color:var(--success)}.recent-game-meta{color:var(--text-tertiary);font-size:.85rem}.recent-game-body{flex:1 1;padding:.5rem 0 .75rem}.pill-row{display:flex;flex-wrap:wrap;gap:.5rem}.pill{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.85rem;font-weight:600;padding:.4rem .75rem}.pill-link{background:#6366f114;border-color:var(--accent-primary);color:var(--accent-primary)}.pill-host{background:#fbbf241f;border-color:#f59e0b;color:#f59e0b}.pill-player{background:#6366f11f;border-color:var(--accent-primary);color:var(--accent-primary)}.recent-game-footer{display:flex;justify-content:flex-end;margin-top:auto}.btn-ghost{background:#0000;border:2px solid var(--accent-primary)}.btn-ghost:hover{background:linear-gradient(135deg,#6366f11f,#8b5cf61f)}.level-photo-container{width:100%}.level-photo-container .level-photo{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);max-height:300px;object-fit:contain;width:100%}.photo-label{color:var(--text-secondary);font-size:.875rem;margin-top:.5rem;text-align:center}.level-map-container{width:100%}.map-container{aspect-ratio:16/9;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%}.map-image{height:100%;object-fit:contain}.map-legend{border-top:1px solid var(--border-color);display:flex;gap:1.5rem;justify-content:center;margin-top:1rem;padding-top:1rem}.legend-item{color:var(--text-secondary);font-size:.875rem}.legend-marker.guess-marker{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:1.25rem}.legend-marker.answer-marker{font-size:.75rem;height:20px;width:20px}.no-guesses{color:var(--text-secondary);font-size:1.125rem;padding:2rem;text-align:center}.filters-row{align-items:flex-end;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:3rem;padding:1.5rem}.filter{flex:1 1;min-width:200px}.filter label{color:var(--text-secondary);display:block;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.filter select{-webkit-appearance:none;appearance:none;background-color:var(--bg-card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23666' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:500;padding:.875rem 2.5rem .875rem 1rem;transition:all var(--transition-normal);width:100%}.filter select:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.filter select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.1),var(--shadow-md);outline:none}.filter select:active{border-color:var(--accent-hover)}.filter select option{background-color:var(--bg-card);color:var(--text-primary);padding:.5rem}.au-backdrop{align-items:center;background:#000000bf;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.au-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;overflow:auto;width:min(720px,94vw)}.au-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;padding:1.25rem 1.25rem .75rem}.au-header h3{color:var(--text-primary);margin:0}.au-header p{margin:.35rem 0 0}.au-close,.au-header p{color:var(--text-secondary)}.au-close{background:#0000;border:none;border-radius:10px;cursor:pointer;font-size:1.25rem;height:36px;width:36px}.au-close:hover{background:var(--bg-hover);color:var(--text-primary)}.au-tabs{display:flex;gap:.5rem;padding:.9rem 1.25rem .25rem}.au-tab{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-weight:600;padding:.55rem .9rem}.au-tab.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.au-error{background:#ef444414;border:1px solid #ef444459;border-radius:var(--radius-md);color:var(--error);margin:.5rem 1.25rem 0;padding:.75rem 1rem}.au-form{padding:.75rem 1.25rem 1.25rem}.au-grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:1fr 1fr}.au-grid label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.9rem;gap:.35rem}.au-grid input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:.7rem .8rem}.au-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.1rem}@media (max-width:700px){.au-grid{grid-template-columns:1fr}}.tournament-shell{display:flex;flex-direction:column;gap:1.5rem}.tournament-shell-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.tournament-shell-header.center{justify-content:center;text-align:center}.tournament-shell-actions{align-items:center;display:flex;gap:.5rem}.tournament-shell-content{display:flex;flex-direction:column;gap:1rem}.tournament-header-title{align-items:center;display:flex;gap:.75rem}.tournament-header-subtitle{color:var(--text-secondary);margin-top:.5rem}.tournament-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.tournament-tab{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;padding:.5rem .9rem}.tournament-tab.active{border-color:var(--accent-primary);color:var(--accent-primary)}.tournament-badge{align-items:center;border:1px solid var(--border-color);border-radius:999px;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:.3rem .7rem}.tournament-badge--success{border-color:rgba(var(--success-rgb),.4);color:var(--success)}.tournament-badge--warning{border-color:rgba(var(--warning-rgb),.4);color:var(--warning)}.tournament-badge--info{border-color:rgba(var(--info-rgb),.4);color:var(--info)}:root .tournament-badge--status-archived,:root .tournament-badge--status-draft,:root .tournament-badge--status-paused,:root .tournament-badge--status-registration_closed{background:#64748b2e;border-color:#64748b80;color:#475569}:root .tournament-badge--status-registration_open{background:#3b82f624;border-color:#3b82f68c;color:#2563eb}:root .tournament-badge--status-check_in,:root .tournament-badge--status-check_in_closed{background:#14b8a624;border-color:#14b8a68c;color:#0d9488}:root .tournament-badge--status-seeding{background:#8b5cf624;border-color:#8b5cf68c;color:#7c3aed}:root .tournament-badge--status-in_progress{background:#22c55e24;border-color:#22c55e8c;color:#059669}:root .tournament-badge--status-completed{background:#ffff640f;border:1px solid #ffeb3bf2;box-shadow:0 0 14px #ffeb3b26,inset 0 0 14px #ffeb3b0a;color:#ffeb3bf2;text-shadow:0 0 12px #ffeb3b80}:root .tournament-badge--status-cancelled{background:#dc262624;border-color:#dc26268c;color:#b91c1c}.tournament-badge--status-archived,.tournament-badge--status-draft,.tournament-badge--status-paused,.tournament-badge--status-registration_closed{background:#94a3b840;border-color:#94a3b880;color:#94a3b8}.tournament-badge--status-registration_open{background:#60a5fa2e;border-color:#60a5fa80;color:#60a5fa}.tournament-badge--status-check_in,.tournament-badge--status-check_in_closed{background:#2dd4bf2e;border-color:#2dd4bf80;color:#2dd4bf}.tournament-badge--status-seeding{background:#a78bfa2e;border-color:#a78bfa80;color:#a78bfa}.tournament-badge--status-in_progress{background:#22c55e2e;border-color:#22c55e8c;color:#4ade80}.tournament-badge--status-completed{background:#ffff640d;border:1px solid #ffeb3be6;box-shadow:0 0 12px #ffeb3b33,inset 0 0 12px #ffeb3b08;color:#ffeb3bf2;text-shadow:0 0 10px #ffeb3b99,0 0 20px #ffeb3b4d}.tournament-badge--status-cancelled{background:#f8717133;border-color:#f8717180;color:#f87171}.tournament-card{display:flex;flex-direction:column;gap:.75rem;height:100%}.tournament-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.tournament-card-header h3{color:var(--text-primary);font-size:1.05rem;font-weight:700;line-height:1.35;margin:0;min-width:0}.tournament-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.9rem;line-height:1.45;margin:0;overflow:hidden}.tournament-card-meta{color:var(--text-secondary);font-size:.85rem}.tournament-card-tags{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.tournament-card-action{margin-top:.25rem;padding-top:0}.tournament-card-tag{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:600;letter-spacing:.02em;padding:.2rem .5rem}:root .tournament-card-tag--format-single_elim{background:#3b82f61f;border-color:#3b82f680;color:#2563eb}:root .tournament-card-tag--format-double_elim{background:#a855f71f;border-color:#a855f780;color:#7c3aed}:root .tournament-card-tag--format-round_robin{background:#14b8a61f;border-color:#14b8a680;color:#0d9488}:root .tournament-card-tag--format-swiss{background:#f59e0b1f;border-color:#f59e0b80;color:#d97706}:root .tournament-card-tag--format-groups_playoffs{background:#ef44441f;border-color:#ef444480;color:#dc2626}.tournament-card-tag--format-single_elim{background:#3b82f626;border-color:#3b82f680;color:#60a5fa}.tournament-card-tag--format-double_elim{background:#a855f726;border-color:#a855f780;color:#c084fc}.tournament-card-tag--format-round_robin{background:#14b8a626;border-color:#14b8a680;color:#2dd4bf}.tournament-card-tag--format-swiss{background:#f59e0b26;border-color:#f59e0b80;color:#fbbf24}.tournament-card-tag--format-groups_playoffs{background:#ef444426;border-color:#ef444480;color:#f87171}:root .tournament-card-tag--visibility-public{background:#22c55e1f;border-color:#22c55e80;color:#059669}:root .tournament-card-tag--visibility-unlisted{background:#f59e0b1f;border-color:#f59e0b80;color:#d97706}:root .tournament-card-tag--visibility-private{background:#6b72801f;border-color:#6b728073;color:#475569}.tournament-card-tag--visibility-public{background:#22c55e26;border-color:#22c55e80;color:#4ade80}.tournament-card-tag--visibility-unlisted{background:#f59e0b26;border-color:#f59e0b80;color:#fbbf24}.tournament-card-tag--visibility-private{background:#6b728033;border-color:#6b728080;color:#9ca3af}:root .tournament-card-tag--team{background:#3b82f61f;border-color:#3b82f680;color:#2563eb}.tournament-card-tag--team{background:#3b82f626;border-color:#3b82f680;color:#60a5fa}.tournament-card-view-link{align-items:center;color:var(--accent-primary);display:inline-flex;font-size:.8rem;font-weight:600;gap:.25rem;margin-top:.15rem;padding:.2rem 0;text-decoration:none;transition:color .15s ease}.tournament-card-view-link:hover{color:var(--accent-hover);text-decoration:underline}.tournament-card-view-link .tournament-card-view-arrow{font-size:.75em;opacity:.8}.tournament-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1rem}.tournament-empty-state{border:1px dashed var(--border-color);border-radius:var(--radius-lg);padding:2rem;text-align:center}.tournament-empty-state p{color:var(--text-secondary);margin-top:.5rem}.tournament-action-bar{display:flex;flex-wrap:wrap;gap:.5rem}.tournament-match-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem}.tournament-match-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.tournament-match-score{font-weight:700}.tournament-match-status{color:var(--text-secondary);font-size:.8rem}.tournament-participants-table table{border-collapse:collapse;width:100%}.tournament-participants-table td,.tournament-participants-table th{border-bottom:1px solid var(--border-color);padding:.6rem .5rem;text-align:left}.tournament-form-field{display:flex;flex-direction:column;gap:.35rem}.tournament-form-label{font-size:.9rem;font-weight:700}.tournament-form-hint{color:var(--text-secondary);font-size:.8rem}.tournament-select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,#0000 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,#0000 50%);background-position:calc(100% - 18px) calc(1em + 2px),calc(100% - 12px) calc(1em + 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:2.25rem}.tournament-number{max-width:160px}.tournament-invite-form{display:flex;flex-direction:column;gap:1rem;max-width:320px}.tournament-invite-field{display:flex;flex-direction:column;gap:.35rem}.tournament-modal-backdrop{align-items:center;background:#0f172aa6;display:flex;inset:0;justify-content:center;position:fixed;z-index:50}.tournament-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1rem;padding:1.5rem;width:min(640px,92vw)}.tournament-modal-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.tournament-modal-header p{color:var(--text-secondary);margin:.4rem 0 0}.tournament-modal-close{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.2rem}.tournament-modal-body{display:flex;flex-direction:column;gap:1rem}.tournament-modal-toggle{display:flex;flex-wrap:wrap;gap:.5rem}.tournament-modal-toggle button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);cursor:pointer;padding:.5rem .9rem}.tournament-modal-toggle button.active{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary)}.tournament-modal-section{display:flex;flex-direction:column;gap:.75rem}.tournament-modal-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.tournament-team-options{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tournament-modal-checkbox{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.5rem}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-radius:0;border-top:1px solid #aeaeae;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-radius:0 0 .3rem .3rem;border-top:1px solid #aeaeae}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__month-year-select,.react-datepicker__year-select{background-color:initial;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__month-year-select:focus-visible,.react-datepicker__year-select:focus-visible{outline:1px auto}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:5em}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:5em}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.375em;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.375em;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.375em;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + 1.0625em);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:2.125em;margin:.208em;text-align:center;width:2.125em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;text-align:center;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:2.125em;margin:.208em;text-align:center;width:2.125em}.react-datepicker__day--disabled,.react-datepicker__day-name--disabled,.react-datepicker__time-name--disabled{color:#ccc;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.625em;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__children-container{height:auto;margin:.5em;padding-left:.25em;padding-right:.25em;width:17.25em}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.react-datepicker-popper-offset{margin-top:-.7em}.tournament-datetime-field{display:block}.tournament-datetime-field-input{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.95rem;min-height:2.75rem;padding:.65rem .875rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.tournament-datetime-field-input:hover{border-color:var(--border-hover,var(--border-color))}.tournament-datetime-field-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61f;outline:none}.tournament-datetime-picker-popper{z-index:1100}.tournament-datetime-picker-calendar.react-datepicker{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);font-family:inherit}.tournament-datetime-picker-calendar .react-datepicker__header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-top:.75rem}.tournament-datetime-picker-calendar .react-datepicker-time__header,.tournament-datetime-picker-calendar .react-datepicker__current-month,.tournament-datetime-picker-calendar .react-datepicker__day,.tournament-datetime-picker-calendar .react-datepicker__day-name{color:var(--text-primary)}.tournament-datetime-picker-calendar .react-datepicker__day:hover{background:var(--bg-secondary);color:var(--text-primary)}.tournament-datetime-picker-calendar .react-datepicker__day--keyboard-selected,.tournament-datetime-picker-calendar .react-datepicker__day--selected{background:var(--accent-primary);color:#fff}.tournament-datetime-picker-calendar .react-datepicker__day--keyboard-selected:hover,.tournament-datetime-picker-calendar .react-datepicker__day--selected:hover{background:var(--accent-primary);background:var(--accent-hover,var(--accent-primary));color:#fff}.tournament-datetime-picker-calendar .react-datepicker__day--today{font-weight:600}.tournament-datetime-picker-calendar .react-datepicker__day--outside-month{color:var(--text-secondary);opacity:.6}.tournament-datetime-picker-calendar .react-datepicker__navigation{top:.75rem}.tournament-datetime-picker-calendar .react-datepicker__navigation-icon:before{border-color:var(--text-secondary)}.tournament-datetime-picker-calendar .react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:var(--text-primary)}.tournament-datetime-picker-calendar .react-datepicker__time-container .react-datepicker__time-box{background:var(--bg-secondary);border-left:1px solid var(--border-color)}.tournament-datetime-picker-calendar .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:5.5rem}.tournament-datetime-picker-calendar .react-datepicker__time-list-item{color:var(--text-primary)}.tournament-datetime-picker-calendar .react-datepicker__time-list-item--selected,.tournament-datetime-picker-calendar .react-datepicker__time-list-item:hover{background:var(--accent-primary);color:#fff}.tournament-datetime-picker-footer{background:var(--bg-secondary);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;padding:.75rem 1rem}.tournament-datetime-field-done{background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.45rem 1rem;transition:background .15s ease,transform .05s ease}.tournament-datetime-field-done:hover{background:var(--accent-primary);background:var(--accent-hover,var(--accent-primary))}.tournament-datetime-field-done:active{transform:scale(.98)}.tt-page{margin:0 auto;max-width:1200px;padding:22px 16px 48px}.tt-hero{grid-gap:18px;align-items:stretch;display:grid;gap:18px;grid-template-columns:1.2fr .8fr;margin-bottom:18px}.tt-hero-left{background:radial-gradient(110% 140% at 0 0,rgba(var(--accent-primary-rgb),.24) 0,#0000 55%),radial-gradient(110% 140% at 100% 0,rgba(var(--accent-hover-rgb),.18) 0,#0000 55%),linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-sm);padding:18px}.tt-title{font-size:32px;letter-spacing:-.02em;margin:0}.tt-subtitle{color:var(--text-secondary);line-height:1.6;margin:10px 0 0}.tt-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.tt-tag{align-items:center;background:#ffffff0f;border:1px solid var(--border-color);border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;padding:7px 12px}.tt-hero-right .tt-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-sm);height:100%;padding:18px}.tt-card-title{font-weight:900;margin-bottom:10px}.tt-list{color:var(--text-secondary);line-height:1.8;margin:0;padding-left:18px}.tt-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.tt-section{background:linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-sm);margin-top:24px;padding:18px}.tt-section--my{background:linear-gradient(135deg,#6366f10f 0,var(--bg-card) 25%,var(--bg-secondary) 100%);background:linear-gradient(135deg,rgba(var(--accent-primary-rgb,99,102,241),.06) 0,var(--bg-card) 25%,var(--bg-secondary) 100%);border-left:4px solid var(--accent-primary)}.tt-section--my .tt-section-header h2{font-size:22px;font-weight:800}.tt-section--checkin{background:linear-gradient(135deg,#22c55e14 0,var(--bg-card) 25%,var(--bg-secondary) 100%);border-left:4px solid #22c55ecc;box-shadow:var(--shadow-md);margin-top:24px;padding:22px 20px}.tt-section--checkin .tt-section-header h2{font-size:26px;font-weight:800;letter-spacing:-.02em}.tt-section--checkin .tt-section-header p{font-size:.95rem}.tt-section-header h2{font-size:22px;margin:0}.tt-section-header p{color:var(--text-secondary);margin:6px 0 0}.tt-how{background:linear-gradient(180deg,#06091499 0,var(--bg-card) 100%),radial-gradient(80% 80% at 50% 0,#46f0ff1f 0,#0000 50%);border:1px solid #46f0ff33;border-radius:18px;box-shadow:0 0 40px #46f0ff14,0 14px 30px #04081466;margin-top:18px;padding:24px 20px}.tt-how-title{color:var(--text-primary);font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}.tt-how-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0 0 24px}.tt-how-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.tt-how-step{background:linear-gradient(145deg,#0e1222e6,#0a0c16f2);border:1px solid #46f0ff40;border-radius:16px;box-shadow:0 8px 24px #0000004d,inset 0 0 0 1px #ffffff08;padding:22px 18px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.tt-how-step:hover{border-color:#46f0ff73;box-shadow:0 12px 32px #00000059,0 0 28px #46f0ff26;transform:translateY(-2px)}.tt-how-num{font-feature-settings:"tnum";color:#46f0ff33;font-size:2rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1;position:absolute;right:14px;top:12px}.tt-how-icon{filter:drop-shadow(0 0 8px rgba(70,240,255,.3));font-size:2rem;line-height:1;margin-bottom:12px}.tt-how-step-title{color:var(--text-primary);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin:0 0 8px}.tt-how-step-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.5;margin:0}.tt-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:16px}.tt-actions .btn-primary,.tt-actions .btn-secondary{border-radius:999px;padding:.85rem 1.4rem}.tt-list-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tt-cta-btn{align-items:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border-radius:999px;box-shadow:var(--shadow-sm);color:var(--text-inverse);display:inline-flex;font-weight:700;justify-content:center;padding:.6rem 1rem;text-decoration:none}.tt-cta-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.tt-cta-btn--secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.tt-cta-btn--secondary:hover{background:var(--bg-card);border-color:var(--accent-primary)}.tt-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.tt-state{color:var(--text-secondary);padding:12px}.tt-error{color:var(--error)}.tt-tile{background:linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;padding:18px}.tt-tile-icon{font-size:28px}.tt-tile-title{font-weight:900;letter-spacing:-.01em}.tt-tile-sub{color:var(--text-secondary);flex:1 1;line-height:1.6}.tt-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;color:var(--text-primary);font-weight:900;padding:10px 12px}.tt-btn:disabled{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary);cursor:not-allowed;opacity:1}@media (max-width:980px){.tt-grid,.tt-hero,.tt-how-grid,.tt-list-grid{grid-template-columns:1fr}}.tournament-invite-page{margin:2rem auto;max-width:640px;padding:0 1.5rem}.tournament-invite-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem;padding:2rem}.invite-error{color:var(--error)}.tournament-detail-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem}:root .tournament-detail-section{background:var(--bg-secondary)}:root .tournament-detail-bracket-view{background:#0f172a0d}:root .tournament-detail-section.tournament-timeline .timeline-card-outer{background:#ffffffd9}:root .detail-pill--status-draft{background:#64748b2e;border-color:#64748b80;color:#475569}:root .detail-pill--status-registration_open{background:#3b82f624;border-color:#3b82f68c;color:#2563eb}:root .detail-pill--status-check_in{background:#14b8a624;border-color:#14b8a68c;color:#0d9488}:root .detail-pill--status-seeding{background:#8b5cf624;border-color:#8b5cf68c;color:#7c3aed}:root .detail-pill--status-in_progress{background:#22c55e24;border-color:#22c55e8c;color:#059669}:root .detail-pill--status-completed{background:#ffff640f;border:1px solid #ffeb3bf2;box-shadow:0 0 14px #ffeb3b26,inset 0 0 14px #ffeb3b0a;color:#ffeb3bf2;text-shadow:0 0 12px #ffeb3b80}:root .detail-pill--status-cancelled{background:#dc262624;border-color:#dc26268c;color:#b91c1c}:root .detail-pill--format-single_elim{background:#3b82f61f;border-color:#3b82f680;color:#2563eb}:root .detail-pill--format-double_elim{background:#a855f71f;border-color:#a855f780;color:#7c3aed}:root .detail-pill--format-round_robin{background:#14b8a61f;border-color:#14b8a680;color:#0d9488}:root .detail-pill--format-swiss{background:#f59e0b1f;border-color:#f59e0b80;color:#d97706}:root .detail-pill--format-groups_playoffs{background:#ef44441f;border-color:#ef444480;color:#dc2626}:root .detail-pill--format-default{background:#6b72801f;border-color:#6b728073;color:#475569}:root .detail-pill--visibility-public{background:#22c55e1f;border-color:#22c55e80;color:#059669}:root .detail-pill--visibility-unlisted{background:#f59e0b1f;border-color:#f59e0b80;color:#d97706}:root .detail-pill--visibility-private{background:#6b72801f;border-color:#6b728073;color:#475569}:root .detail-pill--team-1v1{background:#3b82f61f;border-color:#3b82f680;color:#2563eb}:root .detail-pill--team-default{background:#a855f71f;border-color:#a855f780;color:#7c3aed}:root .participant-actions .tournament-action.outline.participant-action--register{background:#22c55e1a;border-color:#22c55e80;color:#059669}:root .participant-actions .tournament-action.outline.participant-action--invite{background:#a855f71a;border-color:#a855f780;color:#7c3aed}:root .participant-actions .tournament-action.outline.participant-action--add{background:#3b82f61a;border-color:#3b82f680;color:#2563eb}:root .participant-actions .tournament-action--unregister{background:#6b72801a;border-color:#6b728066;color:#64748b}.tournament-detail-bracket-wrap{min-width:0;overflow:hidden;padding:1rem}.tournament-detail-bracket-view{background:#060914f2;border-radius:var(--radius-md);height:min(55vh,480px);margin-top:.75rem;max-width:100%;min-height:200px;overflow:hidden;position:relative}.tournament-detail-bracket-scroll{border-radius:inherit;inset:0;overflow:auto;position:absolute;z-index:0}.tournament-detail-bracket-view:after{border:1px solid var(--border-color);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.tournament-detail-bracket-view .bracket-inner{z-index:0}.tournament-invite-token{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;max-width:360px}.tournament-error{color:var(--error)}.tournament-detail-hero h1{font-size:2.2rem;margin:0}.tournament-detail-hero p{color:var(--text-secondary);margin:.5rem 0 0;max-width:680px}.tournament-detail-tags{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tournament-detail-tags .tournament-badge{box-shadow:0 1px 2px #0000000f;font-weight:600;letter-spacing:.03em;padding:.4rem .85rem}.tournament-detail-tags>.tournament-detail-pill:not(.detail-pill),.tournament-detail-tags>span:not(.tournament-badge):not(.detail-pill){background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;box-shadow:0 1px 2px #0000000f;color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.03em;padding:.4rem .85rem}.tournament-detail-tags .detail-pill{align-items:center;border:1px solid;border-radius:999px;box-shadow:0 1px 2px #0000000f;display:inline-flex;font-size:.75rem;font-weight:600;gap:.35rem;letter-spacing:.03em;padding:.4rem .85rem}.tournament-detail-tags .detail-pill-icon{align-items:center;display:inline-flex;justify-content:center}.tournament-detail-tags .detail-pill-icon svg{display:block}.detail-pill--status-draft{background:#94a3b840;border-color:#94a3b880;color:#94a3b8}.detail-pill--status-registration_open{background:#60a5fa2e;border-color:#60a5fa80;color:#60a5fa}.detail-pill--status-check_in{background:#2dd4bf2e;border-color:#2dd4bf80;color:#2dd4bf}.detail-pill--status-seeding{background:#a78bfa2e;border-color:#a78bfa80;color:#a78bfa}.detail-pill--status-in_progress{background:#22c55e2e;border-color:#22c55e8c;color:#4ade80}.detail-pill--status-completed{background:#ffff640d;border:1px solid #ffeb3be6;box-shadow:0 0 12px #ffeb3b33,inset 0 0 12px #ffeb3b08;color:#ffeb3bf2;text-shadow:0 0 10px #ffeb3b99,0 0 20px #ffeb3b4d}.detail-pill--status-cancelled{background:#f8717133;border-color:#f8717180;color:#f87171}.detail-pill--format-single_elim{background:#3b82f626;border-color:#3b82f680;color:#60a5fa}.detail-pill--format-double_elim{background:#a855f726;border-color:#a855f780;color:#c084fc}.detail-pill--format-round_robin{background:#14b8a626;border-color:#14b8a680;color:#2dd4bf}.detail-pill--format-swiss{background:#f59e0b26;border-color:#f59e0b80;color:#fbbf24}.detail-pill--format-groups_playoffs{background:#ef444426;border-color:#ef444480;color:#f87171}.detail-pill--format-default{background:#6b728033;border-color:#6b728080;color:#9ca3af}.detail-pill--visibility-public{background:#22c55e26;border-color:#22c55e80;color:#4ade80}.detail-pill--visibility-unlisted{background:#f59e0b26;border-color:#f59e0b80;color:#fbbf24}.detail-pill--visibility-private{background:#6b728033;border-color:#6b728080;color:#9ca3af}.detail-pill--team-1v1{background:#3b82f626;border-color:#3b82f680;color:#60a5fa}.detail-pill--team-default{background:#a855f726;border-color:#a855f780;color:#c084fc}.tournament-detail-grid{grid-gap:1rem;display:grid;gap:1rem}.section-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.schedule-card-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.schedule-card-header .schedule-card-title{color:var(--text-primary);font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin:0}.schedule-card-icon{font-size:1.1rem;line-height:1;opacity:.85}.schedule-phases{grid-gap:.5rem;align-items:stretch;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.schedule-phase{background:var(--bg-secondary);border:1px solid var(--border-color);border-left-width:3px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.3rem;padding:.55rem .75rem;transition:border-color .15s ease,background-color .15s ease}.schedule-phase:hover{background:var(--bg-hover);border-color:var(--border-hover)}.schedule-phase--registration{border-left-color:#3b82f6a6}.schedule-phase--registration:hover{border-left-color:#3b82f6d9}.schedule-phase--checkin{border-left-color:#22c55ea6}.schedule-phase--checkin:hover{border-left-color:#22c55ed9}.schedule-phase--event{border-left-color:#f59e0bb3}.schedule-phase--event:hover{border-left-color:#f59e0be6}.schedule-phase-label{color:var(--text-secondary);font-size:.65rem;font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.schedule-phase-items{display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:0;padding:0}.schedule-phase-item{align-items:baseline;display:flex;font-size:.8rem;gap:.5rem;justify-content:space-between;line-height:1.35}.schedule-phase-item-label{color:var(--text-secondary);flex-shrink:0;font-size:inherit;font-weight:500}.schedule-phase-item-date{color:var(--text-primary);font-size:inherit;font-weight:600;min-width:0;text-align:right;white-space:nowrap}.invite-panel-inline{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:.75rem}.invite-panel-row{align-items:center;display:flex;gap:.75rem}.tournament-summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.tournament-summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:.85rem 1rem}.summary-label{color:var(--text-secondary);font-size:.8rem}.summary-value{font-weight:800;margin-top:.35rem}.tournament-invite-panel{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;padding-top:1rem}.invite-panel-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.invite-panel-link{display:flex;flex-wrap:wrap;gap:.75rem}.invite-panel-link.compact input{min-width:200px}.invite-panel-link input{flex:1 1;min-width:260px}.copy-icon-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:40px;justify-content:center;width:40px}.copy-confirm{font-size:.75rem;font-weight:700}.invite-panel-status{color:var(--text-secondary);font-size:.9rem}.tournament-registration-status{align-items:center;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);display:inline-flex;gap:.35rem;margin-top:1rem;padding:.75rem 1rem}.tournament-participants-list{display:flex;flex-direction:column;gap:.75rem;max-height:min(50vh,420px);min-height:0;overflow-y:auto}.participant-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.participant-actions .tournament-action.outline.participant-action--register{background:#22c55e14;border-color:#22c55e73;color:#4ade80}.participant-actions .tournament-action.outline.participant-action--register:hover{background:#22c55e26;border-color:#22c55e99}.participant-actions .tournament-action.outline.participant-action--invite{background:#a855f714;border-color:#a855f773;color:#c084fc}.participant-actions .tournament-action.outline.participant-action--invite:hover{background:#a855f726;border-color:#a855f799}.participant-actions .tournament-action.outline.participant-action--add{background:#3b82f614;border-color:#3b82f673;color:#60a5fa}.participant-actions .tournament-action.outline.participant-action--add:hover{background:#3b82f626;border-color:#3b82f699}.participant-actions .tournament-action--unregister{background:#6b72801f;border-color:#6b728066;color:#9ca3af}.participant-actions .tournament-action--unregister:hover{background:#6b728033;border-color:#6b728080;color:#d1d5db}.participant-form{grid-gap:12px;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:16px;padding:16px}.participant-form .form-input{width:100%}.participant-form-mode{display:flex;gap:.25rem;grid-column:1/-1}.participant-form-mode__tab{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .85rem;transition:border-color .15s ease,background .15s ease,color .15s ease}.participant-form-mode__tab:hover{background:var(--bg-hover);color:var(--text-primary)}.participant-form-mode__tab.participant-form-mode__tab--active{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary)}.participant-form-user-search{grid-column:1/-1;position:relative}.participant-form-user-search-hint{color:var(--text-secondary);display:block;font-size:.8rem;margin-top:.35rem}.participant-form-selected-row{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-sizing:border-box;display:flex;flex-wrap:wrap;gap:.75rem;min-height:2.75rem;padding:.6rem .85rem}.participant-form-selected-row__label{color:var(--text-secondary);flex-shrink:0;font-size:.85rem;font-weight:600}.participant-form-selected-row__name{color:var(--text-primary);flex:1 1;font-weight:600;min-width:0}.participant-form-selected-row__clear{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:.85rem;font-weight:600;padding:.35rem .65rem;transition:background .15s ease,border-color .15s ease,color .15s ease}.participant-form-selected-row__clear:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.participant-form-user-results{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0003;left:0;list-style:none;margin:.25rem 0 0;max-height:200px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:20}.participant-form-user-results li{margin:0}.participant-form-user-results button{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:.9rem;padding:.4rem .75rem;text-align:left;width:100%}.participant-form-user-results button:hover{background:var(--bg-hover)}.participant-form-team{display:flex;flex-direction:column;gap:.5rem;grid-column:1/-1}.participant-form-team-registered{display:flex;flex-direction:column;gap:.6rem;grid-column:1/-1}.participant-form-team-registered__label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.participant-form-team-registered-tabs{display:flex;gap:.25rem}.participant-form-team-registered-tab{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .85rem;transition:border-color .15s ease,background .15s ease,color .15s ease}.participant-form-team-registered-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.participant-form-team-registered-tab.participant-form-team-registered-tab--active{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary)}.participant-form-team-registered-input,.participant-form-team-registered-select{width:100%}.participant-form-team-typeahead{position:relative}.participant-form-team-typeahead-results{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0003;left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:20}.participant-form-team-typeahead-results li{margin:0}.participant-form-team-typeahead-results button{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:.9rem;padding:.4rem .75rem;text-align:left;width:100%}.participant-form-team-typeahead-results button:hover{background:var(--bg-hover)}.participant-form-hint{color:var(--text-secondary);font-size:.8rem;margin-left:.5rem}.participant-form-actions{display:flex;gap:12px;grid-column:1/-1;justify-content:flex-end}.participants-view-tabs{display:flex;gap:.25rem;margin-bottom:.5rem;margin-top:.75rem}.participants-view-tabs__tab{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .85rem;transition:border-color .15s ease,background .15s ease,color .15s ease}.participants-view-tabs__tab:hover{background:var(--bg-hover);color:var(--text-primary)}.participants-view-tabs__tab.participants-view-tabs__tab--active{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary)}.participants-by-team{display:flex;flex-direction:column;gap:.75rem}.participants-team-block{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000f;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.participants-team-block--expanded{border-color:var(--border-hover);box-shadow:0 2px 8px #00000014}.participants-team-block__header{align-items:center;background:var(--bg-secondary);border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;font-weight:700;gap:.6rem;letter-spacing:.02em;padding:.65rem 1rem;text-align:left;transition:background .15s ease;width:100%}.participants-team-block--expanded .participants-team-block__header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.participants-team-block--expanded .participants-team-block__header:hover,.participants-team-block__header:hover{background:var(--bg-hover)}.participants-team-block__header-icon{color:var(--text-secondary);display:inline-flex;flex-shrink:0;transition:transform .2s ease}.participants-team-block--expanded .participants-team-block__header-icon{color:var(--accent-primary);transform:rotate(90deg)}.participants-team-block__header-name{flex:1 1;min-width:0}.participants-team-block__header-count{background:#0000000f;border-radius:var(--radius-sm);color:var(--text-secondary);flex-shrink:0;font-size:.8rem;font-weight:500;padding:.2rem .5rem}.participants-team-block__list{background:var(--bg-secondary);display:flex;flex-direction:column;gap:.35rem;padding:.6rem 1rem .75rem}.participants-team-block__list .tournament-participant-row{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.5rem .75rem}.guest-pill{background:#ffffff1a;color:#fff;font-size:11px;letter-spacing:.6px;margin-left:8px;padding:2px 8px}.guest-pill,.guest-team-pill{border-radius:999px;text-transform:uppercase}.guest-team-pill{align-items:center;background:#a855f733;border:1px solid #a855f780;color:#c084fc;display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.3rem .65rem}.participants-team-block__header .guest-team-pill{margin-left:.5rem}.tournament-participant-row{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:.75rem;justify-content:space-between;padding:.65rem .9rem}.tournament-participant-row>div:first-child{align-items:center;display:flex;gap:.75rem;min-width:0}.participant-row-pills{align-items:center;display:flex;flex-shrink:0;gap:.35rem}.participant-avatar{align-items:center;background:rgba(var(--accent-primary-rgb),.15);border-radius:12px;color:var(--text-primary);display:inline-flex;font-weight:700;height:36px;justify-content:center;width:36px}.participant-meta span,.participant-status{color:var(--text-secondary);font-size:.85rem}.participant-role-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.3rem .65rem;text-transform:uppercase}.participant-role-pill--player{background:#46f0ff26;border:1px solid #46f0ff66;color:#46f0ff}.participant-role-pill--moderator,.participant-role-pill--spectator{background:#9c88ff33;border:1px solid #9c88ff80;color:#b8a8ff}.participant-role-pill--staff{background:#ffc10733;border:1px solid #ffc10780;color:#ffd54f}.participant-role-pill--organizer{background:#5cffa433;border:1px solid #5cffa480;color:#5cffa4}.participant-status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.3rem .65rem;text-transform:uppercase}.participant-status-pill--reserved{background:#ffc10733;border:1px solid #ffc10780;color:#ffd54f}.participant-status-pill--registered{background:#46f0ff26;border:1px solid #46f0ff66;color:#46f0ff}.participant-status-pill--checked_in{background:#5cffa433;border:1px solid #5cffa480;color:#5cffa4}.participant-status-pill--disqualified{background:#ef444433;border:1px solid #ef444480;color:#f87171}.tournament-rules-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tournament-rules-grid p{color:var(--text-secondary);margin:.35rem 0 0}.tournament-action{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-weight:700;gap:.35rem;justify-content:center;padding:.6rem 1rem;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.tournament-action.primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));box-shadow:var(--shadow-sm);color:var(--text-inverse)}.tournament-action.outline{background:var(--bg-card);border-color:var(--border-color);color:var(--text-primary)}.tournament-action--unregister{background:#ffffff0f;border-color:#ffffff26;color:var(--text-secondary)}.tournament-action--unregister:hover{background:#ffffff1a;border-color:#ffffff40;color:var(--text-primary)}.tournament-action.ghost{background:#0000;border-color:var(--border-color);color:var(--text-secondary)}.tournament-action.success{background:rgba(var(--success-rgb),.16);border-color:rgba(var(--success-rgb),.5);color:var(--success)}.tournament-action.danger{background:rgba(var(--error-rgb),.12);border-color:var(--error);color:var(--error)}.tournament-action.danger:hover{background:rgba(var(--error-rgb),.2)}.tournament-action.outline.tournament-action--advance{background:rgba(var(--warning-rgb),.15);border-color:rgba(var(--warning-rgb),.5);color:var(--warning)}.tournament-action.outline.tournament-action--advance:hover{background:rgba(var(--warning-rgb),.22);border-color:rgba(var(--warning-rgb),.65)}.tournament-shell-actions .tournament-action:hover{transform:scale(1.02)}.tournament-cancelled-message{color:var(--text-secondary);font-size:.9rem;font-style:italic;margin:.75rem 0 0}.tournament-stages-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.tournament-stage-row{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:.75rem}.tournament-stage-meta{color:var(--text-secondary);display:block;font-size:.85rem}.tournament-stage-form{display:flex;flex-direction:column;gap:.75rem;max-width:420px}.tournament-stage-status{color:var(--text-secondary)}.tournament-timeline{margin-top:1rem}.timeline-section-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.tournament-timeline h3{margin:0}.timeline-announce-trigger{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.35rem;padding:.4rem .75rem;transition:background .15s ease,border-color .15s ease}.timeline-announce-trigger:hover{background:var(--bg-hover);border-color:var(--border-hover)}.timeline-list{display:flex;flex-direction:column;margin:.5rem 0 0;padding:0}.timeline-empty-item,.timeline-list{list-style:none}.timeline-empty{color:var(--text-secondary);margin:0}.timeline-item{align-items:stretch;display:flex;gap:.75rem}.timeline-item+.timeline-item{margin-top:1rem}.timeline-track{align-items:center;display:flex;flex-direction:column;flex-shrink:0;min-height:0;width:14px}.timeline-connector{background:var(--border-color);flex:1 1;min-height:.5rem;width:2px}.timeline-connector.timeline-spacer{background:#0000}.timeline-dot{background:var(--accent-primary);border-radius:999px;flex-shrink:0;height:10px;width:10px}.timeline-card-outer{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex:1 1;flex-wrap:wrap;font-size:.85rem;gap:.5rem;min-width:0;padding:.5rem .75rem;position:relative}.dark-mode .tournament-detail-section.tournament-timeline .timeline-card-outer{background:var(--bg-tertiary);border-color:var(--border-hover)}.timeline-card-inner.timeline-pill{align-items:center;border:1px solid;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;font-weight:700;gap:.35rem;padding:.25rem .5rem;transition:box-shadow .15s ease}.timeline-card-inner.timeline-pill:hover{box-shadow:0 0 0 2px var(--border-hover)}.timeline-card-inner.timeline-pill.timeline-pill--active{box-shadow:0 0 0 2px var(--accent-primary)}.timeline-pill-popover-wrapper{display:inline-block;position:relative}.timeline-event-popover{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;font-size:.85rem;max-height:min(320px,calc(100vh - 2rem));max-width:360px;min-width:220px;overflow-y:auto;padding:.75rem 1rem;position:absolute;white-space:nowrap;z-index:10}.timeline-event-popover--top{bottom:100%;left:0;margin-bottom:.5rem}.timeline-event-popover--right{left:100%;margin-left:.5rem;top:0}.timeline-event-popover--bottom{left:0;margin-top:.5rem;top:100%}.timeline-event-popover-header{border-bottom:1px solid var(--border-color);margin-bottom:.5rem;padding-bottom:.5rem}.timeline-event-popover-header strong{color:var(--text-primary)}.timeline-event-popover-details{grid-column-gap:.75rem;grid-row-gap:.35rem;align-items:baseline;column-gap:.75rem;display:grid;grid-template-columns:auto 1fr;margin:0;row-gap:.35rem}.timeline-event-popover-row{display:contents}.timeline-event-popover-row dt{color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.03em;margin:0;text-transform:uppercase;white-space:nowrap}.timeline-event-popover-row dd{color:var(--text-primary);margin:0;white-space:nowrap}.timeline-event-popover-payload{grid-row-gap:.35rem;align-items:baseline;border-top:1px solid var(--border-color);display:grid;grid-column:1/-1;grid-template-columns:subgrid;margin-top:.5rem;padding-top:.5rem;row-gap:.35rem}.timeline-event-popover-payload .timeline-event-popover-row{display:contents}.timeline-pill-icon{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.timeline-pill-icon svg{display:block}.timeline-pill--create{background:#3b82f626;border-color:#3b82f680;color:#60a5fa}.timeline-pill--invite{background:#a855f726;border-color:#a855f780;color:#c084fc}.timeline-pill--accept{background:#22c55e26;border-color:#22c55e80;color:#4ade80}.timeline-pill--register{background:#14b8a626;border-color:#14b8a680;color:#2dd4bf}.timeline-pill--unregister{background:#6b728033;border-color:#6b728080;color:#9ca3af}.timeline-pill--user-add{background:#f9731626;border-color:#f9731680;color:#fb923c}.timeline-pill--status{background:#f59e0b26;border-color:#f59e0b80;color:#fbbf24}.timeline-pill--cancel{background:#ef444426;border-color:#ef444480;color:#f87171}.timeline-pill--stage{background:#6366f126;border-color:#6366f180;color:#818cf8}.timeline-pill--stage-activate{background:#22c55e26;border-color:#22c55e80;color:#4ade80}.timeline-pill--announce{background:#a855f726;border-color:#a855f780;color:#c084fc}.timeline-pill--bracket{background:#4f46e526;border-color:#4f46e580;color:#a5b4fc}.timeline-pill--lock{background:#6b728033;border-color:#6b728080;color:#9ca3af}.timeline-pill--match{background:#3b82f626;border-color:#3b82f680;color:#60a5fa}.timeline-pill--advance{background:#22c55e26;border-color:#22c55e80;color:#4ade80}.timeline-pill--default{background:#6b728033;border-color:#6b728080;color:#9ca3af}.timeline-sep{font-weight:400;-webkit-user-select:none;user-select:none}.timeline-meta-item,.timeline-meta-label,.timeline-sep{color:var(--text-secondary)}.timeline-meta-label{font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.timeline-actor{color:var(--text-primary);font-weight:500}.timeline-time{color:var(--text-secondary)}.tournament-announce-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.tournament-announce-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:480px;overflow:auto;width:90%}.tournament-announce-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.25rem}.tournament-announce-modal-header h3{font-size:1.1rem;font-weight:600;margin:0}.tournament-announce-modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;width:2rem}.tournament-announce-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.tournament-announcement-form{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}.tournament-announce-modal-footer{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.25rem}.tournament-announce-status{color:var(--text-secondary);font-size:.9rem;padding:0 1.25rem 1rem}.tournament-bracket-page{display:flex;flex-direction:column;gap:1rem;min-height:100%;overflow:auto;padding:1rem}.tournament-bracket-breadcrumbs{margin-bottom:.5rem}.tournament-bracket-toolbar{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;gap:1rem;justify-content:space-between;padding:1rem}.toolbar-left{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.toolbar-left h2{margin:0}.toolbar-right{align-items:center;display:flex;gap:1rem;justify-content:flex-end}.tournament-bracket-toolbar .bracket-header-status{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:600;padding:.35rem .75rem}.admin-controls{display:flex;gap:.5rem}.tournament-bracket-toolbar .btn-save-seeding{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-inverse);cursor:pointer;font-weight:600;padding:.5rem 1rem}.tournament-bracket-toolbar .btn-save-seeding:hover{box-shadow:var(--shadow-md);filter:brightness(1.08)}.tournament-bracket-toolbar .btn-reset-seeding{background:#ffba4126;border:1px solid #ffba4180;border-radius:var(--radius-md);color:#ffba41;cursor:pointer;font-weight:600;padding:.5rem 1rem}.tournament-bracket-toolbar .btn-reset-seeding:hover{background:#ffba4140;border-color:#ffba41b3}.tournament-bracket-canvas{align-items:stretch;background:radial-gradient(circle at top,#46f0ff14,#0000 45%),radial-gradient(circle at 20% 20%,#7852ff1f,#0000 40%),#060914f2;border:1px dashed var(--border-color);border-radius:var(--radius-lg);cursor:grab;display:flex;flex:1 1;justify-content:stretch;max-height:70vh;min-height:520px;overflow:hidden;padding:.5rem;position:relative;z-index:0}.tournament-bracket-canvas.is-panning{cursor:grabbing}.tournament-bracket-layout{display:flex;flex-direction:column;gap:1rem}.bracket-match{background:linear-gradient(145deg,#0e1222f2,#0a0c16f2);border:1px solid #46f0ff2e;border-radius:var(--radius-md);box-shadow:0 14px 30px #04081473;display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:.45rem;width:100%}.bracket-match-header{align-items:center;background:#0000;border:none;color:#e6f0ffb3;cursor:pointer;display:flex;font-size:.7rem;justify-content:space-between;letter-spacing:.08em;padding:0;text-transform:uppercase;width:100%}.bracket-match-header:disabled{cursor:default;opacity:.7}.bracket-match-header--static{cursor:default;pointer-events:none}.bracket-match--winner-round{background:linear-gradient(145deg,#201c0cfa,#161208fa);border-color:#ffc10759;box-shadow:0 0 24px #ffd70033,0 14px 30px #04081473;min-height:auto;min-width:0;width:100%}.bracket-match--winner-round .bracket-match-header--static span:first-child{color:#ffd54f;font-weight:700;text-shadow:0 0 12px #ffd54f80}.bracket-match--winner-round .bracket-slot:only-of-type{background:linear-gradient(135deg,#ffc1071f,#ff980014);border-color:#ffd70080;box-shadow:0 0 20px #ffd70033,inset 0 1px 0 #ffffff0f}.bracket-match--winner-round .bracket-slot:only-of-type .slot-name{color:#ffd54f;font-weight:600;text-shadow:0 0 10px #ffd54f59}.bracket-match--winner-round .bracket-slot:only-of-type .seed-pill{background:#ffd70033;border-color:#ffd70080;color:#ffd54f}.bracket-match--bye{background:linear-gradient(145deg,#14121cf2,#0e0c14f2);border-color:#ffba4140;min-height:auto;min-width:0;width:100%}.bracket-match--bye .bracket-match-header--static{padding:.25rem 0}.bracket-bye-label{color:#ffba41e6;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.bracket-slot{background:#0c101ee6;border:1px solid #0000;border-radius:var(--radius-md);position:relative;transition:border-color .15s ease,background .15s ease}.bracket-slot.is-over{background:#46f0ff1f;border-color:#46f0ffb3}.bracket-slot.is-winner{border-color:#5cffa4bf;box-shadow:0 0 16px #5cffa440}.bracket-slot.is-path{border-color:#46f0ffbf;box-shadow:0 0 18px #46f0ff4d}.bracket-slot.is-path:after,.bracket-slot.is-path:before{background:#46f0ffe6;box-shadow:0 0 12px #46f0ff99;content:"";height:2px;position:absolute;top:50%;width:18px}.bracket-slot.is-path:after{right:-18px}.bracket-slot.is-path:before{left:-18px}.bracket-slot.is-empty{opacity:.55}.bracket-slot-inner{align-items:center;border-radius:var(--radius-md);cursor:default;display:flex;gap:.5rem;padding:.4rem .55rem;touch-action:none}.bracket-slot-inner.is-draggable{cursor:grab;user-select:none;-webkit-user-select:none}.bracket-slot-inner.is-dragging{opacity:.6}.bracket-slot-inner.is-draggable:hover{border:1px solid #46f0ff99;box-shadow:0 0 16px #46f0ff33}.seed-pill{background:#46f0ff26;border:1px solid #46f0ff59;border-radius:999px;color:#46f0ff;font-size:.6rem;letter-spacing:.08em;min-width:34px;padding:.15rem .45rem;text-align:center;text-transform:uppercase}.slot-name{color:#f3f6ff;flex:1 1;font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-score{color:#f3f6ff99;font-size:.72rem}.bracket-slot-guest-team-pill{background:#a855f733;border:1px solid #a855f780;border-radius:999px;color:#c084fc;flex-shrink:0;font-size:.52rem;letter-spacing:.04em;margin-left:.25rem;padding:.08rem .35rem;text-transform:uppercase}.bracket-drag-overlay{align-items:center;background:#0a0c16f2;border:1px solid #46f0ff80;border-radius:var(--radius-md);box-shadow:0 10px 22px #00000080;display:inline-flex;font-weight:600;gap:.35rem;padding:.5rem .75rem}.bracket-drag-overlay .bracket-slot-guest-team-pill{margin-left:0}.status-pill{background:#ffffff14;border:1px solid #fff3;border-radius:999px;color:#f3f6ff;font-size:.6rem;letter-spacing:.08em;padding:.15rem .45rem;text-transform:uppercase}.status-ready{border-color:#2dd4bf99;color:#2dd4bf}.status-complete{background:#ffff640d;border:1px solid #ffeb3be6;box-shadow:0 0 10px #ffeb3b33,inset 0 0 10px #ffeb3b08;color:#ffeb3bf2;text-shadow:0 0 8px #ffeb3b99,0 0 16px #ffeb3b4d}.status-in_progress{border-color:#22c55e99;color:#4ade80}.status-pending{border-color:#94a3b880;color:#cbd5ffd9}.status-lock{align-self:flex-start;border-color:#22c55e99;color:#4ade80;display:inline-flex;margin-top:.5rem}.bracket-header-status.status-archived,.bracket-header-status.status-draft,.bracket-header-status.status-paused,.bracket-header-status.status-registration_closed{border-color:#94a3b880;color:#94a3b8}.bracket-header-status.status-registration_open{border-color:#60a5fa99;color:#60a5fa}.bracket-header-status.status-check_in,.bracket-header-status.status-check_in_closed{border-color:#2dd4bf99;color:#2dd4bf}.bracket-header-status.status-seeding{border-color:#a78bfa99;color:#a78bfa}.bracket-header-status.status-in_progress{border-color:#22c55e99;color:#4ade80}.bracket-header-status.status-completed{background:#ffff640d;border:1px solid #ffeb3be6;box-shadow:0 0 12px #ffeb3b2e,inset 0 0 12px #ffeb3b08;color:#ffeb3bf2;text-shadow:0 0 10px #ffeb3b80,0 0 20px #ffeb3b40}.bracket-header-status.status-cancelled{border-color:#f8717199;color:#f87171}.bracket-complete-actions{align-items:center;display:flex;gap:.75rem}.bracket-complete-label{color:#ffeb3bf2;font-size:.9rem;font-weight:600;text-shadow:0 0 10px #ffeb3b99,0 0 20px #ffeb3b4d}.btn-complete-tournament{background:linear-gradient(135deg,#ffc10740,#ff980033);border:1px solid #ffd70099;border-radius:var(--radius-md);box-shadow:0 0 16px #ffd70033;color:#ffd54f;cursor:pointer;font-weight:600;padding:.5rem 1rem}.btn-complete-tournament:hover:not(:disabled){background:linear-gradient(135deg,#ffc10759,#ff98004d);border-color:#ffd700cc;box-shadow:0 0 20px #ffd70059}.btn-complete-tournament:disabled{cursor:not-allowed;opacity:.7}.bracket-save-notice{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:600;margin-left:.5rem;padding:.35rem .75rem}.bracket-save-notice--unsaved{background:#ffba411f;border:1px solid #ffba4199;color:#ffba41;cursor:pointer;transition:background .15s ease,border-color .15s ease}.bracket-save-notice--unsaved:hover{background:#ffba4138;border-color:#ffba41cc}.bracket-save-notice--saved{background:#5cffa41f;border:1px solid #5cffa480;color:#5cffa4}.tournament-modal .tournament-select{width:100%}.bracket-svg{display:block;min-height:100%;min-width:100%;pointer-events:auto}.bracket-inner{position:relative}.bracket-connectors{display:block}.bracket-pan-layer{height:100%;transform-origin:top left;width:100%}.bracket-placeholder{color:var(--text-secondary)}.tournament-bracket-error,.tournament-bracket-loading{color:var(--error);padding:2rem}.tournament-create-form{display:flex;flex-direction:column;gap:1rem;max-width:640px}.tournament-create-inline{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tournament-create-team-size{margin-top:.25rem}.tournament-create-team-size-hint{margin-bottom:.5rem}.tournament-create-team-size-single{max-width:120px}.tournament-create-team-size-single-input{padding:.5rem .6rem;text-align:center;width:4.5rem}.tournament-create-team-size-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.85rem;margin-top:.5rem;padding:0;text-decoration:underline;text-underline-offset:2px}.tournament-create-team-size-toggle:hover{color:var(--accent-primary)}.tournament-create-team-size-inputs{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:.75rem;max-width:240px;padding:.75rem 1rem}.tournament-create-team-size-label{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:0}.tournament-create-team-size-label-text{color:var(--text-secondary);flex-shrink:0;font-size:.8rem;font-weight:600;width:2.25rem}.tournament-create-team-size-input{min-width:0;padding:.5rem .35rem;text-align:center;width:4rem}.tournament-create-team-size-sep{color:var(--text-secondary);flex-shrink:0;font-size:.9rem;font-weight:600}.tournament-create-schedule{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.tournament-create-schedule-toggle{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;justify-content:space-between;padding:.6rem 0;transition:color .15s ease,background .15s ease;width:100%}.tournament-create-schedule-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.tournament-create-schedule-toggle-icon{align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);display:inline-flex;font-size:1.1rem;height:1.5rem;justify-content:center;line-height:1;margin-left:.5rem;width:1.5rem}.tournament-create-schedule-body{border-top:1px solid var(--border-color);margin-top:.75rem;padding-top:.75rem}.tournament-create-schedule-hint{color:var(--text-secondary);font-size:.85rem;margin:0 0 1rem}.tournament-create-schedule-phases{display:flex;flex-direction:column;gap:1.25rem}.tournament-create-schedule-phase{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem}.tournament-create-schedule-phase-title{color:var(--text-secondary);font-size:.85rem;font-weight:700;letter-spacing:.04em;margin:0 0 .75rem;text-transform:uppercase}.tournament-create-schedule-phase-fields{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:520px){.tournament-create-schedule-phase-fields{grid-template-columns:1fr}}.tournament-create-card{background:linear-gradient(180deg,var(--bg-card),var(--bg-secondary));border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin:0 auto;max-width:760px;padding:2rem}.tournament-create-header h2{margin:0}.tournament-create-header p{color:var(--text-secondary);margin-top:.4rem}.tournament-create-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.tournament-create-hero{align-items:center;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;text-align:center}.tournament-create-eyebrow{color:var(--text-secondary);display:inline-flex;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tournament-create-hero h1{font-size:2.4rem;margin:.35rem 0 0}.tournament-create-hero p{color:var(--text-secondary);margin:.6rem 0 0;max-width:640px}.tournament-create-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem}.tournament-create-tags span{border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-size:.75rem;font-weight:700;padding:.35rem .75rem}.tournament-create-footer{display:flex;justify-content:center;margin:1rem auto 0;max-width:760px}.tournament-create-tip{background:var(--bg-card);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-size:.9rem;padding:.75rem 1rem}.admin-layout{background:var(--bg-primary);color:var(--text-primary);display:flex;min-height:100vh}.admin-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .25s ease,min-width .25s ease;width:280px}.admin-sidebar.closed{min-width:72px;width:72px}.admin-sidebar-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;min-height:64px;padding:1.25rem 1rem}.admin-sidebar-brand{align-items:center;border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-primary);display:inline-flex;font-size:1.125rem;font-weight:700;gap:.75rem;padding:.5rem 0;text-decoration:none;transition:color .2s,background .2s}.admin-sidebar-brand:hover{background:var(--bg-hover);color:var(--accent-primary)}.admin-sidebar-brand-icon{align-items:center;background:linear-gradient(135deg,#6366f133,#6366f11a);background:linear-gradient(135deg,rgba(var(--accent-primary-rgb,99,102,241),.2),rgba(var(--accent-primary-rgb,99,102,241),.1));border-radius:8px;color:var(--accent-primary);display:inline-flex;flex-shrink:0;font-family:Material Symbols Outlined,sans-serif;font-size:1.5rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;height:32px;justify-content:center;width:32px}.admin-sidebar-brand-text{overflow:hidden;white-space:nowrap}.admin-sidebar.closed .admin-sidebar-brand-text{display:none}.admin-sidebar-nav{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:1rem .75rem}.admin-nav-section{margin-bottom:1.25rem}.admin-nav-section:last-child{margin-bottom:0}.admin-nav-section-label{color:var(--text-secondary);display:block;font-size:.6875rem;font-weight:600;letter-spacing:.06em;opacity:.9;padding:0 .75rem .5rem;text-transform:uppercase}.admin-nav-item{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9375rem;gap:.75rem;margin-bottom:2px;padding:.625rem .75rem;text-align:left;text-decoration:none;transition:background .2s,color .2s;width:100%}.admin-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-nav-item.active{background:#6366f11f;background:rgba(var(--accent-primary-rgb,99,102,241),.12);color:var(--accent-primary);font-weight:500}.admin-nav-icon.material-symbols-outlined{align-items:center;display:inline-flex;flex-shrink:0;font-family:Material Symbols Outlined,sans-serif;font-size:1.25rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 22;height:24px;justify-content:center;opacity:.9;width:24px}.admin-nav-item.active .admin-nav-icon.material-symbols-outlined{opacity:1}.admin-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar.closed .admin-nav-label{display:none}.admin-nav-group-trigger{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9375rem;gap:.75rem;margin-bottom:2px;padding:.625rem .75rem;transition:background .2s,color .2s;width:100%}.admin-nav-group-trigger:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-nav-group-trigger.open{color:var(--text-primary)}.admin-nav-chevron.material-symbols-outlined{font-family:Material Symbols Outlined,sans-serif;font-size:1.125rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20;margin-left:auto;transition:transform .2s}.admin-nav-group-children{border-left:1px solid var(--border-color);margin-left:.75rem;margin-top:2px;padding-left:.5rem}.admin-nav-item.child{border-left:2px solid #0000;margin-left:.25rem;padding-left:1rem}.admin-nav-item.child.active{border-left-color:var(--accent-primary)}.admin-sidebar.closed .admin-nav-group-children{border-left:none;margin-left:0;padding-left:0}.admin-sidebar.closed .admin-nav-group-children,.admin-sidebar.closed .admin-nav-group-trigger .admin-nav-chevron,.admin-sidebar.closed .admin-nav-section-label{display:none}.admin-sidebar.closed .admin-nav-section .admin-nav-group-trigger{justify-content:center;padding:.625rem}.admin-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.admin-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000f;flex-shrink:0;justify-content:space-between;min-height:64px;padding:0 1.5rem}.admin-header,.admin-header-left{align-items:center;display:flex;gap:1rem}.admin-sidebar-toggle{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-primary);cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:0;transition:background .2s,border-color .2s,color .2s;width:40px}.admin-sidebar-toggle:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--accent-primary)}.admin-sidebar-toggle .material-symbols-outlined{font-family:Material Symbols Outlined,sans-serif;font-size:1.5rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.admin-header-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.admin-header-right{align-items:center;display:flex;gap:1rem}.admin-view-site-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-primary);display:inline-flex;font-size:.9375rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:background .2s,border-color .2s,color .2s}.admin-view-site-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.admin-view-site-btn .material-symbols-outlined{font-family:Material Symbols Outlined,sans-serif;font-size:1.125rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.admin-view-site-label{white-space:nowrap}@media (max-width:640px){.admin-view-site-label{display:none}}.admin-header-right .navbar-actions{align-items:center;display:flex;gap:.75rem}.admin-content{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:1.5rem 2rem}@media (max-width:1024px){.admin-sidebar{box-shadow:4px 0 24px #00000026;height:100vh;left:0;position:fixed;top:0;z-index:1000}.admin-sidebar.closed{transform:translateX(-100%);width:280px}}@media (max-width:768px){.admin-header{padding:0 1rem}.admin-content{padding:1rem}}.admin-dashboard{max-width:1400px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.dashboard-header h2{font-size:1.75rem;font-weight:600;margin:0}.btn-refresh{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background .2s}.btn-refresh:hover{background:var(--primary-hover)}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:1rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-icon{font-size:2.5rem;line-height:1}.stat-content{flex:1 1}.stat-content h3{color:var(--text-secondary);font-size:.875rem;font-weight:500;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .25rem}.stat-label{color:var(--text-secondary);font-size:.875rem;margin:0}.activity-section,.game-modes-section,.resources-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.activity-section h3,.game-modes-section h3,.resources-section h3{font-size:1.25rem;font-weight:600;margin:0 0 1rem}.resources-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.resource-item{align-items:center;background:var(--bg-primary);border-radius:6px;display:flex;justify-content:space-between;padding:.75rem;transition:transform .2s,box-shadow .2s}.resource-link{color:inherit;cursor:pointer;text-decoration:none}.resource-link:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.resource-link .resource-item{padding:1rem}.resource-link .resource-item>div{display:flex;flex-direction:column;gap:.25rem}.resource-label{color:var(--text-secondary);font-size:.875rem}.resource-value{color:var(--primary-color);font-size:1.25rem;font-weight:600}.resource-arrow{color:var(--text-secondary);font-size:1.25rem;opacity:.5;transition:opacity .2s,transform .2s}.resource-link:hover .resource-arrow{opacity:1;transform:translateX(4px)}.activity-item{align-items:flex-start;background:var(--bg-primary);border-left:3px solid var(--primary-color);border-radius:6px;display:flex;padding:1rem}.activity-icon{font-size:1.5rem}.activity-content{flex:1 1}.activity-title{color:var(--text-primary);font-weight:500;margin:0 0 .25rem}.activity-meta{color:var(--text-secondary);font-size:.875rem;margin:0 0 .5rem}.activity-status{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.activity-status.active{background:#4caf50;color:#fff}.activity-status.completed{background:#2196f3;color:#fff}.activity-status.waiting{background:#ff9800;color:#fff}.activity-status.cancelled{background:#f44336;color:#fff}.no-activity{color:var(--text-secondary);padding:2rem;text-align:center}.game-modes-list{display:flex;flex-direction:column;gap:.5rem}.game-mode-item{align-items:center;background:var(--bg-primary);border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.mode-name{color:var(--text-primary);font-weight:500}.mode-count{color:var(--text-secondary);font-size:.875rem}.admin-error,.admin-loading{color:var(--text-secondary);padding:3rem;text-align:center}.admin-error{color:var(--error)}.admin-crud-page{max-width:1400px}.crud-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.crud-header h2{font-size:1.75rem;font-weight:600;margin:0}.crud-header-actions{align-items:center}.crud-header-actions .btn-primary,.crud-header-actions .btn-secondary{align-items:center;display:inline-flex;gap:.4rem;text-decoration:none;white-space:nowrap}.crud-header-actions .material-symbols-outlined{font-size:1.1rem}@media (max-width:640px){.crud-header{align-items:stretch;flex-direction:column}.crud-header-actions{justify-content:flex-start}}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));border:none;border-radius:8px;box-shadow:var(--shadow-md);cursor:pointer;font-weight:600;padding:.6rem 1.1rem;transition:transform .15s ease,box-shadow .15s ease}.btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-weight:500;transition:background .2s}.btn-secondary:hover{background:var(--bg-hover)}.error-message{background:#f443361a;border:1px solid #f44336;color:#f44336;margin-bottom:1rem;padding:1rem}.crud-form-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.crud-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.crud-section .crud-form{max-width:100%}.crud-form{background:var(--bg-secondary);border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.form-header h3{font-size:1.5rem;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.close-btn:hover{background:var(--bg-hover)}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:.5rem}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.form-group input[type=checkbox]{margin-right:.5rem}.form-group textarea{min-height:80px;resize:vertical}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.crud-table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.crud-table{border-collapse:collapse;width:100%}.crud-table thead{background:var(--bg-hover)}.crud-table td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:1rem}.crud-table tbody tr:hover{background:var(--bg-hover)}.crud-table tbody tr:last-child td{border-bottom:none}.empty-state{color:var(--text-secondary);padding:3rem;text-align:center}.status-badge{border-radius:12px;display:inline-block;font-size:.875rem;font-weight:500}.status-badge.active{background:#4caf5033;color:#4caf50}.status-badge.inactive{background:#9e9e9e33;color:#9e9e9e}.action-buttons{display:flex;gap:.5rem}.btn-delete,.btn-edit{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.375rem .75rem;transition:background .2s}.btn-edit{background:#2196f333;color:#2196f3}.btn-edit:hover{background:#2196f34d}.btn-delete{background:#f4433633;color:#f44336}.btn-delete:hover{background:#f443364d}.crud-filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.filter-group{flex:1 1;min-width:150px}.filter-input,.filter-select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.9rem;padding:.6rem .75rem;width:100%}.filter-input:focus,.filter-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #2196f31a;box-shadow:0 0 0 2px rgba(var(--primary-color-rgb,33,150,243),.1);outline:none}.filter-results{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.sortable-header{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:inherit;font-weight:600;gap:.5rem;padding:0;transition:color .2s}.sortable-header:hover{color:var(--primary-color)}.crud-table th{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-weight:600;padding:1rem;position:relative;text-align:left}.admin-badges-page .crud-section{margin-bottom:2rem}.admin-badges-page .crud-section h3{font-size:1.25rem;margin-bottom:1rem;margin-top:0}.admin-badges-page .badge-slug{background:#f0f0f0;background:var(--bg-tertiary,#f0f0f0);border-radius:4px;font-size:.85em;padding:.15rem .4rem}.badges-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.badges-filters label{display:flex;flex-direction:column;gap:.25rem}.badges-filters label span{color:#666;color:var(--text-secondary,#666);font-size:.875rem}.badges-filters .filter-input,.badges-filters .filter-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);min-width:160px;padding:.5rem .6rem}.badges-filters .filter-input{min-width:180px}.badges-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.admin-badges-note,.badges-pagination .pagination-info{color:var(--text-secondary);font-size:.9rem}.admin-badges-note{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:2rem;padding:1rem}.admin-badges-note a{color:var(--accent-primary)}.migration-wizard-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:1100}.migration-wizard-modal{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);color:var(--text-primary);display:flex;flex-direction:column;max-height:92vh;overflow:hidden;width:min(1340px,100%)}.migration-wizard-modal.is-generic{width:min(720px,100%)}.migration-wizard-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.25rem}.migration-wizard-header h2{font-size:1.15rem;margin:0}.migration-wizard-close{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;padding:.25rem}.migration-wizard-close:hover{background:var(--bg-hover);color:var(--text-primary)}.migration-wizard-body{flex:1 1 auto;overflow-y:auto;padding:1.25rem}.migration-wizard-summary{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.25rem;padding:.85rem 1rem}.migration-wizard-label{color:var(--text-secondary)}.migration-wizard-reason{color:var(--text-secondary);font-size:.9rem;margin-top:.35rem}.migration-wizard-description{color:var(--text-secondary);font-size:.9rem;line-height:1.45;margin:.85rem 0 0}.generic-wizard-form{display:flex;flex-direction:column;gap:1rem}.generic-wizard-empty{color:var(--text-secondary);margin:0}.generic-wizard-row{display:flex;flex-direction:column;gap:.35rem}.generic-wizard-row label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.generic-wizard-required{color:#f44336;color:var(--accent-danger,#f44336)}.generic-wizard-row input[type=number],.generic-wizard-row input[type=text]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font:inherit;padding:.55rem .75rem}.generic-wizard-row input[type=checkbox]{height:18px;width:18px}.generic-wizard-help{color:var(--text-secondary);font-size:.8rem}.generic-wizard-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.deprecation-banner{align-items:flex-start;background:#ffc4001f;border:1px solid #ffc40073;border-left-width:4px;border-radius:8px;color:var(--text-primary);display:flex;gap:.85rem;margin-bottom:1rem;padding:.85rem 1rem}.deprecation-banner.is-compact{gap:.6rem;margin-bottom:.5rem;padding:.5rem .75rem}.deprecation-banner-icon{align-items:center;background:#ffc40040;border-radius:50%;color:#b8860b;display:flex;flex:0 0 auto;height:32px;justify-content:center;width:32px}.deprecation-banner.is-compact .deprecation-banner-icon{height:24px;width:24px}.deprecation-banner-icon .material-symbols-outlined{font-size:18px}.deprecation-banner-body{flex:1 1 auto;min-width:0}.deprecation-banner-title{font-size:.95rem;font-weight:600;margin-bottom:.15rem}.deprecation-banner.is-compact .deprecation-banner-title{font-size:.85rem;margin-bottom:0}.deprecation-banner-reason{color:var(--text-secondary);font-size:.875rem;line-height:1.4}.deprecation-banner-actions{align-items:center;display:flex;flex:0 0 auto}.deprecation-banner-cta{background:#b8860b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .95rem;transition:background .15s ease}.deprecation-banner-cta:hover:not(:disabled){background:#946c08}.deprecation-banner-cta:disabled{cursor:not-allowed;opacity:.5}.job-progress{background:#1a1d21;background:var(--surface-bg,#1a1d21);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:8px;display:flex;flex-direction:column;font-size:.9rem;gap:.75rem;padding:1rem 1.25rem}.job-progress-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.job-progress-title{align-items:center;display:flex;font-weight:600;gap:.5rem}.job-id{font-weight:400;opacity:.7}.job-kind{background:#2c2f34;background:var(--muted-bg,#2c2f34);border-radius:4px;letter-spacing:.05em;padding:.1rem .4rem;text-transform:uppercase}.job-kind,.job-status-pill{font-size:.75rem}.job-progress-message{flex:1 1 180px;font-size:.8rem;min-width:0;opacity:.75;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.job-progress-bar{background:#2c2f34;background:var(--muted-bg,#2c2f34);border-radius:9px;height:18px;overflow:hidden;position:relative}.job-progress-bar-fill{background:linear-gradient(90deg,#4285f4,#34a853);height:100%;transition:width .3s ease}.job-progress-bar-label{align-items:center;color:#fff;display:flex;font-size:.75rem;inset:0;justify-content:center;position:absolute;text-shadow:0 1px 2px #0009}.job-progress-error-summary{background:#a4282826;border-radius:6px;color:#ff6f6f;font-size:.85rem;padding:.5rem .75rem;white-space:pre-wrap}.job-progress-stats{font-family:monospace;font-family:var(--font-mono,monospace);font-size:.8rem;opacity:.85}.job-progress-logs summary{cursor:pointer;font-weight:500;opacity:.8;padding:.25rem 0}.job-progress-log-body{background:#0f1013;border:1px solid #23262b;border-radius:6px;color:#cfd4da;font-family:monospace;font-family:var(--font-mono,monospace);font-size:.75rem;max-height:260px;overflow-y:auto;padding:.75rem;white-space:pre-wrap}.job-progress-footer{display:flex;flex-wrap:wrap;font-size:.75rem;gap:1rem;opacity:.65}.job-progress-error,.job-progress-loading{padding:.75rem 1rem}.job-progress-error{color:#ff6f6f}.data-job-modal-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:1200}.data-job-modal{background:#1a1d21;background:var(--surface-bg,#1a1d21);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:10px;box-shadow:0 20px 60px #00000073;color:#e6e9ee;color:var(--text-color,#e6e9ee);display:flex;flex-direction:column;max-height:90vh;overflow-y:auto;width:min(720px,100%)}.data-job-modal-header{align-items:center;border-bottom:1px solid #2e3338;border-bottom:1px solid var(--border-color,#2e3338);display:flex;justify-content:space-between;padding:1rem 1.25rem}.data-job-modal-header h3{font-size:1.1rem;margin:0}.data-job-modal-header .close-btn{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:inline-flex;padding:.25rem}.data-job-modal-body{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem}.data-job-modal-footer{border-top:1px solid #2e3338;border-top:1px solid var(--border-color,#2e3338);display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem;padding-top:.75rem}.form-section h4{font-size:.95rem;margin:0 0 .25rem}.form-section .hint{font-size:.8rem;margin:0 0 .5rem;opacity:.7}.checkbox-list{background:#23262b;background:var(--muted-bg,#23262b);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:6px;display:flex;flex-direction:column;gap:.25rem;max-height:180px;overflow-y:auto;padding:.5rem .75rem}.checkbox-row,.radio-row{align-items:flex-start;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.2rem 0}.radio-list{display:flex;flex-direction:column;gap:.5rem}.radio-row{background:#23262b;background:var(--muted-bg,#23262b);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:8px;padding:.5rem .75rem}.radio-row.checked{border-color:#4285f4;box-shadow:inset 0 0 0 1px #4285f4}.radio-label{font-weight:600}.radio-description{font-size:.8rem;opacity:.75}.dropzone{align-items:center;background:#23262b;background:var(--muted-bg,#23262b);border:2px dashed #2e3338;border:2px dashed var(--border-color,#2e3338);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:2rem 1rem;text-align:center;transition:background .2s,border-color .2s}.dropzone .material-symbols-outlined{font-size:2.5rem;opacity:.7}.dropzone.drag-over{background:#4285f41a;border-color:#4285f4}.dropzone.has-file{border-color:#34a853;border-style:solid}.dropzone-filename{font-weight:600;word-break:break-all}.dropzone-filesize,.dropzone-hint{font-size:.8rem;opacity:.7}.data-job-modal.import-staging-wizard.step-reconcile{height:92vh;max-height:92vh;max-width:98vw;width:min(1400px,98vw)}.data-job-modal.import-staging-wizard .wizard-step-label{font-size:.8rem;font-weight:400;margin-left:.5rem;opacity:.65}.wizard-staging-message{line-height:1.5;margin:.5rem 0;opacity:.85}.wizard-staging-detail{font-size:.85rem;font-style:italic;margin:.25rem 0 0;opacity:.7}.wizard-staging-error{background:#dc35451a;border-radius:6px;color:#b02a37;font-size:.85rem;margin-top:.75rem;max-height:240px;overflow:auto;padding:.75rem;white-space:pre-wrap;word-break:break-word}.wizard-reconcile-body{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-height:0;padding:1rem 1.25rem}.wizard-reconcile-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.wizard-reconcile-controls{align-items:center;display:flex;gap:.5rem}.conflict-mode-switch{align-items:center;display:inline-flex;font-size:.85rem;gap:.35rem;opacity:.9}.conflict-mode-switch select{background:#23262b;background:var(--muted-bg,#23262b);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:6px;color:inherit;padding:.25rem .5rem}.summary-chips{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.summary-chip{align-items:baseline;background:#23262b;background:var(--muted-bg,#23262b);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:999px;display:inline-flex;font-size:.78rem;gap:.35rem;padding:.2rem .55rem}.summary-chip .chip-label{opacity:.7}.summary-chip .chip-value{font-weight:600}.summary-chip.tone-ok{background:#34a8531f;border-color:#34a8538c}.summary-chip.tone-info{background:#4285f41f;border-color:#4285f48c}.summary-chip.tone-warn{background:#fbbc051f;border-color:#fbbc058c}.chip-divider{background:#2e3338;background:var(--border-color,#2e3338);height:1rem;margin:0 .25rem;width:1px}.wizard-reconcile-columns{grid-gap:.75rem;display:grid;flex:1 1;gap:.75rem;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);min-height:0}.wizard-reconcile-left,.wizard-reconcile-right{background:#23262b;background:var(--muted-bg,#23262b);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:10px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.wizard-reconcile-left{overflow-y:auto}.wizard-reconcile-right{overflow:hidden}.wizard-reconcile-footer{align-items:center;border-top:1px solid #2e3338;border-top:1px solid var(--border-color,#2e3338);margin-top:0;padding:.75rem 1.25rem}.wizard-reconcile-footer .spacer{flex:1 1}.btn-danger{background:#ea4335d9;border-radius:6px;font-weight:600;padding:.4rem .9rem}.btn-danger:hover{background:#ea4335}.reconcile-tree{padding:.5rem}.reconcile-empty{opacity:.7;padding:1rem;text-align:center}.tree-node{margin-left:0}.tree-node.level-map{margin-left:1.25rem}.tree-node.level-floor{margin-left:2.25rem}.tree-node.level-level{margin-left:3.25rem}.tree-row{grid-gap:.5rem;align-items:center;background:#0000;border-radius:8px;display:grid;gap:.5rem;grid-template-columns:28px 40px minmax(0,1fr) auto;margin-bottom:2px;padding:.35rem .5rem}.tree-row:hover{background:#ffffff08}.tree-row.action-match{border-left:3px solid #34a853a6}.tree-row.action-create{border-left:3px solid #4285f4a6}.tree-row.action-skip{border-left:3px solid #fbbc05a6;opacity:.75}.tree-toggle{background:#0000;border:none;color:inherit;cursor:pointer;display:inline-flex;height:28px;padding:0;width:28px}.tree-thumb,.tree-toggle{align-items:center;justify-content:center}.tree-thumb{background:#1a1d21;background:var(--surface-bg,#1a1d21);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:6px;display:flex;height:40px;overflow:hidden;width:40px}.tree-thumb img{height:100%;object-fit:cover;width:100%}.tree-thumb-placeholder{font-size:1.2rem;opacity:.5}.tree-main{min-width:0}.tree-name{align-items:baseline;display:flex;gap:.5rem}.kind-chip{background:#ffffff0f;border-radius:4px;font-size:.65rem;letter-spacing:.05em;opacity:.8;padding:.1rem .4rem;text-transform:uppercase}.name-label{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-subtitle{font-size:.75rem;opacity:.6}.decision-hint{font-size:.75rem;margin-top:.15rem;opacity:.8}.decision-hint .reason{opacity:.6}.decision-hint.tone-warn{color:#fbbc05}.tree-actions{align-items:center;display:flex;gap:.5rem}.status-chip{background:#ffffff0a;border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:999px;font-size:.7rem;padding:.15rem .45rem}.status-chip.tone-ok{border-color:#34a85399;color:#34a853}.status-chip.tone-info{border-color:#4285f499;color:#4285f4}.status-chip.tone-warn{border-color:#fbbc0599;color:#fbbc05}.action-group{display:inline-flex;gap:.25rem}.action-btn{background:#1a1d21;background:var(--surface-bg,#1a1d21);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:5px;color:inherit;cursor:pointer;font-size:.75rem;max-width:220px;overflow:hidden;padding:.3rem .55rem;text-overflow:ellipsis;white-space:nowrap}.action-btn:hover{background:#ffffff0a}.action-btn.active{background:#4285f41f;border-color:#4285f4;color:#cfe0ff}.entity-match-picker-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:1400}.entity-match-picker{background:#1a1d21;background:var(--surface-bg,#1a1d21);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:10px;box-shadow:0 20px 60px #0000008c;color:inherit;display:flex;flex-direction:column;max-height:85vh;overflow:hidden;width:min(640px,100%)}.picker-header{align-items:flex-start;border-bottom:1px solid #2e3338;border-bottom:1px solid var(--border-color,#2e3338);display:flex;justify-content:space-between;padding:.85rem 1rem}.picker-title{font-weight:600}.picker-subtitle{font-size:.75rem;margin-top:.15rem;opacity:.7}.picker-search{padding:.5rem 1rem}.picker-search input{background:#23262b;background:var(--muted-bg,#23262b);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:6px;color:inherit;padding:.5rem .75rem;width:100%}.picker-list{flex:1 1;overflow-y:auto;padding:.25rem .5rem}.picker-empty{opacity:.7;padding:1rem;text-align:center}.picker-row{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:inherit;cursor:pointer;display:flex;gap:.65rem;margin-bottom:2px;padding:.5rem .65rem;text-align:left;width:100%}.picker-row:hover{background:#ffffff0a;border-color:#2e3338;border-color:var(--border-color,#2e3338)}.picker-thumb{align-items:center;background:#23262b;background:var(--muted-bg,#23262b);border-radius:6px;display:flex;height:44px;justify-content:center;object-fit:cover;width:44px}.picker-thumb-placeholder{opacity:.5}.picker-row-main{min-width:0}.picker-row-name{font-weight:600}.picker-row-meta{font-size:.75rem;opacity:.6}.picker-footer{border-top:1px solid #2e3338;border-top:1px solid var(--border-color,#2e3338);display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem}.existing-content-browser{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.existing-content-header{border-bottom:1px solid #2e3338;border-bottom:1px solid var(--border-color,#2e3338);display:flex;flex-direction:column;gap:.4rem;padding:.65rem .75rem}.existing-content-header h4{font-size:.95rem;margin:0}.existing-content-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.existing-content-controls input[type=search]{background:#1a1d21;background:var(--surface-bg,#1a1d21);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:5px;color:inherit;flex:1 1;min-width:140px;padding:.3rem .5rem}.inline-toggle{align-items:center;display:inline-flex;font-size:.75rem;gap:.25rem}.existing-empty{opacity:.65;padding:1rem;text-align:center}.existing-tree{flex:1 1;overflow-y:auto;padding:.25rem 0}.existing-row{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.3rem .6rem;text-align:left;width:100%}.existing-row:hover{background:#ffffff08}.existing-row.level-row{cursor:default}.existing-row .material-symbols-outlined{font-size:1rem;opacity:.7}.existing-thumb{align-items:center;background:#23262b;background:var(--muted-bg,#23262b);border-radius:4px;display:inline-flex;height:28px;justify-content:center;object-fit:cover;width:28px}.existing-thumb-placeholder{font-size:1rem;opacity:.5}.existing-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.existing-count{font-size:.7rem;opacity:.6}.existing-map{margin-left:.85rem}.existing-floor,.existing-level{margin-left:1rem}.is-deprecated .existing-name{opacity:.55;text-decoration:line-through}.error-message{background:#ea43351f;border:1px solid #ea433573;border-radius:6px;color:#f5a196;font-size:.85rem;margin:.5rem 1.25rem;padding:.5rem .75rem}.geoguesser-map-form{max-width:700px}.deprecated-tag{background:#ffc4002e;border-radius:4px;color:#b8860b;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.05em;margin-left:.5rem;padding:.1rem .4rem}.is-deprecated-row{background:#ffc4000a}.deprecation-banner-row td{background:#0000;padding:0 .5rem .5rem}.map-floor-count{color:var(--text-secondary);font-size:.72rem;margin-top:.15rem}.map-thumbnail-note{color:var(--text-secondary);font-size:.65rem;font-style:italic;margin-top:.1rem;text-align:center}.image-preview{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;margin-top:1rem;padding:1rem}.image-preview img{border-radius:4px;display:block;margin:0 auto;max-height:300px;max-width:100%}.preview-note{color:var(--text-secondary);font-size:.875rem;font-style:italic;margin-top:.5rem;text-align:center}.help-text{margin-top:.25rem}.description-cell{max-width:200px}.text-muted{color:var(--text-secondary);font-style:italic}.map-thumbnail{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;display:flex;height:60px;justify-content:center;overflow:hidden;width:60px}.map-thumbnail img{height:100%;object-fit:cover;width:100%}.error-message{padding-right:2.5rem;position:relative}.error-close{cursor:pointer;font-size:1.25rem;font-weight:700;opacity:.7;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:opacity .2s}.error-close:hover{opacity:1}.admin-geoguesser-overview{background:#111827;background:var(--bg-secondary,#111827);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.25rem;padding:1rem 1.1rem}.admin-geoguesser-overview-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.admin-geoguesser-stat-card{background:#0f172a;background:var(--bg-primary,#0f172a);border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:.2rem;padding:.65rem .75rem}.admin-geoguesser-stat-card.is-warn{background:#f59e0b0f;border-color:#f59e0b73}.admin-geoguesser-stat-card.is-alert{background:#ef44440f;border-color:#ef444466}.admin-geoguesser-stat-value{font-feature-settings:"tnum";color:var(--text-primary);font-size:1.35rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.admin-geoguesser-stat-label{color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.04em;line-height:1.25;text-transform:uppercase}.admin-geoguesser-by-game{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:.85rem}.admin-geoguesser-by-game-title{color:var(--text-secondary);font-size:.85rem;font-weight:700;letter-spacing:.06em;margin:0 0 .5rem;text-transform:uppercase}.admin-geoguesser-by-game-list{display:flex;flex-wrap:wrap;gap:.35rem 1rem;list-style:none;margin:0;padding:0}.admin-geoguesser-by-game-list li{align-items:baseline;display:inline-flex;font-size:.88rem;gap:.5rem}.admin-geoguesser-by-game-name{color:var(--text-primary);font-weight:600}.admin-geoguesser-by-game-meta{font-feature-settings:"tnum";color:var(--text-secondary);font-variant-numeric:tabular-nums}.admin-geoguesser-levels-cell{min-width:5.5rem;vertical-align:top}.admin-geoguesser-levels-main{align-items:baseline;display:flex;gap:.35rem}.admin-geoguesser-levels-count{font-feature-settings:"tnum";color:var(--text-primary);font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:800}.admin-geoguesser-levels-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase}.admin-geoguesser-floors-sub{color:var(--text-secondary);font-size:.72rem;margin-top:.15rem}.admin-geoguesser-coverage-pill{background:#6366f126;border:1px solid #6366f159;border-radius:999px;color:#6366f1;color:var(--accent-primary,#6366f1);display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.03em;margin-top:.35rem;padding:.12rem .45rem;text-transform:uppercase}.admin-geoguesser-coverage-pill.is-warn{background:#f59e0b1f;border-color:#f59e0b59;color:#f59e0b}.admin-geoguesser-coverage-pill.is-muted{background:#94a3b81f;border-color:var(--border-color);color:var(--text-secondary)}tr.needs-levels td:first-child{box-shadow:inset 3px 0 0 #ef44448c}tr.no-floors td:first-child{box-shadow:inset 3px 0 0 #f59e0b8c}@media (max-width:768px){.crud-table{font-size:.875rem}.description-cell{max-width:100px}.map-thumbnail{height:40px;width:40px}}.geoguesser-overview{max-width:1200px}.geoguesser-overview-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.geoguesser-overview-header h2{font-size:1.5rem;font-weight:600;margin:0}.geoguesser-overview-error{background:#f443361a;border:1px solid #f44336;border-radius:6px;color:#f44336;margin-bottom:1rem;padding:1rem}.geoguesser-map-inventory{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:2rem;padding:1.25rem}.geoguesser-map-inventory-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.geoguesser-map-inventory-header h3{font-size:1.125rem;font-weight:600;margin:0}.geoguesser-map-inventory-cta{color:#2563eb;color:var(--link-color,#2563eb);font-size:.875rem;font-weight:500;text-decoration:none}.geoguesser-map-inventory-cta:hover{text-decoration:underline}.geoguesser-inventory-error{color:#dc2626;font-size:.875rem;margin:.75rem 0 0}.geoguesser-inventory-loading{color:var(--text-secondary);font-size:.875rem;margin:.75rem 0 0}.geoguesser-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:2rem}.geoguesser-stat-card{border:1px solid #0000;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;padding:1.25rem;transition:transform .2s,box-shadow .2s}.geoguesser-stat-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.geoguesser-stat-card--maps{background:linear-gradient(135deg,#3b82f61f,#3b82f60a);border-color:#3b82f659}.geoguesser-stat-card--maps .geoguesser-stat-value{color:#2563eb}.geoguesser-stat-card--levels{background:linear-gradient(135deg,#22c55e1f,#22c55e0a);border-color:#22c55e59}.geoguesser-stat-card--levels .geoguesser-stat-value{color:#16a34a}.geoguesser-stat-card--pending{background:linear-gradient(135deg,#f59e0b1f,#f59e0b0a);border-color:#f59e0b59}.geoguesser-stat-card--pending .geoguesser-stat-value{color:#d97706}.geoguesser-stat-card--pending.geoguesser-stat-card--alert{background:linear-gradient(135deg,#ef444424,#ef44440d);border-color:#ef444466}.geoguesser-stat-card--pending.geoguesser-stat-card--alert .geoguesser-stat-value{color:#dc2626}.geoguesser-stat-card--avg{background:linear-gradient(135deg,#8b5cf61f,#8b5cf60a);border-color:#8b5cf659}.geoguesser-stat-card--avg .geoguesser-stat-value{color:#7c3aed}.geoguesser-stat-card--least{background:linear-gradient(135deg,#ef44441a,#ef444408);border-color:#ef44444d}.geoguesser-stat-card--least .geoguesser-stat-value{color:#dc2626}.geoguesser-stat-card--least .geoguesser-stat-sublabel{color:var(--text-secondary)}.geoguesser-stat-card--sessions{background:linear-gradient(135deg,#6366f11a,#6366f108);border-color:#6366f14d}.geoguesser-stat-card--sessions .geoguesser-stat-value{color:#4f46e5}.geoguesser-stat-card--sessions.geoguesser-stat-card--live{border-color:#22c55e80;box-shadow:0 0 0 1px #22c55e33}.geoguesser-stat-card--sessions.geoguesser-stat-card--live .geoguesser-stat-value{color:#16a34a}.geoguesser-stat-card-link{color:inherit;text-decoration:none}.geoguesser-stat-card-link:hover{color:inherit}.geoguesser-stat-value{font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.geoguesser-stat-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.geoguesser-stat-sublabel{color:var(--text-secondary);font-size:.75rem;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geoguesser-stat-arrow{font-size:1.1rem;margin-left:auto;opacity:.7}.geoguesser-charts{margin-bottom:2.5rem}.geoguesser-charts-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.geoguesser-chart-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:1.25rem}.geoguesser-chart-card h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 1rem}.geoguesser-bar-chart{display:flex;flex-direction:column;gap:.65rem}.geoguesser-bar-row{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:1fr 3fr 2rem}.geoguesser-bar-label{color:var(--text-primary);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geoguesser-bar-track{background:var(--bg-hover);border-radius:10px;height:20px;overflow:hidden}.geoguesser-bar-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:10px;height:100%;transition:width .4s ease}.geoguesser-bar-fill--alt{background:linear-gradient(90deg,#10b981,#34d399)}.geoguesser-bar-value{color:var(--text-primary);font-size:.8125rem;font-weight:600;text-align:right}.geoguesser-section{margin-bottom:2.5rem}.geoguesser-section h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.geoguesser-section-desc{color:var(--text-secondary);font-size:.875rem;margin:0 0 1rem}.geoguesser-table-wrap{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000a;overflow:hidden}.geoguesser-table-wrap.geoguesser-table--styled{border-radius:12px}.geoguesser-table{border-collapse:collapse;width:100%}.geoguesser-table thead{background:var(--bg-hover)}.geoguesser-table th{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.875rem 1rem;text-align:left;text-transform:uppercase}.geoguesser-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9375rem;padding:.875rem 1rem}.geoguesser-table tbody tr:hover{background:var(--bg-hover)}.geoguesser-table tbody tr:last-child td{border-bottom:none}.geoguesser-table-rank{color:var(--text-secondary);font-weight:700;width:2rem}.geoguesser-sessions-section{background:linear-gradient(135deg,#6366f10f,#0000 50%);border:1px solid #6366f133;border-radius:12px;padding:1.5rem}.geoguesser-sessions-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.geoguesser-sessions-header h3{margin:0}.geoguesser-sessions-cta{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);border-radius:8px;box-shadow:0 4px 12px #4f46e559;color:#fff;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.6rem 1.25rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.geoguesser-sessions-cta:hover{box-shadow:0 6px 16px #4f46e573;color:#fff;transform:translateY(-1px)}.geoguesser-session-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.geoguesser-session-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:1rem;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}.geoguesser-session-item:hover{border-color:#6366f166;box-shadow:0 2px 8px #0000000f}.geoguesser-session-code{color:var(--text-primary);font-family:ui-monospace,monospace;font-size:1rem;font-weight:700}.geoguesser-session-mode{color:var(--text-secondary);flex:1 1;font-size:.875rem}.geoguesser-session-badge{background:#22c55e33;border-radius:6px;color:#16a34a;font-size:.6875rem;font-weight:700;letter-spacing:.08em;padding:.25rem .5rem;text-transform:uppercase}.geoguesser-sessions-empty{background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.9375rem;margin:0;padding:1.5rem;text-align:center}.geoguesser-breakdown-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.geoguesser-breakdown-content{background:var(--bg-secondary);border-radius:12px;box-shadow:0 20px 40px #0003;max-height:80vh;max-width:400px;overflow-y:auto;padding:1.5rem;width:90%}.geoguesser-breakdown-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.geoguesser-breakdown-header h4{font-size:1.125rem;margin:0}.geoguesser-breakdown-body ul{margin:0;padding-left:1.25rem}.geoguesser-breakdown-body li{margin-bottom:.35rem}.admin-cache-stats{margin:0 auto;max-width:1400px;padding:2rem}.admin-cache-stats-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.admin-cache-stats-header h1{color:var(--text-primary);font-size:2rem;margin:0}.admin-cache-stats-actions{display:flex;gap:1rem}.admin-cache-stats-last-updated{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem;text-align:right}.admin-cache-stats-options{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.admin-cache-stats-options-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.admin-cache-stats-options-header h2{color:var(--text-primary);font-size:1.25rem;margin:0}.admin-cache-stats-toggle{align-items:center;color:var(--text-tertiary);display:flex;font-size:.9rem;gap:.75rem}.toggle-pill{border:none;border-radius:999px;cursor:pointer;font-weight:600;padding:.35rem .9rem}.toggle-pill.on{background:var(--accent-primary);color:var(--text-inverse)}.toggle-pill.off{background:var(--border-color);color:var(--text-secondary)}.admin-cache-stats-options-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.option-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:left;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.option-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.option-card.info{cursor:default}.option-card.danger{border-color:rgba(var(--error-rgb),.4)}.option-card.warning{border-color:rgba(var(--warning-rgb),.4)}.option-title{color:var(--text-primary);font-weight:700}.option-subtitle{color:var(--text-tertiary);font-size:.9rem}.admin-cache-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.admin-cache-stats-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-sm);padding:1.5rem}.admin-cache-stats-card-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.admin-cache-stats-card-header h2{color:var(--text-primary);font-size:1.25rem;margin:0}.admin-cache-stats-badge{border-radius:12px;color:var(--text-inverse);font-size:.9rem;font-weight:700;padding:.25rem .75rem}.admin-cache-stats-card-content{display:flex;flex-direction:column;gap:.75rem}.admin-cache-stats-metric{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.admin-cache-stats-label{color:var(--text-secondary);font-size:.9rem}.admin-cache-stats-value{color:var(--text-primary);font-size:1rem;font-weight:700}.admin-cache-stats-metric-large{align-items:center;display:flex;flex-direction:column;padding:1rem 0}.admin-cache-stats-value-large{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.admin-cache-stats-progress{background:var(--border-color);border-radius:4px;height:8px;margin-top:1rem;overflow:hidden;width:100%}.admin-cache-stats-progress-bar{height:100%;transition:width .3s ease}.admin-cache-stats-summary{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:2rem;padding:1.5rem}.admin-cache-stats-summary h3{color:var(--text-primary);margin-bottom:1rem;margin-top:0}.admin-cache-stats-summary p{color:var(--text-secondary);line-height:1.6;margin:0}.admin-cache-stats-summary strong{color:var(--text-primary)}.admin-cache-stats-error,.admin-cache-stats-loading{color:var(--text-primary);font-size:1.1rem;padding:2rem;text-align:center}.admin-cache-stats-error{color:var(--error)}.btn-danger{background-color:var(--error);border-radius:4px;color:var(--text-inverse);cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.btn-danger:hover{filter:brightness(.9)}.btn-secondary{background-color:var(--text-tertiary);border:none;border-radius:4px;color:var(--text-inverse);cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.btn-secondary:hover{filter:brightness(.9)}.level-form{max-width:700px}.map-selector-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.map-selector-container{background:var(--bg-secondary);border-radius:8px;display:flex;flex-direction:column;height:min(920px,92vh);max-height:92vh;max-width:96vw;overflow:hidden;padding:1.25rem;width:min(1400px,96vw)}.map-selector-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.map-selector-header>div{flex:1 1}.map-selector-header h4{font-size:1.25rem;margin:0 0 .5rem}.map-selector-legend{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.875rem;gap:1.5rem;margin:0}.legend-item{align-items:center;display:flex;gap:.5rem}.legend-marker{align-items:center;display:inline-flex;font-size:1.25rem;justify-content:center}.legend-marker.answer-marker{background:#4caf50;border:2px solid #fff;border-radius:50%;color:#fff;font-size:.875rem;font-weight:700;height:24px;width:24px}.legend-marker.pin-marker{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.answer-info{color:var(--text-secondary);font-size:.875rem;margin-top:.5rem}.current-answer-indicator{color:var(--primary-color);font-style:italic;font-weight:500}.help-text{color:var(--text-secondary);font-size:.875rem;font-style:italic}.status-badge.difficulty-easy{background:#4caf5033;color:#4caf50}.status-badge.difficulty-medium{background:#ff980033;color:#ff9800}.status-badge.difficulty-hard{background:#f4433633;color:#f44336}.text-warning{color:#ff9800;font-style:italic}.map-selector-loading{color:var(--text-secondary);padding:2rem;text-align:center}.map-pin-selector{display:flex;flex:1 1;flex-direction:column;gap:.75rem;margin:1rem 0 .5rem;min-height:0}.map-selector-container .mcc-container{flex:1 1;min-height:520px}@media (max-width:768px){.map-selector-container{height:94vh;padding:1rem;width:96vw}.map-selector-container .mcc-container{min-height:420px}}.map-container{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;cursor:crosshair;overflow:hidden;position:relative}.map-container.disabled{cursor:not-allowed;opacity:.6}.map-image{display:block;height:auto;width:100%}.pin{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:2rem;pointer-events:none;position:absolute;transform:translate(-50%,-100%);z-index:10}.pin.admin{font-size:2.5rem}.answer-pin{align-items:center;animation:pulse 2s ease-in-out infinite;background:#4caf50;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0006;color:#fff;display:flex;font-size:1rem;font-weight:700;height:28px;justify-content:center;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:28px;z-index:8}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.map-selector-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background .2s}.btn-submit{background:var(--primary-color);color:#fff}.btn-submit:hover:not(:disabled){background:var(--primary-hover)}.btn-submit:disabled{cursor:not-allowed;opacity:.5}.btn-cancel{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-cancel:hover{background:var(--bg-hover)}.photo-preview{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:1rem;padding:.5rem}.photo-preview img{border-radius:4px;display:block;margin:0 auto;max-height:300px;max-width:100%}.admin-level-answer-preview{min-height:1px}.admin-level-answer-placeholder{aspect-ratio:16/9;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px dashed #444;border:1px dashed var(--border-color,#444);border-radius:6px;box-sizing:border-box;width:100%}.ls-admin-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.ls-admin-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.ls-tab{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;padding:.4rem .8rem}.ls-tab.active{border-color:var(--accent-primary);box-shadow:0 0 0 2px #4caf5026}.ls-count{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-weight:700;padding:.1rem .5rem}.ls-admin-controls{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 200px 180px 200px}.ls-admin-controls select,.ls-search{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);padding:.75rem;width:100%}.ls-thumb{border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-sm);height:56px;object-fit:cover;width:56px}.submission-review-modal{max-height:92vh;max-width:96vw;width:min(1200px,96vw)}.ls-subhead{align-items:center;display:flex;gap:.75rem;margin-top:.35rem}.ls-meta{color:var(--text-secondary);font-size:.9rem}.ls-review-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1.2fr}.ls-review-left{min-width:0}.ls-review-right{display:flex;flex-direction:column;gap:.75rem;min-width:0}.ls-readonly{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);padding:.75rem}.ls-photo-preview-wrap{margin-top:.75rem}.ls-photo-preview-img{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;max-height:260px;object-fit:contain;width:100%}.ls-answer-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.ls-answer-title{color:var(--text-primary);font-weight:700}.ls-answer-actions{align-items:center;display:flex;gap:.5rem}.ls-map-preview{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.ls-map-placeholder{color:var(--text-secondary);padding:2rem;text-align:center}.ls-coords{color:var(--text-secondary);font-size:.9rem}.submission-actions{align-items:center}.ls-action-spacer{flex:1 1}@media (max-width:1024px){.ls-admin-controls,.ls-review-grid{grid-template-columns:1fr}}@media (max-width:1400px){.ls-admin-controls{grid-template-columns:1fr 1fr}}.activity-page{margin:0 auto;max-width:900px}.activity-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.activity-header h1{color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0}.activity-header-actions{align-items:center;display:flex;gap:.75rem}.activity-summary{color:var(--text-secondary);font-size:.875rem}.activity-refresh-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:background .2s,border-color .2s}.activity-refresh-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-secondary)}.activity-refresh-btn:disabled{cursor:not-allowed;opacity:.7}.activity-list{display:flex;flex-direction:column;gap:.75rem}.activity-item{grid-gap:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:grid;gap:1rem;grid-template-columns:auto 1fr;padding:1rem 1.25rem;transition:border-color .2s,box-shadow .2s}.activity-item:hover{border-color:var(--text-secondary);box-shadow:0 2px 8px #0000000f}.activity-item-marker{background:var(--text-secondary);border-radius:2px;opacity:.5;width:4px}.activity-item.is-addition .activity-item-marker{background:#22c55e;opacity:1}.activity-item.is-change .activity-item-marker{background:#3b82f6;opacity:1}.activity-item.is-deletion .activity-item-marker{background:#ef4444;opacity:1}.activity-item-body{min-width:0}.activity-item-top{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.35rem}.activity-badge{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:.2rem .6rem;text-transform:uppercase}.activity-badge.addition{background:#22c55e2e;color:#22c55e}.activity-badge.change{background:#3b82f62e;color:#3b82f6}.activity-badge.deletion{background:#ef44442e;color:#ef4444}.activity-badge.default{background:var(--bg-hover);color:var(--text-secondary)}.activity-time{color:var(--text-secondary);font-size:.8125rem}.activity-user{color:var(--text-primary);font-size:.8125rem;font-weight:500}.activity-object{color:var(--text-primary);font-size:.9375rem;font-weight:600;margin-bottom:.25rem}.activity-message{color:var(--text-secondary);font-size:.8125rem;line-height:1.4}.activity-state{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:.9375rem;padding:3rem 2rem;text-align:center}.activity-state.error{background:#ef444414;border-color:#ef44444d;color:#dc2626}.activity-show-more{display:flex;justify-content:center;margin-top:1.25rem}.activity-show-more-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.6rem 1.25rem;transition:background .2s,border-color .2s}.activity-show-more-btn:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.activity-show-more-btn:focus{box-shadow:0 0 0 2px #3b82f64d;outline:none}.admin-deprecations-page{max-width:1200px}.admin-deprecations-empty{align-items:center;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:12px;color:var(--text-secondary);display:flex;flex-direction:column;gap:.5rem;padding:3rem 1rem}.admin-deprecations-empty .material-symbols-outlined{color:#2e7d32;font-size:48px}.admin-deprecations-keys{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin:1rem 0 1.5rem;padding:1rem 1.25rem}.admin-deprecations-keys h3{font-size:1rem;margin:0 0 .75rem}.admin-deprecations-keys ul{margin:0;padding-left:1.1rem}.admin-deprecations-keys li{line-height:1.4;margin-bottom:.65rem}.key-pill{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;padding:.1rem .4rem}.key-description{color:var(--text-secondary);font-size:.875rem}.admin-deprecations-group{margin-top:1.5rem}.admin-deprecations-group h3{align-items:center;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 .75rem}.count-pill{background:#ffc4002e;border-radius:999px;color:#b8860b;font-size:.75rem;font-weight:600;padding:.1rem .55rem}.admin-deprecations-list{display:flex;flex-direction:column;gap:.75rem}.admin-deprecations-row{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:.85rem 1rem}.admin-deprecations-row-meta{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:.6rem}.row-label{font-weight:600}.row-pk{color:var(--text-secondary);font-size:.8rem}.admin-geo-data-page{display:flex;flex-direction:column;gap:1rem}.admin-geo-data-page .crud-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.crud-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-geo-data-filters{display:flex;flex-wrap:wrap;gap:1rem}.admin-geo-data-filters label{color:#a0a4aa;color:var(--muted-text,#a0a4aa);display:flex;flex-direction:column;font-size:.8rem;gap:.25rem}.admin-geo-data-filters select{border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:6px;color:inherit;padding:.4rem .6rem}.admin-geo-data-filters select,.admin-geo-data-table{background:#1a1d21;background:var(--surface-bg,#1a1d21)}.admin-geo-data-table{border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.admin-geo-data-table td,.admin-geo-data-table th{border-bottom:1px solid #2e3338;border-bottom:1px solid var(--border-color,#2e3338);font-size:.85rem;padding:.6rem .75rem;text-align:left}.admin-geo-data-table thead th{background:#23262b;background:var(--muted-bg,#23262b);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.admin-geo-data-table tbody tr:last-child td{border-bottom:none}.admin-geo-data-table tr.status-failed{background:#a4282814}.admin-geo-data-table tr.status-partial{background:#b06a0014}.job-status-pill{border-radius:999px;font-size:.7rem;font-weight:600;padding:.1rem .5rem;text-transform:capitalize}.job-status-pill.status-pending,.job-status-pill.status-running{background:#2f5f9c;color:#fff}.job-status-pill.status-succeeded{background:#2e7d32;color:#fff}.job-status-pill.status-partial{background:#b06a00;color:#fff}.job-status-pill.status-failed{background:#a42828;color:#fff}.job-status-pill.status-staged{background:#6a5acd;color:#fff}.staging-expiry{font-size:.68rem;margin-top:.2rem;opacity:.7}.row-actions{align-items:flex-start;display:flex;flex-direction:column;gap:.15rem}.btn-link.danger{color:#f5a196}.stats-cell{font-family:monospace;font-family:var(--font-mono,monospace);font-size:.75rem;opacity:.85;white-space:nowrap}.admin-geo-data-drawer{background:#1a1d21;background:var(--surface-bg,#1a1d21);border:1px solid #2e3338;border:1px solid var(--border-color,#2e3338);border-radius:10px;bottom:1rem;box-shadow:0 20px 60px #00000073;display:flex;flex-direction:column;gap:.75rem;max-height:70vh;overflow-y:auto;padding:1rem;position:fixed;right:1rem;width:min(520px,calc(100vw - 2rem));z-index:1000}.admin-geo-data-drawer-header{align-items:center;display:flex;justify-content:space-between}.empty-state{align-items:center;border:1px dashed #2e3338;border:1px dashed var(--border-color,#2e3338);border-radius:10px;display:flex;flex-direction:column;gap:.5rem;opacity:.7;padding:2rem}.empty-state .material-symbols-outlined{font-size:2.5rem}.btn-link{background:#0000;border:none;color:#6aa0ff;cursor:pointer;font-size:.85rem;padding:0}.btn-link:hover{text-decoration:underline}.admin-floors-page{max-width:1400px}.floors-toolbar{align-items:center;display:flex;gap:1rem;margin:.5rem 0 1.25rem}.floors-toolbar label{align-items:center;color:var(--text-secondary);display:flex;font-weight:500;gap:.5rem}.floors-toolbar select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);padding:.4rem .6rem}.floors-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.floors-empty{border:1px dashed var(--border-color);border-radius:12px;color:var(--text-secondary);grid-column:1/-1;padding:2rem;text-align:center}.floor-card,.floors-empty{background:var(--bg-secondary)}.floor-card{border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.floor-card-image{align-items:center;aspect-ratio:16/9;background:#000;display:flex;justify-content:center}.floor-card-image img{height:100%;object-fit:contain;width:100%}.floor-card-body{flex:1 1 auto;padding:.75rem .85rem}.floor-card-title{align-items:center;display:flex;font-weight:700;gap:.5rem;margin-bottom:.25rem}.floor-default{background:#22c55e26;border-radius:4px;color:#16a34a;font-size:.65rem;letter-spacing:.05em;padding:.1rem .4rem;text-transform:uppercase}.floor-card-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.75rem}.floor-desc{color:var(--text-secondary);font-size:.85rem;margin:.5rem 0 0}.floor-card-actions{display:flex;gap:.5rem;padding:.5rem .85rem .85rem}.floor-card-actions .btn-secondary.danger{border-color:#f8717166;color:#f87171}.floor-form-preview img{border:1px solid var(--border-color);border-radius:6px;max-height:200px;max-width:100%}.user-strategies-section{margin-top:2rem}.user-strategies-header{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.user-strategies-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.strategy-tab{align-items:center;background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s;transition:all var(--transition-fast,.2s)}.strategy-tab:hover{background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e);border-color:#3a3a4e;border-color:var(--border-hover,#3a3a4e);color:#fff;color:var(--text-primary,#fff)}.strategy-tab.active{background:#007aff;background:var(--accent-primary,#007aff);border-color:#007aff;border-color:var(--accent-primary,#007aff);color:#fff}.tab-icon{font-size:1rem}.tab-count{font-size:.85rem}.strategy-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.strategy-visibility-badge{border-radius:4px;border-radius:var(--radius-sm,4px);flex-shrink:0;font-size:.75rem;font-weight:500;padding:.25rem .5rem;white-space:nowrap}.strategy-visibility-badge.visibility-public{background:#22c55e33;color:#22c55e}.strategy-visibility-badge.visibility-private{background:#ef444433;color:#ef4444}.strategy-visibility-badge.visibility-team{background:#3b82f633;color:#3b82f6}.user-strategies-error{background:#ff3b301a;border-radius:8px;border-radius:var(--radius-md,8px);color:#ff3b30;color:var(--error-color,#ff3b30);margin-bottom:1rem;padding:1rem}@media (max-width:768px){.user-strategies-header{align-items:flex-start;flex-direction:column}.user-strategies-tabs{width:100%}.strategy-tab{flex:1 1;justify-content:center}}.user-drafts-section{margin-top:2rem}.user-drafts-header{margin-bottom:1.5rem}.user-drafts-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.draft-tab{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.5rem .75rem;transition:all var(--transition-fast)}.draft-tab:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.draft-tab.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.tab-count{font-size:.75rem;opacity:.8}.user-drafts-empty,.user-drafts-error,.user-drafts-loading{color:var(--text-secondary);padding:2rem;text-align:center}.user-drafts-error{color:var(--error)}.user-drafts-list{display:flex;flex-direction:column;gap:1rem}.user-draft-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;transition:all var(--transition-fast)}.user-draft-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.user-draft-strategy-info{border-bottom:1px solid var(--border-color);margin-bottom:.75rem;padding-bottom:.75rem}.draft-submit-section{justify-content:flex-end}.draft-status-info,.draft-submit-section{border-top:1px solid var(--border-color);display:flex;margin-top:.75rem;padding-top:.75rem}.draft-status-info{justify-content:flex-start}.draft-status-text{color:var(--text-secondary);font-size:.875rem;font-style:italic}.draft-status-text.approved{color:#22c55e}.draft-rejection-notes{background:#ef44441a;border:1px solid #ef44444d;border-radius:var(--radius-sm);font-size:.875rem;margin-top:.75rem;padding:.75rem}.draft-rejection-notes strong{color:#ef4444;display:block;margin-bottom:.5rem}.draft-rejection-notes p{color:var(--text-primary);line-height:1.5;margin:0}.user-pending-reviews-section{margin-top:2rem}.user-pending-reviews-header{margin-bottom:1.5rem}.user-pending-reviews-empty,.user-pending-reviews-error,.user-pending-reviews-loading{color:var(--text-secondary);padding:2rem;text-align:center}.user-pending-reviews-error{color:var(--error)}.user-pending-reviews-list{display:flex;flex-direction:column;gap:1rem}.user-pending-review-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;transition:all var(--transition-fast)}.user-pending-review-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.user-pending-review-strategy-info{border-bottom:1px solid var(--border-color);margin-bottom:.75rem;padding-bottom:.75rem}.strategy-link-btn{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:1rem;font-weight:600;padding:0;text-align:left;transition:all var(--transition-fast)}.strategy-link-btn:hover{color:var(--accent-hover);text-decoration:underline}.draft-review-section{border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;margin-top:.75rem;padding-top:.75rem}.btn{align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all var(--transition-fast)}.btn-sm{font-size:.75rem;padding:.375rem .75rem}.btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.user-tournaments-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.user-tournaments-section .tournament-card.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:0;padding:1.25rem;transition:box-shadow .2s ease,border-color .2s ease}.user-tournaments-section .tournament-card.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.user-tournaments-skel .tournament-card-description{display:block}.user-tournaments-skel .tournament-card-description .bp-skel-line{display:block;margin:4px 0}.user-tournaments-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem}.user-tournaments-checkin-placeholder{align-items:center;background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border:1px dashed #d1d5db;border:1px dashed var(--border-color,#d1d5db);border-radius:6px;border-radius:var(--radius-md,6px);color:#6b7280;color:var(--text-secondary,#6b7280);cursor:not-allowed;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;opacity:.85;padding:.4rem .75rem}.user-tournaments-checkin-badge{background:#e5e7eb;background:var(--bg-hover,#e5e7eb);border-radius:999px;color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.7rem;padding:.15rem .4rem}.user-tournaments-error{color:#dc2626;color:var(--error,#dc2626)}.user-teams-section{margin-top:2rem}.user-teams-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1rem}.user-team-card{background:#fff;background:var(--bg-card,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;padding:1.25rem;transition:all .2s ease}.user-team-card:hover{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.user-team-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.user-team-name{color:#333;color:var(--text-primary,#333);flex:1 1;font-size:1.1rem;font-weight:600;margin:0}.team-role-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem;white-space:nowrap}.user-team-joined{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;margin:.5rem 0}.user-team-link{color:#3b82f6;color:var(--accent-primary,#3b82f6);font-size:.875rem;margin-top:.75rem}.theme-dark .user-team-card{background:#0b1221;background:var(--bg-card,#0b1221);border-color:#131c31;border-color:var(--border-color,#131c31)}.theme-dark .user-team-card:hover{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 4px 12px #3b82f633}.theme-dark .user-team-name{color:#e5e7eb;color:var(--text-primary,#e5e7eb)}.theme-dark .user-team-joined{color:#94a3b8;color:var(--text-secondary,#94a3b8)}.theme-dark .user-team-link{color:#a5b4fc;color:var(--accent-primary,#a5b4fc)}@media (max-width:768px){.user-teams-list{grid-template-columns:1fr}}.profile-collapsible-section{--collapsed-height:220px;border-top:1px solid var(--border-color);padding:16px 0;position:relative}.profile-collapsible-section .bp-section{border-top:none;padding-top:0}.profile-collapsible-section__inner{max-height:var(--collapsed-height);overflow:hidden;transition:max-height .35s ease-out}.profile-collapsible-section--expanded .profile-collapsible-section__inner{max-height:none;overflow:visible}.profile-collapsible-section__gradient{background:linear-gradient(180deg,#0000,#fff 70%);background:linear-gradient(to bottom,#0000,var(--bg-card,#fff) 70%);bottom:48px;height:56px;left:0;pointer-events:none;position:absolute;right:0;transition:opacity .2s ease}.profile-collapsible-section--expanded .profile-collapsible-section__gradient{display:none}.profile-collapsible-section__toggle{border-bottom:1px solid #0000;display:flex;justify-content:center;padding:10px 0 4px}.profile-collapsible-section__btn{background:none;border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#6366f1;color:var(--accent-primary,#6366f1);cursor:pointer;font-size:.9rem;font-weight:600;padding:6px 12px;transition:background-color .15s ease,color .15s ease}.profile-collapsible-section__btn:hover{background:#6366f114;background:var(--bg-hover,#6366f114);color:#4f46e5;color:var(--accent-hover,#4f46e5)}.profile-collapsible-section__btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.theme-dark .profile-collapsible-section__gradient{background:linear-gradient(180deg,#0000,#0b1221 70%);background:linear-gradient(to bottom,#0000,var(--bg-card,#0b1221) 70%)}.theme-dark .profile-collapsible-section__btn{color:#a5b4fc}.theme-dark .profile-collapsible-section__btn:hover{background:#6366f126;color:#c7d2fe}.bp-profile{padding:24px}.bp-profile-container{margin:0 auto;max-width:1100px}.bp-shell{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-xl);padding:24px}.bp-profile-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.bp-header-main{gap:16px;min-width:0}.bp-avatar,.bp-header-main{align-items:center;display:flex}.bp-avatar{background:linear-gradient(135deg,#6a5acd,#00bcd4);border-radius:50%;color:#fff;font-size:20px;font-weight:700;height:64px;justify-content:center;width:64px}.bp-username-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:6px}.bp-username-row .bp-username{margin:0}.bp-profile-settings-link{align-items:center;background:rgba(59 130 246,.08);background:rgba(var(--accent-primary-rgb,59 130 246),.08);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--accent-primary);display:inline-flex;font-size:.875rem;font-weight:600;gap:.4rem;padding:.5rem .75rem;text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.bp-profile-settings-link:hover{background:rgba(59 130 246,.14);background:rgba(var(--accent-primary-rgb,59 130 246),.14);border-color:var(--accent-primary);box-shadow:var(--shadow-sm);color:var(--accent-hover)}.bp-profile-settings-icon{flex-shrink:0}@media (max-width:640px){.bp-profile-header{align-items:stretch;flex-direction:column}.bp-header-main{width:100%}.bp-profile-settings-link{align-self:flex-start}}.bp-header-info h1{margin:0 0 6px}.bp-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.bp-badges-cta{color:var(--text-secondary);font-size:.9rem;margin:0}.bp-badges-cta-link{color:var(--accent-primary);font-weight:600;text-decoration:none}.bp-badges-cta-link:hover{text-decoration:underline}.bp-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.bp-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);padding:16px}.bp-section{border-top:1px solid var(--border-color);padding:16px 0}.bp-section:first-of-type{border-top:0;padding-top:0}.bp-section-title{color:var(--text-primary);font-weight:800;margin:0 0 12px}.theme-dark .bp-card{background:#0b1221;border-color:#131c31;box-shadow:0 12px 30px #0009}.theme-dark .bp-profile{background:#080f1d}.theme-dark .bp-username{color:#e5e7eb}.theme-dark .bp-link{color:#a5b4fc}.theme-dark .bp-list-item{background:#0e1729;border-color:#1b2a4a}.theme-dark .bp-list-title{color:#e5e7eb}.theme-dark .bp-list-sub{color:#94a3b8}.theme-dark .bp-empty,.theme-dark .bp-loading,.theme-dark .bp-muted{color:#9aa4b2}.theme-dark .bp-stat{background:#0e1729;border-color:#1b2a4a}.theme-dark .bp-stat-label{color:#9aa4b2}.theme-dark .bp-stat-value{color:#e5e7eb}.bp-list{display:flex;flex-direction:column;gap:10px}.bp-list-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:10px;justify-content:space-between;padding:12px 14px}.bp-list-title{color:var(--text-primary);font-weight:700}.bp-list-sub{color:var(--text-secondary);font-size:12px}.bp-link{background:#0000;border:none;color:#3b4cca;cursor:pointer;font-weight:600}.bp-empty,.bp-loading,.bp-muted{color:#6b7280}.bp-skel{animation:bp-shimmer 1.2s infinite;background:linear-gradient(90deg,#0000000f,#0000001a,#0000000f);background-size:200% 100%;border-radius:8px;display:block}.bp-skel-line{height:14px;margin:6px 0}.bp-skel-tile{height:48px}@keyframes bp-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.bp-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.bp-stat{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:14px;text-align:center}.bp-stat-label{color:var(--text-secondary);font-size:12px;font-weight:600}.bp-stat-value{color:var(--text-primary);font-size:18px;font-weight:800;margin-top:6px}.bp-settings{padding:0}.bp-settings-container{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:760px}.bp-settings-container .email-verification-banner{margin-bottom:1.5rem}.bp-settings-page-title{color:var(--text-primary);font-size:1.875rem;font-weight:700;letter-spacing:-.02em;margin:0 0 1rem}.bp-settings-field{margin-bottom:1rem}.bp-settings-field:last-of-type{margin-bottom:0}.bp-settings-field-actions{margin-bottom:1rem}.bp-settings-field label{color:var(--text-primary);display:block;font-size:.9375rem;font-weight:600;margin-bottom:.375rem}.bp-settings-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:border-color .18s ease,box-shadow .18s ease;width:100%}.bp-settings-input::placeholder{color:var(--text-tertiary)}.bp-settings-input:hover{border-color:var(--border-hover,var(--border-color))}.bp-settings-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.2);outline:none}.bp-settings-username-wrap{align-items:center;display:flex;gap:.5rem}.bp-settings-username-wrap .bp-settings-input{flex:1 1;min-width:0}.bp-settings-username-status{flex-shrink:0;height:28px;width:28px}.bp-settings-username-status,.bp-settings-username-status-icon{align-items:center;display:inline-flex;justify-content:center}.bp-settings-username-status-icon--available{color:var(--success)}.bp-settings-username-status-icon--unavailable{color:var(--error)}.bp-settings-username-spinner{animation:bp-settings-spin .7s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-primary);height:18px;width:18px}@keyframes bp-settings-spin{to{transform:rotate(1turn)}}.bp-settings-username-suggestions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.bp-settings-username-suggestions-label{color:var(--text-tertiary);font-size:.8125rem}.bp-settings-username-suggestion{background:#0000;border:none;border-radius:var(--radius-md);color:var(--accent-primary);cursor:pointer;font-size:.8125rem;padding:.25rem .5rem;transition:background-color var(--transition-fast),color var(--transition-fast)}.bp-settings-username-suggestion:hover{background:rgba(var(--accent-primary-rgb),.1);color:var(--accent-hover)}.bp-settings-hint{color:var(--text-tertiary);display:block;font-size:.8125rem;margin-top:.25rem}.bp-settings-divider{background:var(--border-color);border:none;height:1px;margin:1.5rem 0}.bp-settings-email-readonly{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-sizing:border-box;display:flex;flex-direction:column;gap:.25rem;min-height:2.75rem;padding:.75rem 1rem}.bp-settings-email-readonly-value{color:var(--text-primary);font-size:1rem;line-height:1.4}.bp-settings-email-readonly-meta{color:var(--text-tertiary);font-size:.8125rem;line-height:1.3}.bp-settings-email-verified-status{font-size:1rem;line-height:1.4}.bp-settings-email-verified-status--verified{color:#16a34a;color:var(--success,#16a34a);font-weight:600}.bp-settings-email-verified-status--unverified{color:var(--text-primary)}.bp-settings-message{border-radius:var(--radius-md);display:flex;flex-direction:column;font-size:.9375rem;gap:.25rem;margin:.5rem 0 0;padding:.75rem 1rem}.bp-settings-message-label{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.bp-settings-message-text{line-height:1.4}.bp-settings-message--success{background:rgba(var(--success-rgb),.1);border:1px solid rgba(var(--success-rgb),.25);color:var(--success)}.bp-settings-message--success .bp-settings-message-label{color:var(--success)}.bp-settings-message--error{background:rgba(var(--error-rgb),.1);border:1px solid rgba(var(--error-rgb),.25);color:var(--error)}.bp-settings-message--error .bp-settings-message-label{color:var(--error)}.bp-settings-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.bp-settings-card-header{margin-bottom:1rem;padding:1.5rem 2rem 0}.bp-settings-card-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 .375rem}.bp-settings-card-desc{color:var(--text-secondary);font-size:.9375rem;margin:0}.bp-settings-card-body{padding:0 2rem 2rem}.bp-settings-card--danger{background:rgba(var(--error-rgb),.04);border-color:rgba(var(--error-rgb),.35)}.bp-settings-card-title--danger{color:var(--error)}.bp-settings-error,.bp-settings-loading{color:var(--text-secondary);font-size:1rem;margin:0;padding:1.5rem 2rem}.bp-settings-error{color:var(--error)}.bp-settings-danger-block{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.bp-settings-danger-block-text{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:200px}.bp-settings-danger-block-text strong{color:var(--text-primary);font-size:.9375rem}.bp-settings-card--danger .bp-settings-muted{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.bp-settings-divider--danger{background:rgba(var(--error-rgb),.2);margin:1.25rem 0}.bp-settings-btn{background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:var(--text-inverse);cursor:pointer;font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.bp-settings-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 12px rgba(var(--accent-primary-rgb),.25);transform:translateY(-1px)}.bp-settings-btn:disabled{cursor:not-allowed;opacity:.6}.bp-settings-btn--secondary{background:#0000;border:1px solid var(--border-color);color:var(--text-primary);flex-shrink:0}.bp-settings-btn--secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover);box-shadow:none;transform:none}.bp-settings-btn--danger{background:#0000;border:1px solid rgba(var(--error-rgb),.5);color:var(--error);flex-shrink:0}.bp-settings-btn--danger:hover:not(:disabled){background:rgba(var(--error-rgb),.1);border-color:var(--error);box-shadow:none;transform:none}@media (max-width:768px){.bp-settings-container{gap:1.25rem}.bp-settings-page-title{font-size:1.5rem}.bp-settings-card-header{margin-bottom:.75rem;padding:1.25rem 1.25rem 0}.bp-settings-card-body{padding:0 1.25rem 1.5rem}.bp-settings-card-title{font-size:1.125rem}.bp-settings-error,.bp-settings-loading{padding:1.25rem 1.5rem}}.fb-admin{display:flex;flex-direction:column;gap:1rem}.fb-header{justify-content:space-between;margin-bottom:1rem}.fb-header,.fb-title{align-items:center;display:flex}.fb-title{gap:.75rem;margin:0}.fb-meta-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.fb-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1rem}.fb-section{margin-top:1rem}.fb-section h3{margin:0 0 .75rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:999px;display:inline-flex;font-size:.8rem;padding:.25rem .5rem}.chip.category-issue{border-color:#f97316;color:#f97316}.chip.category-suggestion{border-color:#0ea5e9;color:#0ea5e9}.chip.category-question{border-color:#8b5cf6;color:#8b5cf6}.chip.category-other{border-color:#9ca3af;color:#9ca3af}.chip.status-new{background:#3b82f61a;border-color:#0000;color:#3b82f6}.chip.status-triaged{background:#6366f11f;border-color:#0000;color:#6366f1}.chip.status-in_progress{background:#eab3081f;border-color:#0000;color:#ca8a04}.chip.status-resolved{background:#22c55e1f;border-color:#0000;color:#22c55e}.chip.status-closed{background:#6b72801f;border-color:#0000;color:#6b7280}.code-block{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem;overflow:auto;padding:.75rem}.fb-two-col{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1.4fr 1fr}.fb-kv{grid-gap:.5rem 1rem;display:grid;gap:.5rem 1rem;grid-template-columns:140px 1fr}.fb-kv dt{color:var(--text-secondary)}.fb-kv dd{margin:0}.muted{color:var(--text-secondary)}.pretty-link{align-items:center;border-bottom:1px dashed var(--accent-primary);color:var(--accent-primary);display:inline-flex;gap:.35rem;padding-bottom:1px;text-decoration:none;word-break:break-all}.pretty-link:hover{border-bottom-style:solid;text-decoration:none}.url-list{grid-gap:.5rem;display:grid;gap:.5rem;list-style:none;margin:0;padding-left:0}.my-join-requests-list{width:100%}.my-join-requests-empty,.my-join-requests-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:2rem;text-align:center}.my-join-requests-error{background:#ef44441a;border:1px solid #ef4444;border:1px solid var(--error,#ef4444);border-radius:8px;border-radius:var(--radius-md,8px);color:#ef4444;color:var(--error,#ef4444);margin-bottom:1rem;padding:1rem}.my-join-requests-items{display:flex;flex-direction:column;gap:1rem}.my-join-request-item{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);padding:1rem;transition:all .2s}.my-join-request-item:hover{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 2px 8px #0003}.my-join-request-main{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.my-join-request-info{flex:1 1;min-width:0}.my-join-request-team-link{color:#fff;color:var(--text-primary,#fff);text-decoration:none}.my-join-request-team-link h4{font-size:1rem;font-weight:600;margin:0 0 .5rem;transition:color .2s}.my-join-request-team-link:hover h4{color:#3b82f6;color:var(--accent-primary,#3b82f6)}.my-join-request-meta{color:#aaa;color:var(--text-secondary,#aaa);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem;margin-bottom:.5rem}.my-join-request-message{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem;line-height:1.5;margin:.5rem 0 0}.my-join-request-review{background:#ef44441a;border-left:3px solid #ef4444;border-left:3px solid var(--error,#ef4444);border-radius:4px;border-radius:var(--radius-sm,4px);color:#aaa;color:var(--text-secondary,#aaa);font-size:.875rem;margin-top:.75rem;padding:.75rem}.my-join-request-review strong{color:#ef4444;color:var(--error,#ef4444)}.my-join-request-actions{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.status-badge{border-radius:999px;border-radius:var(--radius-full,999px);font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-badge-pending{background:#fbbf2433;border:1px solid #fbbf244d;color:#fbbf24}.status-badge-approved{background:#22c55e33;border:1px solid #22c55e4d;color:#22c55e}.status-badge-rejected{background:#ef444433;border:1px solid #ef44444d;color:#ef4444}.status-badge-cancelled{background:#6b728033;border:1px solid #6b72804d;color:#6b7280}.my-join-request-cancel-btn{background:#0000;border:1px solid #94a3b866;border-radius:8px;border-radius:var(--radius-md,8px);color:#94a3b8;color:var(--text-secondary,#94a3b8);cursor:pointer;font-size:.8125rem;font-weight:600;padding:.4rem .9rem;transition:background-color .2s,border-color .2s,color .2s}.my-join-request-cancel-btn:hover:not(:disabled){background:#f871711a;border-color:#f8717166;color:#f87171}.my-join-request-cancel-btn:active:not(:disabled){background:#f8717126}.my-join-request-cancel-btn:disabled{cursor:not-allowed;opacity:.6}.my-invitations-list{width:100%}.my-invitations-empty,.my-invitations-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:2rem;text-align:center}.my-invitations-error{background:#ef44441a;border:1px solid #ef4444;border:1px solid var(--error,#ef4444);border-radius:8px;border-radius:var(--radius-md,8px);color:#ef4444;color:var(--error,#ef4444);margin-bottom:1rem;padding:1rem}.my-invitations-items{display:flex;flex-direction:column;gap:1rem}.my-invitation-item{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);padding:1rem;transition:all .2s}.my-invitation-item:hover{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 2px 8px #0003}.my-invitation-main{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.my-invitation-info{flex:1 1;min-width:0}.my-invitation-team-link{color:#fff;color:var(--text-primary,#fff);text-decoration:none}.my-invitation-team-link h4{font-size:1rem;font-weight:600;margin:0 0 .5rem;transition:color .2s}.my-invitation-team-link:hover h4{color:#3b82f6;color:var(--accent-primary,#3b82f6)}.my-invitation-meta{color:#aaa;color:var(--text-secondary,#aaa);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem;margin-bottom:.5rem}.my-invitation-expiry{font-weight:500}.my-invitation-expiry.expiring-soon{color:#fbbf24}.my-invitation-expiry.expired{color:#ef4444;color:var(--error,#ef4444)}.my-invitation-message{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem;line-height:1.5;margin:.5rem 0 0}.my-invitation-actions{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.my-invitation-buttons{display:flex;gap:.5rem}.status-badge-accepted{background:#22c55e33;border:1px solid #22c55e4d;color:#22c55e}.status-badge-declined{background:#6b728033;border:1px solid #6b72804d;color:#6b7280}.status-badge-expired{background:#ef444433;border:1px solid #ef44444d;color:#ef4444}.my-requests-invitations-card{background:#1a1a2e;background:var(--bg-card,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:12px;box-shadow:0 4px 12px #00000026;box-shadow:var(--shadow-md,0 4px 12px #00000026);margin-bottom:2rem;padding:1.5rem}.my-requests-invitations-card-header{margin-bottom:1.25rem}.my-requests-invitations-card-title{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;font-weight:700;margin:0 0 .25rem}.my-requests-invitations-card-subtitle{color:#aaa;color:var(--text-secondary,#aaa);font-size:.875rem;margin:0}.my-requests-invitations-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:1.5rem;text-align:center}.my-requests-invitations-sections{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:900px){.my-requests-invitations-sections{grid-template-columns:1fr}}.my-requests-invitations-section{min-width:0}.my-requests-invitations-section-title{color:#fff;color:var(--text-primary,#fff);font-size:1rem;font-weight:600;margin:0 0 .25rem}.my-requests-invitations-section-desc{color:#aaa;color:var(--text-secondary,#aaa);font-size:.8125rem;margin:0 0 .75rem}.my-requests-invitations-empty{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9375rem;margin:0;padding:.75rem 0}.theme-dark .my-requests-invitations-card{background:#0e1729;border-color:#1b2a4a}.theme-dark .my-requests-invitations-card-title,.theme-dark .my-requests-invitations-section-title{color:#e5e7eb}.theme-dark .my-requests-invitations-card-subtitle,.theme-dark .my-requests-invitations-empty,.theme-dark .my-requests-invitations-section-desc{color:#94a3b8}.request-join-button-container{display:flex;flex-direction:column;gap:.5rem}.request-join-button{min-width:120px}.request-join-error{color:#ef4444;color:var(--error,#ef4444);font-size:.875rem;margin-top:.25rem}.request-join-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.request-join-modal{animation:slideUp .2s ease-out;background:#1a1a2e;background:var(--bg-card,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #0006;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.request-join-modal-header{align-items:center;border-bottom:1px solid #2a2a3e;border-bottom:1px solid var(--border-color,#2a2a3e);display:flex;justify-content:space-between;padding:1.5rem}.request-join-modal-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;margin:0}.modal-close-btn{color:#aaa;color:var(--text-secondary,#aaa);font-size:1.5rem}.modal-close-btn:hover{background:#2a2a3e;background:var(--bg-hover,#2a2a3e);color:#fff;color:var(--text-primary,#fff)}.request-join-modal-body{padding:1.5rem}.request-join-modal-body p{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem;margin:0 0 1rem}.request-join-message-input{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-primary,#fff);font-family:inherit;font-size:.9rem;min-height:100px;padding:.75rem;resize:vertical;width:100%}.request-join-message-input:focus{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 0 0 3px #3b82f61a;outline:none}.request-join-modal-footer{border-top:1px solid #2a2a3e;border-top:1px solid var(--border-color,#2a2a3e);display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.team-card{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.team-card:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.team-card-link{color:inherit;flex:1 1;text-decoration:none}.team-card-header{align-items:center;display:flex;gap:1rem}.team-card-logo,.team-card-logo-placeholder{border-radius:8px;border-radius:var(--radius-md,8px);flex-shrink:0;height:64px;object-fit:cover;width:64px}.team-card-logo-placeholder{align-items:center;background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e);color:#aaa;color:var(--text-secondary,#aaa);display:flex;font-size:1.5rem;font-weight:700;justify-content:center}.team-card-info{flex:1 1;min-width:0}.team-card-name{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.team-card-members{font-size:.875rem;margin:0}.team-card-description,.team-card-members{color:#aaa;color:var(--text-secondary,#aaa)}.team-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.9rem;line-height:1.5;margin:.5rem 0 0;overflow:hidden}.team-card-actions{align-items:center;display:flex;gap:.5rem;margin-top:auto}.team-card-role{background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e);border-radius:4px;border-radius:var(--radius-sm,4px);color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;padding:.25rem .5rem;text-transform:capitalize}.team-card-error{color:#ff3b30;color:var(--error-color,#ff3b30);font-size:.875rem;margin-top:.5rem}.btn-small{font-size:.875rem;padding:.375rem .75rem}.team-list-container{width:100%}.team-list-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.team-list-search{width:100%}.team-list-search-input{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-primary,#fff);font-size:1rem;padding:.75rem 1rem;width:100%}.team-list-search-input:focus{border-color:#007aff;border-color:var(--primary-color,#007aff);outline:none}.team-list-filters{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.filter-btn:hover{background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e)}.filter-btn.active{background:#007aff;background:var(--primary-color,#007aff);border-color:#007aff;border-color:var(--primary-color,#007aff);color:#fff}.team-list-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.teams-empty,.teams-error,.teams-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:3rem 1rem;text-align:center}.teams-error{color:#ff3b30;color:var(--error-color,#ff3b30)}.teams-empty p{margin-bottom:1rem}.teams-list-page{min-height:calc(100vh - 200px);width:100%}.teams-list-content{margin:0 auto;max-width:1200px;padding:2rem 1rem}.teams-list-header{margin-bottom:2rem}.teams-list-header-top{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between;margin-top:1rem}.teams-list-header h1{color:#fff;color:var(--text-primary,#fff);font-size:2rem;margin:0 0 .5rem}.teams-list-header p{color:#aaa;color:var(--text-secondary,#aaa);font-size:1rem;margin:0}.pending-requests-list{width:100%}.pending-requests-empty,.pending-requests-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:2rem;text-align:center}.pending-requests-error{background:#ef44441a;border:1px solid #ef4444;border:1px solid var(--error,#ef4444);border-radius:8px;border-radius:var(--radius-md,8px);color:#ef4444;color:var(--error,#ef4444);margin-bottom:1rem;padding:1rem}.pending-requests-items{display:flex;flex-direction:column;gap:1rem}.pending-request-item{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);padding:1rem;transition:all .2s}.pending-request-item:hover{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 2px 8px #0003}.pending-request-main{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.pending-request-info{flex:1 1;min-width:0}.pending-request-user-link{color:#fff;color:var(--text-primary,#fff);text-decoration:none}.pending-request-user-link h4{font-size:1rem;font-weight:600;margin:0 0 .5rem;transition:color .2s}.pending-request-user-link:hover h4{color:#3b82f6;color:var(--accent-primary,#3b82f6)}.pending-request-meta{color:#aaa;color:var(--text-secondary,#aaa);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem;margin-bottom:.5rem}.pending-request-message{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem;line-height:1.5;margin:.5rem 0 0}.pending-request-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.reject-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.reject-modal{animation:slideUp .2s ease-out;background:#1a1a2e;background:var(--bg-card,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #0006;max-width:500px;width:90%}.reject-modal-header{align-items:center;border-bottom:1px solid #2a2a3e;border-bottom:1px solid var(--border-color,#2a2a3e);display:flex;justify-content:space-between;padding:1.5rem}.reject-modal-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;margin:0}.reject-modal-body{padding:1.5rem}.reject-modal-body p{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem;margin:0 0 1rem}.reject-message-input{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-primary,#fff);font-family:inherit;font-size:.9rem;min-height:100px;padding:.75rem;resize:vertical;width:100%}.reject-message-input:focus{border-color:#ef4444;border-color:var(--error,#ef4444);box-shadow:0 0 0 3px #ef44441a;outline:none}.reject-modal-footer{border-top:1px solid #2a2a3e;border-top:1px solid var(--border-color,#2a2a3e);display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.pending-invitations-list{width:100%}.pending-invitations-empty,.pending-invitations-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:2rem;text-align:center}.pending-invitations-error{background:#ef44441a;border:1px solid #ef4444;border:1px solid var(--error,#ef4444);border-radius:8px;border-radius:var(--radius-md,8px);color:#ef4444;color:var(--error,#ef4444);margin-bottom:1rem;padding:1rem}.pending-invitations-items{display:flex;flex-direction:column;gap:1rem}.pending-invitation-item{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);padding:1rem;transition:all .2s}.pending-invitation-item:hover{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 2px 8px #0003}.pending-invitation-main{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.pending-invitation-info{flex:1 1;min-width:0}.pending-invitation-user-link{color:#fff;color:var(--text-primary,#fff);text-decoration:none}.pending-invitation-user-link h4{font-size:1rem;font-weight:600;margin:0 0 .5rem;transition:color .2s}.pending-invitation-user-link:hover h4{color:#3b82f6;color:var(--accent-primary,#3b82f6)}.pending-invitation-meta{color:#aaa;color:var(--text-secondary,#aaa);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem;margin-bottom:.5rem}.pending-invitation-expiry{font-weight:500}.pending-invitation-expiry.expired{color:#ef4444;color:var(--error,#ef4444)}.pending-invitation-message{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem;line-height:1.5;margin:.5rem 0 0}.pending-invitation-actions{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.invite-user-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.invite-user-modal{animation:slideUp .2s ease-out;background:#1a1a2e;background:var(--bg-card,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #0006;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.invite-user-modal-header{align-items:center;border-bottom:1px solid #2a2a3e;border-bottom:1px solid var(--border-color,#2a2a3e);display:flex;justify-content:space-between;padding:1.5rem}.invite-user-modal-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;margin:0}.invite-user-modal-body{padding:1.5rem}.invite-user-form-group{margin-bottom:1.5rem}.invite-user-form-group label{color:#fff;color:var(--text-primary,#fff);display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.invite-user-form-group small{color:#aaa;color:var(--text-secondary,#aaa);display:block;font-size:.8rem;margin-top:.25rem}.invite-user-input,.invite-user-textarea{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-primary,#fff);font-family:inherit;font-size:.9rem;padding:.75rem;transition:all .2s;width:100%}.invite-user-input:focus,.invite-user-textarea:focus{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 0 0 3px #3b82f61a;outline:none}.invite-user-textarea{min-height:100px;resize:vertical}.invite-user-error{background:#ef44441a;border:1px solid #ef4444;border:1px solid var(--error,#ef4444);border-radius:8px;border-radius:var(--radius-md,8px);color:#ef4444;color:var(--error,#ef4444);font-size:.875rem;margin-top:1rem;padding:.75rem}.invite-user-modal-footer{border-top:1px solid #2a2a3e;border-top:1px solid var(--border-color,#2a2a3e);display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.invite-user-button{align-items:center;display:inline-flex;gap:.5rem;position:relative}.invite-user-badge{background:#ef4444;background:var(--error,#ef4444);border-radius:999px;border-radius:var(--radius-full,999px);color:#fff;font-size:.75rem;font-weight:600;line-height:1.5;min-width:20px;padding:.125rem .5rem;text-align:center}.team-member-list{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);padding:1.5rem}.team-member-list-title{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.team-member-list-error{color:#ff3b30;color:var(--error-color,#ff3b30);font-size:.875rem;margin-bottom:1rem}.team-member-list-empty{color:#aaa;color:var(--text-secondary,#aaa);padding:2rem;text-align:center}.team-member-list-items{display:flex;flex-direction:column;gap:1rem}.team-member-item{background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);justify-content:space-between;padding:1rem}.team-member-info,.team-member-item{align-items:center;display:flex;gap:1rem}.team-member-info{flex:1 1;min-width:0}.team-member-info-clickable{transition:opacity .2s ease}.team-member-info-clickable:hover{opacity:.8}.team-member-avatar{align-items:center;background:#007aff;background:var(--primary-color,#007aff);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:600;height:48px;justify-content:center;width:48px}.team-member-details{flex:1 1;min-width:0}.team-member-name{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-weight:500;gap:.5rem;margin:0 0 .25rem}.team-member-you{font-size:.75rem;font-weight:400}.team-member-meta,.team-member-you{color:#aaa;color:var(--text-secondary,#aaa)}.team-member-meta{font-size:.875rem}.team-member-actions{align-items:center;display:flex;gap:1rem}.role-badge{border-radius:4px;border-radius:var(--radius-sm,4px);font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.role-badge-owner{background:#ffc10733;color:#ffc107}.role-badge-admin{background:#007aff33;color:#007aff}.role-badge-member{background:#80808033;color:grey}.team-member-controls{align-items:center;display:flex;gap:.5rem}.role-select{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:4px;border-radius:var(--radius-sm,4px);color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:.875rem;padding:.375rem .75rem}.btn-danger{background:#ff3b30;background:var(--error-color,#ff3b30);border:none;color:#fff}.btn-danger:hover{background:#ff2d20}.team-member-list-admin-section{border-bottom:2px solid #2a2a3e;border-bottom:2px solid var(--border-color,#2a2a3e);margin-bottom:2rem;padding-bottom:2rem}.team-member-list-admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.team-member-list-admin-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;margin:0}.team-member-list-admin-content{display:flex;flex-direction:column;gap:2rem}.team-member-list-admin-subsection{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);padding:1rem}.team-member-list-admin-subsection h4{color:#fff;color:var(--text-primary,#fff);font-size:1rem;font-weight:600;margin:0 0 1rem}.team-strategies-section{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);padding:1.5rem}.team-strategies-section-header{margin-bottom:1.5rem}.team-strategies-section-header h2{color:#fff;color:var(--text-primary,#fff);font-size:1.5rem;font-weight:600}.team-strategies-section-header p{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem}.team-strategies-empty,.team-strategies-error,.team-strategies-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:2rem;text-align:center}.team-strategies-error{color:#ff3b30;color:var(--error-color,#ff3b30)}.team-strategies-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.team-strategy-item{background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:inherit;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-decoration:none;transition:all .2s;transition:all var(--transition-fast,.2s)}.team-strategy-item:hover{border-color:#007aff;border-color:var(--accent-primary,#007aff);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md,0 4px 6px #0000001a);transform:translateY(-2px)}.team-strategy-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.team-strategy-name{color:#fff;color:var(--text-primary,#fff);flex:1 1;font-size:1.1rem;font-weight:600;margin:0;min-width:0;word-break:break-word}.team-strategy-badge{background:#3b82f633;border-radius:4px;border-radius:var(--radius-sm,4px);color:#3b82f6;flex-shrink:0;font-size:.75rem;font-weight:500;padding:.25rem .5rem;white-space:nowrap}.team-strategy-meta{align-items:center;color:#aaa;color:var(--text-secondary,#aaa);display:flex;font-size:.875rem;gap:1rem;justify-content:space-between}.team-strategy-map{font-weight:500}.team-strategy-author,.team-strategy-date{color:#888;color:var(--text-tertiary,#888)}.team-strategy-author{font-size:.8rem;font-style:italic}.team-strategies-actions{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.team-strategies-create-form{background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);margin-bottom:1.5rem;padding:1.5rem}.team-strategies-create-header{align-items:center;border-bottom:1px solid #2a2a3e;border-bottom:1px solid var(--border-color,#2a2a3e);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.team-strategies-create-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;margin:0}.team-strategies-map-selector h4{color:#fff;color:var(--text-primary,#fff);font-size:1.1rem;margin-bottom:1rem}.team-strategies-maps-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:1rem}.team-strategy-map-card{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:2px solid #2a2a3e;border:2px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;padding:1rem;text-align:center;transition:all .2s ease}.team-strategy-map-card:hover{border-color:#007aff;border-color:var(--accent-primary,#007aff);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md,0 4px 6px #0000001a);transform:translateY(-2px)}.team-strategy-map-card img{border-radius:4px;height:120px;margin-bottom:.5rem;object-fit:cover;width:100%}.team-strategy-map-card h4{color:#fff;color:var(--text-primary,#fff);font-size:.9rem;margin:0}.team-strategies-form-wrapper{margin-top:1rem}.team-strategies-empty-hint{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9rem;margin-top:.5rem}.form-input-disabled{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:4px;color:#aaa;color:var(--text-secondary,#aaa);cursor:not-allowed;padding:.5rem;width:100%}.delete-confirm-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-confirm-modal{animation:slideUp .2s ease-out;background:#0b1221;background:var(--bg-card,#0b1221);border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.delete-confirm-modal-header{align-items:center;border-bottom:1px solid #131c31;border-bottom:1px solid var(--border-color,#131c31);display:flex;justify-content:space-between;padding:1.5rem}.delete-confirm-modal-header h3{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:1.25rem;font-weight:700;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:4px;border-radius:var(--radius-sm,4px);color:#94a3b8;color:var(--text-secondary,#94a3b8);cursor:pointer;display:flex;font-size:1.75rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close-btn:hover:not(:disabled){background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);color:#e5e7eb;color:var(--text-primary,#e5e7eb)}.modal-close-btn:disabled{cursor:not-allowed;opacity:.5}.delete-confirm-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.delete-confirm-warning{color:#ef4444;color:var(--error-color,#ef4444);font-size:1rem;font-weight:500;line-height:1.6;margin:0 0 1.5rem}.delete-confirm-instruction{margin-bottom:1rem}.delete-confirm-instruction p{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.9375rem;line-height:1.6;margin:0}.delete-confirm-instruction strong{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-weight:600}.delete-confirm-input-group{margin-top:1rem}.delete-confirm-input{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:2px solid #131c31;border:2px solid var(--border-color,#131c31);border-radius:8px;border-radius:var(--radius-md,8px);box-sizing:border-box;color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:all .2s;width:100%}.delete-confirm-input:focus{border-color:#ef4444;border-color:var(--error-color,#ef4444);box-shadow:0 0 0 3px #ef44441a;outline:none}.delete-confirm-input:disabled{cursor:not-allowed;opacity:.6}.delete-confirm-modal-footer{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border-top:1px solid #131c31;border-top:1px solid var(--border-color,#131c31);display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.delete-confirm-cancel,.delete-confirm-submit{border:none;border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;font-family:inherit;font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.delete-confirm-cancel{background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e);border:1px solid #131c31;border:1px solid var(--border-color,#131c31);color:#e5e7eb;color:var(--text-primary,#e5e7eb)}.delete-confirm-cancel:hover:not(:disabled){background:#ffffff0d;background:var(--bg-hover,#ffffff0d)}.delete-confirm-submit{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d;color:#fff}.delete-confirm-submit:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 16px #ef444466;transform:translateY(-1px)}.delete-confirm-cancel:disabled,.delete-confirm-submit:disabled{cursor:not-allowed;opacity:.5;transform:none}.team-detail-page{background:#0a0e1a;background:var(--bg-primary,#0a0e1a);min-height:calc(100vh - 200px);width:100%}.team-detail-content{margin:0 auto;max-width:1400px;padding:2rem 1.5rem}.team-detail-error,.team-detail-loading{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:1.1rem;padding:4rem 1rem;text-align:center}.team-detail-error{border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:12px;border-radius:var(--radius-lg,12px);color:#ef4444;color:var(--error-color,#ef4444);margin:2rem 0;padding:2rem}.team-detail-error,.team-detail-header{background:#0b1221;background:var(--bg-card,#0b1221)}.team-detail-header{align-items:flex-start;border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:16px;border-radius:var(--radius-xl,16px);box-shadow:0 4px 20px #0000004d;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.team-detail-header:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899);content:"";height:4px;left:0;opacity:.8;position:absolute;right:0;top:0}.team-detail-info{align-items:flex-start;display:flex;flex:1 1;gap:2rem}.team-detail-logo,.team-detail-logo-placeholder{border:2px solid #131c31;border:2px solid var(--border-color,#131c31);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 4px 12px #0003;flex-shrink:0;height:100px;object-fit:cover;width:100px}.team-detail-logo-placeholder{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;font-size:2.5rem;font-weight:700;justify-content:center;text-shadow:0 2px 4px #0003}.team-detail-info>div{flex:1 1}.team-detail-info h1{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:2.25rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 .75rem}.team-detail-description{font-size:1rem;line-height:1.7;margin:0 0 1.25rem;max-width:600px}.team-detail-description,.team-detail-meta{color:#94a3b8;color:var(--text-secondary,#94a3b8)}.team-detail-meta{display:flex;flex-wrap:wrap;font-size:.875rem;gap:2rem}.team-detail-meta span{align-items:center;display:flex;gap:.5rem}.team-detail-meta span:before{background:#3b82f6;background:var(--accent-primary,#3b82f6);border-radius:50%;content:"";height:6px;opacity:.6;width:6px}.team-detail-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem}.team-detail-actions .btn-danger,.team-detail-actions .btn-secondary{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-md,8px);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9375rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.team-detail-actions .btn-secondary{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);color:#fff;color:var(--text-primary,#fff)}.team-detail-actions .btn-secondary:hover:not(:disabled){background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e);border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 4px 12px #3b82f633;transform:translateY(-1px)}.team-detail-actions .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d;color:#fff}.team-detail-actions .btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 16px #ef444466;transform:translateY(-1px)}.team-detail-actions .btn-danger:disabled,.team-detail-actions .btn-secondary:disabled{cursor:not-allowed;opacity:.5;transform:none}.team-detail-tabs{background:#0b1221;background:var(--bg-card,#0b1221);border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 2px 8px #0000001a;display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem}.team-detail-tab{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#94a3b8;color:var(--text-secondary,#94a3b8);cursor:pointer;font-size:.9375rem;font-weight:500;padding:.875rem 1.75rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.team-detail-tab:hover{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e)}.team-detail-tab.active,.team-detail-tab:hover{color:#e5e7eb;color:var(--text-primary,#e5e7eb)}.team-detail-tab.active{background:linear-gradient(135deg,#3b82f626,#8b5cf626);font-weight:600}.team-detail-tab.active:after{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:2px;bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:60%}.team-detail-tab-content{animation:fadeIn .3s ease-out;padding:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.team-detail-sections{display:flex;flex-direction:column;gap:2rem}.team-strategies-section{background:#0b1221;background:var(--bg-card,#0b1221);border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 4px 20px #0003;padding:2rem}.team-strategies-section-header{border-bottom:1px solid #131c31;border-bottom:1px solid var(--border-color,#131c31);margin-bottom:2rem;padding-bottom:1.5rem}.team-strategies-section-header h2{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:1.75rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .5rem}.team-strategies-section-header p{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.9375rem;margin:0}.team-requests-section{background:#0b1221;background:var(--bg-card,#0b1221);border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 4px 20px #0003;padding:2rem}.team-requests-section-header{border-bottom:1px solid #131c31;border-bottom:1px solid var(--border-color,#131c31);margin-bottom:1.5rem;padding-bottom:1.5rem}.team-requests-section-header h2{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:1.75rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .5rem}.team-requests-content{display:flex;flex-direction:column;gap:2rem}.team-requests-subsection{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:8px;border-radius:var(--radius-md,8px);padding:1.5rem}.team-requests-subsection h3{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:1.25rem;font-weight:600;margin:0 0 1rem}@media (max-width:768px){.team-detail-content{padding:1.5rem 1rem}.team-detail-header{flex-direction:column;padding:2rem 1.5rem}.team-detail-info{flex-direction:column;gap:1.5rem}.team-detail-logo,.team-detail-logo-placeholder{height:80px;width:80px}.team-detail-info h1{font-size:1.75rem}.team-detail-actions{width:100%}.team-detail-actions .btn-danger,.team-detail-actions .btn-secondary{flex:1 1;justify-content:center}.team-detail-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto;scrollbar-width:none}.team-detail-tabs::-webkit-scrollbar{display:none}.team-detail-tab{font-size:.875rem;padding:.75rem 1.25rem}}.theme-dark .team-detail-header{box-shadow:0 8px 32px #0006}.theme-dark .team-detail-tabs{box-shadow:0 2px 12px #0000004d}.theme-dark .team-requests-section,.theme-dark .team-strategies-section{box-shadow:0 8px 32px #0006}.team-settings-section{animation:fadeIn .3s ease-out;background:#0b1221;background:var(--bg-card,#0b1221);border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 4px 20px #0003;padding:2rem}.team-settings-header{border-bottom:1px solid #131c31;border-bottom:1px solid var(--border-color,#131c31);margin-bottom:2rem;padding-bottom:1.5rem}.team-settings-header h2{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:1.75rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .5rem}.team-settings-header p{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.9375rem;margin:0}.team-settings-content{display:flex;flex-direction:column;gap:3rem}.team-settings-form-section{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:8px;border-radius:var(--radius-md,8px);padding:2rem}.team-settings-form-section h3{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.team-edit-form{display:flex;flex-direction:column;gap:1.5rem}.team-edit-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;border-radius:var(--radius-md,8px);color:#ef4444;color:var(--error-color,#ef4444);font-size:.9375rem;padding:1rem}.team-edit-form-group{display:flex;flex-direction:column;gap:.5rem}.team-edit-form-group label{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:.9375rem;font-weight:500}.team-edit-input,.team-edit-textarea{background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e);border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:8px;border-radius:var(--radius-md,8px);color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:all .2s}.team-edit-input:focus,.team-edit-textarea:focus{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);box-shadow:0 0 0 3px #3b82f61a;outline:none}.team-edit-input:disabled,.team-edit-textarea:disabled{cursor:not-allowed;opacity:.6}.team-edit-textarea{font-family:inherit;min-height:120px;resize:vertical}.team-logo-upload{display:flex;flex-direction:column;gap:1rem}.team-logo-preview{border:2px solid #131c31;border:2px solid var(--border-color,#131c31);border-radius:8px;border-radius:var(--radius-md,8px);height:120px;overflow:hidden;width:120px}.team-logo-preview img{height:100%;object-fit:cover;width:100%}.team-logo-input{display:none}.team-logo-label{background:#2a2a3e;background:var(--bg-tertiary,#2a2a3e);border:1px solid #131c31;border:1px solid var(--border-color,#131c31);border-radius:8px;border-radius:var(--radius-md,8px);color:#e5e7eb;color:var(--text-primary,#e5e7eb);cursor:pointer;display:inline-block;font-size:.9375rem;font-weight:500;padding:.75rem 1.5rem;text-align:center;transition:all .2s;width:-webkit-fit-content;width:fit-content}.team-logo-label:hover{background:#ffffff0d;background:var(--bg-hover,#ffffff0d);border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6)}.team-edit-form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.team-edit-form-actions .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.team-edit-form-actions .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.team-edit-form-actions .btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.team-settings-danger-section{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ef44444d;border-radius:8px;border-radius:var(--radius-md,8px);padding:2rem}.team-settings-danger-section h3{color:#ef4444;color:var(--error-color,#ef4444);font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.team-delete-section{align-items:center;border-top:1px solid #ef444433;display:flex;gap:2rem;justify-content:space-between;padding-top:1.5rem}.team-delete-info{flex:1 1}.team-delete-info h4{color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:1rem;font-weight:600;margin:0 0 .5rem}.team-delete-info p{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.875rem;line-height:1.6;margin:0}.team-delete-section .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.team-delete-section .btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 16px #ef444466;transform:translateY(-1px)}.team-delete-section .btn-danger:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.team-delete-section{align-items:stretch;flex-direction:column}.team-delete-section .btn-danger{width:100%}}.team-detail-page *{transition:background-color .2s ease,border-color .2s ease,color .2s ease}.team-form{margin:0 auto;max-width:600px}.team-form-error{background:#ff3b301a;background:var(--error-bg,#ff3b301a);border-radius:8px;border-radius:var(--radius-md,8px);color:#ff3b30;color:var(--error-color,#ff3b30);padding:1rem}.team-form-error,.team-form-field{margin-bottom:1.5rem}.team-form-field label{color:#fff;color:var(--text-primary,#fff);display:block;font-weight:500;margin-bottom:.5rem}.team-form-field .required{color:#ff3b30;color:var(--error-color,#ff3b30)}.team-form-field input[type=text],.team-form-field textarea{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-primary,#fff);font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.team-form-field input[type=text]:focus,.team-form-field textarea:focus{border-color:#007aff;border-color:var(--primary-color,#007aff);outline:none}.team-form-field input[type=text].error,.team-form-field textarea.error{border-color:#ff3b30;border-color:var(--error-color,#ff3b30)}.team-form-field input[type=file]{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-primary,#fff);padding:.5rem;width:100%}.field-error{color:#ff3b30;color:var(--error-color,#ff3b30);display:block;font-size:.875rem;margin-top:.25rem}.field-hint{color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;margin-top:.25rem}.logo-upload-section{display:flex;flex-direction:column;gap:1rem}.logo-preview{border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);height:150px;overflow:hidden;width:150px}.logo-preview img{height:100%;object-fit:cover;width:100%}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-label input[type=checkbox]{width:auto}.team-form-actions{display:flex;gap:1rem;margin-top:2rem}.team-form-actions button{flex:1 1}.team-form-page{min-height:calc(100vh - 200px);width:100%}.team-form-page-content{margin:0 auto;max-width:800px;padding:2rem 1rem}.team-form-page-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:3rem 1rem;text-align:center}.team-form-page-header{margin-bottom:2rem}.team-form-page-header h1{color:#fff;color:var(--text-primary,#fff);font-size:2rem;margin:0 0 .5rem}.team-form-page-header p{color:#aaa;color:var(--text-secondary,#aaa);font-size:1rem;margin:0}.my-teams-page{min-height:calc(100vh - 200px);width:100%}.my-teams-content{margin:0 auto;max-width:1200px;padding:2rem 1rem}.my-teams-empty,.my-teams-error,.my-teams-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:3rem 1rem;text-align:center}.my-teams-error{color:#ff3b30;color:var(--error-color,#ff3b30)}.my-teams-empty{align-items:center;display:flex;flex-direction:column;gap:1rem}.my-teams-header{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem}.my-teams-header h1{color:#fff;color:var(--text-primary,#fff);font-size:2rem;margin:0 0 .5rem}.my-teams-header p{color:#aaa;color:var(--text-secondary,#aaa);font-size:1rem;margin:0}.my-teams-sections{display:flex;flex-direction:column;gap:3rem}.my-teams-section h2{color:#fff;color:var(--text-primary,#fff);font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.my-teams-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.notification-list{width:100%}.notification-list-empty,.notification-list-error,.notification-list-loading{color:#aaa;color:var(--text-secondary,#aaa);padding:3rem;text-align:center}.notification-list-error{color:#ef4444;color:var(--error,#ef4444)}.notification-list-header{align-items:center;border-bottom:1px solid #2a2a3e;border-bottom:1px solid var(--border-color,#2a2a3e);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.notification-list-header h2{color:#fff;color:var(--text-primary,#fff);font-size:1.5rem;margin:0}.notification-list-actions{align-items:center;display:flex;gap:1rem}.notification-filter{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #2a2a3e;border:1px solid var(--border-color,#2a2a3e);border-radius:8px;border-radius:var(--radius-md,8px);color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.notification-filter:focus{border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6);outline:none}.notification-list-mark-all-read{background:rgba(var(--accent-primary-rgb),.12);border:1px solid rgba(var(--accent-primary-rgb),.4);border-radius:8px;border-radius:var(--radius-md,8px);color:#3b82f6;color:var(--accent-primary,#3b82f6);cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:background .15s ease,border-color .15s ease,color .15s ease}.notification-list-mark-all-read:hover{background:rgba(var(--accent-primary-rgb),.2);border-color:#3b82f6;border-color:var(--accent-primary,#3b82f6)}.notification-list-mark-all-read:active{background:rgba(var(--accent-primary-rgb),.25)}.notification-list-items{display:flex;flex-direction:column;gap:0}.notification-list-item-wrapper{position:relative}.notification-delete-btn{align-items:center;background:#ef44441a;border:1px solid #ef4444;border:1px solid var(--error,#ef4444);border-radius:999px;border-radius:var(--radius-full,999px);color:#ef4444;color:var(--error,#ef4444);cursor:pointer;display:flex;font-size:1.2rem;height:24px;justify-content:center;line-height:1;opacity:0;position:absolute;right:1rem;top:1rem;transition:opacity .2s;width:24px;z-index:10}.notification-list-item-wrapper:hover .notification-delete-btn{opacity:1}.notification-delete-btn:hover{background:#ef444433}.notification-page{min-height:calc(100vh - 200px);width:100%}.notification-page-content{margin:0 auto;max-width:1200px;padding:2rem 1rem}.notification-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.notification-page-header h1{color:#fff;color:var(--text-primary,#fff);font-size:2rem;margin:0}.notification-page-unread-badge{background:#3b82f633;border:1px solid #3b82f6;border:1px solid var(--accent-primary,#3b82f6);border-radius:999px;border-radius:var(--radius-full,999px);color:#3b82f6;color:var(--accent-primary,#3b82f6);font-size:.875rem;font-weight:600;padding:.5rem 1rem}.changelog-page{margin:0 auto;max-width:1200px;padding:1rem 1.5rem 3rem;width:100%}.changelog-header{margin-bottom:2rem}.changelog-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem}.changelog-intro{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin:0}.changelog-entries{display:flex;flex-direction:column;gap:1.5rem}.changelog-entry{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.changelog-entry-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem}.changelog-entry-date{color:var(--text-primary);font-size:.9rem;font-weight:600}.changelog-entry-version{background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.85rem;padding:.15rem .5rem}.changelog-entry-badge{border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:.02em;margin-left:auto;padding:.2rem .5rem;text-transform:uppercase}.changelog-entry-badge--milestone{background:var(--accent-primary);color:var(--text-inverse)}.changelog-entry-badge--feature{background:rgba(var(--accent-primary-rgb),.2);color:var(--accent-primary)}.changelog-entry-badge--improvement{background:#22c55e33;color:var(--text-primary)}.changelog-entry-badge--fix{background:#eab30833;color:var(--text-primary)}.changelog-entry-badge--other{background:var(--bg-tertiary);color:var(--text-secondary)}.changelog-entry-body{padding:1rem 1.25rem}.changelog-entry-title{color:var(--text-primary);font-size:1.15rem;font-weight:600;margin:0 0 .75rem}.changelog-entry-items{list-style:disc;margin:0;padding-left:1.25rem}.changelog-entry-item{color:var(--text-primary);line-height:1.5;margin-bottom:.35rem}.changelog-entry-item:last-child{margin-bottom:0}@media (max-width:768px){.changelog-page{padding:1rem 1rem 2rem}.changelog-title{font-size:1.5rem}.changelog-entry-header{align-items:flex-start;flex-direction:column}.changelog-entry-badge{margin-left:0}}.static-page{margin:0 auto;max-width:1200px;padding:0 0 2rem;width:100%}.static-page-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem}.static-page-meta{color:var(--text-secondary);font-size:.9rem;margin:0 0 1rem}.static-page-lead{color:var(--text-primary);font-size:1.1rem;line-height:1.6;margin:0 0 2rem}.static-page-section{margin-bottom:2rem}.static-page-section h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .75rem}.static-page-section li,.static-page-section p{color:var(--text-primary);font-size:1rem;line-height:1.6;margin:0 0 .75rem}.static-page-section p:last-child,.static-page-section ul:last-child{margin-bottom:0}.static-page-section ul{margin:0 0 .75rem;padding-left:1.5rem}.static-page-section li{margin-bottom:.5rem}.static-page-section li:last-child{margin-bottom:0}@media (max-width:768px){.static-page-title{font-size:1.5rem}}.badges-page{margin:0 auto;max-width:1120px;padding:0 1.25rem 4rem;width:100%}.badges-hero{margin-bottom:.25rem;padding:2.75rem 0 2.25rem;position:relative}.badges-hero-glow{background:radial-gradient(ellipse 55% 70% at 20% 20%,#6366f133,#0000 55%),radial-gradient(ellipse 50% 60% at 85% 30%,#06b6d41f,#0000 50%);height:240px;inset:-25% -15% auto;pointer-events:none;position:absolute;z-index:0}.badges-hero-eyebrow{color:var(--accent-primary);font-size:.75rem;font-weight:700;letter-spacing:.14em;margin:0 0 .5rem;position:relative;text-transform:uppercase;z-index:1}.badges-hero-title{color:var(--text-primary);font-size:clamp(2.125rem,5vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.1;margin:0 0 1rem;position:relative;z-index:1}.badges-hero-lead{color:var(--text-secondary);font-size:1.05rem;line-height:1.7;margin:0;max-width:36rem;position:relative;z-index:1}.badges-state{border-radius:14px;font-weight:500;margin:1rem 0;padding:1.25rem 1rem;text-align:center}.badges-state--muted{background:#0000000a;background:var(--bg-secondary,#0000000a);border:1px solid var(--border-color);color:var(--text-secondary)}.badges-state--error{background:#ef44441a;border:1px solid #ef444459;color:#b91c1c}.theme-dark .badges-state--error{color:#fecaca}.badges-grid{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));list-style:none;margin:2rem 0 0;padding:0}.badges-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:22px;box-shadow:inset 0 1px 0 #ffffff0f,0 20px 50px -24px #00000073;display:flex;flex-direction:column;min-height:100%;overflow:hidden;position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.badges-card:hover{border-color:#6366f173;box-shadow:inset 0 1px 0 #ffffff14,0 28px 60px -20px #4f46e540,0 20px 50px -24px #00000080;transform:translateY(-4px)}.badges-card-accent{background:linear-gradient(90deg,#6366f1,#22d3ee,#a78bfa);height:4px;left:0;opacity:.95;position:absolute;right:0;top:0}.badges-card-hero{background:linear-gradient(165deg,#6366f124,#6366f108 42%,#0000);border-bottom:1px solid #ffffff0f;padding:1.75rem 1.5rem 1.25rem;text-align:center}.theme-dark .badges-card-hero{border-bottom-color:#ffffff0d}.badges-card-emblem{display:flex;justify-content:center;margin-bottom:1rem}.badges-card-emblem-inner{align-items:center;background:linear-gradient(145deg,#ffffff1f,#ffffff05);border:1px solid #ffffff2e;border-radius:50%;box-shadow:0 8px 24px #0003,inset 0 0 0 1px #00000014;display:flex;font-size:2.25rem;height:4.5rem;justify-content:center;line-height:1;width:4.5rem}.badges-card-title{color:var(--text-primary);font-size:1.35rem;font-weight:800;letter-spacing:-.025em;line-height:1.2;margin:0}.badges-card-main{display:flex;flex:1 1;flex-direction:column;gap:1rem;padding:1.35rem 1.5rem 1.25rem}.badges-card-section-title{color:var(--text-secondary);font-size:.7rem;font-weight:800;letter-spacing:.11em;margin:0;opacity:.9;text-transform:uppercase}.badges-card-desc{color:var(--text-primary);font-size:.95rem;line-height:1.62;margin:-.25rem 0 0;opacity:.92}.badges-card-milestones{border-top:1px solid var(--border-color);margin-top:.25rem;padding-top:1.1rem}.badges-card-milestones .badges-card-section-title{margin-bottom:.35rem}.badges-card-milestones-hint{color:var(--text-secondary);font-size:.8rem;line-height:1.5;margin:0 0 1rem}.badges-milestone-chips{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0;padding:0}.badges-milestone-chip{background:linear-gradient(160deg,#6366f11f,#6366f10a);border:1px solid #6366f12e;border-radius:14px;box-shadow:0 4px 14px #0000000f;flex-basis:calc(33.333% - 0.6rem);flex-grow:1;flex-shrink:1;min-width:5.5rem;padding:.65rem .75rem .6rem;text-align:center}.theme-dark .badges-milestone-chip{background:linear-gradient(160deg,#6366f12e,#6366f10f);border-color:#818cf847}.badges-milestone-chip-tier{color:var(--text-secondary);display:block;font-size:.62rem;font-weight:800;letter-spacing:.07em;margin-bottom:.35rem;text-transform:uppercase}.badges-milestone-chip-value{font-feature-settings:"tnum";color:var(--text-primary);display:block;font-size:1.2rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;line-height:1.1}.badges-milestone-plus{color:var(--accent-primary);font-size:.85rem;font-weight:700;margin-left:1px}.badges-milestone-chip-caption{color:var(--text-secondary);display:block;font-size:.65rem;font-weight:600;letter-spacing:.04em;margin-top:.2rem;opacity:.85;text-transform:uppercase}.badges-card-footer{align-items:flex-start;background:#00000008;border-top:1px solid var(--border-color);display:flex;gap:.85rem;margin-top:auto;padding:1.1rem 1.5rem 1.35rem}.theme-dark .badges-card-footer{background:#ffffff08}.badges-card-stat-icon{color:var(--accent-primary);flex-shrink:0;margin-top:2px;opacity:.85}.badges-card-stat-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.badges-card-stat-number{font-feature-settings:"tnum";color:var(--text-primary);font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;line-height:1}.badges-card-stat-text{color:var(--text-secondary);font-size:.82rem;line-height:1.45}@media (max-width:480px){.badges-card-hero{padding:1.5rem 1.25rem 1rem}.badges-card-main{padding:1.15rem 1.25rem 1rem}.badges-card-footer{padding:1rem 1.25rem 1.25rem}}
/*# sourceMappingURL=main.92082d6c.css.map*/