:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #eef0f4;--border: #dde1e8;--text: #171a21;--muted: #646b7a;--accent: #e8590c;--accent-text: #ffffff;--danger: #c92a2a;--ok: #2b8a3e;--radius: 12px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1115;--surface: #181b21;--surface-2: #22262e;--border: #2d323c;--text: #e8eaef;--muted: #949bab;--accent: #ff7a33;--accent-text: #15100c;--danger: #ff6b6b;--ok: #51cf66;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.6rem;margin:.25rem 0 1rem}h2{font-size:1.05rem;margin:0 0 .75rem}a{color:inherit}code{background:var(--surface-2);padding:0 .3em;border-radius:4px}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 16px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:1}.brand{display:flex;align-items:center;gap:.5rem;font-weight:700;text-decoration:none}.brand-dot{display:inline-block;width:.8em;height:.8em;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}main{max-width:1100px;margin:0 auto;padding:1.25rem 16px 3rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.back{color:var(--muted);text-decoration:none;font-size:.9rem}.section-title{margin-top:2rem}button,.button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:.45rem .9rem;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600;width:100%;padding:.65rem}button.link{background:none;border:none;padding:0;color:var(--muted);text-decoration:underline}button.link.danger{color:var(--danger)}label,.field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted);margin-bottom:.9rem}input{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem;min-width:0}input[type=number]{width:5rem}.inline{display:flex;align-items:center;gap:.6rem}.chip{border-radius:999px;padding:.25rem .75rem;font-size:.85rem}.presets{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}.range{display:grid;grid-template-columns:1fr 1fr;gap:0 .75rem}.segmented{display:flex;flex-wrap:wrap;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:fit-content;max-width:100%}.segmented button{border:none;border-radius:0;background:transparent;color:var(--text)}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--accent);color:var(--accent-text)}.estimate{margin:.25rem 0 .9rem}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:min(380px,100%)}.login-card h1{display:flex;align-items:center;gap:.5rem}.camera-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.camera-card{padding:0;overflow:hidden;text-decoration:none;transition:border-color .15s}.camera-card:hover{border-color:var(--accent)}.camera-card img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;background:var(--surface-2)}.camera-card-body{padding:.75rem 1rem}.camera-card-title{display:flex;justify-content:space-between;gap:.5rem}.empty{text-align:center;padding:2rem 1rem}.storage{margin-top:1.5rem}.camera-layout{display:grid;grid-template-columns:3fr 2fr;gap:1rem;align-items:start}.preview{position:relative;display:block;aspect-ratio:16 / 9;background:var(--surface-2);border-radius:8px;overflow:hidden}.preview img{width:100%;height:100%;object-fit:contain;display:block}.preview-empty{display:grid;place-items:center}.preview-time{position:absolute;left:.5rem;bottom:.5rem;background:#0009;color:#fff;font-size:.8rem;padding:.1rem .5rem;border-radius:6px}.scrubber{display:flex;align-items:center;gap:.6rem;margin:.6rem 0 .25rem}.scrubber input{flex:1;padding:0;accent-color:var(--accent)}.play{width:2.4rem;height:2.4rem;padding:0;border-radius:50%;flex-shrink:0}.timelapse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.timelapse-card{padding:0;overflow:hidden}.timelapse-card video,.video-placeholder{width:100%;aspect-ratio:16 / 9;display:block;background:#000}.video-placeholder{background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1rem;text-align:center;font-weight:600}.video-placeholder.failed{color:var(--danger)}.progress{width:70%;height:6px;background:var(--border);border-radius:999px;overflow:hidden}.progress div{height:100%;background:var(--accent);transition:width .4s}.timelapse-body{padding:.75rem 1rem}.actions{display:flex;align-items:center;gap:1rem;margin-top:.6rem}@media(max-width:760px){.camera-layout,.range{grid-template-columns:1fr}}.schedules{margin-top:1rem}.schedules-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.schedules-head h2{margin:0}.schedule-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-top:1px solid var(--border)}.schedule-row.paused .schedule-text strong{color:var(--muted)}.schedule-text{flex:1;display:flex;flex-direction:column;min-width:0}.schedule-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.switch{position:relative;flex-shrink:0;width:42px;height:24px;margin:0}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--border);transition:background .15s;pointer-events:none}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.schedule-form{border-top:1px solid var(--border);padding-top:1rem;margin-top:.25rem}.schedule-form .inline{margin-top:.4rem;flex-wrap:wrap}.form-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.hint{font-size:.8rem;color:var(--muted)}.form-row .hint{margin:0 0 1.4rem}select{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-end}.form-actions button.primary{width:auto;padding:.55rem 1.1rem}.tag{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-radius:4px;padding:0 .35rem;margin-right:.4rem}@media(max-width:760px){.schedule-row{flex-wrap:wrap}.schedule-actions{width:100%;justify-content:flex-start}}.topnav{display:flex;align-items:center;gap:1.25rem}.topnav a{color:var(--muted)}label.checkbox{flex-direction:row;align-items:center;gap:.5rem;color:var(--text);font-size:.95rem}label.checkbox input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.logo-layout{display:grid;grid-template-columns:3fr 2fr;gap:1.25rem;align-items:start}.logo-preview{position:relative;container-type:inline-size;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:var(--surface-2)}.logo-preview>img:first-child{width:100%;height:100%;object-fit:cover;display:block}.logo-preview-empty{display:grid;place-items:center;height:100%}.logo-overlay{position:absolute;height:auto}.logo-controls{border:none;padding:0;margin:0;min-width:0}.logo-controls:disabled{opacity:.5}.logo-controls input[type=range]{accent-color:var(--accent);padding:0}.corner-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:128px;aspect-ratio:16 / 9;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.corner-picker button{padding:0;border-radius:4px;background:var(--surface)}.corner-picker button.active{background:var(--accent);border-color:var(--accent)}@media(max-width:760px){.logo-layout{grid-template-columns:1fr}}.length-row{margin-top:.4rem;flex-wrap:wrap}.estimate-note{display:block;margin-top:.2rem}.camera-title{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;margin:.25rem 0 1rem}.camera-title h1{margin:0}.rename{display:flex;gap:.5rem;margin:.25rem 0 1rem;flex-wrap:wrap}.rename input{font-size:1.3rem;font-weight:700;flex:1;min-width:12rem;max-width:24rem}.rename button.primary{width:auto;padding:.45rem 1rem}.before-after{margin-bottom:1rem}.compare{position:relative;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:var(--surface-2);-webkit-user-select:none;user-select:none}.compare img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.compare-before{position:absolute;top:0;right:0;bottom:0;left:0}.compare-line{position:absolute;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 6px #00000080;pointer-events:none}.compare-line:after{content:"‹ ›";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#222;font-weight:700;border-radius:999px;padding:.2rem .55rem;box-shadow:0 1px 6px #0006;white-space:nowrap}.compare-label{position:absolute;top:.6rem;background:#0009;color:#fff;font-size:.8rem;padding:.1rem .5rem;border-radius:6px;pointer-events:none}.compare-label.left{left:.6rem}.compare-label.right{right:.6rem}.compare-range{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.compare:has(.compare-range:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.format-icon{display:inline-block;border:2px solid currentColor;border-radius:2px;margin-right:.4rem;vertical-align:-1px}.format-icon.landscape{width:16px;height:10px}.format-icon.portrait{width:10px;height:16px;vertical-align:-3px}.music-preview{height:32px;max-width:100%}.track-list{list-style:none;padding:0;margin:0}.track-list li{display:flex;align-items:center;gap:1rem;padding:.6rem 0;border-top:1px solid var(--border);flex-wrap:wrap}.track-name{flex:1;min-width:10rem;display:flex;flex-direction:column}.track-list audio{height:32px;max-width:100%}.music-library{margin-top:1rem}.timelapse-card video.portrait{object-fit:contain}:root{--chart-1: #e8590c}.site-activity{margin-bottom:1rem}.site-activity .schedules-head{align-items:flex-start;gap:1rem;flex-wrap:wrap}.site-activity label.checkbox{margin:0}.stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:.75rem 0 .25rem}.stat-tile{display:flex;flex-direction:column;padding:.75rem;border-radius:8px;background:var(--surface-2)}.stat-label{font-size:.85rem;color:var(--muted)}.stat-value{font-size:2rem;font-weight:650;line-height:1.2}.activity-note{margin:.4rem 0 0}.chart{margin:1rem 0 0}.chart-title{font-size:.9rem;font-weight:600;margin-bottom:.25rem}.chart-box{position:relative;width:100%}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--border);stroke-width:1}.chart .tick{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.chart .line{fill:none;stroke:var(--chart-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:var(--chart-1);opacity:.1}.chart .end-dot{fill:var(--chart-1);stroke:var(--surface);stroke-width:2}.chart .end-label{fill:var(--text);font-size:12px;font-weight:600}.chart .crosshair{stroke:var(--muted);stroke-width:1}.chart-tooltip{position:absolute;pointer-events:none;min-width:170px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #00000026;padding:.5rem .65rem;font-size:.85rem}.tooltip-row{display:flex;justify-content:space-between;gap:1rem;font-variant-numeric:tabular-nums}.chart-table{margin-top:.5rem;font-size:.85rem}.chart-table summary{color:var(--muted);cursor:pointer}.chart-table table{border-collapse:collapse;margin-top:.5rem;width:100%}.chart-table th,.chart-table td{text-align:left;padding:.2rem .6rem .2rem 0;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.ask{margin-top:1.25rem;border-top:1px solid var(--border);padding-top:1rem}.ask .inline input{flex:1;min-width:0}.ask button.primary{width:auto;padding:.45rem 1.1rem}.ask .presets{margin:.5rem 0 0}.answer{margin-top:.75rem;padding:.75rem .9rem;border-radius:8px;background:var(--surface-2)}.answer p{margin:.25rem 0 0;white-space:pre-wrap}.ai-text{margin-top:.6rem;font-size:.9rem}.ai-text>p{margin:0 0 .5rem}.caption-box{background:var(--surface-2);border-radius:8px;padding:.6rem .75rem}.caption-box p{margin:0 0 .3rem}.hashtags{color:var(--muted)}.alerts-settings,.alert-log{margin-top:1rem}.alerts-settings h3{font-size:.95rem;margin:1.25rem 0 .5rem}.howto{margin-bottom:.75rem;font-size:.9rem}.howto summary{cursor:pointer;color:var(--accent)}.recipient-form{margin-top:.75rem}.recipient-form button.primary{width:auto;padding:.45rem 1.1rem;margin-bottom:.9rem}@media(max-width:760px){.stat-tiles{grid-template-columns:repeat(2,1fr)}}.notice{color:var(--ok);margin:0 0 .75rem}.login-alt{display:block;text-align:center;margin:.9rem auto 0}button.primary.inline-button{width:auto;padding:.45rem 1.1rem;margin-bottom:.9rem}.people{margin-top:1rem}.invite-form{margin-top:.5rem}.invite-result{background:var(--surface-2);border-radius:8px;padding:.75rem .9rem;margin-bottom:1rem}.invite-result p{margin:0 0 .5rem}.invite-result input{flex:1;min-width:0;font-size:.85rem}.user-list select{font-size:.9rem}.camera-settings{margin-bottom:1rem}.camera-settings li.paused strong{color:var(--muted)}.camera-waiting{aspect-ratio:16 / 9;display:grid;place-items:center;background:var(--surface-2)}.ftp-box{background:var(--surface-2);border-radius:8px;padding:.75rem .9rem;margin:.25rem 0 1rem}.ftp-box table{border-collapse:collapse;margin:.5rem 0}.ftp-box th{text-align:left;font-weight:500;color:var(--muted);padding:.2rem 1rem .2rem 0}.ftp-box td{padding:.2rem 1rem .2rem 0}.ftp-box code{font-size:1rem;-webkit-user-select:all;user-select:all}.ftp-box ol{margin:.5rem 0 0;padding-left:1.25rem}.ftp-box summary{cursor:pointer;color:var(--accent)}.warning{color:var(--danger);font-weight:600;margin:.25rem 0 .5rem}.company-switch{margin-left:1rem;margin-right:auto;max-width:14rem;font-weight:600}.company-name{margin-left:1rem;margin-right:auto}.topbar{gap:.5rem}.banner{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--text);padding:.5rem 16px;text-align:center;font-size:.9rem}.company-list li.paused strong{color:var(--muted)}button.primary.inline-button.compact{margin-bottom:0}
