:root{--obs-ink:#061b24;--obs-deep:#0b3541;--obs-card:#103f4c;--obs-mint:#93f0c8;--obs-sky:#75d9ff;--obs-text:#f4fbfd;--obs-muted:#b8cdd3;--obs-line:rgba(255,255,255,.13);--obs-warn:#ffe08a;--obs-danger:#ff9b9b}
body.observation-mode{min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 78% 5%,#176072 0,var(--obs-ink) 42%,#041319 100%);color:var(--obs-text)}
body.observation-mode>.wrap{display:none}
.observation-root{width:min(1050px,100%);max-width:100vw;margin:0 auto;padding:18px 18px 120px;font-family:Inter,"Segoe UI",Arial,sans-serif}
.obs-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.obs-brand{display:flex;align-items:center;gap:12px}.obs-logo{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,var(--obs-mint),var(--obs-sky));color:var(--obs-ink);font-size:27px;font-weight:950;box-shadow:0 12px 30px #0004}.obs-brand small,.obs-eyebrow{display:block;color:var(--obs-mint);font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.obs-brand b{font-size:20px}.obs-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.obs-location-switch{display:flex;padding:3px;border:1px solid var(--obs-line);border-radius:13px;background:#03171f}.obs-location-switch a{padding:7px 10px;border-radius:9px;color:var(--obs-muted);text-decoration:none;font-size:12px;font-weight:900}.obs-location-switch a.active{background:linear-gradient(135deg,var(--obs-mint),var(--obs-sky));color:var(--obs-ink)}.obs-link,.obs-ghost{border:1px solid var(--obs-line);border-radius:12px;background:#ffffff0a;color:var(--obs-text);padding:10px 13px;text-decoration:none;font:inherit;font-weight:850;cursor:pointer}
.obs-card{min-width:0;border:1px solid var(--obs-line);border-radius:24px;background:linear-gradient(145deg,rgba(18,67,80,.96),rgba(9,43,54,.96));box-shadow:0 24px 70px #0004;padding:22px}.obs-card+.obs-card{margin-top:16px}.obs-card h1,.obs-card h2,.obs-card h3{margin:0}.obs-card p{color:var(--obs-muted);line-height:1.5}.obs-hidden{display:none!important}
.obs-login{max-width:480px;margin:8vh auto 0}.obs-login h1{font-size:clamp(34px,7vw,52px);letter-spacing:-.045em}.obs-login label{display:grid;gap:7px;margin-top:20px;font-weight:850}.obs-input{width:100%;border:1px solid var(--obs-line);border-radius:14px;background:#041d26;color:#fff;padding:14px;font:inherit;font-size:17px}.obs-primary{width:100%;border:0;border-radius:14px;background:linear-gradient(135deg,var(--obs-mint),var(--obs-sky));color:var(--obs-ink);padding:15px 18px;font:inherit;font-size:17px;font-weight:950;cursor:pointer;box-shadow:0 12px 30px rgba(83,221,210,.18)}.obs-primary:disabled{cursor:not-allowed;filter:grayscale(.75);opacity:.55}.obs-login .obs-primary{margin-top:14px}.obs-message{min-height:24px;margin:10px 0 0;color:var(--obs-warn);font-weight:800}.obs-message.success{color:var(--obs-mint)}.obs-message.error{color:var(--obs-danger)}
.obs-quick-card{padding:clamp(18px,4vw,30px)}.obs-prediction{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--obs-line)}.obs-prediction h1{font-size:clamp(34px,8vw,58px);letter-spacing:-.05em}.obs-prediction h1 span{color:var(--obs-mint)}.obs-prediction-meta{text-align:right;color:var(--obs-muted);font-size:13px;font-weight:750}.obs-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--obs-mint);box-shadow:0 0 0 6px rgba(147,240,200,.12);margin-right:8px}
.obs-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 2px}.obs-context-item{min-width:0;padding:13px 14px;border:1px solid var(--obs-line);border-radius:16px;background:#061d2688}.obs-context-item small{display:block;color:var(--obs-mint);font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.obs-context-item b{display:block;margin-top:5px;font-size:15px;line-height:1.3}.obs-context-item span{display:block;margin-top:3px;color:var(--obs-muted);font-size:11px;line-height:1.4}
.obs-fieldset{border:0;padding:0;margin:22px 0 0}.obs-fieldset legend{width:100%;margin-bottom:12px;font-weight:950;font-size:14px}.obs-fieldset legend small{float:right;color:var(--obs-muted);font-weight:650}.obs-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.obs-chip{min-height:56px;border:1px solid var(--obs-line);border-radius:15px;background:#ffffff0a;color:var(--obs-text);padding:10px 7px;font:inherit;font-weight:900;cursor:pointer;touch-action:manipulation}.obs-chip:hover{border-color:#ffffff55}.obs-chip.selected{border-color:transparent;background:linear-gradient(135deg,var(--obs-mint),var(--obs-sky));color:var(--obs-ink);box-shadow:0 9px 24px rgba(117,217,255,.16)}.obs-chip strong{display:block;font-size:17px}.obs-chip small{display:block;margin-top:2px;font-size:11px;font-weight:800;opacity:.75}.obs-size-chips{grid-template-columns:repeat(7,minmax(0,1fr))}.obs-condition-chips{grid-template-columns:repeat(3,1fr)}.obs-condition-chips .obs-chip{min-height:52px}.obs-other{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.obs-other .obs-primary{width:auto}.obs-save-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:22px}.obs-save-row .obs-primary{min-height:58px}.obs-cancel{white-space:nowrap}.obs-help{margin:9px 0 0!important;font-size:12px}
.obs-time-chips .obs-chip strong{font-size:15px}.obs-time-custom{align-items:center}.obs-time-custom .obs-input{min-height:52px;color-scheme:dark}.obs-selected-time-card{position:relative;margin-top:12px;padding:15px 17px;border:2px solid var(--obs-sky);border-radius:17px;background:linear-gradient(135deg,rgba(117,217,255,.13),rgba(147,240,200,.08));box-shadow:0 12px 30px rgba(0,0,0,.16)}.obs-selected-time-card>span{display:block;color:var(--obs-sky);font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.obs-selected-time-card>strong{display:block;margin-top:3px;font-size:23px;line-height:1.15}.obs-selected-time-card p{margin:5px 0 0!important;color:var(--obs-text);font-size:13px}.obs-time-match{margin-top:9px;padding-top:9px;border-top:1px solid var(--obs-line);color:var(--obs-mint);font-size:12px;font-weight:900;line-height:1.4}.obs-selected-time-card.loading{border-color:var(--obs-warn)}.obs-selected-time-card.loading .obs-time-match{color:var(--obs-warn)}.obs-selected-time-card.error{border-color:var(--obs-danger)}.obs-selected-time-card.error .obs-time-match{color:var(--obs-danger)}.obs-selected-time-card.ready::after{content:"DATA READY";position:absolute;top:12px;right:13px;padding:4px 7px;border-radius:999px;background:var(--obs-mint);color:var(--obs-ink);font-size:9px;font-weight:950;letter-spacing:.07em}
.obs-progress{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.obs-count{width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:#061d26;border:7px solid var(--obs-mint);font-size:24px;font-weight:950}.obs-progress-bar{height:10px;border-radius:999px;background:#03171f;overflow:hidden}.obs-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--obs-mint),var(--obs-sky));transition:width .3s ease}.obs-milestones{display:flex;justify-content:space-between;margin-top:7px;color:var(--obs-muted);font-size:12px;font-weight:850}.obs-milestones .reached{color:var(--obs-mint)}
.obs-collection{display:grid;grid-template-columns:1fr 1fr;gap:9px;grid-column:1/-1;margin-top:2px}.obs-collection>div{padding:13px 14px;border:1px solid var(--obs-line);border-radius:15px;background:#061d2688}.obs-collection small,.obs-collection span{display:block;color:var(--obs-muted);font-size:11px}.obs-collection small{color:var(--obs-mint);font-weight:950;text-transform:uppercase;letter-spacing:.08em}.obs-collection b{display:block;margin:3px 0;font-size:21px}
.obs-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.obs-section-head h2{font-size:26px}.obs-section-head p{margin:3px 0 0;font-size:13px}.obs-export{display:flex;gap:8px}.obs-export a{font-size:13px}
.obs-analysis-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.obs-metric{padding:14px;border-radius:16px;background:#ffffff0a;border:1px solid var(--obs-line)}.obs-metric small{display:block;color:var(--obs-muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.obs-metric b{display:block;margin-top:5px;font-size:23px}.obs-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.obs-analysis-block{padding:15px;border-radius:17px;background:#061d2688;border:1px solid var(--obs-line)}.obs-analysis-block h3{font-size:16px;margin-bottom:10px}.obs-breakdown-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px 0;border-top:1px solid #ffffff0c}.obs-breakdown-row:first-of-type{border-top:0}.obs-breakdown-row small{color:var(--obs-muted)}.obs-bias.under{color:var(--obs-mint)}.obs-bias.over{color:var(--obs-warn)}.obs-suggestions{margin:14px 0 0;padding-left:20px;color:#eaf8fb;line-height:1.55}.obs-locked{padding:20px;border-radius:17px;background:#061d2688;text-align:center}.obs-locked b{display:block;font-size:20px}.obs-locked p{margin-bottom:0}
.obs-history{display:grid;gap:9px}.obs-record{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px;border-radius:17px;background:#061d2688;border:1px solid var(--obs-line)}.obs-record-size{width:58px;height:58px;display:grid;place-items:center;border-radius:15px;background:#ffffff10;font-size:19px;font-weight:950}.obs-record-size.under{color:var(--obs-mint)}.obs-record-size.over{color:var(--obs-warn)}.obs-record b{display:block}.obs-record small{display:block;color:var(--obs-muted);margin-top:4px}.obs-record .obs-record-context{color:#dcebef;line-height:1.45}.obs-record-actions{display:flex;gap:6px}.obs-record-actions button{border:1px solid var(--obs-line);border-radius:10px;background:#ffffff0a;color:#fff;padding:9px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.obs-record-actions .delete-armed{border-color:var(--obs-danger);color:var(--obs-danger)}
.obs-empty{padding:20px;text-align:center;color:var(--obs-muted)}
.obs-chip{min-width:0}
@media(max-width:760px){.observation-root{padding:12px 12px 115px}.obs-header{align-items:flex-start}.obs-brand b{font-size:16px}.obs-header-actions .obs-ghost{display:none}.obs-card{border-radius:20px;padding:17px}.obs-prediction{grid-template-columns:1fr}.obs-prediction-meta{text-align:left}.obs-context-grid{grid-template-columns:1fr}.obs-chips{grid-template-columns:repeat(3,1fr)}.obs-size-chips{grid-template-columns:repeat(4,1fr)}.obs-condition-chips{grid-template-columns:repeat(3,1fr)}.obs-chip{min-height:58px}.obs-save-row{position:fixed;z-index:30;left:0;right:0;bottom:0;margin:0;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:rgba(4,19,25,.96);border-top:1px solid var(--obs-line);backdrop-filter:blur(16px)}.obs-analysis-summary{grid-template-columns:1fr 1fr}.obs-analysis-grid{grid-template-columns:1fr}.obs-section-head{align-items:flex-start;flex-direction:column}.obs-record{grid-template-columns:auto 1fr}.obs-record-actions{grid-column:1/-1;justify-content:flex-end}.obs-progress{grid-template-columns:auto 1fr}.obs-count{width:66px;height:66px}.obs-export{width:100%}.obs-export a{flex:1;text-align:center}}
@media(max-width:430px){.obs-header{flex-direction:column;align-items:stretch}.obs-header-actions{justify-content:space-between}.obs-location-switch{order:-1;flex:1}.obs-location-switch a{flex:1;text-align:center}.obs-chips,.obs-size-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.obs-condition-chips{grid-template-columns:1fr}.obs-analysis-summary,.obs-collection{grid-template-columns:1fr}.obs-save-row{grid-template-columns:1fr}.obs-save-row .obs-cancel{padding:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
