:root:not([data-theme]){--bg-color: #0d0f12;--panel-bg: #16191f;--text-main: #f5f6fa;--text-muted: #abb2cc;--accent-orange: #ff7f3f;--accent-blue: #00d4ff;--border-color: #2a2d36;--nav-bg: rgba(13, 15, 18, .96);--btn-text: #000;--focus-ring: #ff7f3f;--input-bg: #0d0f12;--error-color: #ff6b6b;--success-color: #4ecdc4;color-scheme:dark}:root{--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}@media(hover:hover)and (pointer:fine){html{overflow-y:scroll;scrollbar-gutter:stable}}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-main);line-height:1.6;transition:background-color .25s ease,color .25s ease;overflow-x:hidden;max-width:100%}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:3px}.skip-link{position:absolute;top:-50px;left:1rem;background:var(--accent-orange);color:var(--btn-text);padding:.5rem 1rem;border-radius:0 0 4px 4px;font-weight:700;font-size:.9rem;text-decoration:none;z-index:9999;transition:top .2s}.skip-link:focus{top:0}main{padding:2rem;max-width:1400px;margin:0 auto}@media(max-width:767px){main{padding:1rem}}h1,h2,h3,h4{font-weight:700;line-height:1.2}h1{font-size:3.5rem;margin-bottom:1rem}.hero-title{font-size:4rem;margin-bottom:1rem;line-height:1.1}@media(max-width:767px){h1,.hero-title{font-size:2.5rem}}.text-orange{color:var(--accent-orange)}.text-muted{color:var(--text-muted)}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-orange)}@media(max-width:1199px){.nav-account-label{display:none}}.btn-primary{background-color:var(--accent-orange);color:var(--btn-text);border:none;padding:.5rem 1.2rem;font-weight:600;border-radius:4px;cursor:pointer;font-size:.9rem;font-family:inherit;transition:filter .2s ease,transform .1s ease;display:inline-flex;align-items:center;gap:.4rem}.btn-primary:hover{filter:brightness(1.12);transform:translateY(-1px);color:var(--btn-text)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}.btn-ghost{background:transparent;border:1px solid var(--border-color);color:var(--text-main);padding:.5rem 1.2rem;font-weight:500;border-radius:4px;cursor:pointer;font-size:.9rem;font-family:inherit;transition:border-color .2s,background .2s,color .2s}.btn-ghost:hover{border-color:var(--text-muted);background:#ffffff0a;color:var(--text-main)}input,select,textarea{background-color:var(--input-bg);color:var(--text-main);border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-orange) 25%,transparent)}input::placeholder{color:var(--text-muted)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset!important;-webkit-text-fill-color:var(--text-main)!important}.parts-table{width:100%;border-collapse:collapse;margin-top:2rem;background-color:transparent}.parts-table th,.parts-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.parts-table th{color:var(--text-muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.parts-table tbody tr:hover{background-color:color-mix(in srgb,var(--accent-orange) 5%,transparent)}.part-number{color:var(--accent-blue);font-family:var(--font-mono)}.pill-nav{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.pill-btn{background-color:var(--panel-bg);border:1px solid var(--border-color);color:var(--text-main);padding:.5rem 1.25rem;border-radius:20px;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;font-family:inherit}.pill-btn:hover{border-color:var(--text-muted);color:var(--text-main)}.pill-btn.active{border-color:var(--accent-orange);color:var(--accent-orange);background:color-mix(in srgb,var(--accent-orange) 10%,transparent)}.pill-btn[aria-pressed=true]{border-color:var(--accent-orange);color:var(--accent-orange)}.pill-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-orange{background-color:var(--accent-orange)}.dot-blue{background-color:var(--accent-blue)}.dot-gray{background-color:var(--text-muted)}.machine-card:hover{border-color:var(--accent-orange)!important;box-shadow:0 4px 16px color-mix(in srgb,var(--accent-orange) 20%,transparent);transform:translateY(-2px)}.pinball-map-card{background-color:color-mix(in srgb,var(--accent-orange) 3%,var(--panel-bg));border:1px solid var(--border-color);border-radius:8px;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s}.pinball-map-card:hover{border-color:color-mix(in srgb,var(--accent-orange) 40%,transparent);box-shadow:0 2px 8px color-mix(in srgb,var(--accent-orange) 8%,transparent)}.pinball-map-card-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.pinball-map-card-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0;min-width:10.5rem}.pinball-map-cta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-align:center;text-decoration:none;font-size:1rem;font-weight:700;padding:.7rem 1.25rem;border-radius:6px;letter-spacing:.01em}@media(max-width:767px){.pinball-map-card-row{flex-direction:column;align-items:stretch}.pinball-map-card-actions{min-width:0}}@keyframes playNearbyPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes ctxFadeIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.banner-error{color:var(--error-color);padding:.8rem 1rem;background:color-mix(in srgb,var(--error-color) 10%,transparent);border-radius:4px;border:1px solid var(--error-color);font-size:.9rem}.banner-success{color:var(--success-color);padding:.8rem 1rem;background:color-mix(in srgb,var(--success-color) 10%,transparent);border-radius:4px;border:1px solid var(--success-color);font-size:.9rem}.theme-dropdown{position:relative}.theme-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px #00000059;min-width:200px;z-index:500;padding:.5rem 0;animation:fadeIn .15s ease}.theme-group-header{padding:.4rem 1rem .2rem;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.theme-option{display:flex;align-items:center;gap:.6rem;width:100%;padding:.45rem 1rem;border:none;background:transparent;color:var(--text-main);font-size:.875rem;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s}.theme-option:hover{background:color-mix(in srgb,var(--accent-orange) 12%,transparent);color:var(--text-main)}.theme-option[aria-selected=true]{color:var(--accent-orange);font-weight:700}.theme-option[aria-selected=true]:before{content:"✓";font-size:.8rem;width:14px;flex-shrink:0}.theme-option[aria-selected=false]:before{content:"";width:14px;flex-shrink:0}.theme-divider{height:1px;background:var(--border-color);margin:.4rem 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes thumbSlideIn-next{0%{transform:translate(110%)}to{transform:translate(0)}}@keyframes thumbSlideIn-prev{0%{transform:translate(-110%)}to{transform:translate(0)}}@keyframes thumbSlideOut-next{0%{transform:translate(0)}to{transform:translate(-110%)}}@keyframes thumbSlideOut-prev{0%{transform:translate(0)}to{transform:translate(110%)}}@keyframes lbSlideIn-next{0%{transform:translate(110%)}to{transform:translate(0)}}@keyframes lbSlideIn-prev{0%{transform:translate(-110%)}to{transform:translate(0)}}@keyframes lbSlideOut-next{0%{transform:translate(0)}to{transform:translate(-110%)}}@keyframes lbSlideOut-prev{0%{transform:translate(0)}to{transform:translate(110%)}}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:color-mix(in srgb,var(--text-muted) 15%,transparent);background-image:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--text-muted) 20%,transparent) 20%,color-mix(in srgb,var(--text-muted) 35%,transparent) 50%,color-mix(in srgb,var(--text-muted) 20%,transparent) 80%,transparent 100%);background-size:200% 100%;animation:skeletonShimmer 2s infinite linear;border-radius:4px}.status-indicator{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;border:2px solid var(--panel-bg);z-index:5}.status-indicator.online{background:#0f8;box-shadow:0 0 10px #0f8}.status-indicator.offline{background:#555}.field-editor-wrap{position:relative;display:inline-flex;align-items:baseline;gap:.35rem;border-radius:4px;transition:background .15s}.field-editor-wrap:hover{background:color-mix(in srgb,var(--accent-orange) 6%,transparent)}.field-pending-own{text-decoration:underline wavy #f59e0b;text-decoration-thickness:2px;text-underline-offset:3px}.field-pending-other{text-decoration:underline wavy var(--accent-orange);text-decoration-thickness:2px;text-underline-offset:3px}.field-editor-icons{display:inline-flex;align-items:center;gap:.2rem;opacity:0;transition:opacity .15s ease;flex-shrink:0}.field-editor-wrap:hover .field-editor-icons,.field-editor-wrap:focus-within .field-editor-icons{opacity:1}.field-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:color-mix(in srgb,var(--panel-bg) 90%,var(--accent-orange) 10%);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.65rem;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s,transform .1s;line-height:1}.field-icon-btn:hover{background:color-mix(in srgb,var(--accent-orange) 15%,var(--panel-bg));border-color:var(--accent-orange);color:var(--accent-orange);transform:translateY(-1px)}.field-editor-input{background:var(--input-bg);border:1px solid var(--accent-orange);border-radius:4px;color:var(--text-main);font-family:inherit;font-size:inherit;font-weight:inherit;padding:.15rem .4rem;outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-orange) 20%,transparent);min-width:80px;max-width:100%}.field-editor-actions{display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0}.field-action-confirm{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:var(--success-color);border:none;border-radius:4px;color:#000;cursor:pointer;font-size:.7rem;font-weight:700;transition:filter .15s,transform .1s}.field-action-confirm:hover{filter:brightness(1.15);transform:translateY(-1px)}.field-action-cancel{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:color-mix(in srgb,var(--error-color) 15%,var(--panel-bg));border:1px solid var(--error-color);border-radius:4px;color:var(--error-color);cursor:pointer;font-size:.75rem;font-weight:700;transition:background .15s,transform .1s}.field-action-cancel:hover{background:var(--error-color);color:#fff;transform:translateY(-1px)}.field-history-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .15s ease}.field-history-modal{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 24px 80px #00000080;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;animation:fadeIn .2s ease}.field-history-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.field-history-modal-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.proposal-row{display:flex;flex-direction:column;gap:.5rem;padding:.85rem;border:1px solid var(--border-color);border-radius:8px;margin-bottom:.75rem;background:color-mix(in srgb,var(--bg-color) 60%,var(--panel-bg));transition:border-color .15s}.proposal-row:last-child{margin-bottom:0}.proposal-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.proposal-status-pending{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b;border:1px solid color-mix(in srgb,#f59e0b 35%,transparent)}.proposal-status-approved{background:color-mix(in srgb,var(--success-color) 15%,transparent);color:var(--success-color);border:1px solid color-mix(in srgb,var(--success-color) 35%,transparent)}.proposal-status-rejected{background:color-mix(in srgb,var(--error-color) 15%,transparent);color:var(--error-color);border:1px solid color-mix(in srgb,var(--error-color) 35%,transparent)}@keyframes sqFlash{0%{background-color:color-mix(in srgb,var(--accent-blue, #1660C9) 22%,var(--panel-bg, #fff));box-shadow:0 0 0 2px var(--accent-blue, #1660C9)}to{background-color:var(--panel-bg, #fff);box-shadow:0 0 0 0 transparent}}.sq-flash{animation:sqFlash 2.6s ease-out .2s backwards}@media(prefers-reduced-motion:reduce){.sq-flash{animation-duration:.01s;animation-delay:1.5s}}.account-switcher-trigger{padding:.35rem .75rem;font-size:.9rem;display:flex;align-items:center;gap:.4rem;font-weight:600;color:var(--text-main)}.account-switcher-trigger-label{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-switcher-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:500;width:360px;max-width:calc(100vw - 1.5rem);max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;padding:.6rem;display:flex;flex-direction:column;gap:.5rem;background:color-mix(in srgb,var(--text-main) 5%,var(--panel-bg));border:1px solid var(--border-color);border-radius:20px;box-shadow:0 8px 32px #00000059;animation:fadeIn .15s ease}.account-switcher-menu:focus{outline:none}.account-switcher-menu:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}.account-switcher-group{background:var(--panel-bg);border-radius:16px;overflow:hidden}.account-switcher-current-group{position:relative}.account-switcher-close{position:absolute;top:.4rem;right:.4rem;width:30px;height:30px;border:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-muted);cursor:pointer}.account-switcher-close:hover,.account-switcher-close:focus-visible{background:color-mix(in srgb,var(--text-main) 12%,transparent);color:var(--text-main)}.account-switcher-current{display:flex;align-items:center;gap:.85rem;padding:1.6rem 1rem .75rem}.account-switcher-current-avatar{position:relative;flex-shrink:0;display:inline-flex}.account-switcher-avatar-edit{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-bg);border:1px solid var(--border-color);color:var(--text-main)}.account-switcher-avatar-edit:hover,.account-switcher-avatar-edit:focus-visible{background:color-mix(in srgb,var(--accent-orange) 20%,var(--panel-bg));color:var(--text-main)}.account-switcher-current-text{flex:1;min-width:0}.account-switcher-current-name{font-size:1.1rem;font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-switcher-current-email,.account-switcher-current-meta{font-size:.82rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-switcher-current-meta{display:flex;align-items:center;gap:.4rem;margin-top:.2rem}.account-role-badge{display:inline-block;padding:.05rem .5rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-orange) 60%,transparent);background:color-mix(in srgb,var(--accent-orange) 14%,transparent);color:var(--text-main);font-size:.7rem;font-weight:700;line-height:1.4}.account-switcher-toggle{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--text-main) 8%,transparent);color:var(--text-main);cursor:pointer;transition:background .15s,transform .2s}.account-switcher-toggle:hover{background:color-mix(in srgb,var(--text-main) 14%,transparent)}.account-switcher-toggle.is-collapsed svg{transform:rotate(180deg)}.account-switcher-manage{display:block;margin:0 1rem .75rem;padding:.45rem 1rem;border:1px solid var(--border-color);border-radius:999px;text-align:center;font-size:.85rem;font-weight:600;color:var(--text-main);text-decoration:none}.account-switcher-manage:hover{background:color-mix(in srgb,var(--accent-orange) 12%,transparent);color:var(--text-main)}.account-switcher-links{border-top:1px solid var(--border-color)}.account-switcher-link,.account-switcher-action{display:flex;align-items:center;gap:.75rem;width:100%;padding:.7rem 1rem;border:none;background:transparent;color:var(--text-main);font-family:inherit;font-size:.9rem;text-align:left;text-decoration:none;cursor:pointer}.account-switcher-link+.account-switcher-link,.account-switcher-action+.account-switcher-action,.account-list+.account-switcher-action,.account-switcher-note+.account-switcher-action{border-top:1px solid var(--border-color)}.account-switcher-link:hover,.account-switcher-action:hover:not(:disabled){background:color-mix(in srgb,var(--accent-orange) 12%,transparent);color:var(--text-main)}.account-switcher-action:disabled{opacity:.5;cursor:not-allowed}.account-switcher-action-icon{width:32px;display:inline-flex;justify-content:center;flex-shrink:0;color:var(--accent-orange)}.account-switcher-signout .account-switcher-action-icon{color:var(--text-muted)}.account-switcher-note{margin:0;padding:0 1rem .7rem;font-size:.78rem;color:var(--text-muted)}.account-switcher-error{padding:.6rem .9rem;border-radius:12px;font-size:.85rem;color:var(--error-color);background:var(--panel-bg)}.account-list{list-style:none;margin:0;padding:0}.account-row{display:flex;align-items:center}.account-row+.account-row{border-top:1px solid var(--border-color)}.account-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:.75rem;padding:.65rem .25rem .65rem 1rem;border:none;background:transparent;color:var(--text-main);font-family:inherit;text-align:left;cursor:pointer}.account-row:hover{background:color-mix(in srgb,var(--accent-orange) 8%,transparent)}.account-row-main:disabled{cursor:progress}.account-row-text{flex:1;min-width:0;display:flex;flex-direction:column}.account-row-name,.account-row-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-row-name{font-size:.9rem;font-weight:600}.account-row-email{font-size:.78rem;color:var(--text-muted)}.account-status-pill{flex-shrink:0;padding:.1rem .45rem;border-radius:4px;background:color-mix(in srgb,var(--text-main) 10%,transparent);color:var(--text-muted);font-size:.72rem;white-space:nowrap}.account-row-main:focus-visible,.account-switcher-action:focus-visible,.account-switcher-link:focus-visible{outline:2px solid var(--accent-orange);outline-offset:-3px;background:color-mix(in srgb,var(--accent-orange) 12%,transparent)}@media(max-width:480px){.account-row-main,.account-reauth-card{flex-wrap:wrap;row-gap:.3rem}.account-row-main .account-row-text{flex-basis:calc(100% - 52px - 2rem)}.account-reauth-card .account-row-text{flex-basis:calc(100% - 40px - .75rem)}.account-row-main .account-status-pill{margin-left:calc(32px + .75rem)}.account-reauth-card .account-status-pill{margin-left:calc(40px + .75rem)}}.account-row-remove-icon{flex-shrink:0;margin-right:.5rem;color:var(--error-color)}.account-changed-banner{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);z-index:1500;display:flex;align-items:center;gap:.9rem;width:max-content;max-width:calc(100vw - 2rem);padding:.75rem .9rem .75rem 1.1rem;background:var(--panel-bg);color:var(--text-main);border:1px solid var(--accent-orange);border-radius:12px;box-shadow:0 8px 32px #00000059;font-size:.9rem}.account-changed-banner .btn-primary{flex-shrink:0;justify-content:center;text-align:center}@media(max-width:520px){.account-changed-banner{left:1rem;right:1rem;width:auto;transform:none;flex-direction:column;align-items:stretch}}.account-text-button{padding:0;border:none;background:none;color:var(--accent-orange);font-family:inherit;font-size:inherit;font-weight:600;cursor:pointer}.account-text-button:hover{text-decoration:underline}.account-reauth-card{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border:1px solid var(--border-color);border-radius:12px;color:var(--text-main)}
