.collab-bar{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;min-height:28px;margin-bottom:6px;padding:6px 0;display:flex}.collab-bar--compact{margin-bottom:4px;padding:4px 0}.collab-bar-left{flex:1;min-width:0}.collab-bar-share{cursor:pointer;color:#ffffff80;font:500 var(--fs-xs)/1.3 var(--fm);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;transition:all .15s;display:flex}.collab-bar-share:hover{background:rgba(var(--sig-rgb),.08);border-color:rgba(var(--sig-rgb),.2);color:var(--sig)}.collab-bar-share svg{opacity:.7}.collab-bar-share:hover svg{opacity:1}.public-page{max-width:720px;font-family:var(--fl);color:#e5e5e5;background:#111;min-height:100vh;margin:0 auto;padding:40px 24px}.public-page--loading,.public-page--error{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.public-page-spinner{border:2px solid #ffffff1a;border-top-color:var(--sig);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.public-page-header{margin-bottom:32px}.public-page-badge{font:600 var(--fs-2xs)/1.3 var(--fm);text-transform:uppercase;letter-spacing:.8px;color:var(--sig);background:rgba(var(--sig-rgb),.1);border-radius:4px;margin-bottom:12px;padding:3px 8px;display:inline-block}.public-page-title{font:600 28px/1.2 var(--fm);color:#e5e5e5;margin:0}.public-page-desc{font:var(--fs-base)/1.5 var(--fl);color:#ffffff80;margin-top:8px}.public-page-content{margin-bottom:40px}.public-page-markdown{font:var(--fs-base)/1.6 var(--fl);color:#fffc}.public-page-markdown h1{font:700 var(--fs-3xl)/1.2 var(--fm);margin:24px 0 8px}.public-page-markdown h2{font:600 var(--fs-2xl)/1.2 var(--fm);margin:20px 0 8px}.public-page-markdown h3{font:600 var(--fs-xl)/1.2 var(--fm);margin:16px 0 6px}.public-page-markdown code{font:var(--fs-sm)/1.3 var(--fm);background:#ffffff0f;border-radius:4px;padding:1px 5px}.public-page-markdown pre{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;margin:12px 0;padding:12px;overflow-x:auto}.public-page-markdown a{color:var(--sig);text-decoration:none}.public-page-markdown a:hover{text-decoration:underline}.public-page-task-status,.public-page-task-due,.public-page-event-time,.public-page-event-location{font:500 var(--fs-sm)/1.4 var(--fm);color:#ffffff80;margin-bottom:8px}.public-page-field{border-bottom:1px solid #ffffff0a;gap:12px;padding:6px 0;display:flex}.public-page-field-label{font:500 var(--fs-xs)/1.3 var(--fm);color:#ffffff59;text-transform:capitalize;min-width:120px}.public-page-field-value{font:var(--fs-sm)/1.4 var(--fl);color:#ffffffb3}.public-page-comments{border-top:1px solid #ffffff0f;padding-top:24px}.public-page-comments h2{font:600 var(--fs-lg)/1.3 var(--fm);color:#e5e5e5;margin:0 0 16px}.public-comment{border-bottom:1px solid #ffffff0a;padding:10px 0}.public-comment-meta{align-items:center;gap:8px;margin-bottom:4px;display:flex}.public-comment-meta strong{font:600 var(--fs-sm)/1.3 var(--fm);color:#fffc}.public-comment-meta span{font:var(--fs-2xs)/1.3 var(--fm);color:#ffffff40}.public-comment-content{font:var(--fs-sm)/1.5 var(--fl);color:#fff9;margin:0}.public-comment-form{margin-top:16px}.public-comment-form-row{gap:8px;margin-bottom:8px;display:flex}.public-comment-input,.public-comment-textarea{color:#e5e5e5;width:100%;font:var(--fs-sm)/1.4 var(--fm);resize:vertical;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;outline:none;padding:8px 10px}.public-comment-input:focus,.public-comment-textarea:focus{border-color:var(--sig)}.public-comment-textarea{margin-bottom:8px}.public-comment-submit{background:var(--sig);color:#e5e5e5;font:500 var(--fs-sm)/1.3 var(--fm);cursor:pointer;border:none;border-radius:6px;padding:8px 16px}.public-comment-submit:disabled{opacity:.4;cursor:default}.public-page-footer{font:var(--fs-2xs)/1.3 var(--fm);color:#ffffff26;text-align:center;border-top:1px solid #ffffff0a;margin-top:40px;padding-top:16px}.sched-page{max-width:640px;font-family:var(--fl);color:#e5e5e5;background:#111;min-height:100vh;margin:0 auto;padding:40px 24px}.sched-page--loading,.sched-page--error,.sched-page--booked{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.sched-booked-check{background:var(--grn);color:#e5e5e5;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;font-size:24px;display:flex}.sched-booked-note{font:var(--fs-sm)/1.3 var(--fm);color:#fff6;margin-top:8px}.sched-header{margin-bottom:32px}.sched-header h1{font:600 24px/1.2 var(--fm);margin:0 0 8px}.sched-header p{font:var(--fs-sm)/1.5 var(--fl);color:#ffffff80;margin:0}.sched-duration{font:500 var(--fs-xs)/1.3 var(--fm);color:var(--sig);background:rgba(var(--sig-rgb),.1);border-radius:4px;margin-top:8px;padding:3px 8px;display:inline-block}.sched-body{flex-direction:column;gap:24px;display:flex}.sched-dates h3,.sched-times h3,.sched-form h3{font:600 var(--fs-sm)/1.3 var(--fm);color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.sched-date-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.sched-date-btn{cursor:pointer;color:#e5e5e5;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;transition:all .15s;display:flex}.sched-date-btn:hover{background:#ffffff14;border-color:#ffffff1f}.sched-date-btn--active{background:rgba(var(--sig-rgb),.12);border-color:var(--sig)}.sched-date-day{font:var(--fs-2xs)/1.3 var(--fm);color:#ffffff59}.sched-date-num{font:600 var(--fs-lg)/1.3 var(--fd)}.sched-time-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.sched-time-btn{cursor:pointer;color:#e5e5e5;font:500 var(--fs-sm)/1.3 var(--fm);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;padding:10px;transition:all .15s}.sched-time-btn:hover{background:#ffffff14}.sched-time-btn--active{background:rgba(var(--sig-rgb),.12);border-color:var(--sig);color:var(--sig)}.sched-time-btn--disabled{opacity:.25;cursor:default;text-decoration:line-through}.sched-no-slots{color:#ffffff4d;font:var(--fs-sm)/1.3 var(--fm)}.sched-input,.sched-textarea{color:#e5e5e5;width:100%;font:var(--fs-sm)/1.4 var(--fm);resize:vertical;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;outline:none;margin-bottom:8px;padding:8px 10px}.sched-input:focus,.sched-textarea:focus{border-color:var(--sig)}.sched-book-btn{color:#e5e5e5;width:100%;font:600 var(--fs-sm)/1.3 var(--fm);cursor:pointer;border:none;border-radius:6px;margin-top:4px;padding:10px}.sched-book-btn:disabled{opacity:.4;cursor:default}.sched-footer{font:var(--fs-2xs)/1.3 var(--fm);color:#ffffff26;text-align:center;border-top:1px solid #ffffff0a;margin-top:40px;padding-top:16px}.newsletter-widget{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;padding:16px}.newsletter-widget--success{align-items:center;gap:10px;display:flex}.newsletter-check{background:var(--grn);color:#e5e5e5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.newsletter-title{font:600 var(--fs-lg)/1.3 var(--fm);color:#e5e5e5;margin:0 0 4px}.newsletter-desc{font:var(--fs-sm)/1.4 var(--fl);color:#fff6;margin:0 0 12px}.newsletter-fields{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.newsletter-input,.newsletter-select{color:#e5e5e5;width:100%;font:var(--fs-sm)/1.4 var(--fm);background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;outline:none;padding:7px 10px}.newsletter-input:focus,.newsletter-select:focus{border-color:var(--sig)}.newsletter-btn{background:var(--sig);color:#e5e5e5;width:100%;font:500 var(--fs-sm)/1.3 var(--fm);cursor:pointer;border:none;border-radius:6px;padding:8px}.newsletter-btn:disabled{opacity:.4;cursor:default}.newsletter-error{color:var(--sig);font:var(--fs-xs)/1.3 var(--fm);margin-top:6px}
.projects-root{background:var(--bg);width:100%;height:100%;color:var(--tp);font-family:var(--fl);font-size:var(--fs-base);display:flex;position:relative;overflow:hidden}.projects-sidebar{background:var(--app-sb-bg);border-right:1px solid var(--cb);height:100%;animation:appSidebarIn var(--dur-panel)var(--ease-out-expo)both;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.projects-sb-search{padding:12px 12px 4px}.projects-sb-search-input{background:color-mix(in srgb,var(--tp)6%,transparent);border:1px solid color-mix(in srgb,var(--tp)10%,transparent);width:100%;font-family:var(--fl);font-size:var(--fs-sm);color:var(--tp);border-radius:6px;outline:none;padding:6px 10px}.projects-sb-search-input:focus{border-color:var(--sig)}.projects-sb-tabs{gap:2px;padding:8px 12px 4px;display:flex}.projects-sb-tab{color:var(--td);font-family:var(--fl);font-size:var(--fs-xs);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;border:none;border-radius:4px;padding:3px 8px;font-weight:500}.projects-sb-tab:hover{color:var(--tp);background:color-mix(in srgb,var(--tp)6%,transparent)}.projects-sb-tab.active{color:var(--sig);background:color-mix(in srgb,var(--sig)10%,transparent)}.projects-sb-new{background:color-mix(in srgb,var(--sig)10%,transparent);border:1px solid color-mix(in srgb,var(--sig)20%,transparent);color:var(--sig);font-family:var(--fl);font-size:var(--fs-sm);cursor:pointer;border-radius:6px;align-items:center;gap:6px;margin:8px 12px;padding:7px 10px;font-weight:500;display:flex}.projects-sb-new:hover{background:color-mix(in srgb,var(--sig)16%,transparent)}.projects-sb-new-icon{font-size:var(--fs-lg);font-weight:300;line-height:1}.projects-sb-list{flex:1;padding:4px 0;overflow-y:auto}.projects-sb-item{width:100%;height:var(--item-h);padding:0 var(--sb-item-px);color:var(--td);font-family:var(--fl);font-size:var(--fs-sm);cursor:pointer;text-align:left;transition:background var(--dur-fast)var(--ease-material),border-color var(--dur-fast)var(--ease-material);background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:8px;display:flex}.projects-sb-item:hover{background:var(--surface-hover);color:var(--tp)}.projects-sb-item.active{background:rgba(var(--sig-rgb),.1);color:var(--sig);border-left-color:var(--sig)}.projects-sb-item.nested{padding-left:24px}.projects-sb-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.projects-sb-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.projects-sb-status{font-family:var(--fm);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.5px;opacity:.5}.projects-sb-area-header{width:100%;color:var(--td);font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.8px;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 14px 4px;display:flex}.projects-sb-area-chevron{transition:transform .15s;display:flex}.projects-sb-area-chevron[data-collapsed=true]{transform:rotate(0)}.projects-sb-area-chevron[data-collapsed=false]{transform:rotate(90deg)}.projects-sb-area-dot{border-radius:50%;width:6px;height:6px}.projects-sb-area-title{text-align:left;flex:1}.projects-sb-area-count{opacity:.4}.projects-sb-empty{color:var(--td);font-size:var(--fs-sm);text-align:center;padding:20px 14px}.projects-workspace{flex-direction:column;flex:1;display:flex;overflow:hidden}.projects-view-area{flex:1;padding:16px 20px;overflow:auto}.projects-empty{flex:1;justify-content:center;align-items:center;display:flex}.projects-empty-inner{text-align:center}.projects-empty-icon{color:var(--td);margin-bottom:16px}.projects-empty-title{font-family:var(--fm);font-size:var(--fs-xl);color:var(--tp);margin:0 0 6px}.projects-empty-sub{font-size:var(--fs-sm);color:var(--td);margin:0 0 16px}.projects-empty-btn{background:var(--sig);color:var(--bg);font-family:var(--fl);font-size:var(--fs-sm);cursor:pointer;border:none;border-radius:6px;padding:8px 20px}.projects-empty-btn:hover{opacity:.9}.projects-placeholder{height:200px;color:var(--td);font-size:var(--fs-sm);justify-content:center;align-items:center;display:flex}.project-header{border-bottom:1px solid color-mix(in srgb,var(--tp)8%,transparent);padding:16px 20px 0}.project-header-top{align-items:center;gap:10px;margin-bottom:12px;display:flex}.project-header-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.project-header-title{font-family:var(--fm);font-size:var(--fs-2xl);cursor:text;flex:1;margin:0;font-weight:500}.project-header-icon{margin-right:6px}.project-header-title-input{font-family:var(--fm);font-size:var(--fs-2xl);border:none;border-bottom:1px solid var(--sig);color:var(--tp);background:0 0;outline:none;flex:1;padding:0;font-weight:500}.project-header-status-wrap{position:relative}.project-header-status{font-family:var(--fm);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:color-mix(in srgb,var(--tp)8%,transparent);color:var(--tp);border:none;border-radius:4px;padding:3px 8px}.project-header-status.active{color:var(--grn);background:color-mix(in srgb,var(--grn)12%,transparent)}.project-header-status.planning{color:#f59e0b;background:#f59e0b1f}.project-header-status.paused{color:#8b5cf6;background:#8b5cf61f}.project-header-status.complete{color:var(--sig);background:color-mix(in srgb,var(--sig)12%,transparent)}.project-header-status-dropdown{background:color-mix(in srgb,var(--bg)95%,#fff 5%);border:1px solid color-mix(in srgb,var(--tp)12%,transparent);z-index:10;border-radius:6px;min-width:120px;padding:4px;position:absolute;top:calc(100% + 4px);left:0}.project-header-status-opt{width:100%;color:var(--tp);font-family:var(--fm);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 10px;display:block}.project-header-status-opt:hover{background:color-mix(in srgb,var(--tp)6%,transparent)}.project-header-status-opt.active{color:var(--sig)}.project-header-progress{align-items:center;gap:8px;display:flex}.project-header-progress-bar{background:color-mix(in srgb,var(--tp)10%,transparent);border-radius:2px;width:80px;height:4px;overflow:hidden}.project-header-progress-fill{background:var(--sig);border-radius:2px;height:100%;transition:width .3s}.project-header-progress-label,.project-header-date{font-family:var(--fm);font-size:var(--fs-xs);color:var(--td)}.project-view-tabs{gap:0;display:flex}.project-view-tab{color:var(--td);font-family:var(--fm);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;transition:color .15s,border-color .15s}.project-view-tab:hover{color:var(--tp)}.project-view-tab.active{color:var(--sig);border-bottom-color:var(--sig)}.project-overview{flex-direction:column;gap:20px;display:flex}.project-stats{flex-wrap:wrap;gap:12px;display:flex}.project-stat-card{background:color-mix(in srgb,var(--tp)4%,transparent);border:1px solid color-mix(in srgb,var(--tp)8%,transparent);border-radius:8px;flex-direction:column;gap:4px;min-width:100px;padding:14px 18px;display:flex}.project-stat-card.accent{border-color:color-mix(in srgb,var(--sig)20%,transparent)}.project-stat-value{font-family:var(--fm);font-size:var(--fs-3xl);color:var(--tp);font-weight:500}.project-stat-card.accent .project-stat-value{color:var(--sig)}.project-stat-label{font-family:var(--fm);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.5px;color:var(--td)}.project-overview-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.project-overview-section{background:color-mix(in srgb,var(--tp)3%,transparent);border:1px solid color-mix(in srgb,var(--tp)6%,transparent);border-radius:8px;padding:14px 16px}.project-section-title{font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--td);margin:0 0 10px}.project-section-empty{font-size:var(--fs-sm);color:var(--td);opacity:.5;margin:0}.project-milestones-list{flex-direction:column;gap:6px;display:flex}.project-milestone{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.project-milestone.done{opacity:.5;text-decoration:line-through}.project-milestone-dot{border-radius:50%;width:6px;height:6px}.project-milestone-title{flex:1}.project-milestone-date{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td)}.project-activity-list{flex-direction:column;gap:6px;display:flex}.project-activity-item{font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.project-activity-action{color:var(--td)}.project-activity-entity{color:var(--tp);font-weight:500}.project-activity-time{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td);opacity:.6;margin-left:auto}.project-status-bar{border-radius:4px;gap:1px;height:6px;display:flex;overflow:hidden}.project-status-bar-segment{min-width:4px}.project-status-bar-segment.backlog{background:#6b7280}.project-status-bar-segment.todo{background:#3b82f6}.project-status-bar-segment.in_progress{background:var(--sig)}.project-status-bar-segment.in_review{background:#8b5cf6}.project-status-bar-segment.done{background:var(--grn)}.project-task-list-mini{flex-direction:column;gap:4px;display:flex}.project-task-list-mini-item{color:var(--tp);font-family:var(--fl);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;width:100%;padding:4px 6px;display:flex}.project-task-list-mini-item:hover{background:color-mix(in srgb,var(--tp)5%,transparent)}.project-task-list-mini-item.overdue{color:var(--neg)}.project-task-mini-priority{font-family:var(--fm);font-size:var(--fs-2xs);flex-shrink:0;font-weight:600}.project-task-mini-priority.p1{color:var(--neg)}.project-task-mini-priority.p2{color:var(--sig)}.project-task-mini-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.project-task-mini-date{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td);flex-shrink:0}.project-task-mini-date.overdue{color:var(--neg)}.project-completed-list{flex-direction:column;gap:4px;display:flex}.project-completed-item{font-size:var(--fs-sm);color:var(--td);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;width:100%;padding:3px 4px;display:flex}.project-completed-item:hover{background:color-mix(in srgb,var(--tp)5%,transparent)}.project-board-wrap{flex-direction:column;gap:12px;height:100%;min-height:0;display:flex}.project-board-toolbar{flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.project-board-groupby{background:color-mix(in srgb,var(--tp)5%,transparent);border:1px solid color-mix(in srgb,var(--tp)7%,transparent);border-radius:6px;gap:2px;padding:2px;display:inline-flex}.project-board-groupby-btn{color:var(--td);font:500 11px/1.3 var(--fm);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 10px;transition:background .1s ease-out,color .1s ease-out}.project-board-groupby-btn:hover:not(:disabled){color:var(--tp);background:color-mix(in srgb,var(--tp)5%,transparent)}.project-board-groupby-btn.active{color:var(--tp);background:color-mix(in srgb,var(--tp)10%,transparent)}.project-board-groupby-btn:disabled{opacity:.35;cursor:not-allowed}.project-board{flex:1;gap:12px;min-height:0;padding-bottom:12px;display:flex;overflow-x:auto}.project-board-column{background:color-mix(in srgb,var(--tp)3%,transparent);border:1px solid color-mix(in srgb,var(--tp)6%,transparent);border-radius:8px;flex-direction:column;width:220px;min-width:220px;max-height:100%;display:flex}.project-board-column-header{border-bottom:1px solid color-mix(in srgb,var(--tp)6%,transparent);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.project-board-column-header.draggable{cursor:grab}.project-board-column-header.draggable:active{cursor:grabbing}.project-board-column.col-dragging{opacity:.5}.project-board-column-title{font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--td)}.project-board-column-count{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td);opacity:.5}.project-board-column-body{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.project-board-column-header-left{align-items:center;gap:6px;display:flex}.project-board-column-dot{background:var(--td);border-radius:50%;width:8px;height:8px}.project-board-column-dot.backlog{background:#6b7280}.project-board-column-dot.todo{background:#3b82f6}.project-board-column-dot.in_progress{background:var(--sig)}.project-board-column-dot.in_review{background:#8b5cf6}.project-board-column-dot.done{background:var(--grn)}.project-board-column.drag-over{background:color-mix(in srgb,var(--sig)6%,transparent);border-color:color-mix(in srgb,var(--sig)20%,transparent)}.project-task-card{background:color-mix(in srgb,var(--bg)80%,#fff 3%);border:1px solid color-mix(in srgb,var(--tp)8%,transparent);cursor:pointer;font-size:var(--fs-sm);border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;transition:border-color .15s,box-shadow .15s,opacity .15s;display:flex}.project-task-card:hover{border-color:color-mix(in srgb,var(--tp)20%,transparent);box-shadow:0 1px 4px #0000001f}.project-task-card:active{cursor:grabbing}.project-task-card.dragging{opacity:.4}.project-task-card-top{align-items:flex-start;gap:6px;display:flex}.project-task-card-title{color:var(--tp);flex:1;line-height:1.3}.project-task-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-task-card-date{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td)}.project-task-card-priority{font-family:var(--fm);font-size:var(--fs-2xs);font-weight:600}.project-task-card-tag{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td);background:color-mix(in srgb,var(--tp)6%,transparent);border-radius:4px;padding:1px 5px}.project-board-add-btn{color:var(--td);font-family:var(--fm);font-size:var(--fs-sm);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;padding:6px 8px}.project-board-add-btn:hover{color:var(--tp);background:color-mix(in srgb,var(--tp)4%,transparent)}.project-board-add-form{padding:2px}.project-board-add-input{background:color-mix(in srgb,var(--bg)80%,#fff 3%);border:1px solid var(--sig);width:100%;color:var(--tp);font-family:var(--fl);font-size:var(--fs-sm);border-radius:6px;outline:none;padding:6px 8px}.project-list{flex-direction:column;display:flex}.project-list-header{border-bottom:1px solid color-mix(in srgb,var(--tp)10%,transparent);font-family:var(--fm);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.5px;color:var(--td);align-items:center;padding:6px 0;display:flex}.project-list-col.check{flex-shrink:0;width:28px}.project-list-col.title{flex:1}.project-list-col.status{width:80px}.project-list-col.priority,.project-list-col.date{width:100px}.project-list-body{flex-direction:column;display:flex}.project-list-row{border-bottom:1px solid color-mix(in srgb,var(--tp)4%,transparent);font-size:var(--fs-sm);align-items:center;padding:7px 0;display:flex}.project-list-row.done{opacity:.4}.project-list-row.done .project-list-col.title{text-decoration:line-through}.project-list-check{border:1.5px solid color-mix(in srgb,var(--tp)25%,transparent);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;padding:0;display:flex}.project-list-check.checked{background:var(--sig);border-color:var(--sig);color:#e5e5e5}.project-list-status-badge{font-family:var(--fm);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.3px;color:var(--td)}.project-list-status-select,.project-list-priority-select{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td);cursor:pointer;appearance:none;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;max-width:100%;padding:2px 4px}.project-list-status-select:hover,.project-list-priority-select:hover{border-color:color-mix(in srgb,var(--tp)12%,transparent)}.project-list-status-select:focus,.project-list-priority-select:focus{border-color:var(--sig)}.project-list-status-select.todo{color:#3b82f6}.project-list-status-select.in_progress{color:var(--sig)}.project-list-status-select.in_review{color:#8b5cf6}.project-list-status-select.blocked{color:var(--neg)}.project-list-status-select.done{color:var(--grn)}.project-list-priority-select.p1{color:var(--neg)}.project-list-priority-select.p2{color:var(--sig)}.project-list-priority-select.p3{color:#4a90d9}.project-list-priority-select.p4{color:var(--td)}.project-list-date-input{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;max-width:100%;padding:2px 4px}.project-list-date-input:hover{border-color:color-mix(in srgb,var(--tp)12%,transparent)}.project-list-date-input:focus{border-color:var(--sig)}.project-list-row{cursor:pointer}.project-list-row:hover{background:color-mix(in srgb,var(--tp)4%,transparent)}.project-list-add-btn{color:var(--td);font-family:var(--fm);font-size:var(--fs-sm);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 0}.project-list-add-btn:hover{color:var(--sig)}.project-list-add-input{border:none;border-bottom:1px solid var(--sig);width:100%;color:var(--tp);font-family:var(--fl);font-size:var(--fs-sm);background:0 0;outline:none;padding:2px 0}.project-list-empty{text-align:center;color:var(--td);font-size:var(--fs-sm);padding:40px 20px}.project-list-group{flex-direction:column;display:flex}.project-list-group+.project-list-group{margin-top:12px}.project-list-section-head{border-bottom:1px solid color-mix(in srgb,var(--tp)5%,transparent);align-items:center;gap:8px;margin-bottom:2px;padding:10px 0 4px;display:flex}.project-list-section-title{font:600 11px/1.3 var(--fm);letter-spacing:.04em;text-transform:uppercase;color:var(--td);cursor:text}.project-list-section-count{font:400 11px/1.3 var(--fm);color:var(--text-disabled);font-variant-numeric:tabular-nums}.project-list-section-del{width:18px;height:18px;color:var(--text-disabled);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;margin-left:auto;font-size:14px;line-height:1;transition:opacity .1s ease-out,background .1s ease-out,color .1s ease-out}.project-list-section-head:hover .project-list-section-del{opacity:1}.project-list-section-del:hover{background:color-mix(in srgb,var(--tp)6%,transparent);color:var(--tp)}.project-list-section-rename{min-width:0;font:600 11px/1.3 var(--fm);letter-spacing:.04em;text-transform:uppercase;color:var(--tp);border:none;border-bottom:1px solid var(--sig);background:0 0;outline:none;flex:1;padding:2px 0}.project-list-section-new{padding:12px 0 4px}.project-list-section-add-btn{border:1px dashed color-mix(in srgb,var(--tp)10%,transparent);color:var(--td);font-family:var(--fm);font-size:var(--fs-sm);cursor:pointer;text-align:left;background:0 0;border-radius:6px;margin-top:16px;padding:10px 12px;transition:border-color .1s ease-out,color .1s ease-out,background .1s ease-out}.project-list-section-add-btn:hover{border-color:var(--sig);color:var(--tp);background:color-mix(in srgb,var(--tp)3%,transparent)}.task-detail-overlay{z-index:100;background:#0003;justify-content:flex-end;display:flex;position:fixed;inset:0}.task-detail-panel{background:var(--bg);border-left:1px solid color-mix(in srgb,var(--tp)10%,transparent);flex-direction:column;gap:14px;min-width:420px;max-width:900px;height:100%;padding:24px 28px;animation:.2s slideInRight;display:flex;position:relative;overflow-y:auto}.task-detail-resize{cursor:col-resize;z-index:5;background:0 0;width:6px;transition:background .15s;position:absolute;top:0;bottom:0;left:0}.task-detail-resize:hover,.task-detail-resize:active{background:color-mix(in srgb,var(--sig)30%,transparent)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.task-detail-header{justify-content:space-between;align-items:center;display:flex}.task-detail-header-actions{align-items:center;gap:4px;display:flex;position:relative}.task-detail-action-btn{color:var(--td);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.task-detail-action-btn:hover{color:var(--tp);background:color-mix(in srgb,var(--tp)6%,transparent)}.task-detail-action-menu{background:color-mix(in srgb,var(--bg)95%,#fff 5%);border:1px solid color-mix(in srgb,var(--tp)12%,transparent);z-index:10;border-radius:6px;min-width:140px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.task-detail-action-menu-item{width:100%;color:var(--tp);font-family:var(--fm);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 10px;display:block}.task-detail-action-menu-item:hover{background:color-mix(in srgb,var(--tp)6%,transparent)}.task-detail-action-menu-item.danger{color:var(--neg)}.task-detail-action-menu-item.danger:hover{background:color-mix(in srgb,var(--neg)8%,transparent)}.task-detail-check{border:2px solid color-mix(in srgb,var(--tp)25%,transparent);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.task-detail-check.checked{background:var(--sig);border-color:var(--sig);color:#e5e5e5}.task-detail-close{color:var(--td);cursor:pointer;background:0 0;border:none;padding:4px}.task-detail-close:hover{color:var(--tp)}.task-detail-title{font-family:var(--fm);font-size:var(--fs-2xl);color:var(--tp);background:0 0;border:none;outline:none;width:100%;padding:0;font-weight:500}.task-detail-title::placeholder{color:var(--td);opacity:.4}.task-detail-desc{border:1px solid color-mix(in srgb,var(--tp)8%,transparent);width:100%;color:var(--tp);font-family:var(--fl);font-size:var(--fs-sm);resize:vertical;background:0 0;border-radius:6px;outline:none;padding:8px 10px}.task-detail-desc:focus{border-color:var(--sig)}.task-detail-fields{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}.task-detail-field{flex-direction:column;gap:4px;display:flex}.task-detail-field-label{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td);text-transform:uppercase;letter-spacing:.5px}.task-detail-field-value{background:color-mix(in srgb,var(--tp)4%,transparent);border:1px solid color-mix(in srgb,var(--tp)8%,transparent);width:100%;color:var(--tp);font-family:var(--fm);font-size:var(--fs-sm);appearance:none;border-radius:6px;outline:none;padding:6px 10px}.task-detail-field-value:hover{border-color:color-mix(in srgb,var(--tp)14%,transparent)}.task-detail-field-value:focus{border-color:var(--sig)}.task-detail-field-value.status-todo{color:#3b82f6}.task-detail-field-value.status-in_progress{color:var(--sig)}.task-detail-field-value.status-in_review{color:#8b5cf6}.task-detail-field-value.status-blocked{color:var(--neg)}.task-detail-field-value.status-done{color:var(--grn)}.task-detail-field-value.status-backlog{color:#6b7280}.task-detail-divider{background:color-mix(in srgb,var(--tp)8%,transparent);height:1px;margin:2px 0}.task-detail-future{flex-wrap:wrap;gap:6px;display:flex}.task-detail-future-item{border:1px dashed color-mix(in srgb,var(--tp)10%,transparent);font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td);opacity:.5;cursor:default;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;display:flex}.task-detail-section-title{font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--td);margin:0 0 8px}.task-detail-subtasks{flex-direction:column;display:flex}.task-detail-subtask{font-size:var(--fs-sm);align-items:center;gap:8px;padding:4px 0;display:flex}.task-detail-subtask.done{opacity:.4;text-decoration:line-through}.task-detail-subtask-check{border:1.5px solid color-mix(in srgb,var(--tp)25%,transparent);cursor:pointer;background:0 0;border-radius:50%;width:12px;height:12px}.task-detail-subtask-check.checked{background:var(--sig);border-color:var(--sig);color:#e5e5e5}.task-detail-subtask-title{flex:1}.task-detail-subtask.done .task-detail-subtask-title{text-decoration:line-through}.task-detail-section-count{opacity:.5;margin-left:6px;font-weight:400}.task-detail-subtask-add{margin-top:6px}.task-detail-subtask-input{border:none;border-bottom:1px solid color-mix(in srgb,var(--tp)10%,transparent);width:100%;color:var(--tp);font-family:var(--fl);font-size:var(--fs-sm);background:0 0;outline:none;padding:4px 0}.task-detail-subtask-input:focus{border-bottom-color:var(--sig)}.task-detail-subtask-input::placeholder,.task-detail-placeholder-text{color:var(--td);opacity:.5}.task-detail-comments{margin-top:8px}.task-detail-placeholder{font-size:var(--fs-sm);color:var(--td);opacity:.5;margin:0}.project-create-dialog{width:420px}.project-create-dialog__title-input{font-size:var(--fs-lg);font-weight:500}.project-create-dialog__sm-input{max-width:160px}.project-create-dialog__body{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.project-create-dialog__field{flex-direction:column;gap:6px;display:flex}.project-create-dialog__label{font-family:var(--fm);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.5px;color:var(--td)}.project-create-dialog__colors{gap:6px;display:flex}.project-create-dialog__color-dot{cursor:pointer;width:24px;height:24px;transition:opacity var(--dur-fast)ease;border:2px solid #0000;border-radius:50%}.project-create-dialog__color-dot--active{border-color:var(--tp);box-shadow:0 0 0 2px var(--bg)}.project-create-dialog__color-dot:hover{opacity:.8}.project-timeline{gap:16px;height:100%;display:flex}.project-timeline-scroll{flex:1;position:relative;overflow:auto}.project-timeline-canvas{min-height:200px;padding-top:32px;position:relative}.project-timeline-months{z-index:2;background:var(--bg);height:28px;position:sticky;top:0}.project-timeline-month{height:28px;font-family:var(--fm);font-size:var(--fs-2xs);color:var(--td);text-transform:uppercase;letter-spacing:.5px;border-left:1px solid color-mix(in srgb,var(--tp)8%,transparent);border-bottom:1px solid color-mix(in srgb,var(--tp)6%,transparent);align-items:center;padding:0 8px;display:flex;position:absolute;top:0}.project-timeline-today{background:var(--sig);z-index:3;opacity:.7;width:2px;position:absolute;top:28px;bottom:0}.project-timeline-today-label{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--sig);white-space:nowrap;position:absolute;top:-20px;left:-14px}.project-timeline-milestone{z-index:4;align-items:center;gap:4px;display:flex;position:absolute;top:30px;transform:translate(-5px)}.project-timeline-milestone.done{opacity:.4}.project-timeline-milestone-label{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--tp);white-space:nowrap}.project-timeline-tasks{padding-top:20px;position:relative}.project-timeline-task-row{height:24px;position:absolute;left:0;right:0}.project-timeline-task-row.done{opacity:.4}.project-timeline-task-bar{cursor:pointer;border:none;border-radius:4px;align-items:center;height:20px;padding:0 6px;transition:filter .15s;display:flex;position:absolute;overflow:hidden}.project-timeline-task-bar:hover{filter:brightness(1.2)}.project-timeline-task-label{font-family:var(--fm);font-size:var(--fs-2xs);color:#e5e5e5;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-timeline-undated{border-left:1px solid color-mix(in srgb,var(--tp)8%,transparent);width:200px;min-width:200px;padding:0 12px;overflow-y:auto}.project-timeline-undated-title{font-family:var(--fm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--td);margin:0 0 8px}.project-timeline-undated-item{width:100%;color:var(--tp);font-family:var(--fl);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:5px 6px;display:flex}.project-timeline-undated-item:hover{background:color-mix(in srgb,var(--tp)5%,transparent)}.project-timeline-undated-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.project-notes{flex-direction:column;height:100%;display:flex}.project-notes-toolbar{border-bottom:1px solid color-mix(in srgb,var(--tp)8%,transparent);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.project-notes-toolbar-left{gap:2px;display:flex}.project-notes-toolbar-right{align-items:center;gap:8px;display:flex}.project-notes-tab{color:var(--td);font-family:var(--fm);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px}.project-notes-tab:hover{color:var(--tp)}.project-notes-tab.active{color:var(--sig);background:color-mix(in srgb,var(--sig)10%,transparent)}.project-notes-save-status{font-family:var(--fm);font-size:var(--fs-2xs);color:var(--grn)}.project-notes-save-status.unsaved{color:#f59e0b}.project-notes-save-btn{background:var(--sig);color:#e5e5e5;font-family:var(--fm);font-size:var(--fs-2xs);cursor:pointer;border:none;border-radius:4px;padding:3px 10px}.project-notes-save-btn:hover{opacity:.9}.project-notes-editor{border:1px solid color-mix(in srgb,var(--tp)8%,transparent);width:100%;color:var(--tp);font-family:var(--fmono);font-size:var(--fs-sm);resize:none;background:0 0;border-radius:6px;outline:none;flex:1;min-height:300px;padding:14px 16px;line-height:1.7}.project-notes-editor:focus{border-color:color-mix(in srgb,var(--sig)30%,transparent)}.project-notes-editor::placeholder{color:var(--td);opacity:.4}.project-notes-preview{border:1px solid color-mix(in srgb,var(--tp)8%,transparent);font-family:var(--fl);font-size:var(--fs-sm);color:var(--tp);border-radius:6px;flex:1;padding:14px 16px;line-height:1.7;overflow-y:auto}.project-notes-empty{color:var(--td);opacity:.5;margin:0}.project-notes-heading{font-family:var(--fm);margin:16px 0 6px;font-weight:500}.project-notes-paragraph{margin:6px 0}.project-notes-list{margin:6px 0;padding-left:20px}.project-notes-list li{margin:3px 0}.project-notes-code{background:color-mix(in srgb,var(--tp)5%,transparent);border:1px solid color-mix(in srgb,var(--tp)8%,transparent);font-family:var(--fm);font-size:var(--fs-sm);border-radius:6px;margin:8px 0;padding:10px 14px;overflow-x:auto}.project-notes-inline-code{background:color-mix(in srgb,var(--tp)6%,transparent);font-family:var(--fm);font-size:var(--fs-sm);border-radius:4px;padding:1px 4px}[data-theme=light] .projects-sidebar{border-color:#0000140f}[data-theme=light] .projects-sb-item:hover{background:var(--surface-hover)}[data-theme=light] .projects-sb-area-header{color:#00000059}[data-theme=light] .project-modal{background:color-mix(in srgb,var(--bg)98%,#000 2%)}[data-theme=light] .project-task-card{background:color-mix(in srgb,var(--bg)80%,#000 3%)}[data-theme=light] .project-notes-editor{background:color-mix(in srgb,var(--bg)98%,#000 2%)}[data-theme=light] .projects-root{background:var(--ct)}.filmstrip-cell:hover .filmstrip-remove{opacity:1}.filmstrip-remove{color:#fff;cursor:pointer;opacity:0;background:#0009;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:10px;transition:opacity .1s ease-out;display:flex;position:absolute;top:3px;right:3px}
:root{--weather-void:var(--bg);--weather-surface:#181816;--weather-surface-2:#1e1e1b;--weather-surface-3:#252522;--weather-border:var(--border-subtle);--weather-border-2:var(--border-default);--weather-fg:#f0ede6;--weather-t88:#f0ede6e0;--weather-t62:#f0ede69e;--weather-t40:#f0ede666;--weather-t25:#f0ede640;--weather-t15:#f0ede626;--weather-t05:#f0ede60d;--weather-t08:#f0ede614;--weather-card-bg:#111110;--weather-card-shadow:inset 0 1px 0 #f0ede608,0 1px 4px #00000080;--weather-text:var(--weather-t88);--weather-text-2:var(--weather-t62);--weather-text-3:var(--weather-t40);--weather-text-4:var(--weather-t25);--weather-amber:#f5a623;--weather-ice:#6eb5ff;--weather-rain:#4f9ee8;--weather-storm:#c17aff;--weather-sun:#ffd166;--weather-moon:#d8d4f0;--weather-tide-hi:#4fbdba;--weather-tide-lo:#2d6b68;--weather-green:#57c785;--weather-red:#e05e5e;--weather-glow-moon:#ffffff1f;--weather-font:var(--fmono);--weather-font-sans:var(--fm);--weather-font-cond:var(--fmono);--weather-radius:4px;--weather-cell-gap:10px}.weather-root{background:var(--weather-void);height:100%;color:var(--weather-text);font-family:var(--weather-font);flex-direction:column;display:flex;position:relative;overflow:hidden}.weather-header{flex-shrink:0;justify-content:space-between;align-items:baseline;padding:12px 20px 0;display:flex}.weather-header__left{align-items:baseline;gap:12px;display:flex}.weather-header__right{align-items:center;gap:12px;display:flex}.weather-title{font-family:var(--weather-font);letter-spacing:4px;text-transform:uppercase;color:var(--weather-text);font-size:13px;font-weight:500}.weather-header__date{font-family:var(--weather-font);color:var(--weather-t25);letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:10px}.weather-header__upd{font-family:var(--weather-font);color:var(--weather-t15);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.weather-header__refresh{border:1px solid var(--weather-t08);color:var(--weather-text-3);font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:color var(--dur-state)ease-out,border-color var(--dur-state)ease-out;background:0 0;border-radius:4px;padding:3px 10px;font-size:9px;font-weight:700}.weather-header__refresh:hover{color:var(--weather-text-2);border-color:var(--weather-text-3)}.weather-header__refresh:focus-visible{outline-offset:1px;outline:2px solid #5e6ad266}.weather-header__refresh.is-loading{opacity:.4;pointer-events:none}.weather-page{padding:var(--sp-4)20px;flex:1;overflow:hidden auto}.weather-page::-webkit-scrollbar{width:4px}.weather-page::-webkit-scrollbar-track{background:0 0}.weather-page::-webkit-scrollbar-thumb{background:var(--weather-border);border-radius:2px}.weather-reading{font-family:var(--weather-font);color:var(--weather-fg);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1}.weather-reading--sm{color:var(--weather-t62);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.weather-reading-unit{color:var(--weather-text-2);letter-spacing:0;vertical-align:super;margin-left:2px;font-size:.45em;font-weight:400}.weather-data-row{justify-content:space-between;align-items:baseline;gap:var(--sp-2);padding:var(--sp-1)0;border-bottom:1px solid var(--weather-t05);display:flex}.weather-data-row:last-child{border-bottom:none}.weather-data-label{font-family:var(--weather-font-cond);color:var(--weather-t40);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:700}.weather-data-value{font-family:var(--weather-font);color:var(--weather-t88);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:11px;font-weight:400}.weather-data-hint{font-family:var(--weather-font);color:var(--weather-t40);letter-spacing:-.01em;font-size:10px}.weather-badge{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;border-radius:4px;align-items:center;padding:2px 6px;font-size:9px;font-weight:700;display:inline-flex}.weather-data-grid{gap:var(--sp-2)var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.weather-data-grid--3{grid-template-columns:repeat(3,1fr)}.weather-sparkline{width:100%;height:32px;display:block;overflow:visible}.weather-tide-curve{filter:drop-shadow(0 2px 4px #00000026);width:100%;height:48px;display:block}.weather-score-bar{align-items:center;gap:var(--sp-2);display:flex}.weather-score-bar__track{background:var(--weather-border);border-radius:3px;width:120px;height:6px;overflow:hidden}.weather-score-bar__fill{height:100%;transition:width var(--dur-slow)ease-out;border-radius:3px}.weather-now-hero{align-items:flex-start;gap:var(--sp-4);display:flex}.weather-now-temp-col{gap:var(--sp-1);flex-direction:column;flex:1;display:flex}.weather-now-condition{font-family:var(--weather-font-cond);color:var(--weather-t62);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:700}.weather-now-feels,.weather-now-range{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:10px}.weather-now-next-event{font-family:var(--weather-font);color:var(--weather-amber);margin-top:var(--sp-1);font-size:10px}.weather-sun-times{justify-content:space-between;align-items:flex-end;display:flex}.weather-sun-item{align-items:center;gap:var(--sp-1);flex-direction:column;display:flex}.weather-sun-time{font-family:var(--weather-font);color:var(--weather-t88);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:18px;font-weight:400}.weather-sun-time-label{font-family:var(--weather-font-cond);color:var(--weather-t40);text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:700}.weather-sun-bar{background:var(--weather-border);height:2px;margin-top:var(--sp-3);border-radius:1px;position:relative;overflow:visible}.weather-sun-progress{background:linear-gradient(to right,var(--weather-amber),var(--weather-sun));border-radius:1px;height:100%;position:absolute;top:0;left:0}.weather-sun-now{background:var(--weather-amber);border:2px solid var(--weather-void);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;transform:translate(-50%)}.weather-sun-meta{font-family:var(--weather-font);color:var(--weather-t40);text-align:center;margin-top:var(--sp-2);font-variant-numeric:tabular-nums;font-size:11px}.weather-sun-detail-row{align-items:baseline;gap:var(--sp-2);padding:var(--sp-1-5)0;border-bottom:1px solid var(--weather-border);display:flex}.weather-sun-detail-row:last-child{border-bottom:none}.weather-sun-detail-label{font-family:var(--weather-font-cond);color:var(--weather-t40);letter-spacing:1px;text-transform:uppercase;flex:1;font-size:9px;font-weight:700}.weather-sun-detail-value{font-family:var(--weather-font);color:var(--weather-t88);font-variant-numeric:tabular-nums;font-size:11px}.weather-moon-hero{align-items:center;gap:var(--sp-5);display:flex}.weather-moon-info{gap:var(--sp-1);flex-direction:column;flex:1;display:flex}.weather-moon-phase-name{font-family:var(--weather-font);color:var(--weather-t88);letter-spacing:.03em;font-size:11px;font-weight:500}.weather-moon-illum{font-family:var(--weather-font);color:var(--weather-moon);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1}.weather-moon-detail{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:11px}.weather-moon-times{gap:var(--sp-6);margin-top:var(--sp-2);display:flex}.weather-moon-time-item{flex-direction:column;gap:2px;display:flex}.weather-moon-time-label{font-family:var(--weather-font-cond);color:var(--weather-t40);text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:700}.weather-moon-time-value{font-family:var(--weather-font);color:var(--weather-t88);font-variant-numeric:tabular-nums;font-size:13px}.weather-ocean-hero{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.weather-ocean-hero-main{gap:var(--sp-1);flex-direction:column;display:flex}.weather-ocean-quality{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;margin-top:var(--sp-2);font-size:9px;font-weight:700}.weather-ocean-meta{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:11px}.weather-ocean-hero-secondary{gap:var(--sp-6);flex-shrink:0;display:flex}.weather-ocean-stat{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.weather-ocean-stat-label{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;color:var(--weather-t40);font-size:9px;font-weight:700}.weather-ocean-stat-value{font-family:var(--weather-font);color:var(--weather-t88);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:18px;font-weight:400}.weather-ocean-stat-sub{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:11px}.weather-tide-schedule{border-top:1px solid var(--weather-border);margin-top:var(--sp-3);display:flex}.weather-tide-item{align-items:center;gap:var(--sp-1);padding:var(--sp-3)var(--sp-2);border-right:1px solid var(--weather-border);flex-direction:column;flex:1;display:flex}.weather-tide-item:last-child{border-right:none}.weather-tide-type{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:700}.weather-tide-item--high .weather-tide-type{color:var(--weather-tide-hi)}.weather-tide-item--low .weather-tide-type{color:var(--tg)}.weather-tide-time{font-family:var(--weather-font);color:var(--weather-t88);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.weather-tide-height{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:11px}.weather-surf-timeline{align-items:flex-end;gap:2px;height:48px;display:flex}.weather-surf-block{opacity:.3;height:100%;min-height:4px;transition:opacity var(--dur-state)ease-out;border-radius:1px;flex:1;position:relative}.weather-surf-block:hover{opacity:.7}.weather-surf-block.is-now{opacity:1}.weather-surf-block-fill{background:#ffffff26;border-radius:1px;position:absolute;bottom:0;left:0;right:0}.weather-surf-hours{height:14px;margin-top:var(--sp-1);position:relative}.weather-surf-hour-label{font-family:var(--weather-font);color:var(--weather-t25);font-variant-numeric:tabular-nums;font-size:9px;position:absolute;transform:translate(-50%)}.weather-surf-now-detail{align-items:baseline;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--weather-border);display:flex}.weather-surf-score{font-family:var(--weather-font);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1}.weather-surf-label{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:700}.weather-surf-meta{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:11px}.weather-cosmos-rating{align-items:baseline;gap:var(--sp-3);display:flex}.weather-cosmos-rating-label{font-family:var(--weather-font-cond);color:var(--weather-t40);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:700}.weather-cosmos-moon-sign{font-family:var(--weather-font);color:var(--weather-moon);letter-spacing:.03em;font-size:11px}.weather-cosmos-voc{font-family:var(--weather-font);color:var(--weather-amber);font-size:11px}.weather-planet-table{border-collapse:collapse;width:100%}.weather-planet-row{border-bottom:1px solid var(--weather-border)}.weather-planet-row:last-child{border-bottom:none}.weather-planet-row td{padding:var(--sp-2)var(--sp-2);font-family:var(--weather-font);color:var(--weather-t62);vertical-align:middle;font-variant-numeric:tabular-nums;font-size:11px}.weather-planet-symbol{text-align:center;width:28px;font-size:13px}.weather-planet-name{font-family:var(--weather-font-cond);color:var(--weather-t88);letter-spacing:1px;text-transform:uppercase;width:80px;font-size:9px;font-weight:700}.weather-planet-sign{color:var(--weather-t88);font-size:11px}.weather-planet-status{color:var(--weather-amber);letter-spacing:1px;font-size:9px}.weather-aspect-chip{align-items:center;gap:var(--sp-1);background:var(--cv);border:1px solid var(--weather-t05);cursor:pointer;font-family:var(--weather-font);transition:background var(--dur-state)ease-out,border-color var(--dur-state)ease-out;border-radius:4px;padding:5px 10px;font-size:13px;display:inline-flex}.weather-aspect-chip:hover{background:var(--weather-surface-3);border-color:var(--weather-border-2)}.weather-aspect-chip-orb{color:var(--weather-t40);letter-spacing:1px;font-variant-numeric:tabular-nums;margin-left:3px;font-size:9px}.weather-retro-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.weather-retro-chip{align-items:center;gap:var(--sp-1);font-family:var(--weather-font-cond);color:var(--weather-storm);letter-spacing:1px;text-transform:uppercase;background:#c17aff1f;border:1px solid #c17aff40;border-radius:4px;padding:3px 8px;font-size:9px;font-weight:700;display:inline-flex}.weather-state{justify-content:center;align-items:center;gap:var(--sp-4);text-align:center;min-height:300px;padding:var(--sp-10);flex-direction:column;display:flex}.weather-state--loading{padding:var(--sp-4)0;align-items:stretch}.weather-skeleton{background:var(--weather-border);border-radius:4px;height:80px;animation:1.4s ease-in-out infinite weather-pulse}.weather-skeleton--sm{height:60px;animation-delay:.1s}.weather-skeleton--md{height:100px;animation-delay:.2s}@keyframes weather-pulse{0%,to{opacity:.4}50%{opacity:.8}}.weather-state--error{color:var(--weather-red);font-family:var(--weather-font);gap:var(--sp-3);font-size:11px}.weather-state--error button{border:1px solid var(--weather-t08);color:var(--weather-t62);font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:border-color var(--dur-state)ease-out,color var(--dur-state)ease-out;background:0 0;border-radius:4px;padding:4px 16px;font-size:9px;font-weight:700}.weather-state--error button:hover{color:var(--tp);border-color:var(--weather-border-2)}.weather-state--setup{gap:var(--sp-5)}.weather-state__title{font-family:var(--weather-font);letter-spacing:8px;text-transform:uppercase;color:var(--weather-t88);font-size:24px;font-weight:400}.weather-state__desc{font-family:var(--weather-font);color:var(--weather-t40);max-width:380px;margin:0;font-size:11px;line-height:1.7}.weather-state__btn{background:var(--weather-amber);color:var(--weather-void);font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:opacity var(--dur-state)ease-out;border:none;border-radius:4px;padding:8px 24px;font-size:9px;font-weight:700}.weather-state__btn:hover{opacity:.85}.weather-state__btn:focus-visible{outline-offset:2px;outline:2px solid #f5a62366}.weather-location-picker{position:relative}.weather-location-btn{font-family:var(--weather-font);color:var(--weather-t62);letter-spacing:.05em;cursor:pointer;transition:color var(--dur-state)ease-out,background var(--dur-state)ease-out;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:10px}.weather-location-btn:hover{color:var(--weather-text);background:var(--weather-surface-2)}.weather-location-popover{border:1px solid var(--weather-t05);z-index:100;background:#030302;border-radius:4px;width:280px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:inset 0 1px #f0ede608,0 8px 32px #0006}.weather-location-saved{border-bottom:1px solid var(--weather-border);flex-direction:column;display:flex}.weather-location-item{align-items:center;gap:4px;display:flex}.weather-location-item.active{background:var(--weather-surface-2)}.weather-location-select{text-align:left;font-family:var(--weather-font);color:var(--weather-t88);letter-spacing:.03em;cursor:pointer;transition:background var(--dur-state)ease-out;background:0 0;border:none;flex:1;padding:8px 10px;font-size:11px}.weather-location-select:hover{background:var(--weather-surface-2)}.weather-location-remove{color:var(--weather-t25);cursor:pointer;font-size:11px;font-family:var(--weather-font);transition:color var(--dur-state)ease-out;background:0 0;border:none;padding:4px 8px}.weather-location-remove:hover{color:var(--weather-red)}.weather-location-search-wrap{border-bottom:1px solid var(--weather-border);padding:6px 8px}.weather-location-search{background:var(--weather-surface-2);border:1px solid var(--weather-border);width:100%;color:var(--weather-text);font-family:var(--weather-font);letter-spacing:.03em;border-radius:4px;outline:none;padding:6px 8px;font-size:11px}.weather-location-search:focus{border-color:var(--weather-border-2)}.weather-location-status{font-family:var(--weather-font);color:var(--weather-t40);letter-spacing:.05em;padding:6px 10px;font-size:9px}.weather-location-results{flex-direction:column;max-height:200px;display:flex;overflow-y:auto}.weather-location-result{text-align:left;cursor:pointer;transition:background var(--dur-state)ease-out;border:none;border-bottom:1px solid var(--weather-border);background:0 0;justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.weather-location-result:hover{background:var(--weather-surface-2)}.weather-location-result:last-child{border-bottom:none}.weather-location-result-name{font-family:var(--weather-font);color:var(--weather-t88);letter-spacing:.03em;font-size:11px}.weather-location-result-meta{font-family:var(--weather-font);color:var(--weather-t40);letter-spacing:.05em;font-size:9px}.weather-moon-disc{flex-shrink:0}.weather-clickable{cursor:pointer;transition:background var(--dur-state)ease-out;border-radius:var(--weather-radius)}.weather-clickable:hover{background:var(--weather-surface-2)}.weather-info-tip{border:1px solid var(--weather-t08);width:13px;height:13px;color:var(--weather-t40);cursor:help;font-size:9px;font-family:var(--weather-font);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:5px;font-weight:500;display:inline-flex}.weather-hourly-scroll{gap:0;padding-bottom:4px;display:flex;overflow-x:auto}.weather-hourly-scroll::-webkit-scrollbar{height:2px}.weather-hourly-scroll::-webkit-scrollbar-track{background:0 0}.weather-hourly-scroll::-webkit-scrollbar-thumb{background:var(--weather-border);border-radius:1px}.weather-hourly-item{align-items:center;gap:var(--sp-1-5);padding:var(--sp-2)10px;border-right:1px solid var(--weather-t05);flex-direction:column;flex-shrink:0;min-width:56px;display:flex}.weather-hourly-item:last-child{border-right:none}.weather-hourly-item.now{background:var(--weather-surface-2)}.weather-hourly-time{font-family:var(--weather-font);color:var(--weather-t40);text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:9px}.weather-hourly-item.now .weather-hourly-time{color:var(--weather-amber)}.weather-hourly-temp{font-family:var(--weather-font);color:var(--weather-t88);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400}.weather-hourly-wind{font-family:var(--weather-font);color:var(--weather-t25);font-variant-numeric:tabular-nums;font-size:9px}.weather-hourly-precip{font-family:var(--weather-font);color:var(--weather-rain);font-variant-numeric:tabular-nums;font-size:9px}.weather-forecast-strip{grid-template-columns:repeat(7,1fr);gap:0;display:grid}.weather-forecast-day{align-items:center;gap:var(--sp-2);padding:var(--sp-3)var(--sp-1);border-right:1px solid var(--weather-t05);flex-direction:column;display:flex}.weather-forecast-day:last-child{border-right:none}.weather-forecast-day.today{background:var(--weather-surface-2)}.weather-forecast-date{font-family:var(--weather-font-cond);color:var(--weather-t40);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:700}.weather-forecast-day.today .weather-forecast-date{color:var(--weather-amber)}.weather-forecast-hi{font-family:var(--weather-font);color:var(--weather-t88);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.weather-forecast-lo{font-family:var(--weather-font);color:var(--weather-t25);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:11px}.weather-forecast-precip{font-family:var(--weather-font);color:var(--weather-rain);font-variant-numeric:tabular-nums;font-size:9px}.weather-context-menu{z-index:300;border:1px solid var(--weather-t05);background:#030302;border-radius:4px;min-width:180px;padding:4px 0;position:fixed;box-shadow:inset 0 1px #f0ede608,0 8px 32px #00000080}.weather-context-item{align-items:center;gap:var(--sp-2);text-align:left;width:100%;font-family:var(--weather-font);color:var(--weather-t88);letter-spacing:.03em;cursor:pointer;transition:background var(--dur-state)ease-out;background:0 0;border:none;padding:6px 12px;font-size:11px;display:flex}.weather-context-item:hover{background:var(--weather-surface-2)}.weather-context-item-icon{text-align:center;width:16px;color:var(--weather-text-3);font-size:12px}.weather-context-sep{background:var(--weather-border);height:1px;margin:4px 0}@keyframes marvRevealUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.weather-opportunities{margin-bottom:12px}.weather-opportunities__toggles{gap:8px;margin-bottom:8px;display:flex}.weather-opportunities__toggle{border:1px solid var(--weather-t05);color:var(--weather-t40);font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:9px;font-weight:600;transition:color .15s ease-out,border-color .15s ease-out,background .15s ease-out;display:flex}.weather-opportunities__toggle:hover{color:var(--weather-t62);border-color:var(--weather-t08)}.weather-opportunities__toggle.is-active{color:var(--weather-t88);border-color:var(--weather-t15);background:var(--weather-t05)}.weather-opportunities__list{flex-direction:column;gap:0;display:flex}.weather-opportunities__card{border-bottom:1px solid var(--weather-t05);align-items:flex-start;gap:12px;padding:8px 0;display:flex}.weather-opportunities__card:last-child{border-bottom:none}.weather-opportunities__icon{color:var(--weather-t40);flex-shrink:0;margin-top:2px}.weather-opportunities__info{flex-direction:column;gap:2px;display:flex}.weather-opportunities__label{font-family:var(--weather-font);color:var(--weather-t88);font-size:11px}.weather-opportunities__detail{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:10px}.weather-now{gap:var(--sp-3);flex-direction:column;display:flex}.weather-now__primary{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.weather-now__temp-group{align-items:baseline;gap:var(--sp-2);display:flex}.weather-now__condition{font-family:var(--weather-font-cond);color:var(--weather-t62);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:700}.weather-now__meta-group{align-items:flex-end;gap:var(--sp-1);flex-direction:column;display:flex}.weather-now__meta{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:11px}.weather-now__secondary{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.weather-now__feels{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:10px}.weather-now__event{font-family:var(--weather-font);color:var(--weather-amber);font-size:10px}.weather-now__uv{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:700}.weather-now__chart{margin-top:var(--sp-1)}.weather-now__detail{gap:var(--sp-4);flex-direction:column;display:flex}.weather-now__forecast{border-top:1px solid var(--weather-t05);padding-top:var(--sp-2);gap:0;display:flex}.weather-now__slot{padding:var(--sp-1)0;flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.weather-now__slot-time{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:9px}.weather-now__slot-temp{font-family:var(--weather-font);color:var(--weather-t88);font-variant-numeric:tabular-nums;font-size:13px}.weather-now__slot-wind{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:9px}.weather-now__slot-rain{font-family:var(--weather-font);color:var(--weather-rain);font-variant-numeric:tabular-nums;font-size:9px}.weather-now__daily{flex-direction:column;gap:0;display:flex}.weather-now__day{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--weather-t05);grid-template-columns:44px 20px 1fr 72px 72px 36px;padding:6px 0;display:grid}.weather-now__day:last-child{border-bottom:none}.weather-now__day-label{font-family:var(--weather-font-cond);color:var(--weather-t40);letter-spacing:1px;text-transform:uppercase;width:44px;font-size:9px;font-weight:700}.weather-now__day-condition{font-family:var(--weather-font);color:var(--weather-t62);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.weather-now__day-temps{gap:var(--sp-2);justify-content:flex-end;align-items:baseline;display:flex}.weather-now__day-hi{font-family:var(--weather-font);color:var(--weather-t88);font-variant-numeric:tabular-nums;font-size:11px}.weather-now__day-lo{font-family:var(--weather-font);color:var(--weather-t25);font-variant-numeric:tabular-nums;font-size:11px}.weather-now__day-wind{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;text-align:right;width:64px;font-size:10px}.weather-now__day-precip{font-family:var(--weather-font);color:var(--weather-rain);font-variant-numeric:tabular-nums;text-align:right;width:28px;font-size:10px}.weather-sun{gap:var(--sp-3);flex-direction:column;display:flex}.weather-sun__dayline{gap:var(--sp-1);flex-direction:column;display:flex}.weather-sun__track{background:var(--weather-t05);border-radius:2px;height:4px;position:relative}.weather-sun__daylight{background:var(--weather-t15);border-radius:2px;height:100%;position:absolute;top:0}.weather-sun__golden-span{background:var(--weather-amber);opacity:.5;border-radius:2px;height:100%;position:absolute;top:0}.weather-sun__now-pip{background:var(--weather-fg);z-index:1;border-radius:3px;width:6px;height:10px;position:absolute;top:-3px;transform:translate(-3px)}.weather-sun__hours{height:16px;position:relative}.weather-sun__hour-label{font-family:var(--weather-font);color:var(--weather-t25);font-variant-numeric:tabular-nums;font-size:9px;position:absolute;transform:translate(-50%)}.weather-sun__times{gap:var(--sp-4);flex-wrap:wrap;display:flex}.weather-sun__event{flex-direction:column;gap:2px;display:flex}.weather-sun__time{font-family:var(--weather-font);color:var(--weather-t88);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.weather-badge--amber{color:var(--weather-amber);background:#f5a62326}.weather-badge--blue{color:var(--weather-ice);background:#6eb5ff26}.weather-sun__detail{gap:var(--sp-3);flex-direction:column;display:flex}.weather-sun__detail-grid{gap:0 var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.weather-moon{gap:var(--sp-3);flex-direction:column;display:flex}.weather-moon__primary{align-items:center;gap:var(--sp-4);display:flex}.weather-moon__info{gap:var(--sp-1);flex-direction:column;flex:1;display:flex}.weather-moon__phase-row{align-items:baseline;gap:var(--sp-2);display:flex}.weather-moon__times{gap:var(--sp-3);flex-wrap:wrap;display:flex}.weather-moon__upcoming{gap:var(--sp-3);margin-left:auto;display:flex}.weather-moon__phase-item{flex-direction:column;align-items:center;gap:2px;display:flex}.weather-moon__phase-date{font-family:var(--weather-font);color:var(--weather-t62);font-variant-numeric:tabular-nums;font-size:10px}.weather-moon__mw-row{align-items:baseline;gap:var(--sp-3);display:flex}.weather-moon__mw-inline{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.weather-moon__detail{gap:var(--sp-3);flex-direction:column;display:flex}.weather-moon__phases,.weather-moon__mw-detail{gap:0 var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.weather-ocean{gap:var(--sp-3);flex-direction:column;display:flex}.weather-ocean--loading{gap:var(--sp-2)}.weather-ocean__primary{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;display:flex}.weather-ocean__swell{gap:var(--sp-1);flex-direction:column;display:flex}.weather-ocean__quality{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:700}.weather-ocean__tides-now{gap:var(--sp-1);flex-direction:column;display:flex}.weather-ocean__surf-now{flex-direction:column;align-items:center;gap:2px;display:flex}.weather-ocean__sea-temp{align-items:flex-end;gap:var(--sp-1);flex-direction:column;display:flex}.weather-ocean__best-windows{align-items:baseline;gap:var(--sp-3);display:flex}.weather-ocean__windows-list{gap:var(--sp-4);display:flex}.weather-ocean__window{align-items:baseline;gap:var(--sp-2);display:flex}.weather-ocean__window-time{font-family:var(--weather-font);color:var(--weather-t88);font-variant-numeric:tabular-nums;font-size:11px}.weather-ocean__window-score{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:700}.weather-ocean__outlook{gap:var(--sp-2);flex-direction:column;display:flex}.weather-ocean__outlook-days{flex-direction:column;gap:0;display:flex}.weather-ocean__outlook-day{align-items:baseline;gap:var(--sp-2);border-bottom:1px solid var(--weather-t05);grid-template-columns:36px 48px 56px 1fr;padding:4px 0;display:grid}.weather-ocean__outlook-day:last-child{border-bottom:none}.weather-ocean__outlook-label{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;color:var(--weather-t40);font-size:9px;font-weight:700}.weather-ocean__outlook-swell{font-family:var(--weather-font);color:var(--weather-t88);font-variant-numeric:tabular-nums;font-size:11px}.weather-ocean__outlook-score{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:700}.weather-ocean__outlook-window{font-family:var(--weather-font);color:var(--weather-t40);font-variant-numeric:tabular-nums;font-size:10px}.weather-ocean__surf-hour-label{font-family:var(--weather-font);color:var(--weather-t25);font-variant-numeric:tabular-nums;font-size:9px;position:absolute;transform:translate(-50%)}.weather-ocean__chart{margin-top:var(--sp-2)}.weather-ocean__detail{gap:var(--sp-4);flex-direction:column;display:flex}.weather-ocean__stats-grid{gap:0 var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.weather-ocean__tides-strip{gap:var(--sp-3);padding-top:var(--sp-2);border-top:1px solid var(--weather-border);display:flex}.weather-ocean__tide-item{flex-direction:column;flex:1;gap:2px;display:flex}.weather-cosmos{gap:var(--sp-3);flex-direction:column;display:flex}.weather-cosmos__primary{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.weather-cosmos__rating{align-items:baseline;gap:var(--sp-2);display:flex}.weather-cosmos__rating-label{font-family:var(--weather-font-cond);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:700}.weather-cosmos__rx-summary{gap:var(--sp-1);flex-wrap:wrap;justify-content:flex-end;display:flex}.weather-cosmos__rx-badge{font-family:var(--weather-font-cond);color:var(--weather-storm);letter-spacing:1px;text-transform:uppercase;background:#c17aff1f;border:1px solid #c17aff40;border-radius:4px;align-items:center;padding:2px 6px;font-size:9px;font-weight:700;display:inline-flex}.weather-cosmos__factors{gap:var(--sp-1)var(--sp-3);flex-wrap:wrap;display:flex}.weather-cosmos__factors .weather-data-hint{font-size:10px}.weather-cosmos__secondary{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.weather-cosmos__detail{gap:var(--sp-4);flex-direction:column;display:flex}.weather-cosmos__factors{gap:var(--sp-1);flex-direction:column;display:flex}.weather-cosmos__planets{gap:var(--sp-2);flex-direction:column;display:flex}.weather-cosmos__planet-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(80px,1fr));display:grid}.weather-cosmos__planet{padding:var(--sp-2)var(--sp-1);border:1px solid var(--weather-t05);border-radius:4px;flex-direction:column;align-items:center;gap:2px;display:flex}.weather-cosmos__planet-symbol{font-size:13px;line-height:1}.weather-cosmos__rx{color:var(--weather-storm);font-size:9px}.weather-cosmos__aspects,.weather-cosmos__retrogrades{gap:var(--sp-1);flex-direction:column;display:flex}.weather-cosmos__voc{justify-content:space-between;align-items:baseline;gap:var(--sp-2);padding:var(--sp-2)0;border-top:1px solid var(--weather-border);display:flex}.weather-cosmos__hours{gap:var(--sp-2);flex-direction:column;display:flex}.weather-cosmos__hours-row{gap:var(--sp-1);display:flex}.weather-cosmos__hour{border:1px solid var(--weather-t05);width:28px;height:28px;color:var(--weather-t40);transition:border-color var(--dur-state)ease-out,color var(--dur-state)ease-out;font-size:13px;font-family:var(--weather-font);font-variant-numeric:tabular-nums;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.weather-cosmos__hour.is-current{border-color:var(--weather-amber);color:var(--weather-amber)}.weather-cosmos__eclipses{gap:var(--sp-1);flex-direction:column;display:flex}@keyframes marvScaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (max-width:800px){.weather-ocean-hero{gap:var(--sp-4);flex-direction:column}.weather-ocean-hero-secondary{gap:var(--sp-4)}.weather-ocean-stat{align-items:flex-start}.weather-forecast-strip{grid-template-columns:repeat(7,1fr)}}@media (max-width:580px){.weather-header{padding:16px 16px 0}.weather-page{padding:var(--sp-3)16px}.weather-location-popover{width:260px}.weather-moon-hero{flex-direction:column;align-items:flex-start}.weather-now-hero{flex-direction:column}}[data-theme=light]{--weather-void:#e9eaed;--weather-surface:#fff;--weather-surface-2:#f5f5f7;--weather-surface-3:#e1e1e5;--weather-border:#00000014;--weather-border-2:#00000021;--weather-fg:#1a1a1a;--weather-t88:#000000e0;--weather-t62:#0000009e;--weather-t40:#0006;--weather-t25:#00000038;--weather-t15:#0000001f;--weather-t05:#0000000f;--weather-t08:#00000014;--weather-card-bg:#fff;--weather-card-shadow:inset 0 1px 0 #ffffff80,0 1px 3px #00001414;--weather-text:var(--weather-t88);--weather-text-2:var(--weather-t62);--weather-text-3:var(--weather-t40);--weather-text-4:var(--weather-t25);--weather-amber:#d9900a;--weather-ice:#3b8be0;--weather-rain:#2b7fd4;--weather-storm:#9b52e0;--weather-sun:#d4a830;--weather-moon:#6b63a0;--weather-tide-hi:#2a9a97;--weather-tide-lo:#1f5552;--weather-green:#2e8f5e;--weather-red:#c44040;--weather-glow-moon:#6b63a01a}[data-theme=light] .weather-root{background:var(--weather-void);color:var(--weather-text)}[data-theme=light] .weather-location-btn:hover{background:var(--weather-surface-2)}[data-theme=light] .weather-location-popover{background:var(--weather-surface);border-color:var(--weather-border);box-shadow:0 8px 32px #0000141a}[data-theme=light] .weather-location-item.active,[data-theme=light] .weather-location-select:hover{background:var(--weather-surface-2)}[data-theme=light] .weather-location-search{background:var(--weather-surface-2);border-color:var(--weather-border);color:var(--weather-text)}[data-theme=light] .weather-location-search:focus{border-color:var(--weather-border-2)}[data-theme=light] .weather-location-result:hover{background:var(--weather-surface-2)}[data-theme=light] .weather-context-menu{background:var(--weather-surface);border-color:var(--weather-border);box-shadow:0 8px 32px #0000001a}[data-theme=light] .weather-context-item:hover{background:var(--weather-surface-2)}[data-theme=light] .weather-aspect-chip{background:var(--weather-surface-2);border-color:var(--weather-border)}[data-theme=light] .weather-aspect-chip:hover{background:var(--weather-surface-3);border-color:var(--weather-border-2)}[data-theme=light] .weather-clickable:hover,[data-theme=light] .weather-hourly-item.now,[data-theme=light] .weather-forecast-day.today{background:var(--weather-surface-2)}[data-theme=light] .weather-tide-curve{filter:drop-shadow(0 1px 3px #0000000f)}[data-theme=light] .weather-surf-block-fill{background:#00000014}[data-theme=light] .weather-sun-now{border-color:var(--weather-void)}[data-theme=light] .weather-page::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .weather-hourly-scroll::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .weather-state__btn{background:var(--weather-amber);color:#fff}[data-theme=light] .weather-header__refresh{border-color:var(--weather-border)}[data-theme=light] .weather-header__refresh:hover{border-color:var(--weather-border-2)}@media (prefers-reduced-motion:reduce){.weather-section{animation:none}.weather-skeleton{opacity:.6;animation:none}.weather-section__detail,.weather-section__chevron,.weather-score-bar__fill{transition:none}}
.weather-surface{--w-paper:var(--bg);--w-paper-raised:var(--cb);--w-paper-sunk:var(--ch);--w-ink:var(--tp);--w-text-1:var(--tp);--w-text-2:var(--td);--w-text-3:var(--tg);--w-text-4:var(--tq);--w-rule:var(--border-subtle);--w-rule-strong:var(--border-default);--w-rule-dot:var(--border-subtle);--w-signal:#ff4534;--w-signal-soft:#ff45341a;--w-hover:var(--sig-d);--w-sun-dawn:#e8a53a;--w-sun-dusk:#ff4534;--w-moon-glow:#e8eaf2;--w-ff-sans:"MARV Sans",system-ui,-apple-system,sans-serif;--w-ff-mono:"MARV Mono",ui-monospace,"Menlo",monospace;--w-ff-display:var(--w-ff-sans);--w-ff-text:var(--w-ff-sans);--w-ff-num:var(--w-ff-sans);--w-t-hero:500 104px/.82 var(--w-ff-sans);--w-t-display:600 40px/.95 var(--w-ff-sans);--w-t-title-num:500 28px/.95 var(--w-ff-mono);--w-t-title:500 22px/1.2 var(--w-ff-sans);--w-t-subtitle:500 16px/1.3 var(--w-ff-sans);--w-t-body:400 13px/1.45 var(--w-ff-sans);--w-t-body-num:500 13px/1.3 var(--w-ff-mono);--w-t-caption:400 11px/1.4 var(--w-ff-mono);--w-t-label:600 10px/1 var(--w-ff-mono);background:var(--w-paper);color:var(--w-text-1);font-family:var(--w-ff-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;inset:0;overflow:hidden auto}[data-theme=light] .weather-surface{--w-signal:#cc2a1c;--w-signal-soft:#cc2a1c14;--w-sun-dawn:#b57618;--w-sun-dusk:#cc2a1c;--w-moon-glow:#2a2c34;--w-paper:#fff;--w-paper-raised:#fff;--w-paper-sunk:#f5f5f7}.weather-page{font-variant-numeric:tabular-nums;flex-direction:column;gap:16px;width:100%;max-width:1440px;margin:0 auto;padding:20px 64px 24px;display:flex}.weather-page>*{animation:.56s cubic-bezier(.22,1,.36,1) both weather-stagger-in}.weather-page>:first-child{animation-delay:0s}.weather-page>:nth-child(2){animation-delay:80ms}.weather-page>:nth-child(3){animation-delay:.16s}.weather-page>:nth-child(4){animation-delay:.24s}.weather-page>:nth-child(5){animation-delay:.32s}.weather-page>:nth-child(6){animation-delay:.4s}@keyframes weather-stagger-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.weather-page>*{animation:none}}@media (max-width:1200px){.weather-page{gap:14px;padding:18px 48px 20px}}@media (max-width:800px){.weather-page{gap:12px;padding:16px 24px 24px}}.weather-section,.weather-section--tight{margin:0}.weather-rule{border:none;border-top:1px solid var(--w-rule);margin:0}.weather-rule--strong{border-top-color:var(--w-rule-strong)}.weather-eyebrow{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3);margin-bottom:14px;display:block}.weather-label{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3)}.weather-whisper{font:var(--w-t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--w-text-4)}.weather-stats{flex-direction:column;display:flex}.weather-stats__row{grid-template-columns:auto 1fr auto 68px;align-items:baseline;column-gap:10px;padding:6px 0;display:grid}.weather-stats__label{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3);white-space:nowrap}.weather-stats__dots{border-bottom:1px dotted var(--w-rule-dot);min-width:12px;position:relative;top:-4px}.weather-stats__value{font:var(--w-t-body-num);color:var(--w-text-1);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.weather-stats__unit{font:var(--w-t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--w-text-3);white-space:nowrap;text-align:left}.weather-masthead{z-index:10;position:relative}.weather-masthead__band{border-bottom:1px solid var(--w-rule-strong);justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:10px;display:flex}.weather-masthead__location-wrap{text-align:left;flex:1;min-width:0;position:relative}.weather-masthead__sub{align-items:baseline;gap:18px;margin-top:12px;display:flex}.weather-masthead__edition-wrap{flex-shrink:0;align-items:flex-end;display:flex}.weather-masthead__edition{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3);text-align:right;padding-bottom:8px}.weather-location{text-align:left;display:inline-block;position:relative}.weather-location__name,.weather-location__input{font-family:var(--w-ff-display);letter-spacing:-.03em;color:var(--w-text-1);text-align:left;font-variant-numeric:tabular-nums;vertical-align:top;box-sizing:content-box;appearance:none;background:0 0;border:none;outline:none;height:39.6px;margin:0;padding:0;font-size:40px;font-weight:600;line-height:.9;display:inline-block}.weather-location__name{cursor:text;transition:color .12s ease-out;position:relative}.weather-location__name:hover{color:var(--w-text-2)}.weather-location__name:focus-visible{color:var(--w-text-1)}.weather-location__name:after{content:"";background:var(--w-rule);opacity:0;pointer-events:none;height:1px;transition:opacity .12s ease-out;position:absolute;bottom:-7px;left:0;right:0}.weather-location__name:hover:after{opacity:1}.weather-location__input{width:100%;max-width:820px;caret-color:var(--w-signal);border-bottom:1px solid var(--w-rule-strong);margin-bottom:-5px;padding-bottom:4px}.weather-location__input::placeholder{color:var(--w-text-4)}.weather-location__input:focus{outline:none}@media (max-width:1000px){.weather-location__name,.weather-location__input{font-size:36px}}@media (max-width:700px){.weather-location__name,.weather-location__input{font-size:28px}}.weather-location__dropdown{background:color-mix(in srgb,var(--w-paper)92%,transparent);-webkit-backdrop-filter:blur(20px)saturate(1.1);border:none;border-top:1px solid var(--w-rule-strong);z-index:200;text-align:left;min-width:440px;max-width:560px;box-shadow:none;padding:0 0 4px;position:absolute;top:calc(100% + 22px);left:0}.weather-location__dropdown-section{padding:0}.weather-location__dropdown-section+.weather-location__dropdown-section{border-top:none;margin-top:8px}.weather-location__dropdown-eyebrow{font-family:var(--w-ff-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--w-text-4);padding:14px 0 10px;font-size:10px;font-weight:600;display:block}.weather-location__option{border:none;border-top:1px solid var(--w-rule);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:baseline;gap:24px;width:100%;padding:14px 0;transition:color .12s ease-out;display:flex}.weather-location__option:hover,.weather-location__option[data-active=true]{background:0 0}.weather-location__option:hover .weather-location__option-name,.weather-location__option[data-active=true] .weather-location__option-name{color:var(--w-text-1)}.weather-location__option:hover .weather-location__option-meta,.weather-location__option[data-active=true] .weather-location__option-meta{color:var(--w-text-2)}.weather-location__option-name{font-family:var(--w-ff-display);letter-spacing:-.015em;color:var(--w-text-2);font-size:20px;font-weight:500;transition:color .12s ease-out}.weather-location__option-meta{font-family:var(--w-ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3);white-space:nowrap;font-size:10px;font-weight:600;transition:color .12s ease-out}.weather-location__option-remove{color:var(--w-text-4);cursor:pointer;background:0 0;border:none;margin-left:10px;padding:0 4px;font-size:14px;line-height:1;transition:color .12s ease-out}.weather-location__option-remove:hover{color:var(--w-signal)}.weather-location__dropdown-empty{font-family:var(--w-ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-4);border-top:1px solid var(--w-rule);padding:14px 0;font-size:10px;font-weight:600}.weather-masthead__region{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-2);display:inline}.weather-masthead__coords{font:var(--w-t-label);letter-spacing:.1em;color:var(--w-text-3);display:inline}.weather-masthead__dateline{border-bottom:1px solid var(--w-rule);justify-content:space-between;align-items:center;gap:24px;padding:12px 0;display:flex}.weather-masthead__dateline-part{font-family:var(--w-ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3);font-size:11px;font-weight:600}.weather-masthead__dateline-time{font-family:var(--w-ff-mono);letter-spacing:.08em;color:var(--w-text-2);font-size:13px;font-weight:600}.weather-folio{align-items:flex-start;gap:0;display:flex;overflow:hidden}.weather-folio__inner{align-items:flex-start;width:100%;display:flex}.weather-folio__days{border-top:1px solid var(--w-rule);align-items:flex-start;width:100%;padding-top:16px;display:flex}.weather-folio__day{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.weather-folio__day-num{font-family:var(--w-ff-display);letter-spacing:-.01em;color:var(--w-text-3);font-variant-numeric:tabular-nums;font-size:16px;font-weight:500;line-height:1}.weather-folio__day--today .weather-folio__day-num{color:var(--w-text-1)}.weather-folio__day-dot{background:0 0;width:6px;height:6px}.weather-folio__day--today .weather-folio__day-dot{background:var(--w-ink)}.weather-folio__day-name{font-family:var(--w-ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-4);font-size:10px;font-weight:600}.weather-folio__day--today .weather-folio__day-name{color:var(--w-text-2)}.weather-now-section{isolation:isolate;position:relative}.weather-now__backdrop{pointer-events:none;z-index:0;opacity:.22;filter:blur(38px);width:540px;height:540px;margin-top:-270px;margin-left:-270px;transition:left 30s linear,top 30s linear,opacity 3s ease-out;position:absolute;top:50%;left:70%}.weather-now__backdrop-inner{will-change:transform;width:100%;height:100%;animation:13s ease-in-out infinite weather-moon-drift}.weather-now__backdrop svg{width:100%;height:100%;display:block}.weather-now__moon-backdrop{width:100%;height:100%}@keyframes weather-moon-drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(4px,-3px)scale(1.015)}66%{transform:translate(-3px,4px)scale(.99)}}@media (prefers-reduced-motion:reduce){.weather-now__backdrop{transition:none}.weather-now__backdrop-inner{animation:none}}.weather-now__inner{z-index:1;position:relative}.weather-now{padding:4px 0 0}.weather-now__hero{justify-content:space-between;align-items:center;gap:32px;padding-top:2px;display:flex}.weather-now__hero-left{align-items:center;gap:24px;min-width:0;display:flex}.weather-now__hero-feature{color:var(--w-text-1);flex-shrink:0;justify-content:center;align-items:center;width:160px;height:160px;display:flex}.weather-now__hero-feature .weather-now__hero-icon-layer svg,.weather-now__hero-feature .weather-now__hero-icon-layer svg *{stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round}@media (max-width:900px){.weather-now__hero-feature{width:120px;height:120px}.weather-now__hero-feature svg{width:120px!important;height:120px!important}.weather-now__hero-feature .weather-now__hero-icon-layer svg,.weather-now__hero-feature .weather-now__hero-icon-layer svg *{stroke-width:2.5px}}@media (max-width:700px){.weather-now__hero{flex-wrap:wrap;gap:16px}.weather-now__hero-feature{width:88px;height:88px}.weather-now__hero-feature svg{width:88px!important;height:88px!important}.weather-now__hero-feature .weather-now__hero-icon-layer svg,.weather-now__hero-feature .weather-now__hero-icon-layer svg *{stroke-width:2px}}.weather-now__hero-icon{color:var(--w-text-1);flex-shrink:0;position:relative}.weather-now__hero-icon-layer{justify-content:center;align-items:center;animation:.36s ease-out weather-icon-fade-in;display:flex;position:absolute;inset:0}.weather-now__hero-icon-layer svg,.weather-now__hero-icon-layer svg *{vector-effect:non-scaling-stroke}@keyframes weather-icon-fade-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.weather-now__temp{font-family:var(--w-ff-num);letter-spacing:-.04em;color:var(--w-text-1);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:flex-start;font-size:104px;font-weight:500;line-height:.82;display:inline-flex}@media (max-width:900px){.weather-now__temp{font-size:80px}}@media (max-width:600px){.weather-now__temp{font-size:64px}}.weather-now__deg{font-family:var(--w-ff-num);color:var(--w-text-3);margin-top:6px;margin-left:2px;font-size:28px;font-weight:400;line-height:1}.weather-now__meta{flex-direction:column;gap:2px;min-width:0;display:flex}.weather-now__reveal{grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden}.weather-now-section:hover .weather-now__reveal{grid-template-rows:1fr}.weather-now__reveal-inner{border-top:1px solid var(--w-rule);opacity:0;grid-template-columns:repeat(10,minmax(0,1fr));gap:16px 20px;min-height:0;margin-top:14px;padding-top:14px;transition:opacity .22s ease-out 80ms;display:grid}@media (max-width:1100px){.weather-now__reveal-inner{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:600px){.weather-now__reveal-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}}.weather-now-section:hover .weather-now__reveal-inner{opacity:1}.weather-now__detail{flex-direction:column;gap:3px;min-width:0;display:flex}.weather-now__detail-label{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-4);white-space:nowrap}.weather-now__detail-value{font:var(--w-t-body-num);color:var(--w-text-1);font-variant-numeric:tabular-nums;white-space:nowrap}@media (prefers-reduced-motion:reduce){.weather-now__reveal,.weather-now__reveal-inner{transition:none}}.weather-next-surf{flex-direction:column;max-width:440px;display:flex}.weather-next-surf__body{flex-direction:column;display:flex}.weather-next-surf__when{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.weather-next-surf__day{font:var(--w-t-title);letter-spacing:-.015em;color:var(--w-text-1);margin:0}.weather-next-surf__time{font:var(--w-t-body-num);color:var(--w-text-3);font-variant-numeric:tabular-nums}.weather-next-surf__score-row{align-items:baseline;gap:14px;margin-top:18px;display:flex}.weather-next-surf__score{font:var(--w-t-title-num);letter-spacing:-.02em;color:var(--w-text-1);font-variant-numeric:tabular-nums}.weather-next-surf__label{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3)}.weather-next-surf__meta{font:var(--w-t-body);color:var(--w-text-3);text-transform:capitalize;margin:10px 0 0}.weather-next-surf__empty{margin-top:8px}.weather-next-surf__empty-title{font:var(--w-t-title);letter-spacing:-.015em;color:var(--w-text-2);margin:0}.weather-next-surf__empty-desc{font:var(--w-t-body);color:var(--w-text-3);max-width:320px;margin-top:6px}.weather-now__temp{font:var(--w-t-hero);letter-spacing:-.04em;color:var(--w-text-1);font-variant-numeric:tabular-nums}@media (max-width:1400px){.weather-now__temp{font-size:128px}}@media (max-width:1100px){.weather-now__temp{font-size:112px}}@media (max-width:640px){.weather-now__temp{font-size:96px}}.weather-now__deg{font-family:var(--w-ff-num);color:var(--w-text-3);align-self:flex-start;margin-top:8px;font-size:42px;font-weight:400;line-height:1}.weather-now__subtitle{font:var(--w-t-title);letter-spacing:-.01em;color:var(--w-text-1);max-width:420px;margin:0}.weather-now__next-event{font:var(--w-t-body);color:var(--w-text-3);margin-top:10px;font-style:italic}.weather-now__right{padding-top:16px}.weather-24h__header{align-items:baseline;gap:24px;margin-bottom:14px;display:flex}.weather-24h__header-row{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:12px;display:flex}.weather-24h__hover-info{font-family:var(--w-ff-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--w-text-2);align-items:baseline;gap:14px;font-size:11px;font-weight:600;display:flex}.weather-24h__hover-time{color:var(--w-text-3)}.weather-24h__hover-temp{font-family:var(--w-ff-num);color:var(--w-text-1);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:16px}.weather-24h__hover-condition{color:var(--w-text-2);text-transform:none;letter-spacing:0;font-family:var(--w-ff-text);font-size:11px}.weather-24h__hover-rain{color:var(--w-text-3)}.weather-24h__chart-wrap{cursor:crosshair}.weather-24h__glyphs{border-top:1px solid var(--w-rule);grid-template-columns:repeat(8,1fr);gap:0;margin-top:6px;padding:10px 0 0;display:grid}.weather-24h__glyph{color:var(--w-text-3);justify-content:center;align-items:center;display:flex}.weather-24h__current-label{font-family:var(--w-ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.weather-24h__current-temp{font-family:var(--w-ff-num);letter-spacing:-.04em;color:var(--w-text-1);font-variant-numeric:tabular-nums;font-size:96px;font-weight:500;line-height:.82}.weather-24h__chart-wrap{width:100%;position:relative}.weather-24h__chart{width:100%;height:100px;display:block}.weather-24h__x-axis{border-top:1px solid var(--w-rule);justify-content:space-between;padding:10px 0 0;display:flex}.weather-24h__x-label{font-family:var(--w-ff-mono);letter-spacing:.14em;color:var(--w-text-4);text-transform:uppercase;font-size:10px;font-weight:600}.weather-week__header{justify-content:space-between;align-items:center;gap:16px;height:18.85px;margin-bottom:12px;display:flex}.weather-week__hover-info{font:var(--w-t-body);color:var(--w-text-2);white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;display:flex;overflow:hidden}.weather-week{grid-template-columns:repeat(7,1fr);gap:4px;padding-top:8px;display:grid}.weather-week__col{appearance:none;cursor:pointer;min-width:0;color:inherit;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:8px 6px 10px;transition:background .12s ease-out;display:flex}.weather-week__col:hover .weather-week__day{color:var(--w-text-1)}.weather-week__col.is-selected{box-shadow:inset 0 2px 0 var(--w-text-1)}.weather-week__col.is-viewed{box-shadow:inset 0 2px 0 var(--w-signal)}.weather-week__col.is-viewed .weather-week__day{color:var(--w-text-1)}.weather-week__col{transition:box-shadow .22s cubic-bezier(.22,1,.36,1),color .18s}@media (prefers-reduced-motion:reduce){.weather-week__col{transition:none}}.weather-week__col.is-selected .weather-week__day,.weather-week__col.is-selected .weather-week__max{color:var(--w-text-1)}.weather-week__col:focus-visible{outline:1px solid var(--w-text-2);outline-offset:-2px}.weather-week__day{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-2);align-items:center;gap:6px;display:flex}.weather-week__col.is-today .weather-week__day{color:var(--w-text-1)}.weather-week__day-signal{background:var(--w-signal);flex-shrink:0;width:5px;height:5px}.weather-week__date{font:var(--w-t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--w-text-4)}.weather-week__icon{color:var(--w-text-2);justify-content:center;align-items:center;margin:2px 0 0;display:flex}.weather-week__col.is-selected .weather-week__icon{color:var(--w-text-1)}.weather-week__max{font:var(--w-t-subtitle);color:var(--w-text-1);font-variant-numeric:tabular-nums;line-height:1}.weather-week__bar-wrap{width:1px;height:18px;margin:2px 0;position:relative}.weather-week__bar{background:var(--w-text-3);width:1px;position:absolute;left:0}.weather-week__bar-cap{background:var(--w-text-3);width:5px;height:1px;position:absolute;left:-2px}.weather-week__min{font:var(--w-t-subtitle);color:var(--w-text-3);font-variant-numeric:tabular-nums;line-height:1}.weather-state{flex-direction:column;align-items:flex-start;gap:24px;padding:120px 0;display:flex}.weather-state__title{font:var(--w-t-display);letter-spacing:-.03em;color:var(--w-text-1)}.weather-state__desc{font:var(--w-t-body);color:var(--w-text-2);max-width:520px}.weather-state__btn{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;background:var(--w-ink);color:var(--w-paper);cursor:pointer;border:none;padding:14px 24px;transition:background .12s ease-out}.weather-state__btn:hover{background:var(--w-ink-soft)}.weather-state__btn:disabled{opacity:.5;cursor:not-allowed}.weather-skeleton{background:var(--w-paper-sunk);width:100%;max-width:640px;height:16px;margin-bottom:8px}.weather-skeleton--lg{max-width:480px;height:120px}.weather-skeleton--md{max-width:320px;height:40px}.weather-wind-gauge{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:240px;display:flex}.weather-wind-gauge>.weather-eyebrow{align-self:flex-start}.weather-wind-gauge__rose-wrap{justify-content:center;align-items:center;width:100%;display:flex}.weather-wind-gauge__rose{width:180px;max-width:100%;height:180px;display:block}.weather-wind-gauge__meta{border-top:1px solid var(--w-rule);justify-content:center;align-self:stretch;gap:24px;padding-top:12px;display:flex}.weather-wind-gauge__meta>div{flex-direction:column;align-items:center;gap:3px;display:flex}.weather-wind-gauge__meta-label{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3)}.weather-wind-gauge__meta-value{font:var(--w-t-body-num);color:var(--w-text-1);font-variant-numeric:tabular-nums}.weather-sun-divider{width:100%;padding:4px 0 0;position:relative}.weather-sun-divider__arc-button{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:inherit;background:0 0;border:none;margin:0;padding:0;display:block;position:relative}.weather-sun-divider__arc-button:focus-visible{outline:none}.weather-sun-divider__arc-path{stroke-opacity:.75;transition:stroke-opacity .24s cubic-bezier(.22,1,.36,1)}.weather-sun-divider__arc-button:hover .weather-sun-divider__arc-path,.weather-sun-divider__arc-button:focus-visible .weather-sun-divider__arc-path,.weather-sun-divider__arc-button.is-open .weather-sun-divider__arc-path{stroke-opacity:1}.weather-sun-divider__arc-button{cursor:ew-resize}.weather-sun-divider__arc-button:active{cursor:pointer}.weather-sun-divider__arc-button.is-pulsing .weather-sun-divider__arc-path{animation:.5s cubic-bezier(.22,1,.36,1) weather-arc-pulse}@keyframes weather-arc-pulse{0%{stroke-opacity:.75}35%{stroke-opacity:1}to{stroke-opacity:1}}@media (prefers-reduced-motion:reduce){.weather-sun-divider__arc-button.is-pulsing .weather-sun-divider__arc-path{animation:none}.weather-sun-divider__arc-path{transition:none}}.weather-sky-reveal{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:48px;padding-top:4px;animation:.26s cubic-bezier(.22,1,.36,1) weather-sky-reveal;display:grid;overflow:hidden}@media (max-width:1100px){.weather-sky-reveal{grid-template-columns:1fr;justify-items:center;gap:24px}}.weather-sky-reveal .weather-compass__header{display:none}@keyframes weather-sky-reveal{0%{opacity:0;max-height:0;transform:translateY(-6px)}to{opacity:1;max-height:720px;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.weather-sky-reveal{animation:none}}.weather-solaris-tile{flex-direction:column;flex-shrink:0;gap:10px;display:flex}.weather-solaris-tile__frame{border:1px solid var(--w-rule-strong);background:var(--w-paper-raised);border-radius:2px;position:relative;overflow:hidden}.weather-solaris-tile .leaflet-container{background:var(--w-paper-raised);font-family:var(--w-ff-text);outline:none}.weather-solaris-tile .leaflet-tile{filter:grayscale(.6)brightness(.52)contrast(1.5)saturate(.85);-webkit-user-select:none;user-select:none}[data-theme=light] .weather-solaris-tile .leaflet-tile{filter:grayscale(.5)contrast(1.1)}.weather-solaris-tile__frame:after{content:"";pointer-events:none;z-index:400;background:radial-gradient(circle,#0000 30%,#00000040 85%,#0006 100%);position:absolute;inset:0}[data-theme=light] .weather-solaris-tile__frame:after{background:radial-gradient(circle,#0000 30%,#fff3 85%,#ffffff59 100%)}.weather-solaris-tile__ray{fill:none;stroke-linecap:round;transition:stroke-opacity .18s}.weather-solaris-tile__ray--sunrise{stroke:var(--w-sun-dawn);stroke-width:2px;stroke-opacity:.92}.weather-solaris-tile__ray--sunset{stroke:var(--w-sun-dusk);stroke-width:2px;stroke-opacity:.92}.weather-solaris-tile__ray--moon{stroke:var(--w-moon-glow);stroke-width:1.75px;stroke-opacity:.85;stroke-dasharray:5 4}.weather-solaris-tile__ray--scrub-sun{stroke:var(--w-sun-dusk);stroke-width:2.5px;stroke-opacity:1;stroke-linecap:round;fill:none}.weather-solaris-tile__ray--scrub-sun.is-dawn{stroke:var(--w-sun-dawn)}.weather-solaris-tile__ray--scrub-moon{stroke:var(--w-moon-glow);stroke-width:1.75px;stroke-opacity:.95;stroke-dasharray:3 3;stroke-linecap:round;fill:none}.weather-solaris-tile[data-scrub="1"] .weather-solaris-tile__ray--sunrise,.weather-solaris-tile[data-scrub="1"] .weather-solaris-tile__ray--sunset,.weather-solaris-tile[data-scrub="1"] .weather-solaris-tile__ray--moon{stroke-opacity:.32}.weather-solaris-tile__endpoint--sunrise{fill:var(--w-sun-dawn);fill-opacity:1;stroke:none}.weather-solaris-tile__endpoint--sunset{fill:var(--w-sun-dusk);fill-opacity:1;stroke:none}.weather-solaris-tile__endpoint--moon{fill:var(--w-moon-glow);fill-opacity:1;stroke:none}.weather-solaris-tile__endpoint--scrub-sun{fill:var(--w-sun-dusk);fill-opacity:1;stroke:var(--w-paper);stroke-width:2px}.weather-solaris-tile__endpoint--scrub-sun.is-dawn{fill:var(--w-sun-dawn)}.weather-solaris-tile__endpoint--scrub-moon{fill:var(--w-moon-glow);fill-opacity:1;stroke:var(--w-paper);stroke-width:1.5px}.weather-solaris-tile__pin-halo{fill:var(--w-signal);fill-opacity:.18;stroke:none}.weather-solaris-tile__pin{fill:var(--w-signal);fill-opacity:1;stroke:none}.weather-solaris-tile__pin-core{fill:var(--w-paper);fill-opacity:1;stroke:none}.weather-solaris-tile__ray-icon{pointer-events:none}.weather-solaris-tile__ray-chip{white-space:nowrap;-webkit-backdrop-filter:blur(3px);background:#1616168c;border-radius:2px;flex-direction:column;gap:1px;padding:3px 5px;display:flex;position:absolute;top:-10px;left:8px}[data-theme=light] .weather-solaris-tile__ray-chip{background:#ffffffa6}.weather-solaris-tile__ray-chip-label{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-1)}.weather-solaris-tile__ray-chip--sunrise .weather-solaris-tile__ray-chip-label{color:var(--w-sun-dawn)}.weather-solaris-tile__ray-chip--sunset .weather-solaris-tile__ray-chip-label{color:var(--w-sun-dusk)}.weather-solaris-tile__ray-chip--moon .weather-solaris-tile__ray-chip-label{color:var(--w-moon-glow)}.weather-solaris-tile__ray-chip-caption{font-family:var(--w-ff-mono);letter-spacing:.06em;color:var(--w-text-3);font-size:10px;font-weight:400}.weather-solaris-tile .leaflet-control-zoom{border:1px solid var(--w-rule-strong);box-shadow:none;border-radius:2px;margin:0 8px 8px 0;overflow:hidden}.weather-solaris-tile .leaflet-control-zoom a{color:var(--w-text-2);border:none;border-bottom:1px solid var(--w-rule);background:#161616b3;width:24px;height:24px;font-size:13px;font-weight:400;line-height:24px;transition:background .12s,color .12s}.weather-solaris-tile .leaflet-control-zoom a:last-child{border-bottom:none}.weather-solaris-tile .leaflet-control-zoom a:hover{color:var(--w-text-1);background:#161616e6}[data-theme=light] .weather-solaris-tile .leaflet-control-zoom a{background:#ffffffd9}[data-theme=light] .weather-solaris-tile .leaflet-control-zoom a:hover{background:#fff}.weather-solaris-tile__attrib{font-family:var(--w-ff-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--w-text-4);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:500;text-shadow:0 0 4px #0009;font-size:10px;font-weight:400;position:absolute;bottom:6px;left:8px}[data-theme=light] .weather-solaris-tile__attrib{text-shadow:0 0 4px #fffc}.weather-solaris-tile__caption{font:var(--w-t-body);color:var(--w-text-3);align-items:baseline;gap:12px;padding:0 2px;display:flex}.weather-solaris-tile__coords{font-family:var(--w-ff-mono);letter-spacing:.04em;color:var(--w-text-3);margin-right:auto;font-size:11px}.weather-sun-divider__arc{width:100%;height:72px;display:block;overflow:visible}.weather-sun-divider__arc path,.weather-sun-divider__arc line,.weather-sun-divider__arc circle,.weather-sun-divider__arc rect{vector-effect:non-scaling-stroke}.weather-sun-divider__labels{border-top:1px solid var(--w-rule);grid-template-columns:1fr 1fr 1fr;margin-top:4px;padding-top:14px;display:grid}.weather-sun-divider__cell{flex-direction:column;gap:6px;display:flex}.weather-sun-divider__cell--center{align-items:center}.weather-sun-divider__cell--right{align-items:flex-end}.weather-sun-divider__eyebrow{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3)}.weather-sun-divider__time{font:var(--w-t-body-num);color:var(--w-text-1);letter-spacing:-.005em;font-variant-numeric:tabular-nums;font-size:16px;line-height:1}.weather-sun-divider__meta{font:var(--w-t-label);letter-spacing:.1em;color:var(--w-text-4)}.weather-sun-divider__bearing{font-family:var(--w-ff-mono);letter-spacing:.08em;color:var(--w-text-3);text-transform:uppercase;margin-left:2px;font-size:11px;font-weight:400}.weather-sun-divider__moon-line{font:var(--w-t-body);color:var(--w-text-3);flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;display:flex}.weather-sun-divider__moon-icon{color:var(--w-text-1);align-items:center;margin-right:2px;display:inline-flex}.weather-sun-divider__moon-label{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-2);margin-right:8px}.weather-sun-divider__now{transition:opacity .2s ease-out}.weather-sun-divider__sun-dot{pointer-events:none;transition:cx .26s cubic-bezier(.34,1.25,.5,1),cy .26s cubic-bezier(.34,1.25,.5,1)}.weather-sun-divider__chaser{pointer-events:none}.weather-sun-divider__chaser--mid{transition:cx .44s cubic-bezier(.34,1.56,.64,1),cy .44s cubic-bezier(.34,1.56,.64,1)}.weather-sun-divider__chaser--far{transition:cx .64s cubic-bezier(.34,1.56,.64,1),cy .64s cubic-bezier(.34,1.56,.64,1)}@media (prefers-reduced-motion:reduce){.weather-sun-divider__sun-dot,.weather-sun-divider__chaser{transition:none}}.weather-sun-divider__arc{overflow:visible}.weather-compass-section{margin:0}.weather-compass__header{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.weather-compass{grid-template-columns:300px 1fr;align-items:center;gap:48px;display:grid}@media (max-width:900px){.weather-compass{grid-template-columns:1fr;justify-items:center;gap:24px}}.weather-compass__dial{flex-shrink:0;width:300px;height:300px}.weather-compass__dial svg{width:100%;height:100%;display:block;overflow:visible}.weather-compass__cardinal{font:var(--w-t-label);letter-spacing:.14em;fill:var(--w-text-2);text-transform:uppercase}.weather-compass__marker circle{transition:cx .4s cubic-bezier(.22,1,.36,1),cy .4s cubic-bezier(.22,1,.36,1)}.weather-compass__readout{grid-template-columns:1fr 1fr;gap:32px;display:grid}@media (max-width:900px){.weather-compass__readout{grid-template-columns:1fr 1fr;gap:20px;width:100%}}.weather-compass__body-head{border-bottom:1px solid var(--w-rule);align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:8px;display:flex}.weather-compass__body-title{font:var(--w-t-title);color:var(--w-text-1)}.weather-compass__body-state{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3);margin-left:auto}.weather-compass__swatch{border-radius:50%;width:8px;height:8px;display:inline-block;translate:0 -2px}.weather-compass__swatch--sun{background:var(--w-signal)}.weather-compass__swatch--moon{background:var(--w-paper);border:1px solid var(--w-text-2)}.weather-compass__stats{grid-template-columns:1fr;gap:8px;margin:0;display:grid}.weather-compass__stats>div{grid-template-columns:72px 1fr;align-items:baseline;gap:12px;display:grid}.weather-compass__stats dt{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3);margin:0}.weather-compass__stats dd{font:var(--w-t-body-num);color:var(--w-text-1);font-variant-numeric:tabular-nums;margin:0}.weather-flipclock{-webkit-user-select:none;user-select:none;flex-direction:column;gap:4px;display:flex}.weather-flipclock__date{font:var(--w-t-label);letter-spacing:.18em;color:var(--w-text-3);text-transform:uppercase;align-items:baseline;gap:6px;height:12px;display:inline-flex}.weather-flipclock__sep{opacity:.5}.weather-flipclock__time{font:var(--w-t-title-num);color:var(--w-text-1);font-variant-numeric:tabular-nums;align-items:baseline;height:28px;line-height:1;display:inline-flex}.weather-flipclock__colon{opacity:.4;padding:0 3px 0 2px;transform:translateY(-2px)}.weather-flipclock__cell{text-align:center;min-width:.6em;display:inline-block;position:relative;overflow:hidden}.weather-flipclock__char{will-change:transform,opacity;display:inline-block}.weather-flipclock__badge{font-family:var(--w-ff-mono);letter-spacing:.2em;color:var(--w-signal);border:1px solid var(--w-signal);border-radius:2px;align-self:flex-start;align-items:center;margin-top:4px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-flex}.weather-timeline__header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:8px;display:flex}.weather-timeline__readout{align-items:baseline;gap:16px;display:flex}.weather-timeline__readout-time{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3)}.weather-timeline__readout-block{align-items:baseline;gap:6px;display:flex}.weather-timeline__readout-value{font:var(--w-t-title-num);color:var(--w-text-1);font-variant-numeric:tabular-nums}.weather-timeline__readout-unit{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3)}.weather-timeline__readout-divider{background:var(--w-rule);width:1px;height:24px}.weather-timeline__readout-condition{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-2);max-width:220px}.weather-timeline__chart-wrap{cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;touch-action:none;width:100%;position:relative;overflow:visible}.weather-timeline__chart-wrap *{-webkit-user-drag:none}.weather-timeline__chart-wrap.is-pannable{cursor:grab}.weather-timeline__chart-wrap.is-dragging,.weather-timeline__chart-wrap.is-dragging *{cursor:grabbing!important}.weather-timeline__chart{width:100%;height:300px;display:block;overflow:visible}.weather-tempbars{flex-direction:column;gap:8px;display:flex}.weather-tempbars__header{justify-content:space-between;align-items:baseline;gap:16px;min-height:18.85px;display:flex}.weather-tempbars__summary{font:var(--w-t-caption);color:var(--w-text-3);text-transform:uppercase;letter-spacing:.12em}.weather-tempbars__chart-wrap{cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;position:relative;overflow:visible}.weather-tempbars__chart-wrap *{-webkit-user-drag:none}.weather-tempbars__chart-wrap.is-pannable{cursor:grab}.weather-tempbars__chart-wrap.is-dragging,.weather-tempbars__chart-wrap.is-dragging *{cursor:grabbing!important}.weather-tempbars__chart{width:100%;height:140px;display:block;overflow:visible}.weather-tempbars__scrubber{will-change:transform;transition:transform .2s cubic-bezier(.22,1,.36,1)}.weather-tempbars__x-axis{font:var(--w-t-label);letter-spacing:.14em;color:var(--w-text-4);text-transform:uppercase;justify-content:space-between;padding:6px 0 0;display:flex}.weather-tempbars__glyphs{color:var(--w-text-3);grid-template-columns:repeat(8,1fr);padding:6px 0 0;display:grid}.weather-tempbars__glyph{justify-content:center;align-items:center;display:flex}.weather-timeline__midheader{pointer-events:none;justify-content:space-between;align-items:center;gap:24px;height:70px;display:flex;position:absolute;top:226px;left:0;right:0}.weather-timeline__midheader>*{pointer-events:auto}.weather-timeline__x-axis{border-top:1px solid var(--w-rule);justify-content:space-between;padding:10px 0 0;display:flex}.weather-timeline__x-label{font:var(--w-t-label);letter-spacing:.14em;color:var(--w-text-4);text-transform:uppercase}.weather-surf-outlook__header{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.weather-surf-outlook__hover{font:var(--w-t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--w-text-3)}.weather-surf-outlook{border-top:1px solid var(--w-rule-strong);grid-template-columns:repeat(5,1fr);padding-top:8px;display:grid}.weather-surf-outlook__col{border-right:1px solid var(--w-rule);flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:2px 10px 6px;display:flex}.weather-surf-outlook__col:last-child{border-right:none}.weather-surf-outlook__day{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-2)}.weather-surf-outlook__score-row{align-items:baseline;gap:10px;margin-top:6px;display:flex}.weather-surf-outlook__score{font-family:var(--w-ff-num);color:var(--w-text-1);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;line-height:1}.weather-surf-outlook__label{font:var(--w-t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3)}.weather-surf-outlook__label--epic,.weather-surf-outlook__label--good{color:var(--w-text-1)}.weather-surf-outlook__label--fair{color:var(--w-text-2)}.weather-surf-outlook__label--poor{color:var(--w-text-3)}.weather-surf-outlook__label--flat{color:var(--w-text-4)}.weather-surf-outlook__swell{font:var(--w-t-body-num);color:var(--w-text-2);font-variant-numeric:tabular-nums;margin-top:4px}.weather-surf-outlook__window{font:var(--w-t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--w-text-3)}.weather-surf-outlook__empty{font:var(--w-t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--w-text-4);font-style:italic}.weather-surf-windows__list{flex-direction:column;display:flex}.weather-surf-windows__entry{border-bottom:1px solid var(--w-rule);grid-template-columns:1fr auto;align-items:baseline;gap:6px 48px;padding:20px 0;display:grid}.weather-surf-windows__entry:first-child{padding-top:8px}.weather-surf-windows__entry:last-child{border-bottom:none;padding-bottom:0}.weather-surf-windows__title{font-family:var(--w-ff-display);letter-spacing:-.015em;color:var(--w-text-1);margin:0;font-size:22px;font-weight:500;line-height:1.15}.weather-surf-windows__score{font-family:var(--w-ff-num);color:var(--w-text-1);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:28px;font-weight:500;line-height:1}.weather-surf-windows__score em{font-family:var(--w-ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--w-text-3);margin-left:8px;font-size:11px;font-style:normal;font-weight:600}.weather-surf-windows__desc{font-family:var(--w-ff-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--w-text-3);grid-column:1/-1;max-width:720px;font-size:11px;font-weight:500;line-height:1.5}.weather-surf-windows__empty{font-family:var(--w-ff-text);color:var(--w-text-3);padding:16px 0;font-size:13px;font-style:italic}.weather-timeline__trail{will-change:transform;pointer-events:none}.weather-timeline__trail--head{transition:transform .16s cubic-bezier(.22,1,.36,1)}.weather-timeline__trail--mid{transition:transform .32s cubic-bezier(.22,1,.36,1)}.weather-timeline__trail--far{transition:transform .52s cubic-bezier(.22,1,.36,1)}.weather-timeline__scrubber{will-change:transform;transition:transform .2s cubic-bezier(.22,1,.36,1)}.weather-timeline__tide-bar{transition:stroke .16s cubic-bezier(.22,1,.36,1),stroke-width .16s cubic-bezier(.22,1,.36,1),opacity .16s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.weather-timeline__tide-bar,.weather-timeline__trail,.weather-timeline__scrubber{transition:none}}.weather-timeline__glyphs{grid-template-columns:repeat(8,1fr);gap:0;margin-top:2px;padding:6px 0 0;display:grid}.weather-timeline__glyph{color:var(--w-text-3);justify-content:center;align-items:center;display:flex}.weather-timeline__empty{font-family:var(--w-ff-text);color:var(--w-text-3);text-align:center;padding:40px 0;font-size:13px;font-style:italic}