:root{--accent: #4f8cff;--accent-dim: #7e8aa2;--black: #0b0e14;--white: #e6e9ef;--surface: #141922;--surface-2: #1b2230;--transparent: rgba(0, 0, 0, 0);--shadow: rgba(0, 0, 0, .35);--glow: rgba(79, 140, 255, .18);--border-faint: rgba(148, 163, 184, .14);--border-active: rgba(148, 163, 184, .34);--cell-dark: rgba(20, 25, 34, .92);--cell-today: rgba(79, 140, 255, .85);--cell-selected-bg: rgba(79, 140, 255, .16);--cell-selected-border: rgba(79, 140, 255, .55);--brand-cyan: #10c7d4;--brand-magenta: #e800a0;--brand-lime: #b8e828;--brand-orange: #f8a028}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--white);background-color:var(--black);color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html,body{height:100%}body{margin:0;width:100%;height:100%}#root{min-height:100%;width:100%;display:flex;flex-direction:column;text-align:center}::selection{background:var(--accent);color:var(--black)}button{border-radius:8px;border:1px solid var(--border-faint);padding:.55em 1.1em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--surface-2);color:var(--white);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}button:hover{background-color:color-mix(in srgb,var(--surface-2) 80%,#ffffff 8%);border-color:var(--border-active)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1{font-size:2.1em;line-height:1.15;font-weight:700;letter-spacing:-.01em}h2{font-size:1.5em;line-height:1.2;color:var(--white);font-weight:650;margin-top:auto;margin-bottom:auto}h3{color:var(--white);font-size:1.1em;line-height:1.25;font-weight:600}p{font-size:1em;line-height:1.6;color:var(--white)}a{color:var(--accent)}.muted{color:var(--accent-dim)}.background{background:linear-gradient(180deg,#0d1119 0%,var(--black) 34%);position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}.page{width:100%;max-width:1180px;margin:0 auto;padding:0 18px 40px;box-sizing:border-box}.topbar{display:flex;flex-direction:row;align-items:center;gap:18px;width:100%;max-width:1180px;margin:0 auto;padding:12px 18px;box-sizing:border-box;border-bottom:1px solid var(--border-faint);background:color-mix(in srgb,var(--black) 72%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:40}.topbar-brand{display:flex;flex-direction:row;align-items:center;gap:10px;flex-shrink:0;padding:4px 6px;border:none;background:transparent;border-radius:10px;cursor:pointer;transition:background-color .18s ease}.topbar-brand:hover{background-color:var(--surface-2);border:none}.brand-mark{width:34px;height:34px;object-fit:contain;display:block}.brand-name{font-size:1.05em;font-weight:700;letter-spacing:-.01em;color:var(--white);white-space:nowrap}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--accent-dim);font-size:1.05em}.card{border:1px solid var(--border-faint);border-radius:14px;margin:22px 0;width:100%;background:var(--surface);position:relative;min-height:460px;box-sizing:border-box;padding:22px;box-shadow:0 6px 24px var(--shadow)}.card>h2:first-child,.card>h1:first-child{margin-top:0}.navbar{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:2px;flex:1;min-width:0}.navbar button{background-color:transparent}.nav-item{color:var(--accent-dim);height:36px;padding:0 14px;display:flex;align-items:center;border:none;border-radius:8px;background:transparent;font-size:.95em;font-weight:500;cursor:pointer;transition:color .18s ease,background-color .18s ease}.nav-item:hover{color:var(--white);background-color:var(--surface-2)}.nav-item.active{color:var(--white);background-color:var(--cell-selected-bg);box-shadow:inset 0 -2px 0 var(--accent)}.module{height:100%;background-color:var(--surface)}.panel-content{padding:16px;margin-top:16px;border-radius:12px;background-color:var(--surface-2);border:1px solid var(--border-faint);width:100%;box-sizing:border-box}.back-button{border-radius:8px;position:relative;margin:0 0 14px;align-self:flex-start;border:1px solid var(--border-faint);padding:.4em .9em;font-size:.9em;font-weight:500;font-family:inherit;background-color:var(--surface-2);color:var(--white);cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.back-button:hover{background-color:var(--surface);border-color:var(--border-active)}@media (max-width: 720px){.page{padding:0 12px 32px}.topbar{flex-wrap:wrap;gap:8px 12px;padding:10px 12px}.topbar-brand{order:1}.account-button-container{order:2}.navbar{order:3;flex-basis:100%;overflow-x:auto;padding-bottom:2px}.card{padding:16px;border-radius:12px}}.account-button-container{display:flex;align-items:center;flex-direction:row;justify-content:center;margin-left:auto;flex-shrink:0}.account-button{display:flex;align-items:center;gap:8px;background-color:transparent;color:var(--accent-dim);border:none;font-size:.95em;font-weight:500;cursor:pointer}.account-button:hover,.account-button.active{color:var(--white)}.account-icon{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.7em;font-weight:700;color:var(--white);background-color:var(--surface-2);border:1px solid var(--border-active)}.account-button.active .account-icon,.account-button:hover .account-icon{border-color:var(--accent)}.loginregister{display:flex;flex-direction:column;justify-content:center;gap:14px;width:100%;max-width:380px;margin:0 auto;min-height:220px}.loginregister-buttons{display:flex;flex-direction:row;gap:10px;justify-content:center}.loginregister-form{display:flex;flex-direction:column;justify-content:center;gap:12px;width:100%}.loginregister input{border-radius:8px;border:1px solid var(--border-active);padding:.6em .85em;font-size:1em;font-weight:400;font-family:inherit;background-color:var(--black);color:var(--white);width:100%;box-sizing:border-box;transition:border-color .18s ease}.loginregister input:hover{border-color:color-mix(in srgb,var(--border-active) 60%,var(--white) 20%)}.login-form,.register-form{flex-direction:column;display:flex;gap:12px}.auth-error{color:#ff8080;font-size:.9em;margin:0}.role-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:.7em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;color:var(--black);background-color:var(--brand-lime)}.role-badge.super{background-color:var(--brand-magenta);color:var(--white)}.role-badge.member{background-color:var(--surface-2);color:var(--accent-dim);border:1px solid var(--border-active)}.account-note{font-size:.9em}.panel-command{display:flex;flex-direction:column}.commandcontainer{display:flex;flex-direction:row;width:70%;height:60vh;padding:10px;margin-top:20px;border-radius:12px;background-color:var(--surface);border:1px solid var(--border-faint);box-shadow:0 8px 28px var(--shadow);margin-left:auto;margin-right:auto}.commandnav{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;background-color:transparent;color:var(--accent-dim);border:none;font-size:1em;cursor:pointer}.commandnavbutton{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px;background-color:transparent;color:var(--accent-dim);border:1px solid var(--border-faint);font-size:.75em;cursor:pointer;border-radius:10px;width:8vmin;aspect-ratio:1/1;overflow:hidden;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.commandnavbutton img{width:85%;height:72%;object-fit:contain}.commandnavbuttonactive{color:var(--white);border-color:var(--accent);background-color:var(--cell-selected-bg)}.commandnavbutton:hover{background-color:var(--surface-2);border-color:var(--border-active);color:var(--white)}.calendar{width:100%;height:60vh;margin-left:auto;margin-right:auto;display:flex;flex-direction:row;overflow:hidden}.calendar-area{width:50%;height:100%;display:flex;flex-direction:column;overflow:hidden}.calendar-temps{font-size:.8em;font-weight:700;color:var(--cell-today);white-space:nowrap}.calendar-month{color:var(--accent);display:flex;flex-direction:row;justify-content:center;align-items:center;gap:40px;height:fit-content;overflow:hidden}.calendar-month h2{font-size:1.5em;line-height:1;white-space:nowrap}@keyframes calendar-title-enter-next{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes calendar-title-enter-prev{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.calendar-title-animate.calendar-title-next{animation:calendar-title-enter-next .3s ease both}.calendar-title-animate.calendar-title-prev{animation:calendar-title-enter-prev .3s ease both}.month-left h3,.month-right h3{margin:0;padding:0;cursor:pointer;color:var(--accent-dim);font-size:2.2em;line-height:1;transition:color .18s ease}.month-left:hover h3,.month-right:hover h3{color:var(--accent)}.daytitles{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:5px;color:var(--accent-dim);font-size:.85em;font-weight:600;letter-spacing:.04em}.calendar-grid-viewport{flex:1;width:100%;overflow:hidden;min-height:0}.calendar-grid-track{display:flex;flex-direction:row;width:200%;height:100%;transition:transform .3s ease}.calendar-grid-track>.calendar-days{width:50%;flex-shrink:0;height:100%}.no-transition{transition:none!important}.calendar-grid-slide-none{transform:translate(0)}.calendar-grid-slide-left,.calendar-grid-slide-right{transform:translate(-50%)}.calendar-days{display:grid;box-sizing:border-box;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);overflow:hidden}.daycell{border:1px solid var(--border-active);padding:0;height:90%;margin:3px;border-radius:8px;background-color:var(--cell-dark);cursor:pointer;display:flex;flex-direction:row;overflow:hidden;position:relative;transition:border-color .18s ease,background-color .18s ease}.daycell-rail{font-size:.58em;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;width:calc(4ch + 6%);padding:4px 0;box-sizing:border-box;flex-shrink:0}.daycell-weather-group{display:flex;flex-direction:column;align-items:center;gap:3px;width:4ch}.daycell-track{flex:1;min-width:0;display:flex;flex-direction:column}.daynumber{font-size:1em;font-weight:700;color:var(--accent);border-bottom:3px solid var(--border-active);line-height:1.05;white-space:nowrap;width:4ch;text-align:center}.daycell-temp-high,.daycell-temp-low{font-size:1em;font-weight:700;line-height:1.05}.daycell:hover{border-color:var(--accent);background-color:var(--surface-2)}.daycell-timeline{display:flex;flex-direction:row;gap:2px;padding:3px;flex:1;min-height:0;overflow:hidden}.daycell-col{position:relative;flex:1;min-width:0;background-color:#0000002e;border-radius:2px}.daycell-block{position:absolute;left:0;right:0;border-radius:2px;min-height:2px}.daycell-weather{width:4ch;max-width:100%;aspect-ratio:1 / 1;height:auto;object-fit:contain;pointer-events:none;margin-top:2px}.inactivecell{opacity:.55}.inactivecell:hover{opacity:1;border-color:var(--accent);transition:opacity .2s,border-color .18s}.currentday{border:2px solid var(--cell-today)}.selectedday{border:2px solid var(--cell-selected-border);background-color:var(--cell-selected-bg)}.verticaldivider{height:100%;margin-left:10px;margin-right:10px;width:2px;background:linear-gradient(to bottom,var(--transparent),var(--border-faint) 15%,var(--border-faint) 85%,var(--transparent))}.calendar-viewedit{display:flex;flex-direction:row;width:50%;margin-right:1px;background-color:var(--surface)}*{scrollbar-color:var(--border-active) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--border-active);border-radius:6px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--border-active) 70%,var(--white) 20%);background-clip:padding-box}.schedule-timetable{display:flex;flex-direction:column;margin-right:10px;margin-left:10px;width:30%}.schedule-timetable-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:6px}.schedule-timetable-head h3{margin:0}.schedule-weather-chip{display:flex;flex-direction:row;align-items:center;gap:4px;flex:1;min-width:0;justify-content:flex-end}.schedule-weather-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0}.schedule-weather-temps{font-size:.78em;font-weight:700;color:var(--accent);white-space:nowrap}.schedule-weather-sep{color:var(--accent-dim);margin:0 2px}.schedule-timetable-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.zoom-controls{display:flex;flex-direction:row;gap:3px}.zoom-controls button{min-width:22px;padding:1px 6px;font-size:.75em;line-height:1.4;border-radius:4px;border:1px solid var(--border-active);background-color:var(--surface);color:var(--accent);cursor:pointer}.zoom-controls button:hover{background-color:var(--cell-selected-bg)}.schedule-details{display:flex;flex-direction:column;margin-right:10px;margin-left:10px;width:70%;overflow:hidden}.schedule-placeholder{flex:1;border:1px solid var(--border-active);border-radius:8px;background-color:var(--cell-dark);padding:12px;overflow-y:auto;display:flex}.schedule-details-header{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;flex-shrink:0}.schedule-details-header h3{margin:0;color:var(--accent);font-size:1.1em}.add-event-button{padding:6px 12px;font-size:.85em;border-radius:6px;background-color:var(--accent);color:var(--black);border:none;cursor:pointer}.add-event-button:hover{filter:brightness(1.1)}.day-summary{display:flex;flex-direction:column;gap:10px;width:100%}.day-summary-empty{margin:0;font-size:.9em;color:var(--accent-dim);font-style:italic}.day-summary-count{margin:0;font-size:.85em;color:var(--accent);font-weight:700}.day-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.day-summary-item{display:flex;flex-direction:row;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border-faint);border-radius:6px;background-color:var(--surface);cursor:pointer;transition:border-color .15s,background-color .15s}.day-summary-item:hover{border-color:var(--border-active);background-color:var(--cell-selected-bg)}.day-summary-dot{width:8px;height:8px;border-radius:50%;background-color:var(--accent);flex-shrink:0}.day-summary-time{font-size:.75em;color:var(--accent);font-weight:700;min-width:90px}.day-summary-title{font-size:.85em;color:var(--white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-weather-section{display:flex;flex-direction:column;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border-faint)}.weather-retry-button{padding:0 4px;font-size:1em;font-family:inherit;border:none;background:none;color:var(--accent);text-decoration:underline;cursor:pointer}.weather-retry-button:hover{color:var(--white)}.day-weather-status{margin:0;font-size:.8em;color:var(--accent-dim);font-style:italic}.day-weather-head{display:flex;flex-direction:row;align-items:center;gap:10px}.day-weather-icon{width:48px;height:48px;object-fit:contain;flex-shrink:0}.day-weather-headtext{display:flex;flex-direction:column;gap:2px}.day-weather-temps{font-size:1.3em;font-weight:700;color:var(--accent)}.day-weather-iconname{font-size:.8em;color:var(--accent-dim);text-transform:capitalize}.day-weather-metrics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.day-weather-metrics li{display:flex;flex-direction:row;justify-content:space-between;font-size:.8em;color:var(--white)}.day-weather-metrics li>span:first-child{color:var(--accent-dim)}.day-weather-hourly{display:flex;flex-direction:row;gap:4px;overflow-x:auto;padding-bottom:4px}.hourly-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;border-radius:6px;background-color:var(--surface);flex-shrink:0}.hourly-time{font-size:.65em;color:var(--accent-dim)}.hourly-icon{width:24px;height:24px;object-fit:contain}.hourly-temp{font-size:.7em;color:var(--white);font-weight:700}.event-form,.event-details{display:flex;flex-direction:column;gap:10px;width:100%}.event-form-heading{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;font-size:.9em;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.event-form-range{font-size:.8em;font-weight:400;color:var(--accent-dim);text-transform:none}.event-field{display:flex;flex-direction:column;gap:4px}.event-field>span{font-size:.75em;color:var(--accent-dim);text-transform:uppercase;letter-spacing:.05em}.event-field input[type=text],.event-field input[type=time],.event-field input[type=number],.event-field textarea{width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--border-active);background-color:var(--surface);color:var(--white);font-size:.85em;box-sizing:border-box;font-family:inherit}.event-field textarea{resize:vertical}.event-field input[readonly],.event-field textarea[readonly]{color:var(--accent-dim);border-color:var(--border-faint);cursor:default}.event-field-inline{flex-direction:row;align-items:center;justify-content:space-between}.event-field-inline input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.color-picker{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}.color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;transition:transform .1s,border-color .1s}.color-swatch:hover:not(:disabled){transform:scale(1.12)}.color-swatch-selected{border-color:var(--white)}.color-swatch-static{cursor:default}.color-swatch:disabled{opacity:.6;cursor:not-allowed}.event-field-row{display:flex;flex-direction:row;gap:10px}.event-field-row .event-field{flex:1}.event-form-actions{display:flex;gap:8px;margin-top:4px}.event-form-actions button{flex:1;padding:8px 10px;border-radius:6px;border:1px solid var(--border-active);background-color:var(--surface);color:var(--accent);cursor:pointer;font-size:.85em}.event-form-actions button[type=submit]{background-color:var(--accent);color:var(--black);border:none}.event-form-actions button:hover:not(:disabled){filter:brightness(1.1)}.event-form-actions button:disabled{opacity:.6;cursor:not-allowed}.event-form-error{margin:0;font-size:.8em;color:#f28b82}.calendar-timetable{position:relative;flex:1;min-height:0;border:1px solid var(--border-active);border-radius:8px;background-color:var(--cell-dark);overflow-y:auto;overflow-x:hidden;margin-right:10px;margin-left:10px;cursor:crosshair;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;scrollbar-gutter:auto}.timetable-inner{position:relative;width:100%;will-change:transform}.timetable-tick{position:absolute;left:0;height:0;border-top:1px solid var(--border-faint);pointer-events:none;transition:opacity .25s ease}.timetable-tick-hour{right:0;border-top-color:var(--border-active)}.timetable-tick-half{width:46px;border-top-color:var(--border-active)}.timetable-tick-quarter{width:30px;border-top-color:var(--accent-dim)}.timetable-tick-five{width:16px;border-top-color:var(--accent-dim)}.timetable-tick-label{position:absolute;left:2px;transform:translateY(-50%);font-size:.65em;color:var(--accent-dim);background-color:var(--cell-dark);padding:0 3px;pointer-events:none;white-space:nowrap}.timetable-has-weather .timetable-event{right:36px}.timetable-weather{position:absolute;right:4px;width:18px;height:18px;margin-top:-9px;object-fit:contain;pointer-events:none;z-index:6;transition:opacity .25s ease}.timetable-tick-label-hour{color:var(--accent);font-weight:700}.timetable-selection{position:absolute;left:40px;right:4px;background-color:var(--cell-selected-bg);border:1px solid var(--border-active);border-radius:4px;pointer-events:none;z-index:5}.timetable-now-indicator{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--cell-today);z-index:10;pointer-events:none}.timetable-now-label{position:absolute;left:2px;top:-9px;font-size:.6em;color:var(--cell-today);background-color:var(--cell-dark);padding:0 3px;font-weight:700}.timetable-selection-floating-label{position:absolute;top:4px;right:6px;font-size:.7em;color:var(--accent);background-color:var(--cell-dark);padding:1px 6px;border-radius:4px;border:1px solid var(--border-active);pointer-events:none;white-space:nowrap}.timetable-event{position:absolute;left:44px;right:4px;padding:2px 6px;border-radius:4px;background-color:var(--cell-selected-bg);border-left:3px solid var(--accent);font-size:.7em;color:var(--white);cursor:pointer;overflow:hidden;z-index:8;transition:background-color .15s,border-color .15s;display:flex;flex-direction:column;gap:1px}.timetable-event:hover{background-color:var(--border-active)}.timetable-event-selected{background-color:var(--border-active);border-left-color:var(--white)}.timetable-event-time{font-size:.85em;color:var(--accent);font-weight:700}.timetable-event-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-data{display:grid;grid-template-columns:repeat(10,1fr)}.weather-cell{border:1px solid var(--border-active);padding:0;aspect-ratio:1/1;margin:3px;border-radius:15%;background-color:var(--cell-dark);height:20px}.weather-view{display:flex;flex-direction:column;width:100%;height:100%;text-align:left}.weather-view h3{margin:0 0 12px}.weather-forecast-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.weather-forecast-row{display:grid;grid-template-columns:64px 40px 1fr auto auto;align-items:center;gap:12px;padding:8px 12px;border-radius:10px;background-color:var(--surface-2);border:1px solid var(--border-faint)}.weather-forecast-day{display:flex;align-items:baseline;gap:6px;font-weight:600;color:var(--white)}.weather-forecast-date{font-size:.8em;color:var(--accent-dim)}.weather-forecast-icon{width:32px;height:32px;object-fit:contain}.weather-forecast-desc{color:var(--accent-dim);font-size:.9em;text-transform:capitalize}.weather-forecast-temps{display:flex;gap:8px;font-weight:700;font-variant-numeric:tabular-nums}.weather-forecast-low{opacity:.75}.weather-forecast-precip{font-size:.8em;color:var(--accent-dim);font-variant-numeric:tabular-nums;min-width:52px;text-align:right}.gmappanel{border:1px solid var(--border-active);border-radius:8px;margin-left:auto;margin-right:auto}gmp-place-autocomplete{width:100%;display:block}gmp-place-autocomplete input{background-color:var(--black);color:var(--white);border:1px solid var(--border-active);border-radius:8px;padding:8px 12px;font-size:.9em;font-family:inherit;width:100%;box-sizing:border-box}gmp-place-autocomplete input:focus{outline:none;border-color:var(--accent)}.pac-container{z-index:10000!important;background-color:var(--surface);border:1px solid var(--border-active);border-radius:8px;font-family:inherit;box-shadow:0 8px 24px #00000080}.pac-item{color:var(--white);background-color:transparent;padding:8px 12px;cursor:pointer}.pac-item:hover,.pac-item-selected{background-color:var(--surface-2)}.pac-item-query{color:var(--accent)}.pac-icon{display:none}.tool-intro{max-width:60ch;margin:0 auto 4px;text-align:center}.option-list{display:flex;flex-direction:column;gap:8px}.option-toggle{display:grid;grid-template-columns:22px 1fr auto;grid-template-areas:"check name unit" "check meta meta";align-items:center;column-gap:10px;row-gap:2px;text-align:left;padding:10px 14px;background-color:var(--surface);border:1px solid var(--border-faint);border-radius:10px}.option-toggle:hover{border-color:var(--border-active);background-color:var(--surface-2)}.option-toggle.active{border-color:var(--accent);background-color:var(--cell-selected-bg)}.option-check{grid-area:check;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;border:1px solid var(--border-active);color:var(--accent);font-size:.8em;font-weight:700}.option-toggle.active .option-check{background-color:var(--accent);color:var(--black);border-color:var(--accent)}.option-name{grid-area:name;font-weight:600;color:var(--white)}.option-meta{grid-area:meta;font-size:.85em;color:var(--accent-dim)}.option-unit{grid-area:unit;font-size:.75em;color:var(--accent-dim);white-space:nowrap}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.tool-field{display:flex;flex-direction:column;gap:6px;align-items:flex-start;font-size:.9em;color:var(--accent-dim)}.tool-field input{width:100%;box-sizing:border-box;padding:.5em .7em;border-radius:8px;border:1px solid var(--border-active);background-color:var(--black);color:var(--white);font-size:1rem;font-family:inherit}.tool-field input:focus{outline:none;border-color:var(--accent)}.tool-submit{margin-top:14px;background-color:var(--accent);color:var(--black);border-color:transparent;font-weight:600}.tool-submit:hover:not(:disabled){filter:brightness(1.08);background-color:var(--accent)}.tool-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tool-result-item{display:flex;flex-direction:row;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:8px;background-color:var(--surface);border:1px solid var(--border-faint)}.tool-result-name{color:var(--white);font-weight:600}.tool-result-value{color:var(--accent-dim);font-variant-numeric:tabular-nums}.tool-divider{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-faint);text-align:left}.tool-divider h4{margin:0 0 10px;color:var(--white);font-size:.95em;font-weight:600}.tool-bar-row{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:10px;padding:3px 0;font-size:.9em}.tool-bar-label{color:var(--accent-dim);text-transform:capitalize}.tool-bar-track{height:8px;border-radius:4px;background-color:var(--surface-2);overflow:hidden}.tool-bar-fill{height:100%;border-radius:4px;background-color:var(--accent);transition:width .3s ease}.tool-bar-value{color:var(--white);font-variant-numeric:tabular-nums;white-space:nowrap}.tool-bar-value em{color:var(--accent-dim);font-style:normal;margin-left:4px}.tool-residual{margin:12px 0 0;font-size:.85em}.about{text-align:center}.about .brand-lockup{display:block;height:92px;width:auto;max-width:100%;object-fit:contain;margin:4px auto 10px}.about-tagline{margin:0 0 8px}.about-section{text-align:left}.about-section p{margin:0;color:var(--accent-dim)}.about-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.about-list li{display:flex;flex-direction:column;gap:2px}.about-list strong{color:var(--white)}.about-list span{color:var(--accent-dim);font-size:.92em}.about-cta{margin-top:16px}.about-stack{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.about-stack li{display:flex;flex-direction:row;justify-content:space-between;gap:16px;font-size:.92em;padding-bottom:8px;border-bottom:1px solid var(--border-faint)}.about-stack li:last-child{border-bottom:none;padding-bottom:0}.about-stack li>span:first-child{color:var(--accent-dim)}.about-stack li>span:last-child{color:var(--white);text-align:right}.blog-index{text-align:left}.blog-index-head{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}.blog-index-head h2{margin:0 0 4px;font-size:1.6em}.blog-index-sub{margin:0;max-width:52ch;font-size:.95em}.blog-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.view-toggle{display:inline-flex;border:1px solid var(--border-active);border-radius:8px;overflow:hidden}.view-toggle-btn{border:none;border-radius:0;background-color:transparent;color:var(--accent-dim);font-size:.82em;font-weight:600;padding:.45em .9em}.view-toggle-btn:hover{background-color:var(--surface-2);color:var(--white)}.view-toggle-btn.active{background-color:var(--accent);color:var(--black)}.blog-search{padding:.55em .9em;border-radius:8px;border:1px solid var(--border-active);background-color:var(--black);color:var(--white);font-size:.9em;font-family:inherit;min-width:220px}.blog-search:focus{outline:none;border-color:var(--accent)}.blog-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.tag-chip{padding:4px 12px;border-radius:999px;border:1px solid var(--border-faint);background-color:var(--surface-2);color:var(--accent-dim);font-size:.82em;font-weight:600;cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.tag-chip:hover{color:var(--white);border-color:var(--border-active);background-color:var(--surface-2)}.tag-chip.active{color:var(--black);background-color:var(--accent);border-color:var(--accent)}.post-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.post-list-item{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:14px;padding:10px 12px;border-radius:12px;border:1px solid var(--border-faint);background-color:var(--surface-2);color:inherit;text-decoration:none;transition:border-color .18s ease,background-color .18s ease}.post-list-item:hover{border-color:var(--border-active);background-color:var(--surface)}.post-list-thumb{width:96px;aspect-ratio:1200 / 630;object-fit:cover;border-radius:8px;display:block;background-color:var(--black)}.post-list-main{display:flex;flex-direction:column;gap:2px;min-width:0}.post-list-title{color:var(--white);font-weight:600;font-size:.98em}.post-list-excerpt{font-size:.85em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.post-list-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.post-list-read{font-size:.78em;color:var(--accent-dim);white-space:nowrap}@media (max-width: 560px){.post-list-item{grid-template-columns:72px 1fr}.post-list-thumb{width:72px}.post-list-meta{display:none}}.blog-feed{display:flex;flex-direction:column;gap:28px;max-height:min(78vh,1100px);overflow-y:auto;overscroll-behavior:contain;padding-right:10px;scrollbar-gutter:stable;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 30px),transparent)}.post-article{scroll-margin-top:80px;max-width:780px;margin:0 auto;width:100%}.post-article-poster{width:100%;aspect-ratio:1200 / 630;object-fit:cover;border-radius:14px;display:block;margin-bottom:18px}.post-article-head{margin-bottom:20px}.post-article-title{margin:8px 0;font-size:1.85em;line-height:1.18;color:var(--white)}.post-article-byline{margin:0;font-size:.9em}.post-article-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-faint)}.post-permalink{padding:3px 10px;border-radius:8px;border:1px solid var(--border-faint);background-color:transparent;color:var(--accent-dim);font-size:.8em}.post-permalink:hover{color:var(--white);border-color:var(--border-active);background-color:var(--surface-2)}.byline{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.byline-author{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer}.byline-author:hover{text-decoration:underline;background:none}.byline-sep{color:var(--accent-dim)}.profile{text-align:left;max-width:780px;margin-left:auto;margin-right:auto}.profile-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}.profile-avatar{width:64px;height:64px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.6em;font-weight:700;color:var(--white);background:linear-gradient(135deg,var(--brand-magenta),var(--brand-cyan))}.profile-name{margin:0 0 4px;font-size:1.7em}.profile-joined{margin:0;font-size:.9em}.profile-posts{margin-top:0}.blog-category{font-size:.7em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.blog-empty{padding:40px 0;text-align:center}.blog-post{text-align:left;max-width:820px;margin-left:auto;margin-right:auto}.blog-post-nav{margin-bottom:16px}.blog-back{padding:4px 12px;border-radius:8px;border:1px solid var(--border-faint);background-color:var(--surface-2);color:var(--accent-dim);font-size:.85em}.blog-back:hover{color:var(--white);border-color:var(--border-active);background-color:var(--surface-2)}.blog-prose{font-size:1.02em;line-height:1.7;color:var(--white)}.blog-prose h3{margin:28px 0 10px;font-size:1.2em}.blog-prose p{margin:0 0 16px;color:#d7dce6}.blog-prose code{padding:1px 6px;border-radius:6px;background-color:var(--black);border:1px solid var(--border-faint);font-size:.9em;color:var(--brand-cyan)}.blog-tool{display:flex;flex-direction:column;gap:16px;margin:24px 0;padding:16px;border-radius:14px;background-color:var(--surface);border:1px solid var(--border-faint)}.blog-tool h3{margin:0}.blog-tool .panel-content{margin-top:0}.blog-post-tags{display:flex;flex-wrap:wrap;gap:8px}.blog-more{margin-top:30px;padding-top:22px;border-top:1px solid var(--border-faint)}.blog-more h3{margin:0 0 14px}.blog-more-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.blog-more-list a{display:flex;align-items:center;gap:12px;padding:8px;border-radius:10px;border:1px solid var(--border-faint);background-color:var(--surface-2);color:inherit;text-decoration:none;transition:border-color .18s ease}.blog-more-list a:hover{border-color:var(--border-active)}.blog-more-list img{width:64px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0}.blog-more-list span{display:flex;flex-direction:column;gap:2px;font-size:.88em;line-height:1.3}.blog-more-list em{font-style:normal;font-size:.85em}@media (max-width: 640px){.post-article-title{font-size:1.5em}.blog-index-head{align-items:stretch}.blog-search{min-width:0;width:100%}.blog-feed{max-height:none;-webkit-mask-image:none;mask-image:none}}.admincontainer{width:85%;max-width:1200px;height:auto;min-height:60vh;gap:14px}.adminbody{display:flex;flex-direction:column;flex:1;min-width:0;padding:4px 6px;overflow-y:auto}.admincontainer .commandnavbutton{flex-direction:row;width:100%;aspect-ratio:auto;justify-content:flex-start;padding:9px 14px;font-size:.9em;white-space:nowrap}.poster-gen{display:flex;flex-direction:column;gap:14px;min-height:0}.poster-gen-head h3{margin:0 0 4px;font-size:1.1em;color:var(--white)}.poster-gen-sub{margin:0;font-size:.85em;max-width:62ch}.poster-gen-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,1.1fr);gap:18px;align-items:start}@media (max-width: 980px){.poster-gen-layout{grid-template-columns:1fr}}.poster-form{display:flex;flex-direction:column;gap:14px}.poster-fieldset{display:flex;flex-direction:column;gap:10px;margin:0;padding:12px 14px 14px;border:1px solid var(--border-faint);border-radius:12px;background-color:var(--surface-2)}.poster-fieldset legend{padding:0 6px;font-size:.78em;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-dim)}.poster-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 560px){.poster-row{grid-template-columns:1fr}}.poster-field{display:flex;flex-direction:column;gap:5px;min-width:0}.poster-field>span:first-child{font-size:.78em;color:var(--accent-dim)}.poster-field input,.poster-field select{width:100%;min-width:0;padding:8px 10px;border-radius:8px;border:1px solid var(--border-faint);background-color:var(--surface);color:var(--white);font-size:.9em;font-family:inherit}.poster-field input:focus,.poster-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}.poster-accent-row{display:flex;gap:6px;align-items:center}.poster-accent-row input[type=color]{width:40px;height:34px;padding:2px;flex:0 0 auto;cursor:pointer}.poster-accent-row input[type=number]{width:76px;flex:0 0 auto}.poster-mini-btn{flex:0 0 auto;padding:7px 10px;border-radius:8px;border:1px solid var(--border-faint);background-color:transparent;color:var(--accent-dim);font-size:.8em;cursor:pointer}.poster-mini-btn:hover{border-color:var(--border-active);color:var(--white)}.poster-field input[type=range]{padding:0;background:transparent;border:none;accent-color:var(--accent)}.poster-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.poster-actions button{padding:9px 14px;border-radius:9px;border:1px solid var(--border-faint);background-color:transparent;color:var(--white);font-size:.9em;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,opacity .18s ease}.poster-actions button:hover:not(:disabled){border-color:var(--border-active);background-color:var(--surface-2)}.poster-actions button:disabled{opacity:.5;cursor:not-allowed}.poster-actions .tool-submit{border:none}.poster-check{display:flex;align-items:center;gap:6px;font-size:.85em;color:var(--accent-dim);cursor:pointer}.poster-info{margin:0;font-size:.82em}.poster-preview{display:flex;flex-direction:column;gap:8px;position:sticky;top:12px}.poster-frame{position:relative;width:100%;aspect-ratio:1200 / 630;border-radius:12px;overflow:hidden;border:1px solid var(--border-faint);background-color:var(--black);box-shadow:0 8px 28px var(--shadow)}.poster-frame img{display:block;width:100%;height:100%;object-fit:contain}.poster-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:20px;text-align:center;font-size:.9em}.poster-safearea{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.poster-safearea rect{fill:none;stroke:var(--brand-cyan);stroke-width:2;stroke-dasharray:10 8;opacity:.7}.poster-safearea line{stroke:var(--brand-cyan);stroke-width:1;stroke-dasharray:6 10;opacity:.4}.poster-safearea circle{fill:var(--brand-magenta);opacity:.7}.poster-preview-note{margin:0;font-size:.8em}
