:root{--tt-text-primary: #deddde;--tt-text-secondary: #b8b1a9;--tt-text-hint: #646164;--tt-text-brand: #ffc56c;--tt-text-brand-heavy: #ffd28d;--tt-text-brand-contrast: rgba(0, 0, 0, .85);--tt-text-danger: #e9033a;--tt-base-generic: #383438;--tt-base-generic-hover: #433f43;--tt-base-simple-hover: #383438;--tt-base-generic-accent: #433f43;--tt-base-generic-accent-disabled: #312d31;--tt-base-selection: #4e3d2e;--tt-base-brand: #ffbe5c;--tt-base-brand-hover: #ffcb7d;--tt-line-generic: #433f43;--tt-line-generic-hover: #595559;--tt-line-generic-active: #646164;--tt-line-generic-accent: #433f43;--tt-line-brand: #ffc56c;--tt-line-danger: #e9033a;--tt-screen-bg: #383438;--tt-card-bg: #221d22;--tt-card-border: #3d353b;--tt-divider: #3a3238;--tt-font-body1: 13px;--tt-font-body2: 15px;--tt-height-s: 24px;--tt-height-m: 28px;--tt-height-l: 36px;--tt-height-xl: 44px;--tt-field-pad-y: 3px;--tt-field-pad-x: 12px;--tt-field-line-height: calc(var(--tt-height-l) - 8px);--tt-radius-s: 5px;--tt-radius-m: 6px;--tt-radius-l: 8px;--tt-radius-xl: 10px}:root[data-theme=graphite_glass_v1]{--tt-screen-bg: rgba(23, 25, 29, .46);--tt-card-bg: rgba(34, 36, 40, .56);--tt-card-border: rgba(255, 255, 255, .06);--tt-divider: rgba(255, 255, 255, .051);--tt-base-selection: rgba(66, 68, 73, .62);--tt-base-generic: rgba(44, 46, 50, .58);--tt-base-generic-hover: rgba(53, 56, 61, .66);--tt-base-simple-hover: rgba(44, 46, 50, .45);--tt-base-generic-accent: rgba(52, 55, 60, .62);--tt-base-generic-accent-disabled: rgba(35, 37, 41, .44);--tt-line-generic: rgba(255, 255, 255, .095);--tt-line-generic-hover: rgba(255, 255, 255, .138);--tt-line-generic-active: rgba(255, 255, 255, .181);--tt-line-generic-accent: rgba(255, 255, 255, .095);--tt-text-primary: rgba(239, 241, 245, .92);--tt-text-secondary: rgba(196, 199, 206, .7);--tt-text-hint: rgba(165, 169, 178, .62)}:root[data-theme=slate_v3_dev]{--tt-screen-bg: rgba(40, 40, 42, 1);--tt-card-bg: rgba(36, 36, 38, 1);--tt-card-border: rgba(57, 57, 60, 1);--tt-divider: rgba(57, 57, 60, 1);--tt-base-selection: rgba(61, 61, 65, 1);--tt-base-generic: rgba(53, 53, 57, 1);--tt-base-generic-hover: rgba(62, 62, 67, 1);--tt-base-simple-hover: rgba(53, 53, 57, .66);--tt-base-generic-accent: rgba(62, 62, 67, 1);--tt-base-generic-accent-disabled: rgba(47, 47, 50, 1);--tt-line-generic: rgba(57, 57, 60, 1);--tt-line-generic-hover: rgba(70, 70, 74, 1);--tt-line-generic-active: rgba(85, 85, 90, 1);--tt-line-generic-accent: rgba(57, 57, 60, 1);--tt-text-secondary: #b9b9bb;--tt-text-hint: #949497}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--tt-text-primary);background-color:var(--tt-screen-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--tt-screen-bg);color:var(--tt-text-primary);overflow:hidden}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}#root{min-height:100dvh}.page-wrap{min-height:100dvh;height:100dvh;width:100%;max-width:100%;padding:0;background:var(--tt-screen-bg);overflow-x:hidden}.app-shell{width:100%;max-width:100%;min-width:0;height:100%;margin:0 auto;display:grid;background:var(--tt-screen-bg);border:0;border-radius:0;overflow:hidden;gap:0}.app-shell--fixed{grid-template-columns:260px minmax(0,1fr)}.nav-card{position:static;border:0;border-right:1px solid var(--tt-divider);border-radius:0;background:var(--tt-card-bg);min-height:100%;display:flex;flex-direction:column;gap:.8rem}.content-pane{display:grid;gap:.9rem;width:100%;max-width:100%;min-width:0;padding:.9rem;overflow-x:hidden}.content-pane--fixed{grid-template-rows:auto 1fr auto;height:100%;min-height:0;padding:0;gap:0}.section-header-card{padding-block:.72rem;background:var(--tt-card-bg)}.section-header-card h1{margin:0;font-size:1.3rem;letter-spacing:-.01em}.app-subtitle{margin-bottom:.85rem}.nav-branding{border-bottom:1px solid var(--tt-divider);padding-bottom:.72rem;display:flex;justify-content:center}.nav-logo{display:block;max-width:180px;width:100%;height:auto}.content-topbar{display:flex;align-items:center;justify-content:space-between;gap:.9rem;min-width:0}.mobile-menu-toggle,.mobile-nav-backdrop{display:none}.content-topbar--fixed{border-radius:0;border-left:0;border-right:0}.topbar-user-group{display:inline-flex;align-items:center;gap:.85rem;overflow:visible}.topbar-user{display:inline-flex;align-items:center;border:1px solid var(--tt-line-generic);border-radius:999px;padding:4px 12px;background:var(--tt-card-bg)}.topbar-avatar{width:28px;height:28px;border-radius:999px;object-fit:cover;border:1px solid var(--tt-line-generic);background:var(--tt-card-bg);transform:scale(1.4);transform-origin:center}.topbar-avatar--fallback{display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;color:var(--tt-text-secondary);font-weight:600}.card{width:100%;background:var(--tt-card-bg);border:1px solid var(--tt-card-border);border-radius:14px;padding:.95rem;box-shadow:none}*{scrollbar-width:thin;scrollbar-color:rgba(208,212,220,.45) rgba(255,255,255,.06)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}*::-webkit-scrollbar-thumb{background:rgba(208,212,220,.45);border-radius:999px;border:1px solid rgba(255,255,255,.08)}*::-webkit-scrollbar-thumb:hover{background:rgba(222,226,234,.6)}.card.nav-card,.card.content-topbar--fixed,.card.content-bottombar--fixed{border-radius:0}.card.content-topbar--fixed{border-left:0;border-right:0}.auth-page{display:grid;place-items:center;padding:1rem;background-color:#121722;background-image:linear-gradient(180deg,rgba(7,10,14,.24),rgba(7,10,14,.32)),url(/auth-bg.webp);background-position:center;background-size:cover;background-repeat:no-repeat;position:relative}.auth-top-links{position:fixed;top:1.45rem;right:1.6rem;display:inline-flex;gap:1rem;z-index:30}.auth-top-link{display:inline-flex;align-items:center;gap:.5rem;min-height:26px;border:0;border-radius:0;padding:0;background:transparent;color:rgba(214,219,226,.88);text-decoration:none;font-size:.91rem;font-weight:500;line-height:1;transition:color .14s ease;cursor:pointer}.auth-top-link:hover{color:rgba(236,239,244,.95)}.auth-top-link:disabled{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:rgba(214,219,226,.62)}button.auth-top-link:hover:enabled,button.auth-top-link:active:enabled,button.auth-top-link:focus-visible,a.auth-top-link:hover,a.auth-top-link:active,a.auth-top-link:focus-visible{background:transparent!important;border-color:transparent!important;box-shadow:none!important;outline:none}.auth-top-link svg{opacity:.95}.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:.9rem}.auth-shell--compact{width:min(396px,100%);grid-template-columns:1fr;justify-items:center;gap:.38rem;transform:none}.auth-brand-card{display:grid;align-content:start;gap:.8rem;background:var(--tt-card-bg)}.auth-brand-card h1{margin:0;font-size:1.45rem}.auth-brand-meta{margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.45rem}.auth-brand-meta span{border:1px solid var(--tt-line-generic);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;color:var(--tt-text-secondary)}.auth-card{width:100%;display:grid;gap:.6rem}.auth-card--compact{width:100%;padding:.95rem .86rem .84rem;border-radius:12px;border:1px solid rgba(255,255,255,.19);background:rgba(125,134,145,.18);backdrop-filter:blur(6px) saturate(110%);-webkit-backdrop-filter:blur(6px) saturate(110%)}.auth-header{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;border-bottom:1px solid var(--tt-divider);padding-bottom:.9rem}.auth-header--compact{grid-template-columns:1fr;gap:.35rem}.auth-logo{width:88px;height:auto}.auth-logo--top{width:min(340px,76vw);opacity:.95}.auth-logo--auth-card{width:142px;opacity:.98;justify-self:center;margin-bottom:.1rem}.auth-form{gap:.72rem;margin-bottom:.2rem}.auth-form label{margin-top:.1rem}.auth-form--line{gap:.48rem;margin-bottom:0}.auth-form--register{gap:.44rem}.auth-form--register .auth-line-field{padding:.18rem 0 .24rem}.auth-form--register .auth-password-hint{margin-top:-.08rem;margin-bottom:.04rem;font-size:.82rem;color:rgba(204,209,216,.72)}.auth-form--register .auth-remember-row--legal{gap:.44rem;margin-top:.08rem;font-size:.82rem;line-height:1.28;align-items:flex-start;white-space:normal}.auth-form--register .auth-remember-row--legal span{display:block}.auth-form--register .auth-remember-row--legal input[type=checkbox]{width:12px;height:12px;flex:0 0 12px;border-radius:1.8px;margin-top:.08rem}.auth-form--register .auth-remember-row--legal input[type=checkbox]:after{width:4px;height:2px;border-right:1.55px solid rgba(10,12,16,.92);border-bottom:1.55px solid rgba(10,12,16,.92)}.auth-form--register .auth-submit-row{margin-top:.16rem}.auth-line-field{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:.46rem;border-bottom:1px solid rgba(215,219,226,.52);padding:.2rem 0 .28rem}.auth-line-field.has-error,.auth-line-field.is-error{border-bottom-color:rgba(255,101,132,.72)}.auth-line-icon{color:rgba(214,218,224,.84);display:inline-flex;align-items:center;justify-content:center}.auth-line-input{width:100%;min-height:34px;height:34px;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;color:rgba(240,242,246,.9);font-size:.94rem;line-height:1.25;box-shadow:none!important}.auth-line-input::placeholder{color:rgba(204,209,216,.72)}.auth-line-input:focus{outline:none!important;border:0!important;box-shadow:none!important}.auth-password-hint{margin-top:-.18rem;margin-bottom:0}.auth-remember-row{display:inline-flex;align-items:center;gap:.48rem;margin:.2rem 0 .02rem;color:rgba(208,212,219,.74);font-size:.86rem}.auth-form--line .auth-remember-row input[type=checkbox]{appearance:none;-webkit-appearance:none;width:12px;height:12px;min-height:12px;max-height:12px;padding:0;margin:0;border:1px solid rgba(210,215,223,.62);border-radius:1.8px;background:transparent;display:inline-grid;place-content:center;flex:0 0 12px;box-sizing:border-box;align-self:center;box-shadow:none}.auth-form--line .auth-remember-row input[type=checkbox]:after{content:"";width:4px;height:2px;border-right:1.55px solid rgba(10,12,16,.92);border-bottom:1.55px solid rgba(10,12,16,.92);transform:scaleX(-1) rotate(45deg);opacity:0}.auth-form--line .auth-remember-row input[type=checkbox]:checked{background:rgba(245,194,106,.92);border-color:rgba(245,194,106,.92)}.auth-form--line .auth-remember-row input[type=checkbox]:checked:after{opacity:1}.auth-inline-link{border:0;background:transparent;padding:0;margin:0;color:var(--tt-text-secondary);font:inherit;text-decoration:none;cursor:pointer}.auth-inline-link:hover{color:var(--tt-text-brand)}.auth-forgot-link{margin:0;font-size:.82rem;line-height:1.2;white-space:nowrap;color:rgba(206,211,218,.74);text-decoration:none}.auth-forgot-link:hover{color:rgba(228,232,238,.84)}.auth-info{margin:-.05rem 0 0}.auth-submit-row{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.02rem}.auth-submit-row--login{width:100%;justify-content:space-between;align-items:center;gap:.72rem;margin-top:.12rem}.auth-submit-row--register{justify-content:space-between;align-items:center}.auth-submit-button{min-width:132px;height:38px;padding:0 .92rem;font-size:.82rem}.auth-register-link{border:0;background:transparent;padding:0;margin:0;color:rgba(206,211,218,.74);font:inherit;font-size:.82rem;line-height:1.2;text-decoration:none;cursor:pointer}.auth-register-link:hover{color:rgba(228,232,238,.84)}.auth-register-link:disabled{opacity:.55;cursor:default}.dashboard-layout{display:grid;gap:.9rem}.dashboard-layout--split{grid-template-columns:repeat(2,minmax(0,1fr));height:100%;min-height:0}.dashboard-layout--split>.card{max-height:100%;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(208,212,220,.45) rgba(255,255,255,.06)}.dashboard-layout--split>.card::-webkit-scrollbar{width:8px;height:8px}.dashboard-layout--split>.card::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}.dashboard-layout--split>.card::-webkit-scrollbar-thumb{background:rgba(208,212,220,.45);border-radius:999px;border:1px solid rgba(255,255,255,.08)}.dashboard-layout--split>.card::-webkit-scrollbar-thumb:hover{background:rgba(222,226,234,.6)}.dashboard-layout--single{grid-template-columns:minmax(0,1fr);height:100%;min-height:0}.dashboard-layout--calc{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));width:100%}.dashboard-layout--home{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"ammo weather notes";width:100%;height:auto;min-height:0;grid-auto-rows:auto}.content-scroll{padding:.9rem;width:100%;max-width:100%;overflow:hidden;height:100%;min-height:0;background:var(--tt-screen-bg)}.content-scroll--scrollable{overflow:auto}.content-bottombar{display:flex;align-items:center;justify-content:center;gap:.75rem}.content-bottombar--fixed{border-radius:0;border-left:0;border-right:0}.dashboard-card{width:100%}.section-tabs{display:flex;flex-direction:column;gap:0;margin-bottom:.85rem}.tab-button{height:var(--tt-height-l);text-align:left;background:transparent;color:var(--tt-text-primary);border-radius:0;border:0;border-bottom:1px solid var(--tt-divider);padding:.45rem .85rem;font-size:var(--tt-font-body1);font-weight:400;position:relative;transition:background-color .12s ease,color .12s ease}.tab-button--sub{padding-left:1.4rem}.tab-group-label{padding:.55rem .85rem .32rem;color:var(--tt-text-secondary);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--tt-divider)}.tab-button[aria-selected=true],.tab-button-active{background:var(--tt-card-bg);color:var(--tt-text-brand)}.tab-button[aria-selected=true]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tt-text-brand)}.tab-button:hover:enabled{background:var(--tt-card-bg)}.nav-footer{margin-top:auto;display:grid;gap:0;border-top:1px solid var(--tt-divider)}.nav-footer-button{width:100%;background:transparent;color:var(--tt-text-primary);border:0;border-radius:0;text-align:left;padding:.55rem .85rem}.nav-footer-button+.nav-footer-button{border-top:1px solid var(--tt-divider)}.nav-footer-button:hover:enabled{background:var(--tt-card-bg)}.nav-footer-button:active:enabled{background:var(--tt-card-bg);color:var(--tt-text-brand)}.card h1{margin:0 0 .25rem;font-size:1.45rem;letter-spacing:-.01em}.card h2{margin:0 0 .7rem;font-size:1.05rem;letter-spacing:-.01em}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.72rem}.card-title-row h2{margin:0;line-height:1.1;padding-top:.04rem}.card h3{margin:.95rem 0 .72rem;font-size:.95rem}.muted{margin:0 0 1rem;color:var(--tt-text-secondary)}.form,.session-form,.catalog-form{display:grid;gap:.58rem;margin-bottom:.95rem}.form label,.session-form label,.catalog-form label{text-align:left;font-size:var(--tt-font-body1);color:var(--tt-text-secondary);font-weight:400}.form input,.session-form input,.session-form textarea,.catalog-form input,.session-form select,.catalog-form select,.edit-grid input,.edit-grid select,.inline-input{width:100%;height:var(--tt-height-l);min-height:var(--tt-height-l);box-sizing:border-box;border:1px solid var(--tt-line-generic);border-radius:var(--tt-radius-l);padding:var(--tt-field-pad-y) var(--tt-field-pad-x);font-size:var(--tt-font-body1);font-family:inherit;font-weight:400;line-height:var(--tt-field-line-height);background:transparent;color:var(--tt-text-primary)}select:not([multiple]):not([size]){-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23d4d0d3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px 8px;padding-right:36px}.form input::placeholder,.session-form input::placeholder,.session-form textarea::placeholder,.catalog-form input::placeholder,.inline-input::placeholder{color:var(--tt-text-hint)}.form input:focus,.session-form input:focus,.session-form textarea:focus,.catalog-form input:focus,.session-form select:focus,.catalog-form select:focus,.edit-grid input:focus,.edit-grid select:focus,.inline-input:focus{outline:none;border-color:var(--tt-line-generic-active);box-shadow:none}.form input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):hover:not(:disabled),.session-form input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):hover:not(:disabled),.session-form textarea:hover:not(:disabled),.catalog-form input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):hover:not(:disabled),.session-form select:hover:not(:disabled),.catalog-form select:hover:not(:disabled),.edit-grid input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):hover:not(:disabled),.edit-grid select:hover:not(:disabled),.inline-input:hover:not(:disabled),.auth-card input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):hover:not(:disabled),.auth-card select:hover:not(:disabled),.auth-card textarea:hover:not(:disabled){background:var(--tt-base-simple-hover);border-color:var(--tt-line-generic-hover)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-text-fill-color:var(--tt-text-primary);caret-color:var(--tt-text-primary);-webkit-box-shadow:0 0 0px 1000px var(--tt-bg-app) inset;box-shadow:0 0 0 1000px var(--tt-bg-app) inset;border:1px solid var(--tt-line-generic);transition:background-color 600000s 0s,color 600000s 0s}.session-form textarea{min-height:112px;height:auto;padding-top:8px;padding-bottom:8px;resize:vertical}.settings-weather-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.settings-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;align-items:start}.settings-column{display:flex;flex-direction:column;gap:.9rem;min-width:0}.settings-column>.card{height:fit-content;min-height:0}.calculator-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;align-items:start;width:100%}.calculator-column{display:flex;flex-direction:column;gap:.9rem;min-width:0}.settings-section-description{margin-top:-.1rem;margin-bottom:.7rem}.settings-form-block{margin-bottom:0}.settings-caliber-colors{margin-top:.5rem;display:grid;gap:.5rem}.settings-caliber-colors h3{margin:.3rem 0 0}.settings-caliber-list{display:grid;gap:.45rem}.settings-caliber-row{display:grid;grid-template-columns:minmax(0,1fr) 48px auto;gap:.5rem;align-items:center}.settings-caliber-color-input{width:48px;height:var(--tt-height-l);border:1px solid var(--tt-line-generic);border-radius:var(--tt-radius-l);padding:3px;background:transparent;cursor:pointer}.settings-caliber-color-input:focus{outline:none;border-color:var(--tt-line-generic-active)}.settings-caliber-add-button{justify-self:start}.settings-ammo-signal-list{display:grid;gap:.55rem}.settings-ammo-signal-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;grid-template-rows:auto var(--tt-height-l);column-gap:.5rem;row-gap:.32rem;align-items:start}.settings-ammo-signal-input-wrap{display:contents}.settings-ammo-signal-input-wrap label{margin:0;color:var(--tt-text-secondary);grid-column:1 / 2;grid-row:1}.settings-ammo-signal-input[type=number]{-moz-appearance:textfield}.settings-ammo-signal-input[type=number]::-webkit-outer-spin-button,.settings-ammo-signal-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-ammo-signal-input{grid-column:1 / 2;grid-row:2}.settings-ammo-signal-color-readonly{grid-column:2 / 3;grid-row:2;pointer-events:none;cursor:default;opacity:1}.settings-weather-selected{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.4rem 0}.settings-weather-selected-list{display:grid;gap:.2rem}.settings-weather-chip{display:inline-flex;align-items:center;min-height:var(--tt-height-l);border:1px solid var(--tt-line-generic);border-radius:999px;padding:0 .75rem;color:var(--tt-text-primary);background:var(--tt-card-bg)}.settings-weather-chip--active{border-color:var(--tt-line-brand);color:var(--tt-text-brand)}.settings-weather-results{display:grid;gap:.45rem}.settings-weather-results--dropdown{border:1px solid var(--tt-card-border);border-radius:10px;padding:.35rem;max-height:210px;overflow:auto;background:var(--tt-card-bg)}.settings-weather-results .secondary-button{justify-self:stretch;text-align:left}.settings-avatar-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.settings-avatar-input{display:none}.settings-avatar-upload{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tt-height-l);border:1px solid var(--tt-line-generic);border-radius:var(--tt-radius-l);background:transparent;color:var(--tt-text-primary);padding:3px 12px;cursor:pointer;user-select:none}.settings-avatar-upload:hover{background:var(--tt-base-generic);border-color:var(--tt-line-generic)}.settings-avatar-preview{width:42px;height:42px;border-radius:999px;object-fit:cover;border:1px solid var(--tt-line-generic);background:var(--tt-card-bg)}.settings-avatar-empty{width:42px;height:42px;border-radius:999px;border:1px solid var(--tt-line-generic);display:inline-flex;align-items:center;justify-content:center;font-size:.64rem;color:var(--tt-text-secondary);background:var(--tt-card-bg)}.settings-cloud-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.55rem}.settings-cloud-actions--danger{justify-content:flex-end}.settings-password-actions{display:flex;justify-content:flex-end;margin-top:.35rem}.tt-field--default:hover{background:var(--tt-base-simple-hover);border-color:var(--tt-line-generic-hover)}.tt-field--default:focus-visible,.tt-field--active:focus-visible,.tt-field--error:focus-visible{outline:none;border-color:var(--tt-line-generic-active)}.tt-field--error:focus,.tt-field--error:focus-visible{border-color:var(--tt-line-danger)}button{border:1px solid var(--tt-base-generic);border-radius:var(--tt-radius-l);background:var(--tt-base-generic);color:var(--tt-text-primary);height:var(--tt-height-l);padding:3px 12px;font-size:var(--tt-font-body1);font-family:inherit;font-weight:400;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}button:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(255,197,108,.35)}button:hover:enabled{background:var(--tt-base-generic-hover);border-color:var(--tt-base-generic-hover)}button:active:enabled{background:var(--tt-base-selection);border-color:var(--tt-base-selection);color:var(--tt-text-brand-heavy)}button:disabled{background:var(--tt-base-generic-accent-disabled);border-color:var(--tt-base-generic-accent-disabled);color:var(--tt-text-hint);opacity:1;cursor:not-allowed}.tt-btn--normal{background:var(--tt-base-generic);border-color:var(--tt-base-generic);color:var(--tt-text-primary)}.tt-btn--normal:hover:enabled{background:var(--tt-base-generic-hover);border-color:var(--tt-base-generic-hover)}.tt-btn--normal:active:enabled{background:var(--tt-base-selection);border-color:var(--tt-base-selection);color:var(--tt-text-brand-heavy)}.tt-btn--action,.primary-button,.logout-button{background:var(--tt-base-brand);border-color:var(--tt-base-brand);color:var(--tt-text-brand-contrast)}.tt-btn--action:hover:enabled,.primary-button:hover:enabled,.logout-button:hover:enabled{background:var(--tt-base-brand-hover);border-color:var(--tt-base-brand-hover)}.tt-btn--action:active:enabled,.primary-button:active:enabled,.logout-button:active:enabled{background:var(--tt-base-selection);border-color:var(--tt-base-selection);color:var(--tt-text-brand-heavy)}.tt-btn--outline,.secondary-button{background:transparent;border-color:var(--tt-line-generic);color:var(--tt-text-primary)}.tt-btn--outline:hover:enabled,.secondary-button:hover:enabled{background:var(--tt-base-generic);border-color:var(--tt-line-generic)}.tt-btn--outlined-action,.link-button{background:transparent;border-color:var(--tt-line-brand);color:var(--tt-text-brand)}.tt-btn--outlined-action:hover:enabled,.link-button:hover:enabled{background:var(--tt-base-generic);border-color:var(--tt-line-brand)}.tt-btn--flat{background:transparent;border-color:transparent;color:var(--tt-text-primary)}.tt-btn--danger,.danger-button{background:transparent;border:1px solid var(--tt-line-danger);color:var(--tt-text-danger)}.tt-field--default{background:transparent;border-color:var(--tt-line-generic);color:var(--tt-text-primary)}.tt-field--hover{background:var(--tt-base-simple-hover);border-color:var(--tt-line-generic-hover)}.tt-field--active{background:transparent;border-color:var(--tt-line-generic-active)}.tt-field--disabled{background:var(--tt-base-generic-accent-disabled);border-color:var(--tt-base-generic-accent-disabled);color:var(--tt-text-hint)}.tt-field--error{background:transparent;border-color:var(--tt-line-danger);color:var(--tt-text-primary)}.tt-field--error::placeholder{color:var(--tt-text-hint)}.tt-field--error[type=number]{color:var(--tt-text-primary)}.tt-field--error::-webkit-input-placeholder{color:var(--tt-text-hint)}.link-button{margin-top:.75rem;width:100%;text-decoration:none}.error{margin:0;color:var(--tt-text-danger);font-size:var(--tt-font-body1)}.success-message{margin:0;color:#58d27d;font-size:var(--tt-font-body1)}.admin-users-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem}.admin-caption{margin-bottom:.8rem}.admin-search-input{min-height:var(--tt-height-l);border:1px solid var(--tt-line-generic);border-radius:var(--tt-radius-l);background:transparent;color:var(--tt-text-primary);padding:3px 12px;min-width:16rem}.admin-search-input:focus{outline:none;border-color:var(--tt-line-generic-active)}.admin-users-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--tt-card-border);border-radius:var(--tt-radius-l);background:var(--tt-base-generic)}.admin-users-table{width:100%;border-collapse:collapse;min-width:980px}.admin-users-table th,.admin-users-table td{padding:.56rem .65rem;border-bottom:1px solid var(--tt-card-border);text-align:left;vertical-align:middle;font-size:var(--tt-font-body2)}.admin-users-table thead th{color:var(--tt-text-secondary);font-weight:600}.admin-users-table tbody tr:last-child td{border-bottom:none}.admin-user-avatar{width:32px;height:32px;border-radius:999px;object-fit:cover;border:1px solid var(--tt-line-generic);background:var(--tt-card-bg)}.admin-user-avatar--fallback{display:inline-block}.admin-role-badge{display:inline-flex;align-items:center;border:1px solid var(--tt-line-generic);border-radius:999px;padding:1px 10px;font-size:.78rem}.admin-role-badge--administrator{color:#ffbd60;border-color:#ffbd60}.admin-role-badge--tester{color:#80b8ff;border-color:#80b8ff}.admin-role-badge--blocked{color:#ff4f7a;border-color:#ff4f7a}.admin-role-badge--user{color:var(--tt-text-primary)}.admin-icon-button{min-width:46px;width:46px;height:40px;padding:0;border-radius:999px;font-size:1.2rem;line-height:1}.admin-status-line{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.presence-badge{display:inline-flex;align-items:center;border:1px solid var(--tt-line-generic);border-radius:999px;padding:1px 8px;font-size:.78rem;color:var(--tt-text-secondary)}.presence-badge.is-online{border-color:#58d27d;color:#58d27d}.admin-user-details-card{margin-top:0}.admin-details-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.admin-details-block{border:1px solid var(--tt-card-border);border-radius:var(--tt-radius-l);padding:.7rem;background:var(--tt-base-generic);display:grid;gap:.55rem}.admin-details-block h3{margin:0}.admin-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.admin-settings-grid label{display:grid;gap:.35rem;color:var(--tt-text-secondary)}.admin-settings-grid select,.admin-settings-grid input,.admin-default-limit-row input{width:100%;height:var(--tt-height-l);box-sizing:border-box;border:1px solid var(--tt-line-generic);border-radius:var(--tt-radius-l);padding:3px 12px;font-size:var(--tt-font-body1);font-family:inherit;background:transparent;color:var(--tt-text-primary)}.admin-settings-grid select:focus,.admin-settings-grid input:focus,.admin-default-limit-row input:focus{outline:none;border-color:var(--tt-line-generic-active);box-shadow:none}.admin-default-limit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem}.admin-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem .8rem}.admin-usage-grid p{margin:0}.session-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.session-list-meta{display:grid;gap:.4rem;margin-bottom:.8rem}.session-list-item{border:1px solid var(--tt-card-border);border-radius:var(--tt-radius-l);padding:.72rem;background:var(--tt-base-generic);display:grid;gap:.32rem}.list-row-button{all:unset;display:block;width:100%;height:auto;min-height:0;box-sizing:border-box;text-align:left;cursor:pointer;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit}button.list-row-button:hover:enabled,button.list-row-button:active:enabled,button.list-row-button:focus-visible{background:transparent!important;border-color:transparent!important;color:inherit;box-shadow:none!important}.session-list-item:hover{border-color:var(--tt-line-generic)}.selected-item{border-color:var(--tt-line-brand);background:var(--tt-base-selection)}.session-title{margin:0 0 .2rem;font-size:var(--tt-font-body2);font-weight:400}.session-meta{margin:0;color:var(--tt-text-secondary);font-size:var(--tt-font-body1)}.app-trademark{text-align:center;letter-spacing:.04em;color:var(--tt-text-hint)}.guide-sections{margin-top:.7rem;display:grid;gap:.65rem}.guide-section{border:1px solid var(--tt-card-border);border-radius:var(--tt-radius-l);padding:.7rem;background:var(--tt-base-generic)}.guide-sections+.guide-section{margin-top:.65rem}.guide-section h3{margin:0 0 .5rem}.guide-goal{margin:0 0 .45rem;color:var(--tt-text-secondary)}.guide-section ol{margin:0;padding-left:1.1rem;display:grid;gap:.28rem}.guide-tips{margin-top:.5rem;border-top:1px solid var(--tt-card-border);padding-top:.45rem}.guide-tips p{margin:0 0 .3rem}.guide-tips ul{margin:0;padding-left:1.1rem;display:grid;gap:.22rem}.ammo-qty{font-weight:500}.ammo-qty--green{color:#64ff6c}.ammo-qty--orange{color:#ffbe5c}.ammo-qty--red{color:#e5325d}.ammo-details-groups{display:grid;gap:.72rem;margin-top:.72rem}.ammo-details-groups--preview{margin-top:0}.ammo-split{display:grid;gap:.9rem}.ammo-list-pane{display:grid;gap:.6rem}.ammo-detail-pane{display:grid;gap:.8rem;min-width:0}.ammo-list-item{cursor:pointer;border:0;border-bottom:1px solid var(--tt-divider);border-radius:0;background:transparent;padding:.65rem .85rem}.ammo-list-item.is-selected{background:var(--tt-base-simple-hover);border-bottom-color:var(--tt-line-brand)}.ammo-list-item:hover{background:var(--tt-base-simple-hover)}.ammo-filters-panel{position:relative;width:100%;background:transparent;border:0;border-radius:0;padding:0;display:grid;gap:1rem}.ammo-filters-panel--inline{padding:.4rem 0}.ammo-filters-grid{display:grid;gap:.85rem}.ammo-filter-row{display:grid;grid-template-columns:1fr minmax(140px,200px);gap:.85rem;align-items:center}.ammo-filter-label{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--tt-font-body1);color:var(--tt-text-primary)}.ammo-filter-row input[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px;height:16px;border:1px solid var(--tt-line-generic);border-radius:4px;background:var(--tt-card-bg);display:inline-grid;place-content:center}.ammo-filter-row input[type=checkbox]:after{content:"";width:7px;height:4px;border-right:2px solid var(--tt-card-bg);border-bottom:2px solid var(--tt-card-bg);transform:scaleX(-1) rotate(45deg);opacity:0}.ammo-filter-row input[type=checkbox]:checked{background:var(--tt-text-brand);border-color:var(--tt-text-brand)}.ammo-filter-row input[type=checkbox]:checked:after{opacity:1}.ammo-filter-row select{width:100%;height:var(--tt-height-l);min-height:var(--tt-height-l);border-radius:var(--tt-radius-l);border:1px solid var(--tt-line-generic);background:var(--tt-card-bg);color:var(--tt-text-primary);padding:3px 36px 3px 12px;font-size:var(--tt-font-body1);line-height:calc(var(--tt-height-l) - 8px);box-sizing:border-box}.ammo-filter-row select:focus,.ammo-filter-row select:focus-visible{outline:none;border-color:var(--tt-line-generic);box-shadow:none}.ammo-filter-row select:disabled{color:var(--tt-text-hint);border-color:var(--tt-line-generic);background:var(--tt-card-bg)}.tt-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,8,12,.68);display:flex;align-items:center;justify-content:center;z-index:40}.tt-modal{width:min(92vw,440px);border-radius:16px;border:1px solid var(--tt-card-border);background:var(--tt-card-bg);padding:1.1rem 1.1rem 1rem;display:grid;gap:.9rem;box-shadow:0 20px 45px rgba(0,0,0,.4)}.tt-modal--wide{width:min(94vw,980px);max-height:min(90vh,860px);overflow:auto}.desktop-session-create-modal{width:min(92vw,760px)}.tt-modal__header h3{margin:0;font-size:var(--tt-font-body1);font-weight:600;color:var(--tt-text-primary)}.tt-modal__body{color:var(--tt-text-secondary);font-size:var(--tt-font-body1);line-height:1.5}.tt-modal__actions{display:flex;justify-content:flex-end;gap:.5rem}.tt-modal .inline-input{margin-left:0;width:100%;display:block}.desktop-preview-shell{display:grid;gap:.72rem;width:100%;min-width:0;grid-column:1 / -1;align-content:start}.desktop-preview-block{border:1px solid var(--tt-card-border);border-radius:14px;background:var(--tt-card-bg);padding:.72rem;display:grid;gap:.72rem}.desktop-preview-params-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1rem;row-gap:.52rem}.desktop-preview-param{margin:0;display:flex;align-items:baseline;gap:.35rem;min-width:0;flex-wrap:wrap;color:var(--tt-text-primary);font-size:var(--tt-font-body1)}.desktop-preview-param-label{color:var(--tt-text-secondary);flex:0 0 auto}.desktop-preview-param>span:last-child{min-width:0;overflow-wrap:anywhere}.desktop-preview-chart-wrap{border:1px solid var(--tt-card-border);border-radius:12px;background:var(--tt-card-bg);min-height:290px;padding:.42rem;overflow-x:auto;overflow-y:hidden;display:flex;justify-content:flex-start}.desktop-preview-chart-wrap.is-empty{min-height:140px;align-items:flex-start;padding-top:.72rem}.desktop-preview-chart{width:auto;height:280px;display:block;flex:0 0 auto}.desktop-preview-axis{stroke:rgba(122,126,134,.34);stroke-width:1}.desktop-preview-grid-line{stroke:rgba(122,126,134,.16);stroke-width:.8;stroke-dasharray:4 6}.desktop-preview-grid-line--vertical{stroke:rgba(122,126,134,.1)}.desktop-preview-axis-label{fill:var(--tt-text-secondary);opacity:.68;font-size:11px;letter-spacing:.01em}.desktop-preview-axis-label--x{text-anchor:middle}.desktop-preview-axis-label--y{text-anchor:end}.desktop-preview-axis-label--title{opacity:.86;font-size:11.5px}.desktop-preview-legend{display:flex;flex-wrap:wrap;gap:.45rem}.desktop-preview-legend-item{display:inline-flex;align-items:center;gap:.35rem;height:34px;border:1px solid var(--tt-card-border);border-radius:10px;padding:0 .58rem;color:var(--tt-text-primary);font-size:var(--tt-font-body2);background:transparent;cursor:pointer}.desktop-preview-legend-item:hover{border-color:var(--tt-line-generic-hover);background:var(--tt-base-generic-hover)}.desktop-preview-legend-item.is-hidden{opacity:.5;text-decoration:line-through}.desktop-preview-legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.desktop-preview-series-line{opacity:.82;stroke-linecap:round;stroke-linejoin:round}.desktop-preview-point-hit{fill:transparent;cursor:pointer}.desktop-preview-point{transition:r .12s ease,stroke .12s ease,stroke-width .12s ease,filter .12s ease}.desktop-preview-point.is-selected{stroke:rgba(236,242,255,.9);stroke-width:1;filter:drop-shadow(0 0 3px rgba(255,255,255,.18))}.desktop-preview-table-wrap{max-height:min(44vh,430px);overflow:auto}.desktop-preview-table thead th{position:sticky;top:0;z-index:1;background:var(--tt-card-bg);color:var(--tt-text-brand);font-weight:400}.desktop-preview-table tbody tr{cursor:pointer}.desktop-preview-table tbody tr:hover td{background:var(--tt-base-generic-hover)}.desktop-preview-table tbody tr.is-selected td{background:var(--tt-base-selection);color:var(--tt-text-brand-heavy)}.desktop-preview-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--tt-text-brand)}.desktop-preview-shell .card-title-row h2{font-size:var(--tt-font-title3)}.desktop-session-preview-modal{max-height:min(92vh,900px);overflow:hidden}.desktop-session-preview-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.desktop-session-preview-body{display:grid;gap:.9rem;min-height:0}.desktop-session-preview-table-wrap{max-height:min(46vh,480px);overflow:auto;border:1px solid var(--tt-card-border);border-radius:var(--tt-radius-l);padding:.15rem .5rem .45rem;background:var(--tt-base-generic)}.desktop-session-preview-table thead th{position:sticky;top:0;z-index:1;background:var(--tt-base-generic)}@media(max-width:1200px){.desktop-preview-params-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.desktop-preview-params-grid{grid-template-columns:1fr}}.ammo-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ammo-row-main{display:grid;gap:.35rem;min-width:0}.ammo-row-sub{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.ammo-row-dot{color:var(--tt-text-hint)}.ammo-row-tags{display:flex;flex-direction:column;align-items:flex-end;gap:.28rem;flex-shrink:0}.ammo-tag{display:inline-flex;align-items:center;justify-content:center;width:96px;height:calc(var(--tt-height-l) - 6px);padding:0 .55rem;border-radius:var(--tt-radius-l);font-size:10.5px;font-weight:500;letter-spacing:.01em;border:1px solid var(--tt-line-generic);background:rgba(255,255,255,.03);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ammo-tag--origin{color:#9fd3c9}.ammo-tag--caliber{color:#dcbf90}.ammo-tag--caliber-9mm{color:#e3ae72}.ammo-tag--caliber-45{color:#d6b3c9}.ammo-tag--caliber-22{color:#d8aeca}.ammo-tag--caliber-556{color:#a8d3b3}.ammo-tag--caliber-762{color:#adc4df}.ammo-tag--caliber-neutral{color:#b8bcc3}.ammo-detail-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--tt-card-border);border-radius:14px;padding:.72rem;background:var(--tt-card-bg)}.ammo-details-group{border:1px solid var(--tt-card-border);border-radius:14px;background:var(--tt-card-bg);padding:.72rem;display:grid;gap:.72rem}.ammo-details-group h3,.ammo-details-group h4{margin:0;font-size:var(--tt-font-body1);font-weight:400;color:var(--tt-text-secondary);text-align:right;border-bottom:1px solid var(--tt-divider);padding-bottom:.42rem}.ammo-detail-grid{display:grid;gap:.52rem}.ammo-detail-row{margin:0;display:grid;gap:.28rem}.ammo-detail-label{color:var(--tt-text-secondary);font-size:var(--tt-font-body1)}.ammo-detail-value{color:var(--tt-text-primary);font-size:var(--tt-font-body1);font-family:inherit;font-weight:400;letter-spacing:0;display:flex;align-items:center;height:var(--tt-height-l);min-height:var(--tt-height-l);border:1px solid var(--tt-line-generic);border-radius:var(--tt-radius-l);background:transparent;padding:3px 12px;line-height:1.2;box-sizing:border-box;overflow-wrap:anywhere}.ammo-detail-value--multiline{display:block;height:auto;min-height:calc(var(--tt-height-l) * 1.5);white-space:pre-wrap;line-height:1.35;padding-top:8px;padding-bottom:8px}.ammo-transaction-table-wrap{width:100%;overflow-x:auto}.ammo-transaction-table{width:100%;border-collapse:collapse;font-size:var(--tt-font-body1)}.ammo-transaction-table th,.ammo-transaction-table td{text-align:left;padding:.45rem .4rem;border-bottom:1px solid var(--tt-divider);color:var(--tt-text-primary);white-space:nowrap}.ammo-transaction-table th{color:var(--tt-text-secondary);font-weight:500}.ammo-tx-type{display:inline-flex;align-items:center;justify-content:center;min-width:5.2rem;padding:.15rem .5rem;border-radius:999px;font-size:12px;border:1px solid transparent}.ammo-tx-type--in{color:#8fe6a2;background:rgba(40,110,66,.24);border-color:rgba(143,230,162,.35)}.ammo-tx-type--out{color:#ffb6c6;background:rgba(118,41,62,.24);border-color:rgba(255,182,198,.35)}.ammo-tx-qty{font-weight:600}.ammo-tx-qty--in{color:#8fe6a2}.ammo-tx-qty--out{color:#ffb6c6}.ammo-edit-groups{display:grid;gap:.72rem;margin-top:.42rem}.ammo-edit-row{display:grid;gap:.22rem}.ammo-edit-row label{color:var(--tt-text-secondary);font-size:var(--tt-font-body1)}.ammo-add-form{gap:.58rem}.ammo-add-form label{color:var(--tt-text-secondary);font-size:var(--tt-font-body1)}.ammo-add-form input,.ammo-add-form select,.ammo-add-form textarea,.ammo-edit-row input,.ammo-edit-row select,.ammo-edit-row textarea{width:100%;height:var(--tt-height-l);min-height:var(--tt-height-l);border:1px solid var(--tt-line-generic);border-radius:var(--tt-radius-l);background:transparent;color:var(--tt-text-primary);font-size:var(--tt-font-body1);font-weight:400;line-height:var(--tt-field-line-height);padding:var(--tt-field-pad-y) var(--tt-field-pad-x);box-sizing:border-box}.ammo-add-form input:hover:not(:disabled),.ammo-add-form select:hover:not(:disabled),.ammo-add-form textarea:hover:not(:disabled),.ammo-edit-row input:hover:not(:disabled),.ammo-edit-row select:hover:not(:disabled),.ammo-edit-row textarea:hover:not(:disabled){background:var(--tt-base-simple-hover);border-color:var(--tt-line-generic-hover)}.ammo-add-form input.tt-field--error,.ammo-add-form select.tt-field--error,.ammo-add-form textarea.tt-field--error,.ammo-edit-row input.tt-field--error,.ammo-edit-row select.tt-field--error,.ammo-edit-row textarea.tt-field--error{border-color:var(--tt-line-danger);color:var(--tt-text-primary)}.ammo-edit-row input.tt-field--error{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5325d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 22 21H2z'/%3E%3Cpath d='M12 9v5'/%3E%3Ccircle cx='12' cy='17' r='1' fill='%23e5325d' stroke='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px 14px;padding-right:34px}.ammo-add-form input:focus,.ammo-add-form select:focus,.ammo-add-form textarea:focus,.ammo-edit-row input:focus,.ammo-edit-row select:focus,.ammo-edit-row textarea:focus{outline:none;border-color:var(--tt-line-generic-active);box-shadow:none}.ammo-add-form input.tt-field--error:focus,.ammo-add-form select.tt-field--error:focus,.ammo-add-form textarea.tt-field--error:focus,.ammo-edit-row input.tt-field--error:focus,.ammo-edit-row select.tt-field--error:focus,.ammo-edit-row textarea.tt-field--error:focus{border-color:var(--tt-line-danger);color:var(--tt-text-primary)}.ammo-add-form textarea,.ammo-edit-row textarea{min-height:112px;height:auto;line-height:1.4;padding-top:8px;padding-bottom:8px;resize:vertical}.ammo-add-form input[list],.ammo-edit-row input[list]{-webkit-appearance:auto;appearance:auto}.ammo-add-form input[list]::-webkit-calendar-picker-indicator,.ammo-edit-row input[list]::-webkit-calendar-picker-indicator,.ammo-add-form input[list]::-webkit-list-button,.ammo-edit-row input[list]::-webkit-list-button{opacity:0;width:0;pointer-events:none}.tt-date-field{position:relative}.tt-date-field-button{display:flex;align-items:center;width:100%;justify-content:flex-start;background:transparent;border-color:var(--tt-line-generic);color:var(--tt-text-primary);font-weight:400;padding:var(--tt-field-pad-y) var(--tt-field-pad-x)}.tt-date-field-button:hover:enabled{background:var(--tt-base-simple-hover);border-color:var(--tt-line-generic-hover)}.tt-date-pop{position:absolute;z-index:80;top:calc(100% + 6px);left:0;width:280px;background:var(--tt-card-bg);border:1px solid var(--tt-card-border);border-radius:10px;padding:10px}.tt-date-pop-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:8px;margin-bottom:8px}.tt-date-pop-head strong{text-align:center;font-size:var(--tt-font-body1)}.tt-date-pop-head .secondary-button{width:32px;min-width:32px;height:28px;padding:0}.tt-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.tt-date-dow{text-align:center;color:var(--tt-text-secondary);font-size:11px;padding:2px 0}.tt-date-day{height:28px;min-height:28px;border-radius:6px;border:1px solid transparent;background:transparent;padding:0}.tt-date-day.is-out{color:var(--tt-text-hint)}.tt-date-day.is-selected{background:var(--tt-base-brand);border-color:var(--tt-line-brand);color:var(--tt-text-brand-contrast)}.ammo-stepper-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;align-items:center}.tt-stepper-button{width:40px;min-width:40px;padding:0}.tt-counter-row{display:inline-flex;align-items:center;gap:.5rem}.tt-counter-value{min-width:2ch;text-align:center;color:var(--tt-text-primary);font-size:var(--tt-font-body2)}.tt-file-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tt-file-input{display:none;pointer-events:none}.tt-file-button{display:inline-flex;align-items:center;justify-content:center;height:var(--tt-height-l);padding:3px 12px;border:1px solid var(--tt-line-generic);border-radius:var(--tt-radius-l);background:transparent;color:var(--tt-text-primary);font-size:var(--tt-font-body1);font-family:inherit;white-space:nowrap;cursor:pointer}.tt-file-button:hover:enabled{background:var(--tt-base-generic);border-color:var(--tt-line-generic)}.tt-file-button:active:enabled{background:var(--tt-base-selection);border-color:var(--tt-base-selection);color:var(--tt-text-brand-heavy)}.tt-file-status{color:var(--tt-text-secondary);font-size:var(--tt-font-body1);min-width:0;word-break:break-word}.session-target-preview{width:auto;height:auto;max-width:100%;max-height:420px;object-fit:contain;border-radius:12px;border:1px solid var(--tt-line-generic);background:var(--tt-screen-bg);display:block;margin:0 auto}.session-target-preview--full{width:100%;max-height:none}.session-target-canvas{position:relative;width:fit-content;max-width:100%;margin:0 auto}.session-target-viewport{width:100%;max-height:430px;overflow:hidden;border-radius:14px;display:flex;justify-content:center}.session-target-canvas--interactive{cursor:crosshair}.session-target-canvas--interactive.is-active{outline:1px dashed #f5c979;outline-offset:3px;border-radius:14px}.session-target-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:auto}.session-overlay-outline{fill:none;stroke:#ff365d;stroke-width:.5;stroke-dasharray:1.9 1.1;pointer-events:none}.session-overlay-center{stroke:#ff2f52;stroke-width:.55;pointer-events:none}.session-overlay-center-dot{fill:rgba(255,47,82,.28);stroke:#ff2f52;stroke-width:.3;pointer-events:none}.session-overlay-hit{fill:rgba(234,47,99,.38);stroke:#ea2f63;stroke-width:.35;pointer-events:none}.session-overlay-hit-label{fill:#ffd84b;font-size:2.7px;dominant-baseline:middle;font-weight:700;pointer-events:none}.session-overlay-handle{fill:rgba(255,47,82,.2);stroke:#ff2f52;stroke-width:.45;cursor:grab;pointer-events:all}.session-overlay-handle-cross{stroke:#ff2f52;stroke-width:.4;pointer-events:none}.session-center-marker{position:absolute;width:22px;height:22px;border-radius:999px;border:1px solid #ff2f52;background:rgba(255,47,82,.22);transform:translate(-50%,-50%);pointer-events:none}.session-center-marker:before,.session-center-marker:after{content:"";position:absolute;left:50%;top:50%;background:#ff2f52;transform:translate(-50%,-50%)}.session-center-marker:before{width:11px;height:1.5px}.session-center-marker:after{width:1.5px;height:11px}.session-calibration-controls{display:grid;gap:.6rem;margin-bottom:.6rem}.session-calibration-group{display:grid;gap:.45rem}.session-calibration-title{color:var(--tt-text-secondary);font-size:var(--tt-font-body1)}.session-calibration-hint{color:var(--tt-text-secondary);font-size:var(--tt-font-body1);margin-bottom:.45rem}.session-stats-panel{display:grid;gap:.55rem}.session-stats-header{display:flex;justify-content:flex-end;color:var(--tt-text-secondary);font-size:calc(var(--tt-font-body1) + .04rem)}.session-stats-divider{height:1px;background:var(--tt-card-border);opacity:.9}.session-stats-label{margin:0;color:var(--tt-text-secondary);font-size:calc(var(--tt-font-body1) + .02rem)}.session-stats-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.8rem}.session-stats-value{margin:0;color:var(--tt-text-primary);font-size:calc(var(--tt-font-body1) + .02rem);text-align:right;white-space:nowrap}.stats-label{text-decoration:underline;text-underline-offset:2px}.stats-label--max{text-decoration-color:#d34df2}.stats-label--mean{text-decoration-color:#46df73}.stats-label--bbox{text-decoration-color:#4f9eff}.session-stats-target{margin-top:.7rem;border:1px solid var(--tt-card-border);border-radius:12px;background:var(--tt-base-generic);padding:.5rem}.session-stats-target svg{display:block;width:100%;height:auto;border-radius:10px}.target-paper{fill:#efefef}.target-ring{fill:none;stroke:#212121;stroke-width:.2}.target-ring--black{fill:#080808;stroke:#f0f0f0;stroke-width:.18}.target-ring--inner{fill:none;stroke:#f0f0f0;stroke-width:.2}.target-ring-score{fill:#131313;font-size:2.2px;font-weight:700;dominant-baseline:middle}.target-ring-score.is-light{fill:#f0f0f0}.target-overlay-max{stroke:#d34df2;stroke-width:.45}.target-overlay-mean{fill:none;stroke:#46df73;stroke-width:.38}.target-overlay-bbox{fill:none;stroke:#3da0ff;stroke-width:.36}.target-overlay-centroid{stroke:#46df73;stroke-width:.34}.target-shot-dot{fill:#ffd10d;stroke:var(--tt-card-bg);stroke-width:.25}.target-shot-label{fill:var(--tt-card-bg);font-size:1.9px;font-weight:700;dominant-baseline:middle}.session-zoom-controls{align-items:center;margin-bottom:.45rem}.session-zoom-value{min-width:3.5rem;text-align:center;color:var(--tt-text-secondary);font-size:var(--tt-font-body2)}.ammo-add-form .row-actions{margin-top:.55rem}.secondary-button,.danger-button{justify-self:auto}.compact-action-button{justify-self:start;height:var(--tt-height-l);padding:3px 12px}.row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.48rem;margin-top:.25rem}.detail-action-row,.ammo-filters-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.62rem}.card-title-row .row-actions{margin-top:0;align-self:flex-start}.edit-grid{display:grid;gap:.48rem}.stats-grid{display:grid;gap:.4rem;padding:.72rem;border:1px solid var(--tt-card-border);border-radius:var(--tt-radius-l);background:var(--tt-base-generic);margin-bottom:.72rem}.stats-grid p{margin:0}.calc-card h3{margin:0 0 .75rem;text-align:right;color:var(--tt-text-secondary);font-size:var(--tt-font-body1);font-weight:400}.calc-card-content{display:grid;gap:.65rem}.calc-result-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:var(--tt-font-body1)}.calc-result-row strong{color:var(--tt-text-primary);font-weight:500}.calc-field{display:grid;gap:.35rem}.calc-field span{color:var(--tt-text-secondary);font-size:var(--tt-font-body1)}.calc-field input{width:100%;height:var(--tt-height-l);min-height:var(--tt-height-l);border:1px solid var(--tt-line-generic);border-radius:var(--tt-radius-l);background:transparent;color:var(--tt-text-primary);font-size:var(--tt-font-body1);font-weight:400;line-height:calc(var(--tt-height-l) - 8px);padding:3px 12px;box-sizing:border-box}.calc-field input:focus{outline:none;border-color:var(--tt-line-generic-active);box-shadow:none}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.tt-field--error{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5325d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 22 21H2z'/%3E%3Cpath d='M12 9v5'/%3E%3Ccircle cx='12' cy='17' r='1' fill='%23e5325d' stroke='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px 14px;padding-right:34px}.calc-divider{border:0;border-top:1px solid var(--tt-card-border);margin:.2rem 0}.ammo-summary{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:1rem;align-items:center;overflow:visible}.ammo-pie{width:220px;height:220px}.ammo-pie-empty{width:160px;height:160px;border-radius:50%;border:1px dashed var(--tt-card-border);display:grid;place-content:center;color:var(--tt-text-secondary);font-size:var(--tt-font-body1)}.ammo-summary-list{display:grid;gap:.5rem;min-width:0}.ammo-summary-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--tt-card-border);border-radius:10px;padding:.4rem .6rem;background:var(--tt-base-generic);min-width:0}.ammo-summary-label{display:inline-flex;align-items:center;gap:.5rem;color:var(--tt-text-primary);font-size:var(--tt-font-body1)}.ammo-summary-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.ammo-summary-value{color:var(--tt-text-secondary);font-size:var(--tt-font-body1)}.ammo-summary-actions{margin-top:.85rem;display:flex;justify-content:center}.ammo-pie-label{fill:var(--tt-text-primary);font-size:var(--tt-font-body1);font-weight:500}.home-card{align-self:start;height:auto;min-width:0}.home-card--ammo{grid-area:ammo}.home-card--weather{grid-area:weather}.home-card--notes{grid-area:notes}.notes-card{align-self:stretch;min-width:0}.weather-card,.notes-card{height:100%;min-height:0;align-self:stretch;min-width:0}.weather-card .weather-grid{display:grid;gap:.55rem}.weather-card .weather-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem .6rem;border:1px solid var(--tt-card-border);border-radius:10px;background:var(--tt-base-generic)}.weather-card .weather-label{color:var(--tt-text-secondary);font-size:var(--tt-font-body1)}.weather-card{background:var(--tt-card-bg);border-color:var(--tt-card-border);overflow:hidden}.weather-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.weather-location-tabs{display:flex;align-items:center;gap:.4rem;margin:-.15rem 0 .75rem;overflow-x:auto}.weather-location-tab{min-height:var(--tt-height-l);border:1px solid var(--tt-line-generic);border-radius:999px;background:var(--tt-card-bg);color:var(--tt-text-primary);padding:0 .75rem;white-space:nowrap}.weather-location-tab--active{border-color:var(--tt-line-brand);color:var(--tt-text-brand)}.weather-location{margin:0;font-size:1.25rem;font-weight:600;color:var(--tt-text-primary)}.weather-date{margin:.2rem 0 0;color:var(--tt-text-secondary);font-size:var(--tt-font-body1);text-transform:capitalize}.weather-header-actions .session-meta{margin:0}.weather-body{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,1fr) minmax(170px,1fr);gap:1rem;align-items:center;min-width:0}.weather-main{display:grid;gap:.35rem}.weather-temp{display:inline-flex;align-items:center;gap:.5rem}.weather-temp-value{font-size:2.4rem;font-weight:600;color:var(--tt-text-primary);letter-spacing:-.02em}.weather-temp-unit{font-size:1.1rem;margin-left:.25rem;color:var(--tt-text-secondary)}.weather-feels{margin:0;color:var(--tt-text-secondary);font-size:var(--tt-font-body1)}.weather-desc{margin:0;color:var(--tt-text-hint);font-size:.85rem}.weather-art-wrap{display:flex;justify-content:center}.weather-art{width:min(170px,100%);height:auto}.weather-metrics{display:grid;gap:.2rem;min-width:0;grid-template-columns:1fr}.weather-metric{display:flex;align-items:center;gap:.6rem;padding:.25rem 0;border-radius:0;background:transparent;border:0;max-width:100%;box-sizing:border-box}.weather-metric>div{min-width:0}.weather-metric+.weather-metric{border-top:1px solid var(--tt-divider);padding-top:.55rem;margin-top:.2rem}.weather-metric-label{display:block;font-size:.7rem;color:var(--tt-text-hint);margin-bottom:.1rem}.weather-metric-value{font-size:.85rem;color:var(--tt-text-primary);word-break:break-word}.weather-icon{width:18px;height:18px;color:var(--tt-text-brand);flex-shrink:0}.weather-icon--temp{width:30px;height:30px;color:var(--tt-text-brand)}.weather-chart{margin-top:.5rem;border-radius:12px;border:1px solid var(--tt-card-border);background:var(--tt-card-bg);padding:.3rem .5rem}.weather-chart-stack{display:grid;gap:.6rem}.weather-chart-title{margin:0 0 .35rem;font-size:.85rem;color:var(--tt-text-secondary)}.weather-chart svg{width:100%;height:120px;display:block}.weather-chart-grid line{stroke:color-mix(in srgb,var(--tt-line-generic) 88%,transparent 12%);stroke-dasharray:6 6}.weather-chart-line{fill:none;stroke:#d39c7a;stroke-width:2}.weather-chart-line--wind{stroke:#7ac8be}.weather-chart-bars rect{fill:rgba(120,216,203,.6)}.weather-chart-wind-arrow{fill:#7ac8be;opacity:.9}.weather-chart-wind-label{fill:var(--tt-text-secondary);font-size:.72rem}.weather-chart-temp{fill:var(--tt-text-secondary);font-size:.82rem}.weather-chart-time{fill:var(--tt-text-hint);font-size:.76rem}.notes-card{display:flex;flex-direction:column;gap:.75rem;height:620px;max-height:620px;min-height:0;overflow:hidden;align-self:start}.notes-title-row{align-items:center}.notes-add-button{justify-self:end}.notes-form{display:grid;gap:.6rem}.notes-actions{display:flex;gap:.5rem;flex-wrap:wrap}.notes-textarea{width:100%;min-height:120px;border:1px solid var(--tt-line-generic);border-radius:var(--tt-radius-l);padding:.55rem .7rem;background:transparent;color:var(--tt-text-primary);font-size:calc(var(--tt-font-body2) + 1px);line-height:1.52;resize:vertical;font-family:inherit}.notes-textarea:focus{outline:none;border-color:var(--tt-line-generic-active)}.notes-list{display:grid;grid-auto-rows:max-content;align-content:start;gap:.5rem;flex:1 1 auto;min-height:0;overflow:auto;padding-right:.2rem}.notes-item{display:grid;gap:.45rem;border:1px solid var(--tt-card-border);border-radius:12px;padding:.6rem .7rem;background:var(--tt-base-generic);height:fit-content;align-self:start;width:100%;box-sizing:border-box}.notes-item--editing{border-color:var(--tt-line-generic-active)}.notes-item-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;align-items:flex-start}.notes-item-header .session-meta{font-size:calc(var(--tt-font-body2) + 1px)}.notes-item-text{display:grid;min-width:0}.notes-item-actions{display:flex;gap:.4rem;flex-shrink:0;flex-wrap:wrap;margin-left:auto}.notes-item-edit{display:grid;gap:.55rem}.notes-item-edit-actions{display:flex;gap:.45rem;justify-content:flex-end;flex-wrap:wrap}.notes-textarea--inline{min-height:96px}.notes-item-text p{margin:0;font-size:calc(var(--tt-font-body2) + 1px);white-space:pre-wrap;word-break:break-word;line-height:1.56}:root[data-theme=slate_v3_dev] .session-meta,:root[data-theme=slate_v3_dev] .ammo-detail-label,:root[data-theme=slate_v3_dev] .settings-row>label,:root[data-theme=slate_v3_dev] .settings-description,:root[data-theme=slate_v3_dev] .notes-item-header{color:var(--tt-text-hint)}:root[data-theme=slate_v3_dev] .page-wrap{background-image:linear-gradient(180deg,rgba(8,10,14,.58),rgba(8,10,14,.64)),url(/auth-bg.webp);background-position:center;background-size:cover;background-repeat:no-repeat}:root[data-theme=slate_v3_dev] .app-shell{background:transparent}:root[data-theme=graphite_glass_v1] .session-meta,:root[data-theme=graphite_glass_v1] .ammo-detail-label,:root[data-theme=graphite_glass_v1] .settings-row>label,:root[data-theme=graphite_glass_v1] .settings-description,:root[data-theme=graphite_glass_v1] .notes-item-header{color:var(--tt-text-hint)}:root[data-theme=graphite_glass_v1] .notes-item-text,:root[data-theme=graphite_glass_v1] .notes-item-text p{color:var(--tt-text-secondary)}:root[data-theme=graphite_glass_v1] .page-wrap{background-image:linear-gradient(180deg,rgba(8,10,14,.41),rgba(8,10,14,.51)),url(/auth-bg.webp);background-position:center;background-size:cover;background-repeat:no-repeat}:root[data-theme=graphite_glass_v1] .app-shell{background:transparent}:root[data-theme=graphite_glass_v1] .nav-card,:root[data-theme=graphite_glass_v1] .content-topbar--fixed,:root[data-theme=graphite_glass_v1] .content-bottombar--fixed{background:rgba(24,26,30,.68)}:root[data-theme=graphite_glass_v1] .content-scroll{background:rgba(18,20,24,.2)}:root[data-theme=graphite_glass_v1] .card{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.measurement-shots{display:grid;gap:.4rem}.measurement-shots-table{overflow-x:auto}.measurement-shots-chart{border:1px solid var(--tt-card-border);border-radius:12px;background:var(--tt-card-bg);padding:.4rem .6rem;margin-bottom:.6rem}.session-measurement-chart{margin-top:.4rem;margin-bottom:0}.session-measurement-summary-card{border:1px solid var(--tt-card-border);border-radius:14px;background:var(--tt-card-bg);padding:1rem 1rem .9rem;margin-bottom:.6rem}.session-measurement-summary-top{display:grid;grid-template-columns:1fr 2fr auto;gap:0;border-bottom:1px solid var(--tt-divider)}.session-measurement-summary-block{padding:0 .8rem .8rem 0}.session-measurement-summary-block+.session-measurement-summary-block{border-left:1px solid var(--tt-divider);padding-left:.8rem}.session-measurement-summary-label{margin:0;text-transform:uppercase;font-size:.78rem;letter-spacing:.03em;color:var(--tt-text-secondary)}.session-measurement-summary-big{margin:.35rem 0 0;font-size:2rem;line-height:1;font-weight:700;color:var(--tt-text-primary)}.session-measurement-summary-big span{font-size:.58em;font-weight:500;color:var(--tt-text-secondary)}.session-measurement-summary-middle{padding:.9rem 0 .7rem;border-bottom:1px solid var(--tt-divider)}.session-measurement-summary-xl{margin:.35rem 0 0;font-size:3.4rem;line-height:1;font-weight:700;color:var(--tt-text-primary)}.session-measurement-summary-xl span{font-size:.36em;font-weight:500;color:var(--tt-text-secondary)}.session-measurement-temp{display:inline-flex;align-items:center;gap:.45rem;padding:0 0 .8rem .7rem;border-bottom:0;border-left:1px solid var(--tt-divider);align-self:end}.session-measurement-temp .weather-icon--temp{width:24px;height:24px}.session-measurement-temp-value{margin:0;font-size:2.25rem;line-height:1;font-weight:700;color:var(--tt-text-primary)}.session-measurement-temp-value span{margin-left:.2rem;font-size:.55em;font-weight:500;color:var(--tt-text-secondary)}.session-measurement-summary-grid{display:grid;grid-template-columns:1fr 1fr}.session-measurement-summary-cell{padding:.7rem .8rem .5rem 0;min-height:78px}.session-measurement-summary-cell p:last-child{margin:.15rem 0 0;font-size:2rem;line-height:1;color:var(--tt-text-primary)}.session-measurement-summary-cell:nth-child(2n){border-left:1px solid var(--tt-divider);padding-left:.8rem}.session-measurement-summary-cell:nth-child(n+3){border-top:1px solid var(--tt-divider)}.measurement-shots-chart svg{width:100%;height:140px;display:block}.measurement-shots-chart--preview{margin-bottom:.6rem}.measurement-shots-chart--preview .desktop-preview-chart{width:auto;height:280px}.measurement-shot-grid{stroke:rgba(255,255,255,.12);stroke-dasharray:6 6}.measurement-shot-line{fill:none;stroke:#d39c7a;stroke-width:2}.measurement-shot-dot{fill:#ffb96a}.measurement-shot-dot--max{fill:#64ff6c}.measurement-shot-dot--min{fill:#e5325d}.measurement-shot-label{fill:var(--tt-text-secondary);font-size:.7rem}.measurement-shot-label--max{fill:#64ff6c}.measurement-shot-label--min{fill:#e5325d}.measurement-shot-row{display:grid;grid-template-columns:70px 48px 130px 130px 100px 80px 110px 110px 110px minmax(180px,1fr);align-items:center;gap:.6rem;padding:.4rem .6rem;border-bottom:1px solid var(--tt-card-border);min-width:1120px}.measurement-shot-row:last-child{border-bottom:0}.measurement-shot-row--header{color:var(--tt-text-secondary);font-size:.78rem;text-transform:uppercase;letter-spacing:.02em;position:sticky;top:0;background:var(--tt-card-bg);z-index:1}.measurement-shot-row.is-excluded{opacity:.5}.measurement-shot-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--tt-text-secondary)}.measurement-shot-toggle input[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px;height:16px;border:1px solid var(--tt-line-generic);border-radius:4px;background:var(--tt-card-bg);display:inline-grid;place-content:center}.measurement-shot-toggle input[type=checkbox]:after{content:"";width:7px;height:4px;border-right:2px solid var(--tt-card-bg);border-bottom:2px solid var(--tt-card-bg);transform:scaleX(-1) rotate(45deg);opacity:0}.measurement-shot-toggle input[type=checkbox]:checked{background:var(--tt-text-brand);border-color:var(--tt-text-brand)}.measurement-shot-toggle input[type=checkbox]:checked:after{opacity:1}@media(min-width:900px){.weather-metrics{grid-template-columns:1fr}}@media(max-width:900px){.weather-body{grid-template-columns:1fr}.weather-art-wrap{order:-1;justify-content:flex-start}}.weather-card .weather-value{color:var(--tt-text-primary);font-size:var(--tt-font-body1)}.update-stock-value{margin:.25rem 0 .6rem}.update-stock-spacer{height:.6rem}.inline-input,.ammo-detail-row .inline-input{margin-left:0;width:100%;display:block;height:var(--tt-height-l);min-height:var(--tt-height-l);padding:var(--tt-field-pad-y) var(--tt-field-pad-x);line-height:var(--tt-field-line-height);box-sizing:border-box}.ammo-detail-row select.inline-input{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23d4d0d3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px 8px;padding-right:36px}code{background:var(--tt-base-generic-hover);color:var(--tt-text-primary);border-radius:5px;padding:.12rem .28rem}@media(min-width:960px){.card{padding:1rem}.dashboard-layout{gap:1rem}}@media(min-width:900px){.ammo-split{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start}}@media(max-width:959px){.dashboard-layout--calc{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.dashboard-layout--home{grid-template-columns:1fr;height:auto;min-height:auto;grid-auto-rows:auto}.dashboard-layout--split{grid-template-columns:1fr;height:auto;min-height:auto}.app-shell--fixed{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);overflow-x:hidden}.nav-card{position:fixed;left:0;top:0;bottom:0;z-index:60;width:min(84vw,320px);border-right:1px solid var(--tt-divider);border-bottom:0;min-height:100dvh;gap:.45rem;padding:.55rem .6rem;transform:translate(-104%);transition:transform .18s ease;overflow-y:auto}.app-shell--nav-open .nav-card{transform:translate(0)}.nav-branding{display:none}.mobile-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;border:0;border-radius:0;background:rgba(6,5,7,.58);padding:0}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;border:1px solid var(--tt-line-generic);border-radius:10px;background:transparent;color:var(--tt-text-primary);padding:0;font-size:0;line-height:0}.mobile-menu-icon{width:14px;height:10px;display:grid;grid-template-rows:repeat(3,2px);row-gap:2px;align-content:center;justify-items:center}.mobile-menu-icon-line{display:block;width:14px;height:2px;border-radius:999px;background:currentColor}.section-tabs{flex-direction:column;gap:0;margin-bottom:0;overflow:visible;padding-bottom:.2rem}.tab-button{height:var(--tt-height-l);border:0;border-radius:0;border-bottom:1px solid var(--tt-divider);white-space:nowrap;padding:.45rem .85rem;font-size:.92rem;flex:0 0 auto;min-width:100%;text-align:left}.tab-button--sub{padding-left:1.2rem}.tab-group-label{padding:.45rem .85rem .28rem;font-size:.7rem}.tab-button[aria-selected=true]:before{top:0;bottom:0;left:0;width:3px;height:auto;right:auto}.nav-footer{margin-top:auto;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--tt-divider);padding-bottom:0;overflow:visible}.nav-footer-button,.nav-footer-button+.nav-footer-button{border:0;border-radius:0;text-align:left;padding:.55rem .85rem;width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px solid var(--tt-divider)}.content-pane{padding:0;min-width:0;overflow-x:hidden}.content-pane--fixed{grid-template-rows:auto minmax(0,1fr) auto}.content-topbar{align-items:center;gap:.55rem;padding:.55rem .7rem;min-width:0}.section-header-card h1{font-size:1.08rem}.topbar-user-group{width:auto;justify-content:flex-end;min-width:0}.topbar-search{width:100%}.topbar-user{display:none}.topbar-user .session-meta{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-avatar{transform:none}.content-scroll{padding:.65rem;overflow:auto;overflow-x:hidden;min-width:0}.content-bottombar{padding:.5rem .7rem}}@media(max-width:700px){.page-wrap{min-height:100svh;height:100svh}.settings-columns,.calculator-columns,.admin-details-layout,.admin-settings-grid,.admin-usage-grid,.admin-default-limit-row,.settings-weather-search{grid-template-columns:1fr}.settings-caliber-row{grid-template-columns:minmax(0,1fr) 48px}.settings-caliber-row .secondary-button{grid-column:1 / -1}.settings-ammo-signal-row{grid-template-columns:minmax(0,1fr) 48px}.settings-cloud-actions{flex-direction:column;align-items:stretch}.settings-cloud-actions .secondary-button,.settings-cloud-actions .primary-button,.settings-cloud-actions .danger-button{width:100%}.dashboard-layout--calc,.dashboard-layout--home{grid-template-columns:1fr}.nav-card{padding:.45rem .5rem}.section-tabs{gap:.3rem}.tab-button{height:34px;font-size:.86rem;padding:.3rem .55rem}.tab-button--sub{padding-left:.95rem}.tab-group-label{padding:.35rem .55rem .2rem;font-size:.66rem}.content-topbar{flex-wrap:nowrap;justify-content:space-between}.topbar-user-group{width:auto;max-width:100%;margin-left:auto}.topbar-user{display:none}.topbar-avatar{width:26px;height:26px}.section-header-card h1{font-size:1.02rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-footer-button,.nav-footer-button+.nav-footer-button{padding:.42rem .2rem;font-size:.84rem}.card-title-row{align-items:flex-start}.card-title-row .session-meta{font-size:.82rem}}@media(max-width:900px){.ammo-summary{grid-template-columns:1fr;justify-items:center;align-items:start;gap:.7rem;width:100%;min-width:0;overflow:hidden}.ammo-summary-list{width:min(100%,340px);min-width:0}.ammo-pie{width:min(220px,68vw);height:min(220px,68vw)}.ammo-summary-row{width:100%;min-width:0}.ammo-summary-label,.ammo-summary-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ammo-summary-actions{width:100%;justify-content:center}}@media(max-width:1650px){.dashboard-layout--home{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"ammo weather" "notes weather";align-items:start}.home-card,.weather-card{height:auto;min-height:0}.notes-card{height:620px;max-height:620px}}@media(max-width:1450px){.ammo-summary{grid-template-columns:1fr;justify-items:center;align-items:start;gap:.7rem;width:100%;min-width:0;overflow:hidden}.ammo-summary-list{width:min(100%,340px);min-width:0}.ammo-pie{width:min(220px,68vw);height:min(220px,68vw)}.ammo-summary-row{width:100%;min-width:0}.ammo-summary-label,.ammo-summary-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:1350px){.weather-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.weather-metrics{grid-column:1 / -1}}@media(max-width:1200px){.weather-body{grid-template-columns:1fr}.weather-art-wrap{justify-content:flex-start}}@media(max-width:780px){.dashboard-layout--home{grid-template-columns:1fr;grid-template-areas:"ammo" "weather" "notes"}.weather-body{grid-template-columns:1fr}.weather-art-wrap{justify-content:flex-start}.notes-card{height:auto;max-height:none}}@media(max-width:1050px)and (min-width:701px){.settings-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-column--right{grid-column:1 / -1}.calculator-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-brand-card{gap:.55rem}.auth-shell--compact{width:min(384px,100%)}.auth-top-links{top:.7rem;right:.7rem}.auth-top-link{min-height:24px;font-size:.9rem}}.auth-legal{margin-top:.18rem;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.8rem;color:var(--tt-text-secondary)}.auth-legal-intro{margin-bottom:.72rem;line-height:1.42}.auth-card--legal{gap:.5rem}.auth-loading-card{justify-items:center;text-align:center;gap:.56rem}.auth-loading-indicator{width:26px;height:26px;border-radius:999px;border:2px solid rgba(214,219,226,.26);border-top-color:rgba(245,194,106,.9);animation:auth-spin .82s linear infinite}.auth-loading-text{margin:0}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-legal-title{margin:.02rem 0 .08rem;font-size:clamp(1.02rem,2.6vw,1.12rem);line-height:1.3;letter-spacing:-.01em;text-align:center}.auth-legal--links{margin-bottom:.84rem;padding-bottom:.52rem;border-bottom:1px solid rgba(215,219,226,.34);justify-content:center}.auth-legal--outside{justify-content:center;margin-top:.22rem}.auth-legal-link{border:0;background:transparent;padding:.04rem .08rem;margin:-.04rem -.08rem;border-radius:6px;color:var(--tt-text-secondary);text-decoration:none;font:inherit;cursor:pointer;transition:color .13s ease,background-color .13s ease,box-shadow .13s ease}.auth-legal-link:hover{color:var(--tt-text-brand);background:transparent}.auth-legal-link:focus-visible{outline:none;color:var(--tt-text-brand);background:transparent;box-shadow:0 0 0 1px var(--tt-line-generic-active)}.legal-page-wrap{padding:1.2rem;display:flex;justify-content:center}.legal-page-card{margin:0 auto;width:min(1240px,100%);max-width:1240px}.legal-updated-at{margin-top:-.15rem;margin-bottom:.8rem}.legal-intro{margin:0 0 .9rem;color:var(--tt-text-secondary)}.legal-sections{display:grid;gap:.7rem}.legal-section{border:1px solid var(--tt-card-border);border-radius:10px;background:color-mix(in srgb,var(--tt-card-bg) 88%,var(--tt-base-generic) 12%);padding:.75rem}.legal-section h2{margin:0 0 .45rem;font-size:1rem}.legal-section p{margin:0 0 .42rem;color:var(--tt-text-secondary)}.legal-section p:last-child{margin-bottom:0}.legal-back-button{margin-top:.9rem;display:inline-flex;text-decoration:none}.guide-legal-links{margin:0;padding-left:1.1rem}.guide-legal-links a{color:var(--tt-text-brand);text-decoration:underline}.guide-legal-link-button{border:0;background:transparent;color:var(--tt-text-brand);text-decoration:underline;font:inherit;padding:0;cursor:pointer}.guide-legal-link-button:hover{opacity:.85}.legal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;background:rgba(10,12,16,.58);backdrop-filter:blur(4px) saturate(108%);-webkit-backdrop-filter:blur(4px) saturate(108%);display:grid;place-items:center;padding:1.15rem}.legal-modal-card{width:min(860px,calc(100vw - 2.3rem));max-height:min(84dvh,760px);overflow:auto;padding:.88rem;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(44,49,57,.74);box-shadow:0 20px 52px rgba(0,0,0,.34)}@media(max-width:900px){.legal-modal-card{width:calc(100vw - 1rem);max-height:90dvh;padding:.78rem}}.legal-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.45rem;padding-bottom:.45rem;border-bottom:1px solid var(--tt-divider)}.legal-modal-header h2{margin:0;font-size:1.08rem}.legal-modal-header .secondary-button{min-width:96px;height:34px;padding-inline:.75rem;font-size:.8rem}.legal-sections--modal{padding-bottom:.06rem}.legal-sections--modal .legal-section{border-color:var(--tt-line-generic);background:rgba(29,32,39,.64);border-radius:9px;padding:.66rem .7rem}.legal-sections--modal .legal-section h3{margin:0 0 .36rem;font-size:.94rem}.legal-sections--modal .legal-section p{margin:0 0 .34rem;font-size:.84rem;line-height:1.42}.auth-legal-consent{display:inline-flex;align-items:flex-start;gap:.44rem;margin-top:.08rem;color:rgba(208,212,219,.74);font-size:.82rem;line-height:1.28;white-space:normal}.auth-legal-consent span{display:block;color:rgba(208,212,219,.74)}.auth-legal-consent input[type=checkbox]{appearance:none;-webkit-appearance:none;width:12px;height:12px;min-height:12px;max-height:12px;padding:0;margin:0;border:1px solid rgba(210,215,223,.62);border-radius:1.8px;background:transparent;display:inline-grid;place-content:center;flex:0 0 12px;box-sizing:border-box;align-self:center;box-shadow:none}.auth-legal-consent input[type=checkbox]:after{content:"";width:4px;height:2px;border-right:1.55px solid rgba(10,12,16,.92);border-bottom:1.55px solid rgba(10,12,16,.92);transform:scaleX(-1) rotate(45deg);opacity:0}.auth-legal-consent input[type=checkbox]:checked{background:rgba(245,194,106,.92);border-color:rgba(245,194,106,.92)}.auth-legal-consent input[type=checkbox]:checked:after{opacity:1}.auth-submit-row--legal{margin-top:.46rem;justify-content:flex-end;gap:.6rem}.auth-submit-row--legal .auth-submit-button{min-width:132px;flex:0 0 auto}.auth-submit-row--legal .primary-button{background:transparent;border-color:var(--tt-line-generic);color:var(--tt-text-primary)}.auth-submit-row--legal .primary-button:hover:enabled{background:var(--tt-base-generic);border-color:var(--tt-line-generic);color:var(--tt-text-primary)}.auth-submit-row--legal .primary-button:active:enabled{background:var(--tt-base-selection);border-color:var(--tt-base-selection);color:var(--tt-text-primary)}.auth-submit-row--legal .secondary-button{flex:0 0 auto}@media(max-width:560px){.auth-submit-row--legal{justify-content:flex-end}.auth-submit-row--legal .auth-submit-button{width:auto}}
