:root{--ink: #12332f;--ink-soft: #0f5f58;--muted: #46706b;--line: #b8d4d0;--paper: #eef5f7;--paper-2: #ffffff;--teal: #3dd6c6;--teal-deep: #0f766e;--cyan: #1aa89a;--cyan-glow: #67e8f9;--high: #1aa89a;--medium: #2bb8aa;--low: #6f8a86;--danger: #b42318;--ok: #0f766e;--brand-grad: linear-gradient(120deg, #3dd6c6 0%, #1aa89a 48%, #147a72 100%);--shadow: 0 18px 50px rgba(14, 61, 66, .12);--radius: 18px;--font-display: "Syne", "Avenir Next", sans-serif;--font-body: "Figtree", "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:var(--teal-deep)}.app-root{position:relative;min-height:100vh;isolation:isolate}.atmosphere{pointer-events:none;position:fixed;inset:0;z-index:-1;background:radial-gradient(900px 480px at 12% -10%,rgba(8,145,178,.14),transparent 60%),radial-gradient(700px 420px at 92% 8%,rgba(15,118,110,.12),transparent 55%),linear-gradient(165deg,#e8eef3,#eef5f7 42%,#e4eef2)}.atmosphere:after{content:"";position:absolute;inset:0;opacity:.35;background-image:linear-gradient(rgba(20,32,43,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(20,32,43,.03) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 80%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 80%)}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;gap:.5rem}.boot-brand{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,3.4rem);font-weight:800;margin:0;letter-spacing:-.03em;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.muted{color:var(--muted)}.impersonation-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1.1rem;background:color-mix(in srgb,#0f766e 18%,#e8f4f2);border-bottom:1px solid color-mix(in srgb,#0f766e 35%,transparent);color:#0a3d3a;font-size:.92rem}.studio-bar{display:flex;align-items:center;gap:1.25rem;padding:1rem clamp(1rem,3vw,2rem);border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,white 88%,transparent);position:sticky;top:0;z-index:20}.studio-mark{font-family:var(--font-display);font-weight:800;font-size:1.35rem;letter-spacing:-.03em;text-decoration:none;color:#1aa89a;-webkit-text-fill-color:#1aa89a;background:none}.studio-nav{display:flex;gap:.35rem;flex:1;flex-wrap:wrap}.studio-nav a{text-decoration:none;color:var(--ink-soft);font-weight:600;font-size:.92rem;padding:.45rem .75rem;border-radius:999px;transition:background .2s ease,color .2s ease}.studio-nav a:hover{color:var(--ink);background:color-mix(in srgb,var(--cyan) 12%,white)}.studio-nav a.active{color:var(--teal-deep);background:color-mix(in srgb,var(--teal) 22%,white)}.studio-user{display:flex;align-items:center;gap:.75rem}.studio-user-name{font-size:.85rem;color:var(--muted);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ghost-btn,.text-link{background:none;border:none;color:var(--teal-deep);font:inherit;font-weight:600;cursor:pointer;padding:0}.ghost-btn{border:1px solid color-mix(in srgb,#0f766e 40%,#9bb4b0);border-radius:999px;padding:.4rem .85rem;color:#0a4f4a;background:#ffffffe0}.ghost-btn:hover{border-color:#0f766e;color:#063834;background:#fff}.page{width:min(920px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 4rem;animation:rise .55s ease both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.eyebrow{margin:0;font-size:.72rem;letter-spacing:.22em;font-weight:700;color:var(--cyan);text-transform:uppercase}.brand-hero{font-family:var(--font-display);font-size:clamp(3.4rem,12vw,5.6rem);font-weight:800;letter-spacing:-.045em;line-height:.95;margin:.55rem 0 0;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:brand-in .8s cubic-bezier(.22,1,.36,1) both}@keyframes brand-in{0%{opacity:0;letter-spacing:.08em;filter:blur(4px)}to{opacity:1;letter-spacing:-.045em;filter:none}}.hero-lead,.page-lead{max-width:36rem;color:var(--cyan);font-size:1.08rem;line-height:1.55;margin:1rem 0 0}.auth-hero .eyebrow{color:var(--cyan)}.auth-hero .brand-hero{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.auth-hero .hero-lead{color:var(--cyan);text-shadow:0 1px 0 rgba(255,255,255,.28)}.auth-hero .btn.secondary,.btn.secondary{color:#0a4f4a;-webkit-text-fill-color:#0a4f4a;background:#ffffffeb;border-color:color-mix(in srgb,#0f766e 45%,#9bb4b0);box-shadow:0 6px 18px #0e3d421f}.auth-hero .btn.secondary:hover,.btn.secondary:hover{color:#063834;-webkit-text-fill-color:#063834;background:#fff;border-color:#0f766e}.auth-form,.auth-form h2,.auth-form .field,.auth-form .auth-switch{color:var(--cyan)}.auth-form .field input{color:var(--cyan);caret-color:#0a4f4a}.auth-form .field input::placeholder{color:color-mix(in srgb,var(--cyan) 62%,#ffffff);opacity:1}.auth-form .auth-switch a,.auth-form .text-link{color:#0a4f4a}.auth-form .form-info{color:#0f766e}.hero-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}.studio-hero,.page-intro,.auth-hero{padding:2.2rem 0 1.2rem}.page-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.8rem);font-weight:800;letter-spacing:-.03em;margin:.4rem 0 0;color:var(--ink)}.section-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;margin:0 0 .85rem;color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:999px;border:1px solid color-mix(in srgb,#0f766e 40%,#9bb4b0);padding:.75rem 1.25rem;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;color:#0a4f4a;-webkit-text-fill-color:#0a4f4a;background:#fffffff2;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,#1aa89a,#3dd6c6);border-color:transparent;color:#063834;-webkit-text-fill-color:#063834;box-shadow:0 10px 24px #0891b238}.btn.compact{padding:.55rem .95rem;font-size:.9rem}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.battery-block{margin:1.5rem 0;padding:1.35rem 1.4rem;border-radius:var(--radius);background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--teal) 12%,white));border:1px solid color-mix(in srgb,var(--cyan) 28%,var(--line));box-shadow:var(--shadow);animation:pulse-soft 4.5s ease-in-out infinite;color:var(--ink)}@keyframes pulse-soft{0%,to{box-shadow:var(--shadow)}50%{box-shadow:0 18px 50px #0891b224}}.battery-pct{font-family:var(--font-display);font-size:3rem;font-weight:800;letter-spacing:-.04em;color:var(--ink)}.battery-track{height:12px;border-radius:999px;background:color-mix(in srgb,var(--line) 55%,white);overflow:hidden;margin-top:.75rem}.battery-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#147a72,var(--teal));transition:width .6s ease,background .4s ease}.battery-fill.band-high{background:linear-gradient(90deg,#0f766e,#3dd6c6)}.battery-fill.band-medium{background:linear-gradient(90deg,#1a8a7a,#2bb8aa)}.battery-fill.band-low{background:linear-gradient(90deg,#6f8a86,#94a3b8)}.battery-meta{margin:.8rem 0 0;color:var(--muted);font-size:.92rem}.battery-explain{margin:.45rem 0 0;color:var(--teal-deep);font-size:.9rem;font-weight:600}.help-line{margin:.55rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.45}.row-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin:.35rem 0 .65rem}.text-btn{border:0;background:color-mix(in srgb,var(--line) 40%,white);color:var(--ink);font:inherit;font-size:.78rem;font-weight:700;padding:.35rem .7rem;border-radius:999px;cursor:pointer}.text-btn.danger{background:color-mix(in srgb,#b42318 16%,white);color:#8a1c14}.inline-edit{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;width:100%}.inline-edit input{flex:1;min-width:160px;font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;background:#fff}.sub-add{margin-top:.75rem}.hints{margin:1.75rem 0}.hint-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.hint-item{padding:.95rem 1.1rem;border-radius:14px;background:linear-gradient(135deg,#147a72,#1aa89a);color:#f4fffe;line-height:1.45;font-size:.95rem}.projects,.focus-list,.rhythm-options,.rhythm-window,.energy-breakdown{margin-top:2rem}.project,.focus-item{padding:1.1rem 1.15rem;border-radius:var(--radius);background:color-mix(in srgb,white 92%,transparent);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);margin-bottom:.85rem;color:var(--ink)}.project-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:.5rem}.project-head h3{margin:0;font-size:1.05rem;color:var(--ink)}.project-head span,.task-meta,.focus-project{color:var(--muted);font-size:.82rem}.focus-project{margin:0;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-deep)}.focus-item h3{margin:.3rem 0 .35rem;font-family:var(--font-display);font-size:1.25rem;color:var(--ink)}.task-list{list-style:none;margin:0;padding:0}.task-row{width:100%;display:flex;gap:.75rem;align-items:flex-start;text-align:left;background:none;border:none;padding:.55rem 0;font:inherit;color:inherit;border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.task-row .check{cursor:pointer;background:#fff}.task-row:first-child{border-top:none}.check{width:1.35rem;height:1.35rem;border-radius:.4rem;border:1.5px solid var(--line);display:grid;place-items:center;flex-shrink:0;margin-top:.1rem;color:#fff;font-size:.75rem}.task-row.is-done .check{background:var(--teal-deep);border-color:var(--teal-deep)}.task-title{display:block;font-weight:600;color:var(--ink)}.task-row.is-done .task-title{color:var(--muted);text-decoration:line-through}.task-body{display:grid;gap:.15rem}.add-project{display:grid;gap:.85rem;margin-top:1.25rem;padding:1.1rem;border-radius:var(--radius);border:1px dashed color-mix(in srgb,var(--cyan) 35%,var(--line));background:color-mix(in srgb,white 70%,transparent)}.field{display:grid;gap:.4rem;font-size:.88rem;font-weight:600;color:var(--ink-soft)}.field input,.field textarea{font:inherit;font-weight:500;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:.8rem .95rem;background:#fff}.field input:focus,.field textarea:focus{outline:2px solid color-mix(in srgb,var(--cyan) 45%,white);border-color:var(--cyan)}.rhythm-options{display:grid;gap:.75rem}.rhythm-option{text-align:left;display:grid;gap:.35rem;padding:1rem 1.1rem;border-radius:14px;border:1px solid var(--line);background:color-mix(in srgb,white 88%,transparent);cursor:pointer;font:inherit;color:var(--ink);transition:border-color .2s ease,background .2s ease,transform .15s ease}.rhythm-option strong{font-family:var(--font-display);font-size:1.1rem;color:var(--ink)}.rhythm-option span{color:var(--muted);font-size:.92rem;line-height:1.4}.rhythm-option:hover{transform:translateY(-1px);border-color:var(--cyan)}.rhythm-option.is-on{background:linear-gradient(135deg,#0f766e,#1aa89a);border-color:transparent;color:#f3fffe}.rhythm-option.is-on strong{color:#f3fffe}.rhythm-option.is-on span{color:color-mix(in srgb,white 82%,transparent)}.rhythm-window{display:grid;gap:.85rem;max-width:22rem}.stats-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.5rem}@media(min-width:720px){.stats-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-block{padding:1rem;border-radius:14px;background:color-mix(in srgb,white 88%,transparent);border:1px solid var(--line);color:var(--ink)}.stat-block strong{display:block;font-family:var(--font-display);font-size:1.8rem;letter-spacing:-.03em;color:var(--ink)}.stat-block span{color:var(--muted);font-size:.85rem}.energy-bars{display:grid;gap:.7rem}.energy-bar-row{display:grid;grid-template-columns:4.5rem 1fr 2rem;gap:.65rem;align-items:center}.energy-label{text-transform:uppercase;font-size:.72rem;letter-spacing:.06em;font-weight:700;color:var(--muted)}.energy-bar-track{height:10px;border-radius:999px;background:color-mix(in srgb,var(--line) 55%,white);overflow:hidden}.energy-bar-fill{height:100%;border-radius:inherit}.band-low{background:var(--low)}.band-medium{background:var(--medium)}.band-high{background:var(--high)}.energy-count{text-align:right;font-weight:700;color:var(--ink)}.page-note{margin-top:1.75rem;color:var(--muted);line-height:1.5}.auth-screen{width:min(980px,calc(100% - 2rem));margin:0 auto;min-height:100vh;display:grid;align-content:center;gap:1.5rem;padding:2rem 0 3rem;animation:rise .55s ease both}.back-to-landing{justify-self:start;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border-radius:999px;border:1px solid color-mix(in srgb,#0f766e 40%,#9bb4b0);background:#ffffffe0;color:#0a4f4a;font-weight:700;font-size:.92rem;text-decoration:none;box-shadow:0 6px 18px #0e3d421a;transition:transform .15s ease,background .2s ease,border-color .2s ease}.back-to-landing:hover{transform:translateY(-1px);background:#fff;border-color:#0f766e;color:#063834}@media(min-width:860px){.auth-screen{grid-template-columns:1.15fr .85fr;align-items:center;gap:2.5rem}.auth-screen .back-to-landing{grid-column:1 / -1}}.auth-form{display:grid;gap:.85rem;padding:1.4rem;border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb,white 92%,transparent);border:1px solid var(--line);box-shadow:var(--shadow)}.auth-form h2{margin:0 0 .25rem;font-family:var(--font-display);font-size:1.35rem}.form-error{margin:0;color:var(--danger);font-size:.9rem}.form-info{margin:0;color:var(--ok);font-size:.9rem}.auth-switch{margin:.25rem 0 0;text-align:center;color:var(--muted);font-size:.92rem}.rhythm-days{display:grid;gap:.75rem;max-width:36rem}.day-row{display:grid;grid-template-columns:8.5rem 1fr 1fr;gap:.6rem;align-items:end}.day-toggle{display:flex;align-items:center;gap:.45rem;font-weight:700;color:var(--ink)}.field.compact{margin:0}@media(max-width:720px){.studio-bar{flex-wrap:wrap}.studio-user{width:100%;justify-content:space-between}.studio-nav{order:3;width:100%}}.assistant-dock{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:240;display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;width:max-content;max-width:calc(100vw - 2rem);pointer-events:none}.assistant-dock>*{pointer-events:auto}.assistant-panel{--as-bg: #f4fbfa;--as-fg: #12332f;--as-title: #0f6b63;--as-border: #cfe3e0;--as-muted: #5d7f7b;--as-bot-bg: #ffffff;--as-bot-fg: #12332f;--as-user-bg: #0f6b63;--as-user-fg: #ffffff;--as-input-bg: #ffffff;--as-input-fg: #12332f;--as-input-border: #8fb9b4;--as-accent: #0f6b63;--as-accent-fg: #ffffff}.assistant-panel{display:flex;flex-direction:column;width:min(calc(100vw - 2rem),24rem);height:min(26rem,calc(100dvh - 9rem));margin:0;padding:0;overflow:hidden;border-radius:16px;border:1px solid var(--as-border);background:var(--as-bg);color:var(--as-fg);box-shadow:0 18px 40px #0000004d}.assistant-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--as-border);color:var(--as-title, var(--as-fg))}.assistant-close{border:0;background:transparent;color:var(--as-muted);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;padding:2px 4px}.assistant-log{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:8px;margin:0;padding:12px}.assistant-msg{align-self:flex-start;max-width:88%;margin:0;padding:8px 11px;border-radius:12px;background:var(--as-bot-bg);color:var(--as-bot-fg);font-size:.9rem;font-weight:400;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-msg--user{align-self:flex-end;background:var(--as-user-bg);color:var(--as-user-fg)}.assistant-msg--pending{font-style:italic;opacity:.75}.assistant-confirm{align-self:stretch;border:0;border-radius:10px;padding:10px 12px;background:var(--as-accent);color:var(--as-accent-fg);font:inherit;font-weight:700;cursor:pointer}.assistant-form{flex:0 0 auto;display:flex;align-items:flex-end;gap:8px;margin:0;padding:8px;border-top:1px solid var(--as-border)}.assistant-input{flex:1 1 auto;width:auto;min-width:0;min-height:0;max-height:7rem;margin:0;padding:9px 11px;border:1px solid var(--as-input-border);border-radius:10px;background:var(--as-input-bg);color:var(--as-input-fg);font:inherit;font-size:.95rem;line-height:1.35;resize:none;outline:none}.assistant-input::placeholder{color:var(--as-muted)}.assistant-input:focus{border-color:var(--as-accent)}.assistant-send{flex:0 0 auto;width:auto;border:0;border-radius:10px;padding:10px 14px;background:var(--as-accent);color:var(--as-accent-fg);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.assistant-send:disabled,.assistant-confirm:disabled{opacity:.55;cursor:default}.assistant-fab{appearance:none;border:0;cursor:pointer;min-width:9rem;padding:.85rem 1.35rem;border-radius:999px;font-family:var(--font-display);font-weight:800;font-size:.95rem;letter-spacing:-.01em;color:#063834;-webkit-text-fill-color:#063834;background:linear-gradient(135deg,#1aa89a,#3dd6c6);box-shadow:0 12px 28px #0891b247;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;touch-action:none;-webkit-user-select:none;user-select:none}.assistant-fab:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 16px 34px #0891b257}.assistant-fab:active{transform:translateY(0)}.assistant-dock--minimized{right:0;bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.assistant-peep{display:flex;align-items:center;justify-content:center;width:1.35rem;height:2.75rem;padding:0;border:1px solid color-mix(in srgb,var(--cyan) 45%,var(--line));border-right:none;border-radius:.65rem 0 0 .65rem;background:linear-gradient(135deg,#1aa89a,#3dd6c6);box-shadow:-4px 6px 16px #0891b247;cursor:pointer}.assistant-peep-dot{width:.45rem;height:.45rem;border-radius:999px;background:#063834}@media(min-width:960px){.assistant-dock{right:1.5rem;bottom:1.5rem}.assistant-dock--minimized{right:0;bottom:4rem}}.assistant-dock--typing .assistant-fab{display:none}.assistant-spinner{display:inline-block;width:.8rem;height:.8rem;margin-right:.35rem;vertical-align:-.1rem;border:2px solid var(--as-border);border-top-color:var(--as-accent);border-radius:999px;animation:assistant-spin .8s linear infinite}@keyframes assistant-spin{to{transform:rotate(360deg)}}
