:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--canvas:#f3f6ff;--surface:#fff;--surface-soft:#eef3ff;--surface-raised:#fff;--text-primary:#101a33;--text-secondary:#4d5c73;--cyan:#007b9e;--cyan-bright:#2dd4ff;--pink:#c72f78;--pink-bright:#ff62a8;--violet:#7259d9;--accent-ink:#06111f;--danger:#b42342;--on-danger:#fff;--separator:#cad5e8;--control-fill:#e6edf9;--focus:#006d8f;--oryn-wordmark:#08120f;--hero-core:#111c38;--hero-text:#f7faff;--hero-secondary:#c4d0e3;--progress-track:#34405d;--shadow:0 20px 60px #212d5229;--shadow-soft:0 10px 30px #1928501a;--radius-hero:28px;--radius-large:20px;--radius-control:14px;color:var(--text-primary);background:var(--canvas);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px;line-height:1.4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;min-height:100%}body{background:var(--canvas);min-height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}.header-actions{align-items:center;gap:.75rem;display:flex}.logout-button{min-height:44px;color:var(--color-accent-cyan);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.82rem;font-weight:650}.logout-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:.5rem}.login-shell{min-height:100vh}.login-card{border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);max-width:32rem;box-shadow:var(--shadow-card);margin-top:2rem;padding:clamp(1.25rem,4vw,2rem)}.login-card h2{margin:.25rem 0 .5rem}.login-card .button{width:100%;margin-top:1rem}.infrared-field{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.infrared-field:before,.infrared-field:after{aspect-ratio:1;content:"";opacity:.2;border-radius:50%;width:min(82vw,720px);position:absolute}.infrared-field:before{background:radial-gradient(circle, var(--pink-bright) 0, #ff62a826 46%, transparent 70%);top:-35vw;right:-38vw}.infrared-field:after{background:radial-gradient(circle, var(--cyan-bright) 0, #2dd4ff24 46%, transparent 70%);bottom:-42vw;left:-42vw}button,input{font:inherit}button{color:inherit}.app-shell{z-index:1;width:min(100%,720px);padding:max(28px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(48px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto;position:relative}.page-header{padding:12px 4px 24px}.eyebrow{color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:750}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:44px;margin-bottom:6px;display:flex}.oryn-wordmark{min-width:44px;min-height:44px;color:var(--oryn-wordmark);letter-spacing:.23em;align-items:center;font-size:1.35rem;font-weight:550;text-decoration:none;transition:opacity .14s,transform .14s;display:inline-flex}.oryn-eclipse{flex:0 0 1.25em;place-items:center;width:1.25em;height:1.25em;margin-right:.18em;display:inline-grid;position:relative}.oryn-sun,.oryn-moon{border-radius:50%;display:block;position:absolute}.oryn-sun{background:#f2d49b;inset:4%;box-shadow:0 0 20px #f2d49b30}.oryn-moon{background:#08120f;width:82%;height:82%}.oryn-wordmark:hover{opacity:.78}.oryn-wordmark:active{opacity:.64;transform:scale(.98)}.app-context{color:var(--text-secondary);letter-spacing:.1em;text-align:right;text-transform:uppercase;font-size:.68rem;font-weight:700}h1,h2,p{overflow-wrap:anywhere}h1{letter-spacing:-.045em;margin:0;font-size:clamp(2.25rem,10vw,3rem);font-weight:700;line-height:1.02}h2{letter-spacing:-.015em;margin:0;font-size:1.08rem;font-weight:680}.week-range,.section-note,.field-hint,.dialog-copy.secondary{color:var(--text-secondary)}.week-range{margin:10px 0 0;font-size:.92rem}.week-overview{border-radius:var(--radius-hero);min-height:190px;color:var(--hero-text);box-shadow:var(--shadow);background:radial-gradient(circle at 88% 18%,#ff62a83d,#0000 34%),radial-gradient(circle at 8% 100%,#2dd4ff33,#0000 40%),linear-gradient(135deg,#101936,#091126 72%);border:1px solid #ffffff1a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:28px;padding:28px;display:grid;position:relative;overflow:hidden}.week-overview:after{content:"";border:1px solid #2dd4ff2e;border-radius:50%;width:230px;height:230px;position:absolute;bottom:-92px;right:-70px;box-shadow:0 0 0 24px #ff62a80a,0 0 0 50px #2dd4ff08}.week-overview-copy,.progress-ring{z-index:1;position:relative}.week-overview .eyebrow{color:var(--cyan-bright)}.week-overview h2{max-width:13ch;font-size:clamp(1.6rem,6vw,2.15rem);line-height:1.06}.progress-text{color:var(--hero-secondary);margin:12px 0 0;font-size:.86rem}.progress-ring{--progress:0%;aspect-ratio:1;background:conic-gradient(from -90deg, var(--pink-bright), var(--violet) 52%, var(--cyan-bright));border-radius:50%;place-items:center;width:clamp(104px,28vw,126px);padding:8px;display:grid;box-shadow:0 0 30px #2dd4ff1f}.progress-ring:before{border-radius:inherit;background:conic-gradient(from -90deg, transparent 0 var(--progress), var(--progress-track) var(--progress) 100%);content:"";position:absolute;inset:0}.progress-core{z-index:1;background:var(--hero-core);text-align:center;border:1px solid #ffffff14;border-radius:50%;place-content:center;width:100%;height:100%;display:grid}.progress-core strong{letter-spacing:-.04em;font-size:clamp(1.25rem,5vw,1.6rem);line-height:1}.progress-core span{color:var(--hero-secondary);letter-spacing:.04em;margin-top:4px;font-size:.66rem}.task-section{gap:14px;display:grid}.section-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;padding:0 4px;display:flex}.section-note{margin:3px 0 0;font-size:.76rem}.button,.icon-button,.menu-trigger,.menu-item{border-radius:var(--radius-control);cursor:pointer;border:0;min-height:44px;font-weight:650;transition:transform .14s,filter .14s,background-color .14s,opacity .14s}.button{justify-content:center;align-items:center;gap:6px;padding:10px 15px;display:inline-flex}.button-primary{background:linear-gradient(110deg, var(--pink-bright), #a77cff 48%, var(--cyan-bright));color:var(--accent-ink);box-shadow:0 8px 22px #7259d933}.button-secondary{border:1px solid var(--separator);background:var(--control-fill);color:var(--text-primary)}.button-danger{background:var(--danger);color:var(--on-danger)}.button:hover,.icon-button:hover,.menu-trigger:hover,.menu-item:hover{filter:brightness(.96)}.button:active,.icon-button:active,.menu-trigger:active,.menu-item:active{opacity:.82;transform:scale(.98)}button:disabled,input:disabled{cursor:progress;opacity:.55}button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.oryn-wordmark:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.task-list{gap:10px;margin:0;padding:0;list-style:none;display:grid;overflow:visible}.task-row{border:1px solid var(--separator);border-radius:var(--radius-large);background:var(--surface);min-height:86px;box-shadow:var(--shadow-soft);grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:10px;padding:15px 12px;display:grid;position:relative}.task-row.is-done{border-color:color-mix(in srgb, var(--cyan) 48%, var(--separator));background:linear-gradient(110deg, color-mix(in srgb, var(--cyan-bright) 7%, var(--surface)), color-mix(in srgb, var(--pink-bright) 5%, var(--surface)))}.check-control{cursor:pointer;place-items:center;width:44px;height:44px;display:grid}.check-control input{width:26px;height:26px;accent-color:var(--cyan);cursor:pointer;margin:0}.task-content{align-self:center;min-width:0;padding:2px 0}.task-title{margin:0;font-size:1rem;font-weight:620;line-height:1.3}.task-meta{color:var(--text-secondary);margin:5px 0 0;font-size:.76rem;line-height:1.4}.task-row.is-done .task-title{color:var(--text-secondary);text-decoration:line-through;-webkit-text-decoration-color:var(--pink);text-decoration-color:var(--pink);text-decoration-thickness:1.5px}.task-menu{position:relative}.menu-trigger{color:var(--cyan);background:0 0;padding:8px 10px;font-size:.82rem}.menu-panel{z-index:5;border:1px solid var(--separator);background:var(--surface-raised);min-width:180px;box-shadow:var(--shadow);border-radius:16px;padding:6px;display:grid;position:absolute;top:48px;right:0}.menu-panel[hidden]{display:none}.menu-item{text-align:left;background:0 0;width:100%;padding:10px 12px}.menu-item.danger{color:var(--danger)}.state-message,.empty-state,.error-banner{border:1px solid var(--separator);border-radius:var(--radius-large);background:var(--surface);box-shadow:var(--shadow-soft);margin:0}.state-message{color:var(--text-secondary);text-align:center;padding:24px}.empty-state{text-align:center;padding:34px 22px}.empty-state p{max-width:34ch;color:var(--text-secondary);margin:8px auto 20px}.error-banner{border-color:var(--danger);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.error-banner[hidden]{display:none}.error-banner p{margin:0}.dialog{border:1px solid var(--separator);background:var(--surface-raised);width:min(100% - 24px,520px);color:var(--text-primary);box-shadow:var(--shadow);border-radius:24px;padding:0}.dialog::backdrop{background:#030611ad}.dialog form{padding:20px}.dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dialog-header h2{font-size:1.35rem}.icon-button{background:var(--control-fill);width:44px;padding:0;font-size:1.5rem;line-height:1}.field-group{gap:7px;margin-top:24px;display:grid}.field-group label{font-weight:650}.field-group input{border:1px solid var(--separator);border-radius:var(--radius-control);background:var(--surface-soft);width:100%;min-height:48px;color:var(--text-primary);padding:10px 12px}.field-group input[aria-invalid=true]{border-color:var(--danger)}.field-hint,.field-error{margin:0;font-size:.76rem}.field-error{min-height:1.1em;color:var(--danger)}.dialog-copy{margin:20px 0 0}.dialog-copy.secondary{margin-top:8px;font-size:.82rem}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}[hidden]{display:none!important}@media (max-width:520px){.week-overview{min-height:170px;padding:22px 18px}.section-toolbar .button-primary{width:44px;padding-inline:0;font-size:0}.section-toolbar .button-primary span{font-size:1.25rem}.dialog{margin-top:auto;margin-bottom:max(8px, env(safe-area-inset-bottom));border-radius:24px}.dialog-actions{grid-template-columns:1fr 1fr;display:grid}}@media (max-width:370px){h1{font-size:2rem}.week-overview{gap:10px}.week-overview h2{max-width:none;font-size:1.4rem}.progress-ring{width:88px}.task-row{gap:6px}}@media (prefers-color-scheme:dark){:root{--canvas:#050816;--surface:#0d1730;--surface-soft:#111e3a;--surface-raised:#111d38;--text-primary:#f7faff;--text-secondary:#b8c7dc;--cyan:#48ddff;--cyan-bright:#2dd4ff;--pink:#ff73b6;--pink-bright:#ff62a8;--violet:#a77cff;--accent-ink:#06111f;--danger:#ff8297;--on-danger:#19050a;--separator:#2d3b59;--control-fill:#1a2947;--focus:#66e3ff;--oryn-wordmark:#f7faff;--hero-core:#0c1630;--hero-text:#f7faff;--hero-secondary:#c4d0e3;--progress-track:#2b3552;--shadow:0 22px 70px #00000061;--shadow-soft:0 12px 30px #00000038}}@media (prefers-contrast:more){:root{--separator:#8292ad;--text-secondary:#2e3b51}.task-row,.dialog,.state-message,.empty-state,.error-banner{border-width:2px}}@media (prefers-contrast:more) and (prefers-color-scheme:dark){:root{--separator:#8494ae;--text-secondary:#e1e8f2}}@media (prefers-reduced-transparency:reduce){.infrared-field{display:none}.week-overview{background:#101936}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (forced-colors:active){.week-overview,.task-row,.dialog,.state-message,.empty-state,.error-banner{color:canvastext;background:canvas;border-color:canvastext}.progress-ring{background:canvas;border:8px solid highlight}}
