:root{--ink:#24231f;--muted-ink:#6d685b;--paper:#fffdf6;--cream:#f8f1dd;--cream-strong:#eee1bd;--gold:#e4b92f;--gold-deep:#ae8110;--match:#2f6653;--match-soft:#e5f1ec;--sighter:#9b6713;--sighter-soft:#fbefd4;--danger:#9d342f;--border:#ddd2b7;--shadow:0 18px 48px #4e3e1b1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 8% 0,#e7be3933,#0000 28rem),linear-gradient(#fbf7ea 0,#f7f0dc 100%);min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}.app-shell{max-width:1480px;margin:0 auto;padding:42px 32px 80px}.app-header,.results-heading-row,.session-header,.phase-header,.target-toolbar,.series-heading{justify-content:space-between;align-items:center;display:flex}.app-header{gap:24px;margin-bottom:28px}.app-header h1{letter-spacing:-.055em;margin:5px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:500;line-height:.95}.eyebrow,.section-kicker,.session-label{color:var(--gold-deep);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.73rem;font-weight:800}.header-copy,.range-copy,.search-note,.coordinate-note,.interaction-hint{color:var(--muted-ink)}.header-copy{margin:0;font-size:1.04rem}.local-badge{border:1px solid var(--border);white-space:nowrap;background:#fffdf6b8;border-radius:999px;padding:9px 13px;font-size:.8rem;font-weight:750}.search-card,.session-card,.loading-card,.empty-state{border:1px solid var(--border);box-shadow:var(--shadow);background:#fffdf6f0}.search-card{border-radius:22px;grid-template-columns:minmax(210px,.6fr) minmax(500px,1.4fr);gap:20px 36px;padding:26px;display:grid}.search-card h2,.results h2,.session-card h3,.phase-card h4{margin:0}.search-card h2,.results h2{margin-top:4px;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.search-form{grid-template-columns:minmax(180px,1fr) 110px auto;align-items:end;gap:12px;display:grid}.search-form label{gap:7px;display:grid}.search-form label span{font-size:.78rem;font-weight:760}.search-form input,.search-form select{color:var(--ink);background:#fffef9;border:1px solid #cfc3a4;border-radius:10px;outline:none;width:100%;min-height:44px;padding:9px 12px}.search-form input:focus,.search-form select:focus{border-color:var(--gold-deep);box-shadow:0 0 0 3px #e4b92f33}.auth-shell{grid-template-columns:minmax(0,1.05fr) minmax(340px,480px);align-items:center;gap:clamp(48px,8vw,120px);width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:52px clamp(24px,7vw,110px);display:grid}.auth-intro h1,.auth-single-shell h1,.compact-header h1{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-weight:500}.auth-intro h1{max-width:760px;margin:12px 0 24px;font-size:clamp(3rem,7vw,6.6rem);line-height:.92}.auth-intro>p:last-of-type{color:var(--muted-ink);max-width:560px;font-size:1.08rem;line-height:1.65}.auth-target{background:radial-gradient(circle, var(--gold) 0 5%, #24231f 5.5% 14%, #f6e8bb 14.5% 27%, #24231f 27.5% 39%, #f6e8bb 39.5% 52%, #24231f 52.5% 64%, #f6e8bb 64.5%);border:1px solid #24231f2e;border-radius:50%;justify-content:center;align-items:center;width:clamp(160px,22vw,270px);height:clamp(160px,22vw,270px);margin-top:42px;display:flex;position:relative;box-shadow:0 26px 70px #49360d2e}.auth-target:before,.auth-target:after{content:"";background:#ae81106b;position:absolute}.auth-target:before{height:1px;left:-18px;right:-18px}.auth-target:after{width:1px;top:-18px;bottom:-18px}.auth-target span{background:#fff;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #e4b92f59}.auth-shell>section:last-child>h2{margin:6px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:2.4rem;font-weight:500}.auth-card,.access-card,.admin-card,.no-access-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fffdf6f5;border-radius:22px}.auth-card{padding:24px}.auth-tabs{background:var(--cream);border-radius:11px;grid-template-columns:1fr 1fr;margin-bottom:18px;padding:4px;display:grid}.auth-tabs button{color:var(--muted-ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px;font-size:.82rem;font-weight:760}.auth-tabs .auth-tab-active{background:var(--paper);color:var(--ink);box-shadow:0 2px 8px #503e141f}.google-button{cursor:pointer;background:#fff;border:1px solid #cfc3a4;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:46px;font-weight:720;display:flex}.google-button:hover:not(:disabled){border-color:var(--gold-deep);background:#fffef9}.auth-divider{color:var(--muted-ink);text-transform:uppercase;align-items:center;gap:12px;margin:19px 0;font-size:.7rem;display:flex}.auth-divider:before,.auth-divider:after{border-top:1px solid var(--border);content:"";flex:1}.auth-form,.access-request-form{gap:14px;display:grid}.auth-form label,.access-request-form label{gap:7px;display:grid}.auth-form label span,.access-request-form label span{font-size:.75rem;font-weight:760}.auth-form input,.access-request-form input{background:#fffef9;border:1px solid #cfc3a4;border-radius:10px;outline:0;width:100%;min-height:46px;padding:10px 12px}.auth-form input:focus,.access-request-form input:focus{border-color:var(--gold-deep);box-shadow:0 0 0 3px #e4b92f33}.auth-submit{width:100%}.auth-link{color:var(--gold-deep);text-align:center;margin-top:16px;font-size:.8rem;font-weight:720;display:block}.auth-footnote,.auth-page-copy,.access-card>p,.no-access-card p,.muted-copy{color:var(--muted-ink);line-height:1.55}.auth-footnote{text-align:center;margin:16px 4px 0;font-size:.74rem}.turnstile-slot{min-height:65px;overflow:hidden}.form-message{color:var(--danger);background:#fff1ef;border:1px solid #e6b4af;border-radius:9px;margin:0;padding:10px;font-size:.78rem}.form-success{background:var(--match-soft);color:var(--match);border-color:#a7d1bf}.auth-single-shell{place-items:center;min-height:100vh;margin:0 auto;padding:70px 24px;display:grid}.auth-single-shell>section{width:100%;max-width:480px}.auth-single-shell h1{margin:10px 0 16px;font-size:3rem;line-height:1}.auth-page-copy{margin:0 0 24px}.confirmation-panel{text-align:center}.confirmation-panel h2{margin:0 0 10px;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.confirmation-panel p{color:var(--muted-ink);margin:0 0 20px;line-height:1.55}.button-link{text-decoration:none;display:inline-flex}.account-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.account-nav>span{color:var(--muted-ink);text-overflow:ellipsis;max-width:230px;font-size:.75rem;overflow:hidden}.account-nav a,.text-button{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#fffdf6bd;border-radius:999px;padding:8px 11px;font-size:.74rem;font-weight:720;text-decoration:none}.account-nav a:hover,.text-button:hover:not(:disabled){border-color:var(--gold-deep)}.compact-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.compact-header h1{margin:6px 0 0;font-size:clamp(2.2rem,5vw,4rem)}.access-layout{grid-template-columns:minmax(300px,.7fr) minmax(420px,1.3fr);gap:22px;display:grid}.access-card,.admin-card{padding:26px}.access-card h2,.admin-card h2,.no-access-card h2{margin:5px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:500}.access-list,.admin-request-list{gap:9px;display:grid}.access-row,.admin-request-row{border:1px solid var(--border);background:#fffef9;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;display:flex}.access-row>div,.admin-request-row>div:first-child{gap:3px;display:grid}.access-row span:not(.status-badge),.admin-request-row span:not(.status-badge),.admin-request-row small{color:var(--muted-ink);font-size:.72rem}.status-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:6px 8px;font-size:.66rem;font-weight:820}.status-pending{background:var(--sighter-soft);color:var(--sighter)}.status-approved{background:var(--match-soft);color:var(--match)}.status-rejected,.status-revoked{color:var(--danger);background:#f6e5e3}.admin-heading{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.admin-heading>span{background:var(--cream);color:var(--muted-ink);border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:760}.admin-request-row{grid-template-columns:minmax(220px,1fr) auto minmax(150px,auto);display:grid}.review-actions{justify-content:flex-end;gap:7px;display:flex}.review-actions button{cursor:pointer;border-radius:8px;padding:8px 10px;font-size:.72rem;font-weight:760}.approve-button{background:var(--match-soft);color:var(--match);border:1px solid #a7d1bf}.reject-button{color:var(--danger);background:#fff;border:1px solid #e1b9b4}.inline-error{color:var(--danger);text-align:right;margin:5px 0 0;font-size:.68rem}.no-access-card{align-items:center;gap:26px;padding:34px;display:flex}.no-access-card .empty-target{flex:none}.primary-button{background:var(--ink);color:#fffdf6;cursor:pointer;border:0;border-radius:10px;min-height:44px;padding:10px 18px;font-weight:780}.primary-button:hover:not(:disabled){background:#3c3a32}.primary-button:disabled{cursor:wait;opacity:.65}.search-note{grid-column:2;margin:-8px 0 0;font-size:.78rem}.error-banner{color:var(--danger);background:#fff1ef;border:1px solid #e6b4af;border-radius:12px;margin:18px 0 0;padding:13px 15px;font-weight:650}.loading-card{border-radius:18px;gap:12px;margin-top:22px;padding:26px;display:grid}.loading-pulse,.loading-line{background:var(--cream-strong);border-radius:999px;width:30%;height:12px;animation:1.1s ease-in-out infinite alternate pulse;display:block}.loading-pulse{border-radius:50%;width:34px;height:34px}.loading-line-wide{width:70%}@keyframes pulse{to{opacity:.4}}.results{margin-top:38px}.results-heading-row{align-items:end;gap:20px}.range-copy{text-align:right;margin:0 0 4px;font-size:.8rem}.summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:18px 0 26px;display:grid}.summary-value{border:1px solid var(--border);background:#fffdf69e;border-radius:13px;gap:3px;padding:14px 16px;display:grid}.summary-value strong{font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.summary-value span{color:var(--muted-ink);text-transform:uppercase;font-size:.72rem;font-weight:750}.session-list{gap:24px;display:grid}.session-card{border-radius:22px;overflow:hidden}.session-header{color:#fffdf6;background:linear-gradient(105deg,#292821 0%,#3b392f 100%);gap:24px;padding:22px 24px}.session-header h3{margin-top:5px;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500}.session-label{color:#e7c95e}.session-meta,.phase-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.session-meta span,.phase-stats span{border:1px solid #ffffff38;border-radius:999px;padding:6px 10px;font-size:.75rem}.phase-list{gap:1px;display:grid}.phase-card{background:var(--paper);border-top:1px solid var(--border);padding:24px}.phase-sighter{background:linear-gradient(90deg, #fbefd473, var(--paper) 35%)}.phase-match{background:linear-gradient(90deg, #e5f1ec7a, var(--paper) 35%)}.phase-header{align-items:flex-start;gap:18px;margin-bottom:18px}.phase-header>div:first-child{align-items:center;gap:10px;display:flex}.phase-header h4{font-size:1.1rem}.phase-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:.69rem;font-weight:820}.phase-badge-match{background:var(--match-soft);color:var(--match)}.phase-badge-sighter{background:var(--sighter-soft);color:var(--sighter)}.phase-stats span{border-color:var(--border);color:var(--muted-ink)}.phase-stats strong{color:var(--ink)}.phase-content{grid-template-columns:minmax(260px,420px) 1fr;align-items:start;gap:24px;display:grid}.target-panel{background:#f5ead0;border:1px solid #cfc2a0;border-radius:16px;width:100%;overflow:hidden}.target-toolbar{color:var(--muted-ink);text-transform:uppercase;background:#fffdf6e0;border-bottom:1px solid #cfc2a0;padding:8px 10px;font-size:.72rem;font-weight:740}.zoom-controls{align-items:center;gap:4px;display:flex}.zoom-controls button{border:1px solid var(--border);cursor:pointer;background:#fffdf6;border-radius:6px;justify-content:center;align-items:center;width:28px;height:26px;font-size:1rem;display:inline-flex}.zoom-controls button:disabled{cursor:default;opacity:.4}.zoom-controls output{font-variant-numeric:tabular-nums;text-align:center;width:42px}.shot-target{aspect-ratio:1;width:100%;height:auto;display:block}.target-crosshair{stroke:#efca45;stroke-width:.6px}.shot-series{gap:12px;min-width:0;display:grid}.series-block{border:1px solid var(--border);border-radius:12px;overflow:hidden}.series-heading{border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:#f7f0dc;width:100%;padding:8px 10px;font-size:.74rem;font-weight:780}.series-heading:hover{background:#f0e5c6}.shot-grid{grid-template-columns:repeat(10,minmax(42px,1fr));gap:6px;padding:8px;display:grid}.shot-chip{cursor:pointer;background:#fffdf7;border:1px solid #ddd2b8;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:47px;padding:5px 2px;display:flex}.shot-chip:hover,.shot-chip:focus-visible{border-color:var(--gold-deep);outline:none;transform:translateY(-1px)}.shot-chip-selected{border-color:var(--gold-deep);box-shadow:inset 0 0 0 1px var(--gold-deep);background:#fff0af}.shot-chip small{color:var(--muted-ink);font-size:.6rem}.shot-chip strong{font-size:.88rem}.clear-button{color:var(--gold-deep);cursor:pointer;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:.75rem;font-weight:760}.interaction-hint{margin:0;font-size:.72rem}.empty-state{text-align:center;border-radius:18px;margin-top:22px;padding:46px 26px}.empty-state h3{margin:14px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:500}.empty-state p{color:var(--muted-ink);margin:0}.empty-target{background:var(--cream);border:8px solid #24231f;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;display:inline-flex}.empty-target span{background:var(--gold);border-radius:50%;width:8px;height:8px}.coordinate-note{margin:18px 4px 0;font-size:.7rem}@media (max-width:1080px){.auth-shell{grid-template-columns:minmax(0,1fr) minmax(330px,430px);gap:50px}.access-layout,.search-card{grid-template-columns:1fr}.search-note{grid-column:1}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phase-content{grid-template-columns:minmax(250px,.75fr) 1.25fr}.shot-grid{grid-template-columns:repeat(5,minmax(42px,1fr))}}@media (max-width:760px){.auth-shell{padding:36px 16px 60px;display:block}.auth-intro{margin-bottom:34px}.auth-intro h1{font-size:3.4rem}.auth-target{display:none}.app-shell{padding:26px 16px 60px}.app-header,.compact-header,.results-heading-row,.session-header,.phase-header{flex-direction:column;align-items:flex-start}.local-badge{align-self:flex-start}.account-nav{justify-content:flex-start}.search-card{padding:20px}.search-form{grid-template-columns:1fr 100px}.primary-button{grid-column:1/-1}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.range-copy{text-align:left}.session-meta,.phase-stats{justify-content:flex-start}.phase-card{padding:18px 14px}.phase-content{grid-template-columns:1fr}.target-panel{max-width:460px;margin:0 auto}.admin-request-row{grid-template-columns:1fr auto;align-items:start}.admin-request-row>div:last-child{grid-column:1/-1}.review-actions{justify-content:flex-start}.inline-error{text-align:left}.no-access-card{align-items:flex-start;padding:24px}}
