.photo-root{background:var(--bg);-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:var(--fm,"JetBrains Mono",monospace);color:#ffffff80;flex-direction:column;display:flex;position:relative;overflow:hidden}.photo-topbar{z-index:20;background:linear-gradient(#141618 0%,#0e1012 100%);border-bottom:1px solid #ffffff0f;align-items:center;gap:2px;height:36px;min-height:36px;padding:0 8px;display:flex}.photo-topbar-sep{background:#ffffff0f;flex-shrink:0;width:1px;height:16px;margin:0 4px}.photo-topbar-group{align-items:center;gap:1px;display:flex}.photo-topbar-right{align-items:center;gap:2px;margin-left:auto;display:flex}.photo-topbar-title{letter-spacing:2px;text-transform:uppercase;color:#ffffff26;margin:0 4px;font-size:8px}.photo-tb-btn{color:#ffffff59;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:26px;transition:all .12s;display:flex;position:relative}.photo-tb-btn:hover{color:#ffffffb3;background:#ffffff0d;border-color:#ffffff14}.photo-tb-btn.active{background:rgba(var(--sig-rgb),.08);border-color:rgba(var(--sig-rgb),.4);color:var(--sig)}.photo-tb-btn.dim{opacity:.3}.photo-tb-btn svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.photo-tb-btn-sm{color:#ffffff4d;cursor:pointer;height:22px;font-size:8px;font-family:var(--fm,monospace);background:0 0;border:1px solid #0000;border-radius:2px;padding:0 6px;transition:all .12s}.photo-tb-btn-sm:hover{color:#fff9;background:#ffffff0a}.photo-tb-btn-sm.active{background:rgba(var(--sig-rgb),.08);border-color:rgba(var(--sig-rgb),.4);color:var(--sig)}.photo-zoom-btn{font-size:9px;font-family:var(--fm,monospace);color:#ffffff59;cursor:pointer;text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #ffffff0f;border-radius:4px;min-width:44px;padding:2px 8px}.photo-zoom-btn:hover{color:#fff9;background:#ffffff0a}.photo-body{flex:1;display:flex;position:relative;overflow:hidden}.photo-canvas-wrap{flex:1;position:relative;overflow:hidden}.photo-canvas{cursor:default;width:100%;height:100%;display:block;position:absolute;inset:0}.photo-canvas.panning{cursor:grab}.photo-canvas.panning:active{cursor:grabbing}.pho-panel{z-index:10;background:linear-gradient(#111315 0%,#0c0e10 100%);border-left:1px solid #ffffff0f;flex-direction:column;width:250px;min-width:250px;transition:width .25s,min-width .25s,opacity .2s;display:flex;overflow:hidden}.pho-panel.collapsed{opacity:0;pointer-events:none;width:0;min-width:0}.pho-panel-tabs{background:#ffffff05;border-bottom:1px solid #ffffff0f;display:flex}.pho-panel-tab{text-align:center;letter-spacing:.5px;text-transform:uppercase;color:#ffffff40;cursor:pointer;font-size:9px;font-family:var(--fm,monospace);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:7px 0;transition:all .15s}.pho-panel-tab:hover{color:#ffffff73;background:#ffffff05}.pho-panel-tab.active{color:var(--sig);border-bottom-color:var(--sig);background:rgba(var(--sig-rgb),.03)}.pho-panel-content{flex:1;overflow:hidden auto}.pho-panel-content::-webkit-scrollbar{width:4px}.pho-panel-content::-webkit-scrollbar-track{background:0 0}.pho-panel-content::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.pho-histogram{border-bottom:1px solid #ffffff0a;padding:8px 10px 6px}.pho-histogram canvas{background:#0006;border-radius:4px;width:100%;height:55px;display:block}.pho-section{border-bottom:1px solid #ffffff0a;transition:opacity .15s}.pho-section.disabled{opacity:.35}.pho-section.disabled .pho-section-body{pointer-events:none}.pho-section-header{cursor:default;align-items:center;gap:6px;padding:8px 10px 6px;display:flex}.pho-section-toggle{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;padding:0;transition:all .12s;display:flex}.pho-section-toggle svg{stroke:#ffffff4d;fill:none;stroke-width:2px;stroke-linecap:round;width:8px;height:8px}.pho-section-toggle.on{background:rgba(var(--sig-rgb),.15);border-color:rgba(var(--sig-rgb),.5)}.pho-section-toggle.on svg{stroke:var(--sig)}.pho-section-title{letter-spacing:.8px;text-transform:uppercase;color:#fff6;cursor:pointer;flex:1;font-size:9px;font-weight:500}.pho-section-actions{align-items:center;gap:4px;display:flex}.pho-section-reset{cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:all .12s;display:flex}.pho-section-reset svg{stroke:#fff3;fill:none;stroke-width:1.5px;stroke-linecap:round;width:10px;height:10px}.pho-section-reset:hover{background:rgba(var(--sig-rgb),.1)}.pho-section-reset:hover svg{stroke:var(--sig)}.pho-section-chevron{stroke:#fff3;fill:none;stroke-width:2px;cursor:pointer;stroke-linecap:round;width:10px;height:10px;transition:transform .15s}.pho-section.collapsed .pho-section-chevron{transform:rotate(-90deg)}.pho-section-body{padding:0 10px 8px}.pho-section.collapsed .pho-section-body{display:none}.pho-slider{margin:4px 0}.pho-slider-head{justify-content:space-between;align-items:center;margin-bottom:3px;display:flex}.pho-slider-label{color:#ffffff4d;font-size:9px}.pho-slider.changed .pho-slider-label{color:#ffffff8c}.pho-slider-value{color:#ffffff4d;text-align:right;font-variant-numeric:tabular-nums;min-width:32px;font-size:9px}.pho-slider.changed .pho-slider-value{color:rgba(var(--sig-rgb),.7)}.pho-slider-track{cursor:pointer;background:#ffffff0f;border-radius:4px;height:6px;position:relative}.pho-slider-fill{background:var(--sig);pointer-events:none;opacity:.6;border-radius:4px;height:100%;position:absolute;top:0}.pho-slider-center{pointer-events:none;background:#ffffff26;width:1px;height:100%;position:absolute;top:0;left:50%}.pho-slider-thumb{cursor:grab;z-index:2;background:#e8e8e8;border-radius:50%;width:12px;height:12px;transition:transform 80ms,box-shadow 80ms;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0009}.pho-slider-thumb:hover{transform:translate(-50%,-50%)scale(1.15);box-shadow:0 1px 6px #000000b3}.pho-slider-thumb:active{cursor:grabbing;background:#f0f0f0}.pho-presets-tab{padding:6px 10px}.pho-preset-group{margin-bottom:12px}.pho-preset-group-title{letter-spacing:1px;text-transform:uppercase;color:#fff3;margin-bottom:6px;font-size:8px}.pho-preset-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.pho-preset-card{cursor:pointer;background:#ffffff05;border:1px solid #0000;border-radius:4px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;transition:all .15s;display:flex}.pho-preset-card:hover{background:#ffffff0a;border-color:#ffffff14}.pho-preset-card.active{border-color:rgba(var(--sig-rgb),.5);background:rgba(var(--sig-rgb),.05)}.pho-preset-badge{border-radius:4px;flex-shrink:0;width:36px;height:24px}.pho-preset-name{color:#ffffff59;text-align:center;font-size:8px;line-height:1.2}.pho-preset-card:hover .pho-preset-name{color:#fff9}.pho-preset-card.active .pho-preset-name{color:var(--sig)}.pho-metadata-tab{padding:8px 10px}.pho-meta-empty{text-align:center;color:#ffffff26;padding:20px;font-size:9px}.pho-meta-section{margin-bottom:12px}.pho-meta-section-title{letter-spacing:1px;text-transform:uppercase;color:#fff3;border-bottom:1px solid #ffffff0a;margin-bottom:4px;padding-bottom:3px;font-size:8px}.pho-meta-row{justify-content:space-between;padding:2px 0;font-size:9px;display:flex}.pho-meta-row span:first-child{color:#ffffff40}.pho-meta-row span:last-child{color:#ffffff80;font-variant-numeric:tabular-nums}.pho-rating-stars{gap:2px;display:flex}.pho-star{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.pho-star svg{stroke:#ffffff26;fill:none;stroke-width:1.2px;width:14px;height:14px;transition:all .1s}.pho-star:hover svg{stroke:#ecc94b;fill:#ecc94b33}.pho-star.filled svg{stroke:#ecc94b;fill:#ecc94b}.pho-color-labels{gap:4px;display:flex}.pho-color-label-btn{cursor:pointer;opacity:.6;border:2px solid #0000;border-radius:50%;width:18px;height:18px;transition:all .12s}.pho-color-label-btn:hover{opacity:1;transform:scale(1.15)}.pho-color-label-btn.active{opacity:1;border-color:#fff9;transform:scale(1.1)}.pho-flag-btns{gap:4px;display:flex}.pho-flag-btn{cursor:pointer;color:#ffffff4d;font-size:9px;font-family:var(--fm,monospace);background:#ffffff08;border:1px solid #ffffff0f;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;transition:all .12s;display:flex}.pho-flag-btn svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;width:10px;height:10px}.pho-flag-btn:hover{color:#ffffff80;background:#ffffff0f}.pho-flag-btn.picked{color:#48bb78;background:#48bb781a;border-color:#48bb7866}.pho-flag-btn.rejected{color:#e53e3e;background:#e53e3e1a;border-color:#e53e3e66}.photo-info{color:#fff3;font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0a;padding:0 12px 6px;font-size:9px}.photo-info span{margin-right:10px}.pho-filmstrip{z-index:10;background:linear-gradient(#0c0e10 0%,#080a0b 100%);border-top:1px solid #ffffff0f;align-items:center;gap:0;height:76px;min-height:76px;transition:height .2s,min-height .2s,opacity .2s;display:flex;position:relative}.pho-filmstrip.collapsed{opacity:0;pointer-events:none;border-top:none;height:0;min-height:0}.pho-filmstrip-inner{flex:1;align-items:center;gap:3px;height:100%;padding:0 8px;display:flex;overflow:auto hidden}.pho-filmstrip-inner::-webkit-scrollbar{height:3px}.pho-filmstrip-inner::-webkit-scrollbar-track{background:0 0}.pho-filmstrip-inner::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.pho-filmstrip-item{cursor:pointer;opacity:.55;border:2px solid #0000;border-radius:4px;flex-shrink:0;width:60px;height:60px;transition:all .12s;position:relative;overflow:hidden}.pho-filmstrip-item:hover{opacity:.8;border-color:#ffffff1f}.pho-filmstrip-item.active{opacity:1;border-color:var(--sig)}.pho-filmstrip-item.rejected{opacity:.25}.pho-filmstrip-img{object-fit:cover;width:100%;height:100%;display:block}.pho-filmstrip-label{height:3px;position:absolute;bottom:0;left:0;right:0}.pho-filmstrip-flag{position:absolute;top:2px;left:2px}.pho-filmstrip-flag svg{stroke:#48bb78;fill:#48bb78;stroke-width:1px;width:8px;height:8px}.pho-filmstrip-rating{justify-content:center;gap:1px;display:flex;position:absolute;bottom:4px;left:0;right:0}.pho-filmstrip-dot{background:#ecc94b;border-radius:50%;width:4px;height:4px}.pho-filmstrip-rejected{background:#0006;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pho-filmstrip-rejected svg{stroke:#e53e3e;fill:none;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.pho-filmstrip-count{color:#ffffff26;white-space:nowrap;flex-shrink:0;padding:0 10px;font-size:8px}.pho-ctx-menu{z-index:9999;min-width:180px;font-family:var(--fm);font-size:var(--fs-base);-webkit-user-select:none;user-select:none;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:6px;padding:4px 0;position:fixed;box-shadow:0 8px 24px #0009}.pho-ctx-item{cursor:pointer;color:#ffffffbf;text-align:left;width:100%;font-family:inherit;font-size:inherit;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;transition:background .1s;display:flex}.pho-ctx-item:hover{color:#fff;background:#ffffff12}.pho-ctx-filename{font-size:var(--fs-xs);color:#ffffff4d;cursor:default;white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.pho-ctx-filename:hover{color:#ffffff4d;background:0 0}.pho-ctx-divider{background:#ffffff12;height:1px;margin:3px 0}.pho-ctx-delete{color:#e53e3e}.pho-ctx-delete:hover{color:#fc8181;background:#e53e3e1f}.pho-ctx-label{font-size:var(--fs-xs);color:#ffffff59;flex-shrink:0}.pho-ctx-rating-row{cursor:default}.pho-ctx-rating-row:hover{background:#ffffff0a}.pho-ctx-stars{gap:2px;margin-left:auto;display:flex}.pho-ctx-star{cursor:pointer;color:#fff3;background:0 0;border:none;padding:1px;font-size:14px;line-height:1;transition:color .1s}.pho-ctx-star:hover,.pho-ctx-star.active{color:#ecc94b}.pho-ctx-label-row{cursor:default}.pho-ctx-label-row:hover{background:#ffffff0a}.pho-ctx-colors{align-items:center;gap:4px;margin-left:auto;display:flex}.pho-ctx-color{cursor:pointer;border:2px solid #0000;border-radius:50%;width:12px;height:12px;padding:0;transition:transform .1s,border-color .1s}.pho-ctx-color:hover{transform:scale(1.2)}.pho-ctx-color.active{border-color:#fff}.pho-ctx-color-clear{cursor:pointer;color:#ffffff4d;background:0 0;border:none;padding:1px 3px;font-size:12px;line-height:1}.pho-ctx-color-clear:hover{color:#fff}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));align-content:start;gap:6px;padding:12px;display:grid;position:absolute;inset:0;overflow-y:auto}.photo-grid-item{aspect-ratio:1;cursor:pointer;background:#ffffff05;border:2px solid #0000;border-radius:4px;transition:all .12s;position:relative;overflow:hidden}.photo-grid-item:hover{border-color:#ffffff1a}.photo-grid-item.active{border-color:var(--sig)}.photo-grid-item.rejected{opacity:.3}.photo-grid-item img{object-fit:cover;width:100%;height:100%;display:block}.photo-grid-item-name{color:#ffffff80;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#000000b3);padding:4px 6px;font-size:8px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.photo-grid-rating{color:#ecc94b;text-shadow:0 1px 2px #000c;font-size:8px;position:absolute;top:4px;right:4px}.photo-grid-label-dot{border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:4px;box-shadow:0 1px 2px #00000080}.photo-empty{pointer-events:none;z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.photo-empty-icon{stroke:#ffffff0f;fill:none;stroke-width:1px;width:48px;height:48px}.photo-empty h2{color:#ffffff1f;letter-spacing:3px;text-transform:uppercase;margin:0;font-size:14px;font-weight:400}.photo-empty p{color:#ffffff14;letter-spacing:.5px;margin:0;font-size:9px}.pho-export-row{justify-content:space-between;padding:3px 0;font-size:9px;display:flex}.pho-export-label{color:#ffffff4d}.pho-export-value{color:#ffffff80;font-variant-numeric:tabular-nums}.pho-export-section-title{letter-spacing:1px;text-transform:uppercase;color:#fff3;margin:12px 0 6px;font-size:8px}.pho-export-formats{gap:4px;display:flex}.pho-export-format{cursor:pointer;text-align:center;background:#ffffff05;border:1px solid #ffffff0f;border-radius:4px;flex:1;padding:8px;transition:all .12s}.pho-export-format:hover{background:#ffffff0a;border-color:#ffffff1a}.pho-export-format.active{border-color:rgba(var(--sig-rgb),.5);background:rgba(var(--sig-rgb),.05)}.pho-export-format-label{color:#ffffff80;font-size:10px;font-weight:500;font-family:var(--fm,monospace);display:block}.pho-export-format.active .pho-export-format-label{color:var(--sig)}.pho-export-format-desc{color:#fff3;font-size:8px;font-family:var(--fm,monospace);margin-top:2px;display:block}.pho-export-quality{margin-top:12px}.pho-export-quality-head{justify-content:space-between;margin-bottom:4px;display:flex}.pho-export-quality-value{color:var(--sig);font-variant-numeric:tabular-nums;font-size:10px}.pho-export-quality-slider{appearance:none;background:#ffffff14;border-radius:2px;outline:none;width:100%;height:4px}.pho-export-quality-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;background:#e8e8e8;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #00000080}.pho-export-quality-labels{color:#ffffff26;justify-content:space-between;margin-top:2px;font-size:8px;display:flex}.pho-luts-tab{padding:6px 10px}.pho-luts-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.pho-luts-import{cursor:pointer;color:#ffffff59;font-size:9px;font-family:var(--fm,monospace);text-align:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;flex:1;padding:5px 0;transition:all .12s}.pho-luts-import:hover{background:rgba(var(--sig-rgb),.06);border-color:rgba(var(--sig-rgb),.3);color:var(--sig)}.pho-luts-clear{cursor:pointer;color:#ffffff40;font-size:8px;font-family:var(--fm,monospace);background:0 0;border:1px solid #ffffff0f;border-radius:4px;padding:5px 8px;transition:all .12s}.pho-luts-clear:hover{color:#e53e3e;border-color:#e53e3e66}.pho-luts-strength{margin:0 0 8px}.pho-luts-empty{text-align:center;color:#ffffff1f;padding:24px 12px;line-height:1.8}.pho-luts-empty-icon{color:#ffffff1a;width:32px;height:32px;margin:0 auto 8px;display:block}.pho-luts-empty p{margin:0;font-size:9px}.pho-luts-hint{color:#ffffff1f;text-align:center;padding:6px 0;font-size:8px}.pho-lut-section{margin-bottom:12px}.pho-lut-section-title{letter-spacing:1px;text-transform:uppercase;color:#fff3;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:8px;display:flex}.pho-lut-grid{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.pho-lut-card-wrap{position:relative}.pho-lut-card{cursor:pointer;background:#ffffff05;border:1px solid #0000;border-radius:4px;flex-direction:column;align-items:center;gap:3px;width:100%;padding:8px 4px;transition:all .15s;display:flex}.pho-lut-card:hover{background:#ffffff0a;border-color:#ffffff14}.pho-lut-card.active{border-color:rgba(var(--sig-rgb),.5);background:rgba(var(--sig-rgb),.05)}.pho-lut-badge{background:linear-gradient(135deg,#ffffff0a,#ffffff05);border-radius:4px;justify-content:center;align-items:center;width:36px;height:24px;display:flex}.pho-lut-badge svg{color:#ffffff26;width:24px;height:16px}.pho-lut-card.active .pho-lut-badge svg{color:rgba(var(--sig-rgb),.4)}.pho-lut-name{color:#ffffff59;text-align:center;word-break:break-all;font-size:8px;line-height:1.2}.pho-lut-card.active .pho-lut-name{color:var(--sig)}.pho-lut-size{font-size:var(--fs-2xs);color:#ffffff26;font-variant-numeric:tabular-nums}.pho-lut-remove{color:#ffffff26;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;line-height:1;transition:all .1s;display:none;position:absolute;top:2px;right:2px}.pho-lut-card-wrap:hover .pho-lut-remove{display:flex}.pho-lut-remove:hover{color:#e53e3e;background:#e53e3e33}.pho-lut-add-recipe{color:#fff3;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:11px;transition:color .1s}.pho-lut-add-recipe:hover{color:var(--sig)}.pho-recipe-card{background:#ffffff05;border:1px solid #ffffff0a;border-radius:4px;margin-bottom:4px;transition:all .15s;overflow:hidden}.pho-recipe-card.active{border-color:rgba(var(--sig-rgb),.4)}.pho-recipe-header{cursor:pointer;align-items:center;gap:6px;padding:6px 8px;display:flex}.pho-recipe-header:hover{background:#ffffff05}.pho-recipe-name{color:#fff6;font-size:9px;font-family:var(--fm,monospace);flex:1}.pho-recipe-card.active .pho-recipe-name{color:var(--sig)}.pho-recipe-steps{color:#ffffff26;font-size:8px}.pho-recipe-apply{cursor:pointer;background:rgba(var(--sig-rgb),.1);border:1px solid rgba(var(--sig-rgb),.3);color:var(--sig);font-size:8px;font-family:var(--fm,monospace);border-radius:2px;padding:2px 6px;transition:all .1s}.pho-recipe-apply:hover{background:rgba(var(--sig-rgb),.15)}.pho-recipe-body{border-top:1px solid #ffffff0a;padding:4px 8px 8px}.pho-recipe-step{align-items:center;gap:4px;padding:3px 0;font-size:8px;display:flex}.pho-recipe-step input[type=checkbox]{width:12px;height:12px;accent-color:var(--sig);cursor:pointer}.pho-recipe-step-name{color:#ffffff59;font-size:8px;font-family:var(--fm,monospace);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pho-recipe-step input[type=range]{width:50px;height:3px;accent-color:var(--sig);cursor:pointer}.pho-recipe-step-pct{color:#fff3;text-align:right;font-variant-numeric:tabular-nums;min-width:24px;font-size:8px;font-family:var(--fm,monospace)}.pho-recipe-step-rm{color:#ffffff26;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:11px;line-height:1}.pho-recipe-step-rm:hover{color:#e53e3e}.pho-recipe-add-select{color:#ffffff4d;width:100%;font-size:8px;font-family:var(--fm,monospace);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:2px;margin-top:4px;padding:3px 4px}.pho-recipe-add-select:focus{border-color:rgba(var(--sig-rgb),.3);outline:none}.pho-recipe-delete{color:#fff3;width:100%;font-size:8px;font-family:var(--fm,monospace);cursor:pointer;background:0 0;border:1px solid #e53e3e26;border-radius:2px;margin-top:4px;padding:3px 0;transition:all .1s}.pho-recipe-delete:hover{color:#e53e3e;background:#e53e3e14;border-color:#e53e3e4d}.photo-status{color:#fff6;letter-spacing:.4px;z-index:300;pointer-events:none;background:#181c20;border:1px solid #ffffff14;border-radius:4px;padding:2px 10px;font-size:9px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.photo-drop-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;pointer-events:none;background:#080a0bd9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.photo-drop-overlay span{letter-spacing:2px;text-transform:uppercase;color:#ffffff4d;border:1px dashed #ffffff26;border-radius:6px;padding:24px 48px;font-size:11px}.pho-masks-tab{padding:6px 10px}.pho-masks-header{align-items:center;gap:4px;margin-bottom:8px;display:flex}.pho-masks-add{cursor:pointer;color:#ffffff59;font-size:9px;font-family:var(--fm,monospace);background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 0;transition:all .12s;display:flex}.pho-masks-add svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;width:10px;height:10px}.pho-masks-add:hover{background:rgba(var(--sig-rgb),.06);border-color:rgba(var(--sig-rgb),.3);color:var(--sig)}.pho-masks-overlay{cursor:pointer;background:0 0;border:1px solid #ffffff0f;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .12s;display:flex}.pho-masks-overlay svg{stroke:#ffffff40;fill:none;stroke-width:1.2px;width:12px;height:12px}.pho-masks-overlay:hover{background:#ffffff0a}.pho-masks-overlay:hover svg{stroke:#ffffff80}.pho-masks-overlay.active{background:rgba(var(--sig-rgb),.08);border-color:rgba(var(--sig-rgb),.4)}.pho-masks-overlay.active svg{stroke:var(--sig)}.pho-masks-list{flex-direction:column;gap:4px;display:flex}.pho-masks-empty{text-align:center;color:#ffffff1f;padding:24px 12px;line-height:1.8}.pho-masks-empty-icon{color:#ffffff1a;width:32px;height:32px;margin:0 auto 8px;display:block}.pho-masks-empty p{margin:0;font-size:9px}.pho-mask-card{cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;border-radius:4px;transition:all .15s;overflow:hidden}.pho-mask-card:hover{background:#ffffff08}.pho-mask-card.active{border-color:rgba(var(--sig-rgb),.4)}.pho-mask-card.disabled{opacity:.35}.pho-mask-header{align-items:center;gap:6px;padding:6px 8px;display:flex}.pho-mask-toggle{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;padding:0;transition:all .12s;display:flex}.pho-mask-toggle svg{stroke:#ffffff4d;fill:none;stroke-width:2px;stroke-linecap:round;width:8px;height:8px}.pho-mask-toggle.on{background:rgba(var(--sig-rgb),.15);border-color:rgba(var(--sig-rgb),.5)}.pho-mask-toggle.on svg{stroke:var(--sig)}.pho-mask-type-icon{align-items:center;display:flex}.pho-mask-type-icon svg{stroke:#ffffff40;fill:none;stroke-width:1.5px;stroke-linecap:round;width:12px;height:12px}.pho-mask-card.active .pho-mask-type-icon svg{stroke:var(--sig)}.pho-mask-label{color:#ffffff59;font-size:9px;font-family:var(--fm,monospace);flex:1}.pho-mask-card.active .pho-mask-label{color:var(--sig)}.pho-mask-actions{align-items:center;gap:2px;display:flex}.pho-mask-reset,.pho-mask-delete{cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:all .12s;display:flex}.pho-mask-reset svg,.pho-mask-delete svg{stroke:#fff3;fill:none;stroke-width:1.5px;stroke-linecap:round;width:10px;height:10px}.pho-mask-reset:hover{background:rgba(var(--sig-rgb),.1)}.pho-mask-reset:hover svg{stroke:var(--sig)}.pho-mask-delete:hover{background:#e53e3e26}.pho-mask-delete:hover svg{stroke:#e53e3e}.pho-mask-body{border-top:1px solid #ffffff0a;padding:4px 8px 8px}.pho-mask-geo-row{margin-bottom:4px}.pho-mask-geo-label{color:#ffffff4d;cursor:pointer;align-items:center;gap:4px;margin-bottom:4px;font-size:9px;display:flex}.pho-mask-geo-label input[type=checkbox]{width:12px;height:12px;accent-color:var(--sig);cursor:pointer}.pho-mask-overlay{pointer-events:none;z-index:15;position:absolute;inset:0}.pho-mask-overlay circle,.pho-mask-overlay ellipse,.pho-mask-overlay line{pointer-events:auto}.pho-curve{flex-direction:column;gap:6px;display:flex}.pho-curve-channels{align-items:center;gap:2px;display:flex}.pho-curve-ch{width:22px;height:18px;font-size:9px;font-family:var(--fm,monospace);color:#fff3;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;padding:0;font-weight:600;transition:all .12s;display:flex}.pho-curve-ch:hover{color:#fff6;background:#ffffff0a}.pho-curve-ch.active{color:#ffffffb3;background:#ffffff0f;border-color:#ffffff1a}.pho-curve-ch.changed{position:relative}.pho-curve-ch.changed:after{content:"";background:var(--sig);border-radius:50%;width:3px;height:3px;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.pho-curve-ch[data-channel=red].active{color:#e53e3e;background:#e53e3e0f;border-color:#e53e3e4d}.pho-curve-ch[data-channel=green].active{color:#48bb78;background:#48bb780f;border-color:#48bb784d}.pho-curve-ch[data-channel=blue].active{color:#4299e1;background:#4299e10f;border-color:#4299e14d}.pho-curve-reset{cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;width:16px;height:16px;margin-left:auto;padding:0;transition:all .12s;display:flex}.pho-curve-reset svg{stroke:#fff3;fill:none;stroke-width:1.5px;stroke-linecap:round;width:10px;height:10px}.pho-curve-reset:hover{background:rgba(var(--sig-rgb),.1)}.pho-curve-reset:hover svg{stroke:var(--sig)}.pho-curve-canvas{cursor:crosshair;background:#0000004d;border-radius:4px;display:block}.pho-curve-hint{color:#ffffff1a;text-align:center;font-size:8px}.pho-hsl{flex-direction:column;gap:6px;display:flex}.pho-hsl-dots{align-items:center;gap:4px;display:flex}.pho-hsl-dot{background:var(--dot-color);cursor:pointer;opacity:.5;border:2px solid #0000;border-radius:50%;width:16px;height:16px;padding:0;transition:all .12s;position:relative}.pho-hsl-dot:hover{opacity:.8;transform:scale(1.1)}.pho-hsl-dot.active{opacity:1;border-color:#ffffff80;transform:scale(1.1)}.pho-hsl-dot.modified:after{content:"";background:var(--sig);border-radius:50%;width:3px;height:3px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.pho-hsl-reset{cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;width:16px;height:16px;margin-left:auto;padding:0;transition:all .12s;display:flex}.pho-hsl-reset svg{stroke:#fff3;fill:none;stroke-width:1.5px;stroke-linecap:round;width:10px;height:10px}.pho-hsl-reset:hover{background:rgba(var(--sig-rgb),.1)}.pho-hsl-reset:hover svg{stroke:var(--sig)}.pho-hsl-active-label{letter-spacing:1px;text-transform:uppercase;color:#fff3;font-size:8px}.pho-hsl-slider{margin:3px 0}.pho-hsl-slider-head{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.pho-hsl-slider-label{color:#ffffff4d;font-size:9px}.pho-hsl-slider.changed .pho-hsl-slider-label{color:#ffffff8c}.pho-hsl-slider-value{color:#ffffff4d;text-align:right;font-variant-numeric:tabular-nums;min-width:32px;font-size:9px}.pho-hsl-slider.changed .pho-hsl-slider-value{color:rgba(var(--sig-rgb),.7)}.pho-hsl-slider-track{cursor:pointer;border:1px solid #ffffff0f;border-radius:4px;height:8px;position:relative}.pho-hsl-slider-thumb{cursor:grab;z-index:2;background:#e8e8e8;border-radius:50%;width:12px;height:12px;transition:transform 80ms,box-shadow 80ms;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0009}.pho-hsl-slider-thumb:hover{transform:translate(-50%,-50%)scale(1.15);box-shadow:0 1px 6px #000000b3}.pho-hsl-slider-thumb:active{cursor:grabbing;background:#f0f0f0}[data-theme=light] .photo-root{color:#00000080}[data-theme=light] .photo-topbar{background:linear-gradient(#fafafa 0%,#f5f5f5 100%);border-bottom-color:#00000014}[data-theme=light] .photo-topbar-sep{background:#00000014}[data-theme=light] .photo-topbar-title{color:#0003}[data-theme=light] .photo-tb-btn{color:#00000059}[data-theme=light] .photo-tb-btn:hover{color:#000000b3;background:#0000000d;border-color:#00000014}[data-theme=light] .photo-tb-btn-sm{color:#0000004d}[data-theme=light] .photo-tb-btn-sm:hover{color:#0009;background:#0000000a}[data-theme=light] .photo-zoom-btn{color:#00000059;border-color:#00000014}[data-theme=light] .photo-zoom-btn:hover{color:#0009;background:#0000000a}[data-theme=light] .pho-panel{background:linear-gradient(#fafafa 0%,#f5f5f5 100%);border-left-color:#00000014}[data-theme=light] .pho-panel-tabs{background:#00000005;border-bottom-color:#00000014}[data-theme=light] .pho-panel-tab{color:#0000004d}[data-theme=light] .pho-panel-tab:hover{color:#00000080;background:#00000005}[data-theme=light] .pho-panel-content::-webkit-scrollbar-thumb{background:#00000014}[data-theme=light] .pho-histogram{border-bottom-color:#0000000f}[data-theme=light] .pho-histogram canvas{background:#0000000a}[data-theme=light] .pho-section{border-bottom-color:#0000000f}[data-theme=light] .pho-section-toggle{background:#0000000f;border-color:#0000001a}[data-theme=light] .pho-section-toggle svg{stroke:#0000004d}[data-theme=light] .pho-section-title{color:#00000073}[data-theme=light] .pho-section-reset svg,[data-theme=light] .pho-section-chevron{stroke:#00000040}[data-theme=light] .pho-slider-label{color:#00000059}[data-theme=light] .pho-slider.changed .pho-slider-label{color:#0009}[data-theme=light] .pho-slider-value{color:#00000059}[data-theme=light] .pho-slider-track{background:#00000014}[data-theme=light] .pho-slider-center{background:#00000026}[data-theme=light] .pho-slider-thumb{background:#333;box-shadow:0 1px 4px #0003}[data-theme=light] .pho-slider-thumb:active{background:#222}[data-theme=light] .pho-preset-group-title{color:#00000040}[data-theme=light] .pho-preset-card{background:#00000005}[data-theme=light] .pho-preset-card:hover{background:#0000000a;border-color:#00000014}[data-theme=light] .pho-preset-name{color:#0006}[data-theme=light] .pho-preset-card:hover .pho-preset-name{color:#000000a6}[data-theme=light] .pho-meta-empty{color:#0003}[data-theme=light] .pho-meta-section-title{color:#00000040;border-bottom-color:#0000000f}[data-theme=light] .pho-meta-row span:first-child{color:#0000004d}[data-theme=light] .pho-meta-row span:last-child{color:#0000008c}[data-theme=light] .pho-star svg{stroke:#0003}[data-theme=light] .pho-color-label-btn.active{border-color:#00000080}[data-theme=light] .pho-flag-btn{color:#00000059;background:#00000008;border-color:#0000000f}[data-theme=light] .pho-flag-btn:hover{color:#0000008c;background:#0000000f}[data-theme=light] .photo-info{color:#00000040;border-bottom-color:#0000000f}[data-theme=light] .pho-filmstrip{background:linear-gradient(#f5f5f5 0%,#f0f0f0 100%);border-top-color:#00000014}[data-theme=light] .pho-filmstrip-inner::-webkit-scrollbar-thumb{background:#00000014}[data-theme=light] .pho-filmstrip-item:hover{border-color:#00000026}[data-theme=light] .pho-filmstrip-count{color:#0003}[data-theme=light] .pho-ctx-menu{background:#fffffff5;border-color:#0000001a;box-shadow:0 8px 24px #0000001f}[data-theme=light] .pho-ctx-item{color:#000000b3}[data-theme=light] .pho-ctx-item:hover{color:#000000d9;background:#0000000f}[data-theme=light] .pho-ctx-filename,[data-theme=light] .pho-ctx-filename:hover{color:#00000059}[data-theme=light] .pho-ctx-divider{background:#00000014}[data-theme=light] .pho-ctx-delete{color:#dc2626}[data-theme=light] .pho-ctx-delete:hover{color:#dc2626;background:#dc262614}[data-theme=light] .pho-ctx-label{color:#0006}[data-theme=light] .pho-ctx-rating-row:hover{background:#0000000a}[data-theme=light] .pho-ctx-star{color:#00000040}[data-theme=light] .pho-ctx-label-row:hover{background:#0000000a}[data-theme=light] .pho-ctx-color.active{border-color:#1a1c1e}[data-theme=light] .pho-ctx-color-clear{color:#00000059}[data-theme=light] .pho-ctx-color-clear:hover{color:#000c}[data-theme=light] .photo-grid-item{background:#00000005}[data-theme=light] .photo-grid-item:hover{border-color:#0000001f}[data-theme=light] .photo-grid-item-name{color:#0000008c;background:linear-gradient(#0000,#0000000f)}[data-theme=light] .photo-empty-icon{stroke:#0000001a}[data-theme=light] .photo-empty h2{color:#00000026}[data-theme=light] .photo-empty p{color:#0000001f}[data-theme=light] .pho-export-label{color:#00000059}[data-theme=light] .pho-export-value{color:#0000008c}[data-theme=light] .pho-export-section-title{color:#00000040}[data-theme=light] .pho-export-format{background:#00000005;border-color:#0000000f}[data-theme=light] .pho-export-format:hover{background:#0000000a;border-color:#0000001a}[data-theme=light] .pho-export-format-label{color:#0000008c}[data-theme=light] .pho-export-format-desc{color:#00000040}[data-theme=light] .pho-export-quality-slider{background:#00000014}[data-theme=light] .pho-export-quality-slider::-webkit-slider-thumb{background:#333;box-shadow:0 1px 4px #0003}[data-theme=light] .pho-export-quality-labels{color:#0003}[data-theme=light] .pho-luts-import{color:#0006;background:#00000008;border-color:#00000014}[data-theme=light] .pho-luts-clear{color:#0000004d;border-color:#0000000f}[data-theme=light] .pho-luts-empty{color:#00000026}[data-theme=light] .pho-luts-empty-icon{color:#0000001f}[data-theme=light] .pho-luts-hint{color:#00000026}[data-theme=light] .pho-lut-section-title{color:#00000040}[data-theme=light] .pho-lut-card{background:#00000005}[data-theme=light] .pho-lut-card:hover{background:#0000000a;border-color:#00000014}[data-theme=light] .pho-lut-badge{background:linear-gradient(135deg,#0000000a,#00000005)}[data-theme=light] .pho-lut-badge svg{color:#0003}[data-theme=light] .pho-lut-name{color:#0006}[data-theme=light] .pho-lut-size,[data-theme=light] .pho-lut-remove{color:#0003}[data-theme=light] .pho-lut-add-recipe{color:#00000040}[data-theme=light] .pho-recipe-card{background:#00000005;border-color:#0000000f}[data-theme=light] .pho-recipe-header:hover{background:#00000005}[data-theme=light] .pho-recipe-name{color:#00000073}[data-theme=light] .pho-recipe-steps{color:#0003}[data-theme=light] .pho-recipe-body{border-top-color:#0000000f}[data-theme=light] .pho-recipe-step-name{color:#0006}[data-theme=light] .pho-recipe-step-pct{color:#00000040}[data-theme=light] .pho-recipe-step-rm{color:#0003}[data-theme=light] .pho-recipe-add-select{color:#00000059;background:#00000008;border-color:#0000000f}[data-theme=light] .pho-recipe-delete{color:#00000040;border-color:#dc262626}[data-theme=light] .pho-recipe-delete:hover{background:#dc26260f;border-color:#dc262640}[data-theme=light] .photo-status{color:#00000073;background:#fffffff5;border-color:#00000014}[data-theme=light] .photo-drop-overlay{background:#f0f0f0d9}[data-theme=light] .photo-drop-overlay span{color:#00000059;border-color:#00000026}[data-theme=light] .pho-masks-add{color:#0006;background:#00000008;border-color:#00000014}[data-theme=light] .pho-masks-overlay{border-color:#00000014}[data-theme=light] .pho-masks-overlay svg{stroke:#0000004d}[data-theme=light] .pho-masks-empty{color:#00000026}[data-theme=light] .pho-masks-empty-icon{color:#0000001f}[data-theme=light] .pho-mask-card{background:#00000005;border-color:#0000000f}[data-theme=light] .pho-mask-card:hover{background:#00000008}[data-theme=light] .pho-mask-toggle{background:#0000000f;border-color:#0000001a}[data-theme=light] .pho-mask-toggle svg,[data-theme=light] .pho-mask-type-icon svg{stroke:#0000004d}[data-theme=light] .pho-mask-label{color:#0006}[data-theme=light] .pho-mask-reset svg,[data-theme=light] .pho-mask-delete svg{stroke:#00000040}[data-theme=light] .pho-mask-body{border-top-color:#0000000f}[data-theme=light] .pho-mask-geo-label{color:#00000059}[data-theme=light] .pho-curve-ch{color:#00000040}[data-theme=light] .pho-curve-ch:hover{color:#00000073;background:#0000000a}[data-theme=light] .pho-curve-ch.active{color:#000000b3;background:#0000000f;border-color:#0000001f}[data-theme=light] .pho-curve-ch[data-channel=red].active{color:#dc2626;background:#dc26260f;border-color:#dc26264d}[data-theme=light] .pho-curve-ch[data-channel=green].active{color:#16a34a;background:#16a34a0f;border-color:#16a34a4d}[data-theme=light] .pho-curve-ch[data-channel=blue].active{color:#2563eb;background:#2563eb0f;border-color:#2563eb4d}[data-theme=light] .pho-curve-reset svg{stroke:#00000040}[data-theme=light] .pho-curve-canvas{background:#0000000a}[data-theme=light] .pho-curve-hint{color:#0000001f}[data-theme=light] .pho-hsl-dot{border-color:#0000}[data-theme=light] .pho-hsl-dot.active{border-color:#0006}[data-theme=light] .pho-hsl-reset svg{stroke:#00000040}[data-theme=light] .pho-hsl-active-label{color:#00000040}[data-theme=light] .pho-hsl-slider-label{color:#00000059}[data-theme=light] .pho-hsl-slider.changed .pho-hsl-slider-label{color:#0009}[data-theme=light] .pho-hsl-slider-value{color:#00000059}[data-theme=light] .pho-hsl-slider-track{border-color:#00000014}[data-theme=light] .pho-hsl-slider-thumb{background:#333;box-shadow:0 1px 4px #0003}[data-theme=light] .pho-hsl-slider-thumb:active{background:#222}
.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 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{color:var(--sig);background:#ef492614;border-color:#ef492633}.collab-bar-share svg{opacity:.7}.collab-bar-share:hover svg{opacity:1}.public-page{max-width:720px;font-family:var(--fl),Inter,sans-serif;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 var(--fm);text-transform:uppercase;letter-spacing:.8px;color:var(--sig);background:#ef49261a;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 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 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 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 var(--fm);color:#fffc}.public-comment-meta span{font:var(--fs-2xs)/1 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 var(--fm);cursor:pointer;border:none;border-radius:6px;padding:8px 16px}.public-comment-submit:disabled{opacity:.4;cursor:not-allowed}.public-page-footer{font:var(--fs-2xs)/1 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),Inter,sans-serif;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 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 var(--fm);color:var(--sig);background:#ef49261a;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 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{border-color:var(--sig);background:#ef49261f}.sched-date-day{font:var(--fs-2xs)/1 var(--fm);color:#ffffff59}.sched-date-num{font:600 var(--fs-lg)/1 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 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{border-color:var(--sig);color:var(--sig);background:#ef49261f}.sched-time-btn--disabled{opacity:.25;cursor:not-allowed;text-decoration:line-through}.sched-no-slots{color:#ffffff4d;font:var(--fs-sm)/1 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 var(--fm);cursor:pointer;border:none;border-radius:6px;margin-top:4px;padding:10px}.sched-book-btn:disabled{opacity:.4;cursor:not-allowed}.sched-footer{font:var(--fs-2xs)/1 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 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 var(--fm);cursor:pointer;border:none;border-radius:6px;padding:8px}.newsletter-btn:disabled{opacity:.4;cursor:not-allowed}.newsletter-error{color:var(--sig);font:var(--fs-xs)/1 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(--tp);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)}.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:#e5e5e5;font-family:var(--fm);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{gap:12px;height:100%;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);justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.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}.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:"DM Mono",var(--fm);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:#0000000f}[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%)}
:root{--flux-void:var(--bg);--flux-surface:#111113;--flux-surface-2:#18181c;--flux-surface-3:#222225;--flux-border:#222228;--flux-border-2:#2e2e36;--flux-text:#f0f0f2;--flux-text-2:#8888a0;--flux-text-3:#505060;--flux-text-4:#2e2e36;--flux-amber:#f5a623;--flux-ice:#6eb5ff;--flux-rain:#4f9ee8;--flux-storm:#c17aff;--flux-sun:#ffd166;--flux-moon:#d8d4f0;--flux-tide-hi:#4fbdba;--flux-tide-lo:#2d6b68;--flux-green:#57c785;--flux-red:#e05e5e;--flux-glow-moon:#d8d4f026;--flux-font:var(--fm),"IBM Plex Mono",monospace;--flux-font-sans:var(--fl),"IBM Plex Sans",sans-serif;--flux-radius:var(--r-sm);--flux-cell-gap:10px}.flux-root{background:var(--flux-void);height:100%;color:var(--flux-text);font-family:var(--flux-font);flex-direction:column;display:flex;position:relative;overflow:hidden}.flux-header{flex-shrink:0;justify-content:space-between;align-items:baseline;padding:12px 20px 0;display:flex}.flux-header-left{align-items:baseline;gap:12px;display:flex}.flux-title{font-family:var(--flux-font);letter-spacing:6px;text-transform:uppercase;color:var(--flux-text);font-size:14px;font-weight:600}.flux-location,.flux-date{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.flux-header-right{align-items:center;gap:12px;display:flex}.flux-refresh-btn{border:1px solid var(--flux-border);color:var(--flux-text-3);border-radius:var(--flux-radius);font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;padding:3px 10px;font-size:8px;transition:color .2s,border-color .2s}.flux-refresh-btn:hover{color:var(--flux-text-2);border-color:var(--flux-text-3)}.flux-refresh-btn.loading{opacity:.4;pointer-events:none}.flux-last-update{color:var(--flux-text-4);letter-spacing:.12em;text-transform:uppercase;font-size:8px}.flux-tabs{border-bottom:1px solid var(--flux-border);flex-shrink:0;gap:0;padding:8px 20px 0;display:flex}.flux-tab{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;color:var(--flux-text-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px 10px;font-size:9px;transition:color .25s cubic-bezier(.16,1,.3,1),border-color .25s cubic-bezier(.16,1,.3,1)}.flux-tab:hover{color:var(--flux-text-2)}.flux-tab.active{color:var(--flux-amber);border-bottom-color:var(--flux-amber)}.flux-content{flex:1;padding:16px 20px;overflow:hidden auto}.flux-content::-webkit-scrollbar{width:4px}.flux-content::-webkit-scrollbar-track{background:0 0}.flux-content::-webkit-scrollbar-thumb{background:var(--flux-border);border-radius:2px}.flux-section{margin-bottom:20px;animation:.3s cubic-bezier(.16,1,.3,1) both marvRevealUp}.flux-section:first-child{animation-delay:0s}.flux-section:nth-child(2){animation-delay:60ms}.flux-section:nth-child(3){animation-delay:.12s}.flux-section:nth-child(4){animation-delay:.18s}.flux-section:nth-child(5){animation-delay:.24s}.flux-section:nth-child(6){animation-delay:.3s}.flux-section-label{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;color:var(--flux-text-3);align-items:center;gap:12px;margin-bottom:10px;font-size:9px;animation:.35s cubic-bezier(.16,1,.3,1) both marvRevealUp;display:flex}.flux-section-label:after{content:"";background:var(--flux-border);flex:1;height:1px}.flux-content-grid{gap:var(--flux-cell-gap);grid-template-columns:repeat(3,1fr);display:grid}.flux-col-1{grid-column:span 1}.flux-col-2{grid-column:span 2}.flux-col-3{grid-column:span 3}.flux-grid{gap:var(--flux-cell-gap);grid-template-columns:1fr 1fr;display:grid}.flux-grid-3{gap:var(--flux-cell-gap);grid-template-columns:1fr 1fr 1fr;display:grid}.flux-cell{background:var(--flux-surface);border:1px solid var(--flux-border);border-radius:var(--flux-radius);animation:.3s cubic-bezier(.16,1,.3,1) both marvScaleIn;animation-delay:calc(var(--i,0)*40ms);padding:14px;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .3s,background .25s,opacity .3s;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000026,0 2px 8px #00000014}.flux-cell:before{content:"";opacity:.5;pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#ffffff0f 30%,#ffffff1a 50%,#ffffff0f 70%,#0000);height:1px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.flux-cell:hover{background:var(--flux-surface-2);border-color:var(--flux-border-2);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0a,0 4px 16px #0000002e,0 8px 24px #0000001a}.flux-cell:hover:before{opacity:1}.flux-content-grid:hover .flux-cell:not(:hover){opacity:.65}.flux-cell.span-2{grid-column:span 2}.flux-cell.span-3{grid-column:span 3}.flux-cell-label{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;color:var(--flux-text-3);margin-bottom:8px;font-size:9px}.flux-dial{flex-direction:column;align-items:center;gap:24px;display:flex}.flux-dial-wrap{aspect-ratio:1;width:100%;max-width:460px}.flux-dial-svg{width:100%;height:100%;display:block}.flux-dial-below{flex-direction:column;gap:0;width:100%;max-width:560px;display:flex}.flux-dial-row{border-bottom:1px solid var(--flux-border);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:8px 0;transition:background .15s ease-out;display:flex}.flux-dial-row:hover{background:var(--flux-surface)}.flux-dial-key{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;color:var(--flux-text-3);font-size:7px}.flux-dial-val{font-family:var(--flux-font);color:var(--flux-text);font-size:11px;font-weight:400}.flux-dial-sep{background:var(--flux-text-4);border-radius:50%;flex-shrink:0;width:2px;height:2px}.flux-dial-forecast{border-bottom:1px solid var(--flux-border);cursor:pointer;transition:background .15s ease-out;display:flex}.flux-dial-forecast:hover{background:var(--flux-surface)}.flux-dial-day{border-right:1px solid var(--flux-border);flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 0;display:flex}.flux-dial-day:last-child{border-right:none}.flux-dial-day--today .flux-dial-day-name{color:var(--flux-amber)}.flux-dial-day-name{font-family:var(--flux-font);letter-spacing:.08em;text-transform:uppercase;color:var(--flux-text-3);font-size:7px}.flux-dial-day-hi{font-family:var(--flux-font);color:var(--flux-text);font-size:13px;font-weight:300}.flux-dial-day-lo{font-family:var(--flux-font);color:var(--flux-text-3);font-size:9px}.flux-reading{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-weight:300;line-height:1}.flux-reading-mega{text-shadow:0 0 20px #f0f0f20f;font-size:72px;transition:text-shadow .3s}.flux-reading-hero{text-shadow:0 0 20px #f0f0f20f;font-size:48px;transition:text-shadow .3s}.flux-cell:hover .flux-reading-mega,.flux-cell:hover .flux-reading-hero{text-shadow:0 0 20px #f0f0f21a}.flux-reading-large{font-size:32px}.flux-reading-unit{color:var(--flux-text-2);letter-spacing:0;vertical-align:super;margin-left:2px;font-size:.35em;font-weight:400}.flux-reading-sub{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.02em;margin-top:8px;font-size:10px}.flux-reading-accent{color:var(--flux-amber)}.flux-temp-hero{justify-content:space-between;align-items:flex-start;display:flex}.flux-temp-main{flex-direction:column;display:flex}.flux-temp-condition{font-family:var(--flux-font);color:var(--flux-text-2);letter-spacing:.12em;text-transform:uppercase;margin-top:12px;font-size:11px}.flux-temp-feels{font-family:var(--flux-font);color:var(--flux-text-3);margin-top:4px;font-size:10px}.flux-temp-range{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.02em;margin-top:8px;font-size:10px}.flux-temp-icon{color:var(--flux-text-3);opacity:.5;flex-shrink:0}.flux-conditions-grid{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}.flux-condition-item{flex-direction:column;gap:2px;display:flex}.flux-condition-label{font-family:var(--flux-font);letter-spacing:.15em;text-transform:uppercase;color:var(--flux-text-4);font-size:8px}.flux-condition-value{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-size:16px;font-weight:400}.flux-condition-unit{color:var(--flux-text-3);font-size:10px}.flux-wind-layout{align-items:center;gap:20px;display:flex}.flux-wind-data{flex-direction:column;display:flex}.flux-wind-meta{font-family:var(--flux-font);color:var(--flux-text-3);margin-top:6px;font-size:10px}.flux-wind-beaufort{font-family:var(--flux-font);color:var(--flux-amber);letter-spacing:.05em;margin-top:4px;font-size:9px}.flux-pressure-layout{flex-direction:column;align-items:center;gap:4px;display:flex}.flux-pressure-trend{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.flux-pressure-trend.rising{color:var(--flux-green)}.flux-pressure-trend.falling{color:var(--flux-red)}.flux-pressure-trend.steady{color:var(--flux-text-3)}.flux-pressure-desc{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.05em;font-size:9px}.flux-uv-layout{align-items:baseline;gap:12px;display:flex}.flux-uv-label{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:500}.flux-moon-layout{align-items:center;gap:20px;display:flex}.flux-moon-info{flex-direction:column;gap:4px;display:flex}.flux-moon-phase-name{font-family:var(--flux-font);color:var(--flux-text);font-size:13px;font-weight:400}.flux-moon-illum{font-family:var(--flux-font);color:var(--flux-moon);letter-spacing:-.02em;font-size:28px;font-weight:300}.flux-moon-detail{font-family:var(--flux-font);color:var(--flux-text-3);font-size:9px}.flux-sun-row{justify-content:space-between;align-items:flex-end;display:flex}.flux-sun-item{flex-direction:column;align-items:center;gap:2px;display:flex}.flux-sun-time{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-size:18px;font-weight:400}.flux-sun-time-label{font-family:var(--flux-font);color:var(--flux-text-3);text-transform:uppercase;letter-spacing:.12em;font-size:8px}.flux-sun-bar{background:var(--flux-border);border-radius:1px;height:2px;margin-top:10px;position:relative;overflow:visible}.flux-sun-progress{background:linear-gradient(to right,var(--flux-amber),var(--flux-sun));border-radius:1px;height:100%;position:absolute;top:0;left:0}.flux-sun-now{background:var(--flux-amber);border:2px solid var(--flux-void);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;transform:translate(-50%)}.flux-sun-meta{font-family:var(--flux-font);color:var(--flux-text-3);text-align:center;letter-spacing:.05em;margin-top:6px;font-size:9px}.flux-hourly-scroll{gap:0;padding-bottom:4px;display:flex;overflow-x:auto}.flux-hourly-scroll::-webkit-scrollbar{height:2px}.flux-hourly-scroll::-webkit-scrollbar-track{background:0 0}.flux-hourly-scroll::-webkit-scrollbar-thumb{background:var(--flux-border);border-radius:1px}.flux-hourly-item{border-right:1px solid var(--flux-border);flex-direction:column;flex-shrink:0;align-items:center;gap:6px;min-width:56px;padding:8px 10px;display:flex}.flux-hourly-item:last-child{border-right:none}.flux-hourly-item.now{background:var(--flux-surface-2)}.flux-hourly-time{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.12em;text-transform:uppercase;font-size:8px}.flux-hourly-item.now .flux-hourly-time{color:var(--flux-amber)}.flux-hourly-icon{color:var(--flux-text-3)}.flux-hourly-temp{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-size:13px;font-weight:400}.flux-hourly-wind{font-family:var(--flux-font);color:var(--flux-text-3);font-size:8px}.flux-hourly-precip{font-family:var(--flux-font);color:var(--flux-rain);font-size:8px}.flux-forecast-strip{grid-template-columns:repeat(7,1fr);gap:0;display:grid}.flux-forecast-day{border-right:1px solid var(--flux-border);flex-direction:column;align-items:center;gap:8px;padding:12px 4px;display:flex}.flux-forecast-day:last-child{border-right:none}.flux-forecast-day.today{background:var(--flux-surface-2)}.flux-forecast-date{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.flux-forecast-day.today .flux-forecast-date{color:var(--flux-amber)}.flux-forecast-icon{color:var(--flux-text-2)}.flux-forecast-hi{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-size:14px;font-weight:500}.flux-forecast-lo{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:-.02em;font-size:10px}.flux-forecast-precip{font-family:var(--flux-font);color:var(--flux-rain);font-size:8px}.flux-wind-hero{justify-content:center;align-items:center;gap:24px;padding:8px 0;display:flex}.flux-wind-hero-data{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.flux-wind-hero-meta{font-family:var(--flux-font);color:var(--flux-text-2);letter-spacing:.05em;font-size:11px}.flux-wind-hero-beaufort{font-family:var(--flux-font);color:var(--flux-amber);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:10px}.flux-wind-forecast-row{gap:0;display:flex;overflow-x:auto}.flux-wind-hour{border-right:1px solid var(--flux-border);min-width:50px;font-family:var(--flux-font);color:var(--flux-text-2);flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding:8px 6px;font-size:9px;display:flex}.flux-wind-hour:last-child{border-right:none}.flux-wind-hour-time{color:var(--flux-text-3);letter-spacing:.12em;font-size:8px}.flux-wind-hour-speed{color:var(--flux-text);font-size:13px;font-weight:400}.flux-wind-hour-gust,.flux-wind-hour-dir{color:var(--flux-text-3);font-size:8px}.flux-cosmos-moon{align-items:center;gap:32px;display:flex}.flux-cosmos-moon-text{flex-direction:column;gap:6px;display:flex}.flux-cosmos-moon-name{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:.05em;font-size:16px}.flux-cosmos-moon-illum{font-family:var(--flux-font);color:var(--flux-moon);letter-spacing:-.02em;font-size:40px;font-weight:300;line-height:1}.flux-cosmos-moon-illum-unit{color:var(--flux-text-3);font-size:16px}.flux-cosmos-moon-meta{font-family:var(--flux-font);color:var(--flux-text-3);font-size:10px;line-height:1.6}.flux-cosmos-energy{font-family:var(--flux-font-sans);color:var(--flux-text-2);background:var(--flux-surface);border:1px solid var(--flux-border);border-radius:var(--flux-radius);padding:20px;font-size:12px;font-style:italic;line-height:1.7}.flux-planet-table{border-collapse:collapse;width:100%}.flux-planet-row{border-bottom:1px solid var(--flux-border)}.flux-planet-row:last-child{border-bottom:none}.flux-planet-row td{font-family:var(--flux-font);color:var(--flux-text-2);vertical-align:middle;padding:10px 8px;font-size:11px}.flux-planet-symbol{text-align:center;width:28px;font-size:14px}.flux-planet-name{color:var(--flux-text);letter-spacing:.05em;text-transform:uppercase;width:80px;font-size:10px;font-weight:500}.flux-planet-sign{color:var(--flux-text);font-size:11px}.flux-planet-status{color:var(--flux-amber);letter-spacing:.12em;font-size:9px}.flux-planet-note{font-family:var(--flux-font-sans);color:var(--flux-text-3);font-size:11px;font-style:italic}.flux-tides-hero{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.flux-tides-hero-main{flex-direction:column;display:flex}.flux-tides-hero-quality{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;margin-top:12px;font-size:11px;font-weight:500}.flux-tides-hero-meta{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.02em;margin-top:4px;font-size:10px}.flux-tides-hero-secondary{flex-shrink:0;gap:24px;display:flex}.flux-tides-hero-stat{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.flux-tides-stat-label{font-family:var(--flux-font);letter-spacing:.15em;text-transform:uppercase;color:var(--flux-text-4);font-size:8px}.flux-tides-stat-value{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-size:18px;font-weight:400}.flux-tides-stat-sub{font-family:var(--flux-font);color:var(--flux-text-3);font-size:9px}.flux-tide-curve-svg{filter:drop-shadow(0 2px 4px #00000026);margin:16px 0 8px;display:block}.flux-tides-next{gap:24px;margin-bottom:4px;display:flex}.flux-tides-next-item{align-items:baseline;gap:12px;display:flex}.flux-tides-next-label{font-family:var(--flux-font);letter-spacing:.15em;text-transform:uppercase;color:var(--flux-text-3);font-size:8px}.flux-tides-next-time{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-size:18px;font-weight:400}.flux-tides-next-height{font-family:var(--flux-font);color:var(--flux-tide-hi);letter-spacing:-.02em;font-size:11px}.flux-tides-schedule{border-top:1px solid var(--flux-border);gap:0;margin-top:12px;display:flex}.flux-tides-schedule-item{border-right:1px solid var(--flux-border);flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 8px;display:flex}.flux-tides-schedule-item:last-child{border-right:none}.flux-tides-schedule-type{font-family:var(--flux-font);letter-spacing:.12em;font-size:8px}.flux-tides-schedule-item.high .flux-tides-schedule-type{color:var(--flux-tide-hi)}.flux-tides-schedule-item.low .flux-tides-schedule-type{color:var(--flux-text-3)}.flux-tides-schedule-time{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-size:14px;font-weight:400}.flux-tides-schedule-height{font-family:var(--flux-font);color:var(--flux-text-3);font-size:10px}.flux-tides-hourly-row{gap:0;display:flex;overflow-x:auto}.flux-tides-hour{border-right:1px solid var(--flux-border);min-width:50px;font-family:var(--flux-font);color:var(--flux-text-2);flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding:8px 6px;font-size:9px;display:flex}.flux-tides-hour:last-child{border-right:none}.flux-tides-hour-time{color:var(--flux-text-3);letter-spacing:.12em;font-size:8px}.flux-tides-hour-swell{letter-spacing:-.02em;font-size:13px;font-weight:400}.flux-tides-hour-period,.flux-tides-hour-dir{color:var(--flux-text-3);font-size:8px}.flux-surf-best{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.flux-surf-best-label{font-family:var(--flux-font);letter-spacing:.15em;text-transform:uppercase;color:var(--flux-text-3);font-size:8px}.flux-surf-best-window{font-family:var(--flux-font);letter-spacing:.02em;border-radius:var(--flux-radius);border:1px solid;padding:2px 10px;font-size:10px}.flux-surf-timeline{align-items:flex-end;gap:2px;height:48px;display:flex}.flux-surf-block{opacity:.3;cursor:default;border-radius:1px;flex:1;height:100%;min-height:4px;transition:opacity .15s;position:relative}.flux-surf-block:hover{opacity:.7}.flux-surf-block.now{opacity:1}.flux-surf-block-fill{background:#ffffff26;border-radius:1px;position:absolute;bottom:0;left:0;right:0}.flux-surf-hours{height:14px;margin-top:4px;position:relative}.flux-surf-hour-label{font-family:var(--flux-font);font-size:var(--fs-2xs);color:var(--flux-text-3);letter-spacing:.12em;position:absolute;transform:translate(-50%)}.flux-surf-now-detail{border-top:1px solid var(--flux-border);align-items:baseline;gap:8px;margin-top:12px;padding-top:12px;display:flex}.flux-surf-now-score{font-family:var(--flux-font);letter-spacing:-.02em;font-size:28px;font-weight:300;line-height:1}.flux-surf-now-label{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:500}.flux-surf-now-meta{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.02em;font-size:9px}.flux-atmo-grid{gap:var(--flux-cell-gap);grid-template-columns:repeat(3,1fr);display:grid}.flux-atmo-cell{background:var(--flux-surface);border:1px solid var(--flux-border);border-radius:var(--flux-radius);flex-direction:column;gap:4px;padding:12px;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .3s;display:flex}.flux-atmo-cell:hover{border-color:var(--flux-border-2);transform:translateY(-1px);box-shadow:0 4px 12px #00000026,0 2px 6px #0000001a}.flux-atmo-label{font-family:var(--flux-font);letter-spacing:.15em;text-transform:uppercase;color:var(--flux-text-4);font-size:8px}.flux-atmo-value{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-size:24px;font-weight:300}.flux-atmo-unit{color:var(--flux-text-3);font-size:11px}.flux-solaris-sky{border-radius:var(--flux-radius);padding:16px;transition:background .3s;position:relative}.flux-solaris-sky-phase{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:8px;font-size:11px}.flux-solaris-sky-row{gap:40px;display:flex}.flux-solaris-sky-object{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.flux-solaris-sky-symbol{font-size:16px}.flux-solaris-sky-label{font-family:var(--flux-font);opacity:.8;letter-spacing:.02em;font-size:11px}.flux-solaris-sky-countdown{font-family:var(--flux-font);opacity:.6;font-size:10px}.flux-solaris-sky-badge{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;border-radius:var(--flux-radius);padding:2px 8px;font-size:8px;font-weight:500}.flux-solaris-sky-badge.golden{color:var(--flux-amber);background:#f5a62340}.flux-solaris-sky-badge.blue{color:#4a6fa5;background:#4a6fa540}.flux-solaris-sky-badge.super{color:var(--flux-amber);background:#f5a62340}.flux-solaris-reset-btn{color:#ffffffb3;border-radius:var(--flux-radius);font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;padding:3px 10px;font-size:8px;position:absolute;top:12px;right:16px}.flux-solaris-reset-btn:hover{background:#ffffff26}.flux-solaris-scrubber{flex-direction:column;gap:8px;display:flex}.flux-solaris-scrub-time{text-align:center}.flux-solaris-scrub-bar{border-radius:var(--flux-radius);cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;height:20px;position:relative;overflow:hidden}.flux-solaris-scrub-seg{height:100%;position:absolute;top:0}.flux-solaris-scrub-marker{z-index:2;width:1px;height:100%;position:absolute;top:0}.flux-solaris-scrub-marker.sun{background:var(--flux-amber)}.flux-solaris-scrub-marker.moon{opacity:.5;background:#d8d4f0}.flux-solaris-scrub-handle{background:var(--flux-text);z-index:3;pointer-events:none;width:2px;height:24px;position:absolute;top:-2px;transform:translate(-1px)}.flux-solaris-scrub-handle:after{content:"";background:var(--flux-text);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.flux-solaris-scrub-labels{height:14px;position:relative}.flux-solaris-scrub-labels span{font-family:var(--flux-font);font-size:var(--fs-2xs);color:var(--flux-text-3);letter-spacing:.12em;position:absolute;transform:translate(-50%)}.flux-solaris-pair-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;display:grid}.flux-solaris-pair{flex-direction:column;gap:2px;display:flex}.flux-solaris-pair-label{font-family:var(--flux-font);letter-spacing:.15em;text-transform:uppercase;color:var(--flux-text-4);font-size:8px}.flux-solaris-pair-value{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-size:14px;font-weight:400}.flux-solaris-pair-sub{font-family:var(--flux-font);color:var(--flux-text-3);font-size:9px}.flux-solaris-moon-hero{align-items:center;gap:20px;margin-bottom:12px;display:flex}.flux-solaris-moon-data{flex-direction:column;gap:6px;display:flex}.flux-solaris-moon-phase{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:.05em;font-size:14px}.flux-solaris-moon-stats{font-family:var(--flux-font);color:var(--flux-text-3);gap:16px;font-size:10px;display:flex}.flux-solaris-next-phases{border-top:1px solid var(--flux-border);gap:0;display:flex}.flux-solaris-phase-item{border-right:1px solid var(--flux-border);flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 8px;display:flex}.flux-solaris-phase-item:last-child{border-right:none}.flux-solaris-phase-icon{color:var(--flux-moon);font-size:16px}.flux-solaris-phase-name{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.12em;text-transform:uppercase;font-size:8px}.flux-solaris-phase-date{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:-.02em;font-size:11px}.flux-solaris-mw-hero{align-items:flex-start;gap:20px;display:flex}.flux-solaris-mw-quality{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;display:flex}.flux-solaris-mw-bars{align-items:flex-end;gap:3px;height:40px;display:flex}.flux-solaris-mw-bar{border-radius:1px;width:8px;transition:background .3s}.flux-solaris-mw-score{flex-direction:column;align-items:center;gap:2px;display:flex}.flux-solaris-mw-label{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.12em;text-transform:uppercase;font-size:8px}.flux-solaris-mw-data{flex-direction:column;flex:1;gap:12px;display:flex}.flux-root .leaflet-container{background:var(--flux-surface)!important;font-family:var(--flux-font)!important}.flux-root .leaflet-control-attribution{display:none!important}.flux-root .leaflet-tile-pane{opacity:.85}.flux-loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:300px;display:flex}.flux-loading-spinner{border:1.5px solid var(--flux-border);border-top-color:var(--flux-amber);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite flux-spin}@keyframes flux-spin{to{transform:rotate(360deg)}}.flux-loading-text{color:var(--flux-text-3);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.flux-error{flex-direction:column;justify-content:center;align-items:center;gap:12px;height:200px;display:flex}.flux-error-text{color:var(--flux-red);letter-spacing:.05em;font-size:10px}.flux-error-retry{border:1px solid var(--flux-border);color:var(--flux-text-3);border-radius:var(--flux-radius);font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;padding:4px 14px;font-size:8px}.flux-error-retry:hover{color:var(--flux-text);border-color:var(--flux-text-3)}.flux-setup{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100%;padding:60px;display:flex}.flux-setup-title{font-family:var(--flux-font);letter-spacing:8px;text-transform:uppercase;color:var(--flux-text);font-size:24px;font-weight:300}.flux-setup-desc{font-family:var(--flux-font-sans);color:var(--flux-text-3);max-width:380px;font-size:12px;line-height:1.7}.flux-setup-btn{background:var(--flux-amber);color:var(--flux-void);border-radius:var(--flux-radius);font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;padding:8px 24px;font-size:9px;font-weight:600}.flux-setup-btn:hover{opacity:.85}@media (max-width:800px){.flux-dial-wrap{max-width:360px}.flux-content-grid{grid-template-columns:repeat(2,1fr)}.flux-col-3{grid-column:span 2}.flux-grid,.flux-grid-3,.flux-atmo-grid{grid-template-columns:1fr 1fr}.flux-cosmos-moon{flex-direction:column;align-items:flex-start}.flux-tides-hero{flex-direction:column;gap:20px}.flux-tides-hero-secondary{gap:16px}.flux-tides-hero-stat{align-items:flex-start}}@media (max-width:580px){.flux-dial-wrap{max-width:280px}.flux-dial-row{flex-wrap:wrap;justify-content:center}.flux-dial-forecast{flex-wrap:wrap}.flux-dial-day{flex-basis:25%}.flux-content-grid{grid-template-columns:1fr}.flux-col-2,.flux-col-3{grid-column:span 1}.flux-grid{grid-template-columns:1fr}.flux-cell.span-2{grid-column:span 1}.flux-header{padding:16px 20px 0}.flux-content{padding:12px 16px}.flux-tabs{padding:12px 20px 0}.flux-forecast-strip{grid-template-columns:repeat(7,1fr)}.flux-atmo-grid{grid-template-columns:1fr}}.flux-detail-panel{-webkit-backdrop-filter:blur(12px);border-left:1px solid var(--flux-border);z-index:200;background:#111113eb;flex-direction:column;gap:16px;width:320px;height:100vh;padding:20px;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-8px 0 32px #0006}.flux-detail-panel.open{transform:translate(0)}.flux-detail-panel.open .flux-detail-section{animation:.35s cubic-bezier(.16,1,.3,1) both marvRevealUp}.flux-detail-panel.open .flux-detail-section:first-child{animation-delay:.1s}.flux-detail-panel.open .flux-detail-section:nth-child(2){animation-delay:.15s}.flux-detail-panel.open .flux-detail-section:nth-child(3){animation-delay:.2s}.flux-detail-panel.open .flux-detail-section:nth-child(4){animation-delay:.25s}.flux-detail-panel.open .flux-detail-section:nth-child(5){animation-delay:.3s}.flux-detail-panel.open .flux-detail-section:nth-child(6){animation-delay:.35s}.flux-detail-close{border:1px solid var(--flux-border);color:var(--flux-text-3);border-radius:var(--flux-radius);cursor:pointer;width:24px;height:24px;font-size:14px;font-family:var(--flux-font);background:0 0;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex;position:absolute;top:12px;right:12px}.flux-detail-close:hover{color:var(--flux-text);border-color:var(--flux-border-2)}.flux-detail-title{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:.02em;padding-right:32px;font-size:16px}.flux-detail-badge{font-family:var(--flux-font);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:500}.flux-detail-body{flex-direction:column;gap:16px;display:flex}.flux-detail-section{flex-direction:column;gap:4px;display:flex}.flux-detail-heading{font-family:var(--flux-font);color:var(--flux-text-2);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:500}.flux-detail-text{font-family:var(--flux-font-sans);color:var(--flux-text-2);margin:0;font-size:11px;line-height:1.6}.flux-location-picker{position:relative}.flux-location-btn{font-family:var(--flux-font);color:var(--flux-text-2);letter-spacing:.05em;cursor:pointer;border-radius:var(--flux-radius);background:0 0;border:none;padding:2px 4px;font-size:9px;transition:color .15s,background .15s}.flux-location-btn:hover{color:var(--flux-text);background:var(--flux-surface-2)}.flux-location-popover{background:var(--flux-surface);border:1px solid var(--flux-border);border-radius:var(--flux-radius);z-index:100;width:280px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 8px 32px #0006}.flux-location-saved{border-bottom:1px solid var(--flux-border);flex-direction:column;display:flex}.flux-location-item{align-items:center;gap:4px;display:flex}.flux-location-item.active{background:var(--flux-surface-2)}.flux-location-select{text-align:left;font-family:var(--flux-font);color:var(--flux-text);letter-spacing:.03em;cursor:pointer;background:0 0;border:none;flex:1;padding:8px 10px;font-size:10px;transition:background .15s}.flux-location-select:hover{background:var(--flux-surface-2)}.flux-location-remove{color:var(--flux-text-3);cursor:pointer;font-size:12px;font-family:var(--flux-font);background:0 0;border:none;padding:4px 8px;transition:color .15s}.flux-location-remove:hover{color:#e05e5e}.flux-location-search-wrap{border-bottom:1px solid var(--flux-border);padding:6px 8px}.flux-location-search{background:var(--flux-surface-2);border:1px solid var(--flux-border);border-radius:var(--flux-radius);width:100%;color:var(--flux-text);font-family:var(--flux-font);letter-spacing:.03em;outline:none;padding:6px 8px;font-size:10px}.flux-location-search:focus{border-color:var(--flux-border-2)}.flux-location-status{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.05em;padding:6px 10px;font-size:8px}.flux-location-results{flex-direction:column;max-height:200px;display:flex;overflow-y:auto}.flux-location-result{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--flux-border);background:0 0;justify-content:space-between;align-items:center;padding:7px 10px;transition:background .15s;display:flex}.flux-location-result:hover{background:var(--flux-surface-2)}.flux-location-result:last-child{border-bottom:none}.flux-location-result-name{font-family:var(--flux-font);color:var(--flux-text);letter-spacing:.03em;font-size:10px}.flux-location-result-meta{font-family:var(--flux-font);color:var(--flux-text-3);letter-spacing:.05em;font-size:8px}.flux-clickable{cursor:pointer;border-radius:var(--flux-radius);transition:background .15s}.flux-clickable:hover{background:var(--flux-surface-2)}.flux-info-tip{border:1px solid var(--flux-border-2);width:13px;height:13px;font-size:var(--fs-2xs);color:var(--flux-text-3);cursor:help;font-family:var(--flux-font);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:5px;font-weight:500;display:inline-flex}.flux-aspect-chip{background:var(--flux-surface-2);border:1px solid var(--flux-border);border-radius:var(--flux-radius);cursor:pointer;font-family:var(--flux-font);align-items:center;gap:4px;padding:5px 10px;font-size:14px;transition:background .15s,border-color .15s;display:inline-flex}.flux-aspect-chip:hover{background:var(--flux-surface-3);border-color:var(--flux-border-2)}.flux-aspect-chip-orb{color:var(--flux-text-3);letter-spacing:.05em;margin-left:3px;font-size:9px}.flux-context-menu{z-index:300;background:var(--flux-surface);border:1px solid var(--flux-border);border-radius:var(--flux-radius);min-width:180px;padding:4px 0;position:fixed;box-shadow:0 8px 32px #00000080}.flux-context-item{text-align:left;width:100%;font-family:var(--flux-font);color:var(--flux-text);letter-spacing:.03em;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;font-size:10px;transition:background .15s;display:flex}.flux-context-item:hover{background:var(--flux-surface-2)}.flux-context-item-icon{text-align:center;width:16px;color:var(--flux-text-3);font-size:12px}.flux-context-sep{background:var(--flux-border);height:1px;margin:4px 0}@media (max-width:580px){.flux-detail-panel{width:100%}.flux-location-popover{width:260px}}@keyframes marvRevealUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes marvScaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}[data-theme=light]{--flux-void:#fafafa;--flux-surface:#fff;--flux-surface-2:#f5f5f5;--flux-surface-3:#ebebeb;--flux-border:#00000014;--flux-border-2:#00000021;--flux-text:#1a1c1e;--flux-text-2:#00000080;--flux-text-3:#00000059;--flux-text-4:#00000038;--flux-amber:#d9900a;--flux-ice:#3b8be0;--flux-rain:#2b7fd4;--flux-storm:#9b52e0;--flux-sun:#d4a830;--flux-moon:#6b63a0;--flux-tide-hi:#2a9a97;--flux-tide-lo:#1f5552;--flux-green:#2e8f5e;--flux-red:#c44040;--flux-glow-moon:#6b63a01a}[data-theme=light] .flux-root{background:var(--flux-void);color:var(--flux-text)}[data-theme=light] .flux-cell{background:var(--flux-surface);border-color:var(--flux-border);box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}[data-theme=light] .flux-cell:before{background:linear-gradient(90deg,#0000,#00000008 30%,#0000000d 50%,#00000008 70%,#0000)}[data-theme=light] .flux-cell:hover{background:var(--flux-surface-2);border-color:var(--flux-border-2);box-shadow:inset 0 1px #fff9,0 4px 12px #0000000f,0 2px 6px #00000008}[data-theme=light] .flux-reading-mega,[data-theme=light] .flux-reading-hero,[data-theme=light] .flux-cell:hover .flux-reading-mega,[data-theme=light] .flux-cell:hover .flux-reading-hero{text-shadow:none}[data-theme=light] .flux-hourly-item.now,[data-theme=light] .flux-forecast-day.today{background:var(--flux-surface-2)}[data-theme=light] .flux-cosmos-energy,[data-theme=light] .flux-atmo-cell{background:var(--flux-surface);border-color:var(--flux-border)}[data-theme=light] .flux-atmo-cell:hover{border-color:var(--flux-border-2);box-shadow:0 4px 12px #0000000f,0 2px 4px #00000008}[data-theme=light] .flux-tide-curve-svg{filter:drop-shadow(0 1px 3px #0000000f)}[data-theme=light] .flux-surf-block-fill{background:#00000014}[data-theme=light] .flux-sun-now{border-color:var(--flux-void)}[data-theme=light] .flux-detail-panel{-webkit-backdrop-filter:blur(12px);border-left-color:var(--flux-border);background:#ffffffeb;box-shadow:-8px 0 24px #00000014}[data-theme=light] .flux-location-btn:hover{background:var(--flux-surface-2)}[data-theme=light] .flux-location-popover{background:var(--flux-surface);border-color:var(--flux-border);box-shadow:0 8px 32px #0000001a}[data-theme=light] .flux-location-item.active,[data-theme=light] .flux-location-select:hover{background:var(--flux-surface-2)}[data-theme=light] .flux-location-search{background:var(--flux-surface-2);border-color:var(--flux-border);color:var(--flux-text)}[data-theme=light] .flux-location-search:focus{border-color:var(--flux-border-2)}[data-theme=light] .flux-location-result:hover{background:var(--flux-surface-2)}[data-theme=light] .flux-context-menu{background:var(--flux-surface);border-color:var(--flux-border);box-shadow:0 8px 32px #0000001a}[data-theme=light] .flux-context-item:hover{background:var(--flux-surface-2)}[data-theme=light] .flux-aspect-chip{background:var(--flux-surface-2);border-color:var(--flux-border)}[data-theme=light] .flux-aspect-chip:hover{background:var(--flux-surface-3);border-color:var(--flux-border-2)}[data-theme=light] .flux-clickable:hover{background:var(--flux-surface-2)}[data-theme=light] .flux-solaris-reset-btn{color:#00000080;background:#0000000d;border:1px solid #0000001a}[data-theme=light] .flux-solaris-reset-btn:hover{background:#00000014}[data-theme=light] .flux-solaris-sky-badge.golden{color:#b07a08;background:#d9900a1f}[data-theme=light] .flux-solaris-sky-badge.blue{color:#3b5a8c;background:#3b5a8c1f}[data-theme=light] .flux-solaris-sky-badge.super{color:#b07a08;background:#d9900a1f}[data-theme=light] .flux-solaris-scrub-handle,[data-theme=light] .flux-solaris-scrub-handle:after{background:var(--flux-text)}[data-theme=light] .flux-loading-spinner{border-color:var(--flux-border);border-top-color:var(--flux-amber)}[data-theme=light] .flux-error-retry{border-color:var(--flux-border)}[data-theme=light] .flux-error-retry:hover{border-color:var(--flux-border-2)}[data-theme=light] .flux-setup-btn{background:var(--flux-amber);color:#fff}[data-theme=light] .flux-refresh-btn{border-color:var(--flux-border)}[data-theme=light] .flux-refresh-btn:hover{border-color:var(--flux-border-2)}[data-theme=light] .flux-content::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .flux-hourly-scroll::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .flux-root .leaflet-container{background:var(--flux-surface)!important}[data-theme=light] .flux-root .leaflet-tile-pane{opacity:1}
