*,:after,:before{box-sizing:border-box}:root{--radius-sm:10px;--radius:14px;--radius-lg:20px;--radius-pill:100px;--shadow-sm:0 1px 3px rgba(0,0,0,0.10);--shadow-md:0 4px 16px rgba(0,0,0,0.10);--shadow-lg:0 12px 32px rgba(0,0,0,0.14);--ring:0 0 0 3px rgba(var(--green-rgb),0.70);--ease:cubic-bezier(0.22,1,0.36,1);--fs-xs:0.74rem;--fs-sm:0.84rem;--fs-base:1rem;--fs-lg:1.16rem;--fs-xl:1.37rem;--fs-2xl:1.68rem;--w-body:400;--w-emph:650;--w-head:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-display:"DM Serif Display",Georgia,serif}@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display.woff2) format("woff2")}html{font-size:19px;text-size-adjust:100%}body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.btn-gold{background:var(--green);color:var(--text-on-accent);font-weight:800;font-size:.95rem;letter-spacing:.01em;padding:13px 26px;border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .18s var(--ease),box-shadow .18s var(--ease),filter .18s var(--ease);display:inline-block}.btn-gold:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,.25)}.btn-gold:active{transform:translateY(0)}.btn-outline{background:var(--bg-card);color:var(--text);font-weight:700;font-size:.95rem;padding:12px 26px;border:1.5px solid var(--border);border-radius:var(--radius-sm);transition:border-color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease);display:inline-block}.btn-outline:hover{border-color:rgba(var(--gold-rgb),.55);background:rgba(var(--gold-rgb),.06);transform:translateY(-1px)}.btn-green{background:var(--green);color:var(--text-on-accent);font-weight:800;font-size:.95rem;padding:13px 26px;border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .18s var(--ease),filter .18s var(--ease);display:inline-block}.btn-green:hover{filter:brightness(1.05);transform:translateY(-1px)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}.tag{letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:8px}.badge,.tag{font-size:.8rem;font-weight:800;color:var(--gold)}.badge{display:inline-block;background:rgba(var(--gold-rgb),.1);border:1px solid var(--border-gold);border-radius:var(--radius-pill);padding:4px 12px}.badge-green{background:rgba(var(--green-rgb),.1);border-color:var(--border);color:var(--green)}input,select,textarea{font-family:inherit;font-size:1rem;color:var(--text);background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}select{cursor:pointer;min-height:48px}input:hover,select:hover,textarea:hover{border-color:var(--gold)}input:focus,select:focus,textarea:focus{border-color:var(--green)}input::placeholder,textarea::placeholder{color:var(--text-dim)}option{background:var(--bg-card);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.3);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.hamburger{display:none;flex-direction:column;gap:5px;background:transparent;border:none;padding:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.hamburger span{display:block;width:22px;height:2px;background:rgba(var(--text-rgb),.75);border-radius:2px}.nav-links{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}.nav-signout{margin-left:16px;display:inline-flex;align-items:center;box-sizing:border-box}@media (max-width:768px){.hamburger{display:flex}.nav-links{display:none;position:absolute;top:56px;left:-24px;right:-24px;flex-direction:column;align-items:flex-start;background:var(--bg-deep);border-bottom:1px solid var(--border);padding:12px 24px 20px;gap:2px;z-index:99;max-height:calc(100vh - 56px);overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-links.open{display:flex}.nav-links a{align-items:center}.nav-links a,.nav-signout{padding:10px 12px!important;min-height:44px;display:flex;width:100%}.nav-signout{margin-left:0!important;margin-top:8px;justify-content:flex-start}.btn-gold,.btn-outline{min-height:44px;padding:12px 20px}button{min-height:36px}.card{padding:16px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.two-col{grid-template-columns:1fr!important}.docked-panel{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;height:75vh!important;border-left:none!important;border-top:1px solid var(--border)!important;border-radius:16px 16px 0 0!important}.panel-open-shrink{margin-right:0!important}}@media (max-width:480px){.card{padding:14px}h1{font-size:1.4rem!important}.btn-gold,.btn-outline{width:100%;text-align:center}table{font-size:.75rem}main{padding-bottom:max(32px,env(safe-area-inset-bottom))!important}}@media (min-width:769px) and (max-width:1024px){.hamburger{display:none}.nav-links{display:flex!important;flex-wrap:nowrap;overflow-x:auto}.card{padding:18px}}.admin-dock{display:flex;position:fixed!important;bottom:0!important;left:0!important;right:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--bg-deep)!important;border-top:1px solid var(--border)}@media (min-width:1025px){.admin-dock{display:none!important}}.admin-main{padding-bottom:calc(120px + env(safe-area-inset-bottom, 0px))!important}.tap-lg{min-height:52px!important;font-size:1rem!important}[role=button],button,select{-webkit-user-select:none;-moz-user-select:none;user-select:none}canvas,iframe,img,svg,video{max-width:100%}html{scroll-padding-top:96px}@media (max-width:768px){.nav-links a,[role=button],a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn-gold,.btn-green,.btn-outline,input,select,textarea{min-height:48px;font-size:1rem}.nav-links,.scroll-x,table{-webkit-overflow-scrolling:touch}}@media (max-width:480px){table{font-size:.85rem}h1{letter-spacing:-.01em}}@keyframes spin{to{transform:rotate(1turn)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:10px 20px;border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--fs-base);font-weight:var(--w-head);line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),filter .18s var(--ease),background .18s var(--ease)}.btn:active{transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--green);color:var(--text-on-accent);box-shadow:var(--shadow-sm)}.btn-primary:hover{filter:brightness(1.12)}.btn-danger{background:var(--danger);color:var(--text-on-accent);box-shadow:var(--shadow-sm)}.btn-danger:hover{filter:brightness(1.1)}.btn-quiet{background:var(--bg-card);color:var(--text);border:1.5px solid rgba(var(--border-rgb),.45)}.btn-quiet:hover{background:var(--bg-alt)}.field{width:100%;min-height:48px;padding:10px 14px;font-family:inherit;font-size:var(--fs-base);color:var(--text);background:var(--bg-card);border:1.5px solid rgba(var(--border-rgb),.45);border-radius:var(--radius-sm);box-sizing:border-box}.field:focus{border-color:var(--green)}textarea.field{min-height:96px;resize:vertical}.field-label{display:block;font-size:var(--fs-sm);font-weight:var(--w-emph);color:var(--text-muted);margin-bottom:var(--space-1)}.stop-btn{flex:1 1 70px;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 8px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-family:inherit;font-size:1.125rem;font-weight:var(--w-head);text-decoration:none;box-sizing:border-box;cursor:pointer;transition:background .18s var(--ease),transform .18s var(--ease)}.stop-btn:hover{background:var(--bg-alt)}.stop-btn:active{transform:scale(.98)}.stop-btn:disabled,.stop-btn[aria-disabled=true]{color:var(--text-dim);background:var(--bg-alt);cursor:not-allowed;opacity:.6;transform:none}.empty-state{padding:var(--space-5) var(--space-4);text-align:center;color:var(--text-dim);font-size:var(--fs-sm);background:var(--bg-card);border:1px dashed rgba(var(--border-rgb),.35);border-radius:var(--radius)}.empty-state .empty-title{font-size:var(--fs-base);font-weight:var(--w-emph);color:var(--text-muted);margin-bottom:var(--space-1)}.skeleton{position:relative;overflow:hidden;min-height:14px;background:var(--bg-alt);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:skeleton-sweep 1.2s infinite}@keyframes skeleton-sweep{to{transform:translateX(100%)}}.toast-stack{position:fixed;top:calc(84px + env(safe-area-inset-top, 0px));left:50%;transform:translateX(-50%);z-index:1000;flex-direction:column;gap:var(--space-2);width:min(92vw,420px);pointer-events:none}.toast,.toast-stack{display:flex;align-items:center}.toast{pointer-events:auto;gap:var(--space-3);width:100%;padding:12px 18px;background:var(--bg-card);border:1.5px solid rgba(var(--ok-rgb),.5);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--text);font-size:var(--fs-base);font-weight:var(--w-emph);animation:toast-in .18s var(--ease)}.toast-error{border-color:rgba(var(--danger-rgb),.5)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.sheet-scrim{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.45);animation:scrim-in .18s var(--ease)}@keyframes scrim-in{0%{opacity:0}}.sheet{width:100%;max-width:480px;padding:var(--space-5) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom, 0px));background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);animation:sheet-up .18s var(--ease)}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}@media (min-width:769px){.sheet-scrim{align-items:center}.sheet{margin:0 16px;border-radius:var(--radius-lg);padding-bottom:var(--space-5)}}.sheet-title{margin:0 0 var(--space-2);font-size:var(--fs-lg);font-weight:var(--w-head);color:var(--text)}.sheet-body{margin:0 0 var(--space-4);font-size:var(--fs-base);color:var(--text-muted)}.sheet-actions{display:flex;gap:var(--space-3)}.sheet-actions .btn{flex:1 1;min-height:52px}.sheet-presets{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.preset-chip{min-height:48px;padding:8px 18px;background:var(--bg-card);border:1.5px solid rgba(var(--border-rgb),.45);border-radius:var(--radius-pill);color:var(--text);font-family:inherit;font-size:var(--fs-base);font-weight:var(--w-emph);cursor:pointer}.preset-chip[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--text-on-accent)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}