:root,:root[data-theme=dark],.app--dark{--bg:#05060a;--bg-elevated:#0a0c14;--bg-panel:#0d101a;--cyan:#00f0ff;--magenta:#ff2bd6;--purple:#a855f7;--text:#e8f7ff;--text-dim:#7a8fa3;--border:#00f0ff59;--glow-cyan:0 0 12px #00f0ff73, 0 0 28px #00f0ff26;--glow-magenta:0 0 12px #ff2bd673;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--header-h:64px;--tab-h:64px;--status-h:28px;--font-display:"Orbitron", system-ui, sans-serif;--font-mono:"Share Tech Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;margin:0;padding:0}body{overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}.mono{font-family:var(--font-mono)}.app{background:var(--bg);width:100%;max-width:100vw;height:100svh;transition:none;display:grid;position:relative;overflow:hidden}.app--desktop{grid-template-rows:var(--header-h) 1fr var(--status-h)}.app--mobile{grid-template-rows:calc(var(--header-h) + var(--safe-t)) 1fr calc(var(--tab-h) + var(--safe-b)) var(--status-h);padding-top:var(--safe-t);padding-left:var(--safe-l);padding-right:var(--safe-r)}.app--mobile.app--landscape{--header-h:48px;--tab-h:52px;--status-h:22px;grid-template-rows:calc(var(--header-h) + var(--safe-t)) 1fr calc(var(--tab-h) + var(--safe-b)) var(--status-h)}.app--mobile.app--landscape .brand__name{font-size:.85rem}.app--mobile.app--landscape .brand__logo{width:32px;height:32px}.app--mobile.app--landscape .calendar__toolbar{gap:.35rem;padding:.35rem .5rem}.app--mobile.app--landscape .tab-btn__label{font-size:.45rem}.app--mobile.app--landscape .app__header{gap:.45rem;padding:0 .55rem}.app__scanlines{pointer-events:none;z-index:50;opacity:.35;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000001f 2px 4px);position:absolute;inset:0}.app__grid{pointer-events:none;z-index:0;background-image:linear-gradient(#00f0ff0a 1px,#0000 1px),linear-gradient(90deg,#00f0ff0a 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 40%,#0000 80%);mask-image:radial-gradient(#000 40%,#0000 80%)}.app__header,.app__main,.app__status,.tab-bar{z-index:1;position:relative}.app__header{border-bottom:1px solid var(--border);box-shadow:var(--glow-cyan);background:linear-gradient(#0c1020 0%,#070910 100%);align-items:center;gap:1rem;padding:0 1rem;display:flex}.brand{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.brand__mark{color:var(--cyan);text-shadow:var(--glow-cyan);font-size:1.4rem;animation:2.4s ease-in-out infinite pulse}.brand__text{flex-direction:column;line-height:1.1;display:flex}.brand__name{font-family:var(--font-display);letter-spacing:.12em;color:var(--cyan);text-shadow:var(--glow-cyan);font-size:1.05rem;font-weight:700}.brand__tag{color:var(--magenta);letter-spacing:.18em;font-size:.65rem}.app__main{flex-direction:column;min-height:0;display:flex;overflow:hidden}.pane{flex-direction:column;flex:1;min-height:0;display:flex}.app__status{color:var(--text-dim);background:#06080f;border-top:1px solid #00f0ff26;justify-content:space-between;align-items:center;padding:0 .75rem;font-size:.7rem;display:flex}.tab-bar{gap:.35rem;display:flex}.tab-bar--top{flex:1;justify-content:flex-end;overflow-x:auto}.tab-bar--bottom{padding:.35rem .25rem calc(.35rem + var(--safe-b));border-top:1px solid var(--border);background:linear-gradient(#070910 0%,#0c1020 100%);justify-content:space-around;align-items:stretch;box-shadow:0 -4px 24px #00f0ff1f}.tab-btn{min-width:64px;color:var(--text-dim);background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.45rem .7rem;transition:color .15s,border-color .15s,box-shadow .15s,background .15s;display:flex}.tab-bar--top .tab-btn{flex-direction:row;gap:.4rem;min-height:40px}.tab-btn__icon{font-size:1rem;line-height:1}.tab-btn__label{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.tab-btn--active{color:var(--cyan);border-color:var(--border);box-shadow:var(--glow-cyan);background:#00f0ff14}.tab-btn:hover{color:var(--text);border-color:#ff2bd659}.neon-btn{border:1px solid var(--border);color:var(--cyan);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;background:#00f0ff0f;border-radius:4px;padding:.55rem 1rem;font-size:.72rem;transition:box-shadow .15s,background .15s,transform .1s}.neon-btn:hover{box-shadow:var(--glow-cyan);background:#00f0ff24}.neon-btn:active{transform:scale(.98)}.neon-btn--primary{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.neon-btn--ghost{color:var(--text-dim);box-shadow:none;border-color:#7a8fa359}.neon-btn--danger{border-color:var(--magenta);color:var(--magenta);box-shadow:var(--glow-magenta)}.icon-btn{color:var(--text-dim);background:0 0;border:none;padding:.25rem .5rem;font-size:1.1rem}.icon-btn:hover{color:var(--magenta)}.external-tab{flex:1;min-height:0;display:flex;position:relative}.external-tab__iframe{background:#000;border:0;flex:1;width:100%;height:100%}.external-tab--webview{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.external-tab__webview{background:#000;border:0;flex:1;width:100%;height:100%;min-height:0;display:flex}.external-tab__error{z-index:2;border:1px solid var(--magenta);box-shadow:var(--glow-magenta);color:var(--text);background:#05060aeb;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.85rem;display:flex;position:absolute;bottom:.75rem;left:.75rem;right:.75rem}.external-tab__error p{flex:1;min-width:12rem;margin:0}.fallback-panel{background:radial-gradient(#12162a 0%,#05060a 70%);flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:relative;overflow:hidden}.fallback-panel__grid{background-image:linear-gradient(#ff2bd60f 1px,#0000 1px),linear-gradient(90deg,#00f0ff0f 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.fallback-panel__scan{background:linear-gradient(#0000 0%,#00f0ff0d 50%,#0000 100%);animation:4s linear infinite scan;position:absolute;inset:0}.fallback-panel__content{text-align:center;border:1px solid var(--border);max-width:420px;box-shadow:var(--glow-cyan), inset 0 0 40px #00f0ff0d;background:#05060ad9;border-radius:8px;padding:2rem 1.5rem;position:relative}.fallback-panel__badge{border:1px solid var(--magenta);color:var(--magenta);font-family:var(--font-display);letter-spacing:.2em;box-shadow:var(--glow-magenta);margin-bottom:.75rem;padding:.2rem .6rem;font-size:.6rem;display:inline-block}.fallback-panel__title{font-family:var(--font-display);color:var(--cyan);letter-spacing:.12em;text-shadow:var(--glow-cyan);margin:0 0 .75rem;font-size:1.5rem}.fallback-panel__text{color:var(--text-dim);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.fallback-panel__url{color:var(--purple);word-break:break-all;margin:0 0 1.25rem;font-size:.8rem}.fallback-panel__hint{color:var(--text-dim);margin:1rem 0 0;font-size:.75rem}.calendar{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding:.75rem;display:flex}.calendar__toolbar{border:1px solid var(--border);background:var(--bg-elevated);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .65rem;display:flex;box-shadow:inset 0 0 20px #00f0ff0a}.calendar__nav{gap:.35rem;display:flex}.calendar__title{min-width:120px;font-family:var(--font-display);letter-spacing:.08em;color:var(--cyan);flex:1;margin:0;font-size:1rem}.calendar__views{flex-wrap:wrap;gap:.25rem;display:flex}.view-chip{color:var(--text-dim);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #7a8fa34d;border-radius:999px;padding:.35rem .7rem;font-size:.62rem}.view-chip--active{color:var(--magenta);border-color:var(--magenta);box-shadow:var(--glow-magenta);background:#ff2bd614}.calendar__body{background:var(--bg-panel);border:1px solid #00f0ff33;border-radius:6px;flex:1;min-height:0;overflow:auto}.year-view{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;padding:.75rem;display:grid}.year-month{cursor:pointer;background:#00000040;border:1px solid #00f0ff1f;border-radius:4px;padding:.5rem;transition:border-color .15s,box-shadow .15s,background .15s,transform .15s}.year-month:hover,.year-month:focus-visible{border-color:var(--cyan);box-shadow:var(--glow-cyan), inset 0 0 18px #00f0ff14;background:#00f0ff0f;outline:none;transform:translateY(-1px)}.year-month__title{font-family:var(--font-display);color:var(--cyan);letter-spacing:.1em;margin:0 0 .4rem;font-size:.75rem}.year-month:hover .year-month__title,.year-month:focus-visible .year-month__title{text-shadow:var(--glow-cyan)}.year-month__weekdays,.year-month__grid{text-align:center;pointer-events:none;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.year-month__weekdays{color:var(--text-dim);margin-bottom:.25rem;font-size:.55rem}.year-day{aspect-ratio:1;color:var(--text);background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0;font-size:.65rem;display:flex}.year-day--muted{visibility:hidden}.year-day--today{color:var(--bg);background:var(--cyan);box-shadow:var(--glow-cyan)}.year-day--events:not(.year-day--today){color:var(--magenta);box-shadow:inset 0 -2px 0 var(--magenta)}.month-view{flex-direction:column;min-height:100%;display:flex}.month-view__weekdays{background:#00f0ff0a;border-bottom:1px solid #00f0ff33;grid-template-columns:44px repeat(7,1fr);display:grid}.month-view__kw,.month-view__wd{text-align:center;font-family:var(--font-display);letter-spacing:.1em;color:var(--text-dim);padding:.45rem;font-size:.65rem}.month-view__kw{color:var(--magenta);opacity:.85}.month-view__rows{flex-direction:column;flex:1;min-height:0;display:flex}.month-view__weekrow{flex:1;grid-template-columns:44px repeat(7,1fr);min-height:80px;display:grid}.month-view__weeknum{color:var(--magenta);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;background:#ff2bd60a;border-top:none;border-bottom:1px solid #00f0ff14;border-left:none;border-right:1px solid #ff2bd640;justify-content:center;align-items:flex-start;padding:.45rem .2rem;font-size:.7rem;transition:background .15s,box-shadow .15s,color .15s;display:flex}.month-view__weeknum:hover,.month-view__weeknum:focus-visible{box-shadow:inset 0 0 12px #ff2bd640, var(--glow-magenta);color:#ff9ae8;background:#ff2bd62e;outline:none}.month-view__weekrow:hover .month-view__weeknum{background:#ff2bd61a}.month-cell{cursor:pointer;text-align:left;border-bottom:1px solid #00f0ff14;border-right:1px solid #00f0ff14;min-height:80px;padding:.3rem;transition:background .15s,box-shadow .15s;overflow:hidden}.month-cell:hover,.month-cell:focus-visible{background:#00f0ff14;outline:none;box-shadow:inset 0 0 0 1px #00f0ff59}.month-cell--muted{opacity:.35}.month-cell--today{box-shadow:inset 0 0 0 1px var(--cyan);background:#00f0ff14}.month-cell--events .month-cell__day{color:var(--magenta)}.month-cell__day{font-family:var(--font-display);color:var(--cyan);margin-bottom:.25rem;font-size:.75rem}.month-cell__events{flex-direction:column;gap:2px;display:flex}.event-chip{text-align:left;background:#00000059;border:none;border-left:3px solid;border-radius:2px;gap:.25rem;width:100%;padding:.1rem .25rem;font-size:.65rem;display:flex;overflow:hidden}.event-chip__time{opacity:.8;flex-shrink:0}.event-chip__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-cell__more{color:var(--text-dim);padding-left:.25rem;font-size:.6rem}.week-view,.day-view{flex-direction:column;min-height:100%;display:flex}.week-view__header{z-index:2;background:#00f0ff0a;border-bottom:1px solid #00f0ff33;grid-template-columns:52px repeat(7,1fr);display:grid;position:sticky;top:0}.week-view__dayhead{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem;transition:background .15s,color .15s,box-shadow .15s;display:flex}.week-view__dayhead:hover,.week-view__dayhead:focus-visible{color:var(--cyan);box-shadow:inset 0 -2px 0 var(--cyan);background:#00f0ff14;outline:none}.week-view__dayhead--today{color:var(--cyan);text-shadow:var(--glow-cyan)}.week-view__wd{font-family:var(--font-display);letter-spacing:.1em;font-size:.6rem}.week-view__num{font-size:1rem}.week-view__body,.day-view__body{flex:1;min-height:1440px;display:grid}.week-view__body{grid-template-columns:52px repeat(7,1fr)}.day-view__body{grid-template-columns:52px 1fr}.week-view__hours,.day-view__hours{flex-direction:column;display:flex}.week-view__hour,.day-view__hour{height:60px;color:var(--text-dim);border-bottom:1px solid #00f0ff0f;padding:.2rem;font-size:.65rem}.week-view__col,.day-view__track{border-left:1px solid #00f0ff14;position:relative}.week-view__col{cursor:pointer;transition:background .15s,box-shadow .15s}.week-view__col:hover,.week-view__col:focus-visible{background:#00f0ff0f;outline:none;box-shadow:inset 0 0 0 1px #00f0ff40}.week-view__col--today{background:#00f0ff08}.week-view__slot,.day-view__slot{border-bottom:1px solid #00f0ff0f;height:60px}.week-event,.day-event{text-align:left;z-index:1;border:1px solid;border-radius:3px;flex-direction:column;gap:.1rem;padding:.2rem .35rem;font-size:.7rem;display:flex;position:absolute;left:2px;right:2px;overflow:hidden}.week-event span,.day-event__time{opacity:.9;font-size:.6rem}.day-view__headline{border-bottom:1px solid #00f0ff26;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.day-view__headline h3{font-family:var(--font-display);color:var(--cyan);letter-spacing:.06em;margin:0;font-size:.9rem}.day-event__notes{color:var(--text-dim);margin:0;font-size:.65rem}.day-view__empty{color:var(--text-dim);font-size:.85rem;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--border);width:min(480px,100%);max-height:min(90dvh,720px);box-shadow:var(--glow-cyan), 0 0 40px #ff2bd626;background:#0a0d18;border-radius:8px;overflow:auto}.modal__header{border-bottom:1px solid #00f0ff33;justify-content:space-between;align-items:center;padding:.9rem 1rem;display:flex}.modal__header h2{font-family:var(--font-display);letter-spacing:.1em;color:var(--cyan);margin:0;font-size:.95rem}.modal__form{flex-direction:column;gap:.85rem;padding:1rem;display:flex}.field{color:var(--text-dim);flex-direction:column;gap:.35rem;font-size:.75rem;display:flex}.field input,.field textarea{color:var(--text);background:#05060a;border:1px solid #00f0ff40;border-radius:4px;outline:none;padding:.55rem .65rem}.field input:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.field-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.color-field{border:none;margin:0;padding:0}.color-field legend{color:var(--text-dim);margin-bottom:.35rem;font-size:.75rem}.color-swatches{flex-wrap:wrap;gap:.45rem;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0}.swatch--active{border-color:#fff;box-shadow:0 0 10px}.form-error{color:var(--magenta);margin:0;font-size:.8rem}.modal__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.modal__actions-right{gap:.5rem;margin-left:auto;display:flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@media (width<=768px){.calendar__toolbar{flex-direction:column;align-items:stretch}.calendar__title{text-align:center}.calendar__add{width:100%}.field-row{grid-template-columns:1fr}.month-view__weekrow,.month-cell{min-height:64px}.event-chip__time,.brand__tag{display:none}}.account{flex-shrink:0;margin-left:.5rem;position:relative}.account__chip{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);max-width:9rem;color:var(--cyan);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:#00f0ff0f;border-radius:4px;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.62rem;display:inline-flex;overflow:hidden}.account__dot{background:var(--text-dim);border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 8px}.account__chip--synced .account__dot{background:#22c55e}.account__chip--syncing .account__dot{background:var(--cyan)}.account__chip--error .account__dot{background:var(--magenta)}.account__chip--offline .account__dot{background:#f59e0b}.account__chip--local .account__dot,.account__chip--unconfigured .account__dot{background:var(--text-dim)}.account{z-index:10060;position:relative}.account__status{color:var(--cyan);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .6rem;font-size:.68rem}.account__hint,.account__error{color:var(--text-dim);margin:.5rem 0 0;font-size:.78rem;line-height:1.35}.account__error{color:var(--magenta)}.account__form{gap:.45rem;display:grid}.account__form input{border:1px solid var(--border);background:#070910;border-radius:4px;width:100%;padding:.5rem .6rem}.account__actions{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.tab-bar--bottom .tab-btn{flex:1;min-width:0;padding:.35rem .15rem}.tab-bar--bottom .tab-btn__label{font-size:.5rem}.tab-bar--top .tab-btn{padding:.4rem .5rem}.brand__logo{object-fit:cover;width:40px;height:40px;box-shadow:var(--glow-cyan);border:1px solid var(--border);border-radius:8px}:root[data-theme=light],.app--light{--bg:#f4f7fb;--bg-elevated:#fff;--bg-panel:#eef3f8;--cyan:#007a8a;--magenta:#c2188a;--purple:#7c3aed;--text:#102033;--text-dim:#5b6b7c;--border:#007a8a59;--glow-cyan:0 0 10px #007a8a2e;--glow-magenta:0 0 10px #c2188a29}.app--light .app__scanlines,.app--light .app__grid{opacity:.18}.app--light .app__header,.app--light .app__status,.app--light .tab-bar--bottom{background:#fff}.app--light .brand__name{color:var(--cyan)}.theme-toggle{border:1px solid var(--border);color:var(--cyan);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#00f0ff0f;border-radius:4px;flex-shrink:0;align-items:center;gap:.35rem;margin-left:.35rem;margin-right:.25rem;padding:.35rem .65rem;font-size:.58rem;display:inline-flex}.theme-toggle:hover{box-shadow:var(--glow-cyan);background:#00f0ff1f}.theme-toggle__icon{font-size:.9rem;line-height:1}@media (width<=768px){.theme-toggle__label{display:none}.theme-toggle{padding:.4rem .55rem}}.account-overlay{z-index:200000;pointer-events:auto;position:fixed;inset:0}.account__scrim{z-index:1;cursor:default;background:#0000008c;border:0;margin:0;padding:0;position:absolute;inset:0}.account__panel{right:max(.75rem, env(safe-area-inset-right,0px));top:calc(var(--header-h) + var(--safe-t) + .35rem);z-index:2;border:1px solid var(--border);background:var(--bg-elevated);width:min(22rem,100vw - 1.5rem);box-shadow:var(--glow-cyan), 0 12px 40px #0000008c;pointer-events:auto;border-radius:6px;padding:.85rem;position:absolute}.account__panel-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.account__close{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:4px;width:2rem;height:2rem;line-height:1}.account__close:hover{color:var(--magenta);border-color:var(--magenta)}.account__actions .neon-btn{pointer-events:auto;z-index:3;position:relative}.account__actions .neon-btn:disabled{opacity:.45;cursor:not-allowed}.app--account-open webview,.app--account-open .external-tab__webview,.app--account-open .external-tab__iframe,html.account-open webview,html.account-open .external-tab__webview,html.account-open .external-tab__iframe{visibility:hidden!important;pointer-events:none!important}.external-tab--pwa{flex:1;width:100%;height:100%;min-height:0;display:flex;position:relative}.fallback-panel--opened .fallback-panel__badge{color:var(--cyan)}@media (orientation:landscape) and (height<=560px){.calendar__toolbar{flex-wrap:wrap;gap:.35rem}.calendar__title{font-size:.95rem}.month-view__weekrow,.month-cell{min-height:48px}.fallback-panel__content{max-height:calc(100dvh - 8rem);overflow:auto}.account__panel{max-height:calc(100dvh - 1rem);top:.5rem;overflow:auto}}@media (orientation:portrait) and (width<=900px){.app--mobile .app__main{min-height:0}}
