@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url("./assets/Inter-400.ttf")}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url("./assets/Inter-700.ttf")}
@font-face{font-family:Manrope;font-weight:400;font-display:swap;src:url("./assets/Manrope-400.ttf")}
@font-face{font-family:Manrope;font-weight:700;font-display:swap;src:url("./assets/Manrope-700.ttf")}
:root{font-family:Inter,system-ui,sans-serif;color-scheme:dark;--bg:#111419;--panel:#1b2027;--panel2:#272932;--text:#f5f0f7;--muted:#b9b4c0;--accent:#d4a5e3;--purple:#895099;--line:#393840;--good:#b4d476;--bad:#ff9bac;--shadow:0 6px 24px #0002}
body.light{color-scheme:light;--bg:#fbf6f3;--panel:#fffaf7;--panel2:#f2e7e8;--text:#211b27;--muted:#6b5d70;--accent:#78418b;--purple:#995ba5;--line:#e2d3db;--good:#577f21;--bad:#a62648;--shadow:0 5px 20px #6942680b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button{touch-action:manipulation}header{position:sticky;top:0;z-index:4;background:var(--bg);border-bottom:1px solid var(--line);padding:14px 28px;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:10px}.brand strong{font:800 20px Manrope,system-ui;letter-spacing:.02em}.brand img{border-radius:10px}.shell{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;max-width:1550px;padding:24px 28px 90px;margin:auto}.sidebar{display:flex;flex-direction:column;gap:4px;position:sticky;top:90px;align-self:start;padding-top:8px}.sidebar button{border:0;background:none;color:var(--muted);padding:13px 16px;text-align:left;border-radius:10px;font-weight:600}.sidebar button.active{color:var(--text);background:linear-gradient(110deg,#8a4b9a77,#8a4b9a22);box-shadow:inset 3px 0 var(--accent)}.content{min-width:0}.page-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 20px}.page-title small{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--muted)}h1,h2,h3{font-family:Manrope,Inter,system-ui;line-height:1.25}h1{font-size:28px;margin:6px 0}h2{font-size:16px;margin:0 0 14px}h3{font-size:14px}p{line-height:1.65}.muted,small{color:var(--muted);font-size:12px;line-height:1.6}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:18px;margin:0 0 16px;box-shadow:var(--shadow)}.grid,.dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard .panel{margin:0}.module.wide{grid-column:1/-1}.hero{height:170px;position:relative;isolation:isolate;border-radius:14px;overflow:hidden;background:#352336}.hero-landscape{position:absolute;inset:0;z-index:-2;background-image:url('./assets/reference.png');background-size:auto 2300%;background-position:61% top}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10121be6,#1d142364,transparent);z-index:-1}.hero-copy{padding:30px;color:#fff}.hero-copy h1{font-size:30px;margin:8px 0}.hero-copy p{margin:0;color:#f9eef7;font-size:13px}.hero-copy small{font-size:10px;letter-spacing:.16em;color:#f9eef7}.quote{background:linear-gradient(120deg,#b56ac02b,#79509c40);border:1px solid var(--line);padding:14px;text-align:center;border-radius:11px;margin:12px 0;font-weight:650}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 20px}.metrics button{border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#a95bb94a,var(--panel));padding:14px 4px;color:var(--text);box-shadow:var(--shadow)}.metrics strong{display:block;font-size:24px;font-weight:800}.metrics span{display:block;font-size:11px;margin-top:5px}.toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.tabs{display:flex;gap:5px;overflow:auto;padding:4px 0;margin-bottom:14px}.btn,.tabs button{background:linear-gradient(140deg,#a45aad,#79428f);color:#fff;border:1px solid transparent;border-radius:9px;padding:10px 13px;font-weight:600;font-size:12px}.btn.alt{background:var(--panel2);border:1px solid var(--line);color:var(--text)}.btn.danger{background:none;color:var(--bad);border:1px solid var(--line)}.tabs .btn{white-space:nowrap;border-radius:20px;padding:8px 13px}.tabs .selected{background:linear-gradient(120deg,#a956a3,#6f407f);color:#fff}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.item{padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:flex-start;position:relative}.item:last-child{border:0}.details{flex:1;min-width:0;overflow-wrap:anywhere}.item-title{border:0;background:none;color:var(--text);text-align:left;padding:0;line-height:1.5;font-weight:650;font-size:13px}.completed .item-title{text-decoration:line-through;opacity:.65}.check{margin:3px 0 0;width:19px;height:19px;flex-shrink:0;border:1.5px solid var(--accent);border-radius:5px;color:var(--good);background:transparent;padding:0;line-height:16px}.star{border:0;background:none;color:var(--muted);padding:0;font-size:20px;line-height:1.1}.star.important{color:#e9b741}.item-menu{position:relative}.item-menu summary{cursor:pointer;color:var(--muted);list-style:none;padding:0 2px}.item-menu[open] .actions{position:absolute;right:0;top:25px;width:160px;background:var(--panel2);padding:10px;border:1px solid var(--line);border-radius:10px;z-index:3;box-shadow:var(--shadow)}.subtask{display:flex;align-items:center;gap:7px;margin-top:10px;color:var(--muted);font-size:12px}.subtask input{width:auto}.pill{display:inline-block;background:var(--panel2);color:var(--muted);padding:5px 9px;border-radius:20px;font-size:11px}.metric{font-size:28px;font-weight:800;margin-top:8px}.empty{text-align:center;padding:24px 12px;color:var(--muted);font-size:13px;line-height:1.6}.notice{background:var(--panel2);border-left:3px solid var(--accent);padding:14px;margin-bottom:16px;border-radius:9px;line-height:1.6}.custom-controls{display:flex;gap:6px;margin-bottom:12px}.fab{position:fixed;bottom:32px;right:35px;width:52px;height:52px;border-radius:50%;border:1px solid #dba4e1;background:linear-gradient(140deg,#bc60b2,#723a80);color:#fff;font-size:31px;box-shadow:0 5px 20px #0005;z-index:3}input,textarea,select{width:100%;min-width:0;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px;margin-top:5px}input[type=checkbox]{accent-color:var(--purple)}textarea{min-height:120px;resize:vertical}label{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 12px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{margin-bottom:12px}.field label{margin:0}.inline{display:inline-flex;gap:4px;align-items:center;margin-right:10px}.inline input{width:auto;margin:0}fieldset{border:1px solid var(--line);border-radius:9px;margin-bottom:15px}.modalback{position:fixed;inset:0;z-index:10;background:#090610b8;backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;padding:20px}.modal{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;width:min(670px,100%);max-height:92dvh;overflow:auto;box-shadow:0 20px 80px #0005}.modal h2{font-size:22px}.modal .actions:last-child{position:sticky;bottom:-24px;background:var(--panel);padding:14px 0}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{text-align:center;font-size:11px;color:var(--muted);padding:10px 0}.day{min-height:70px;border:0;background:none;border-radius:10px;color:var(--text);padding:8px 3px}.day b{font-weight:700}.day.today{background:linear-gradient(140deg,#a761af,#79468c);color:#fff}.day.chosen{outline:1px solid var(--accent)}.day-dots{display:block;min-height:12px;letter-spacing:1px;color:#b677bf;font-size:9px;margin-top:5px}.day.today .day-dots{color:#fff}.monthbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.monthbar h2{margin:0;text-transform:capitalize}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}.weekgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.weekgrid .panel{margin:0}.habit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.habit{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:10px}.habit-top{display:flex;align-items:center;gap:12px}.habit-top>div{flex:1}.habit-top small{display:block}.habit-icon{font-size:30px;color:var(--accent)}.habit-days{display:flex;gap:9px;padding:12px 0}.habit-days button{background:transparent;color:var(--text);cursor:pointer;display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--muted);border-radius:50%;font-size:11px}.habit-days .achieved{background:var(--good);color:var(--bg);border-color:var(--good);font-weight:bold}.habit-days button:disabled{cursor:default}.habit-days .rest{opacity:.35;border-style:dashed}.folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.folder{display:grid;text-align:left;padding:16px;gap:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text)}.folder>span{font-size:32px;color:#ddb63c}.folder:nth-child(3n+2)>span{color:#9bbcf0}.folder:nth-child(3n)>span{color:#c492d9}.launcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.launcher button{border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--panel);color:var(--text);text-align:left}.launcher span{color:var(--accent);font-size:21px;margin-right:10px}.bar{height:8px;background:var(--panel2);border-radius:20px;overflow:hidden}.bar span{display:block;height:100%;background:var(--purple)}.chart{display:flex;align-items:flex-end;gap:12px;min-height:170px;justify-content:space-around}.chart>div{display:flex;flex-direction:column;align-items:center;gap:6px}.chart span{display:block;width:22px;background:linear-gradient(#b777bd,#75428f);border-radius:5px}.chart b{font-size:11px}.focus-clock{text-align:center;color:var(--accent);font-size:clamp(3rem,12vw,6rem);font-weight:800;font-variant-numeric:tabular-nums;margin:30px 0}.reminder-banner{position:fixed;right:20px;bottom:90px;background:var(--panel);border:2px solid var(--accent);border-radius:14px;padding:16px;max-width:340px;z-index:7;box-shadow:var(--shadow)}.reminder-banner>button:first-child{float:right;background:none;color:var(--text);border:0;font-size:20px}.reminder-banner[hidden]{display:none}.mobile-nav{display:none}a{color:var(--accent)}.filters summary{cursor:pointer;color:var(--muted);font-weight:600}.filters[open] summary{margin-bottom:15px}
@media(min-width:1200px){.dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{height:190px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.shell{grid-template-columns:155px minmax(0,1fr);gap:18px;padding:20px 18px 90px}.sidebar button{padding:12px 10px}.calendar-layout{grid-template-columns:1fr}.habit-grid{grid-template-columns:1fr}.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){body{font-size:13px}header{padding:12px 16px}.brand strong{font-size:17px}.brand img{width:32px;height:32px}header>.pill{font-size:9px;max-width:118px;text-align:center}.shell{display:block;padding:14px 14px 100px}.sidebar{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--bg);border-top:1px solid var(--line);padding:7px 5px max(8px,env(safe-area-inset-bottom));z-index:5}.mobile-nav button{border:0;background:none;color:var(--muted);border-radius:12px;font-size:21px;min-height:48px;padding:4px}.mobile-nav button div{font-size:9px;margin-top:3px}.mobile-nav button.active{background:linear-gradient(135deg,#a85aab66,#a85aab11);color:var(--text)}h1{font-size:23px}.page-title{margin:4px 0 14px}.page-title small{display:none}.hero{height:140px;border-radius:10px}.hero-copy{padding:24px 18px}.hero-copy h1{font-size:26px}.hero-copy small{font-size:8px}.hero-landscape{background-size:auto 2300%;background-position:61% top}.quote{padding:12px 24px;font-size:12px}.metrics{gap:7px;margin:12px 0}.metrics button{padding:11px 3px}.metrics strong{font-size:21px}.metrics span{font-size:10px}.dashboard{grid-template-columns:1fr;gap:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.panel{padding:14px;margin-bottom:12px;border-radius:11px}.toolbar .tabs{max-width:100%;margin-bottom:8px}.toolbar>.btn{margin:0 0 12px}.item{gap:9px;padding:12px 0}.item-title{font-size:12px}.item .muted{font-size:10px}.item .actions .btn{font-size:11px;padding:8px}.day{min-height:48px;padding:4px}.calendar{gap:3px}.day-dots{font-size:7px}.fab{bottom:85px;right:20px;width:46px;height:46px;font-size:29px}.fields{grid-template-columns:1fr}.modalback{padding:0;align-items:flex-end}.modal{max-height:94dvh;border-radius:20px 20px 0 0;padding:20px 18px 24px}.modal h2{font-size:20px}.launcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.launcher button{padding:15px 12px;font-size:12px}.habit{padding:14px}.weekgrid{grid-template-columns:1fr}.reminder-banner{left:15px;right:15px;max-width:none;bottom:85px}.metrics button:active,.btn:active{transform:scale(.98)}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s ease,transform .12s ease}@keyframes appear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}}

.modal.long-form{width:min(900px,100%);height:96dvh;max-height:96dvh}.check{width:24px;height:24px;line-height:21px}.star,.item-menu summary{min-width:24px;min-height:24px}.habit-days button{width:26px;height:26px}.habit .item-menu{align-self:flex-start}.habit-days{margin:0 0 -4px;padding-top:12px}.habit .actions{z-index:8}
@media(max-width:740px){.modal.long-form{height:100dvh;max-height:100dvh;border-radius:0}.habit{padding:12px 14px;margin-bottom:10px}.habit-grid{gap:0}.habit-top small{font-size:10px}.habit-icon{font-size:28px}.habit-days{gap:10px}.hero-copy h1{font-size:24px}.toolbar{align-items:center}.toolbar>.btn{font-size:10px;padding:8px}.toolbar .tabs .btn{font-size:10px;padding:8px 10px}}

.reminder-banner.critical{border-color:var(--bad)}

.module-compact{height:220px;overflow:auto}.module-tall{height:520px;overflow:auto}

.time-chart{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.donut{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.donut>span{width:94px;height:94px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-size:15px;font-weight:700}.legend{flex:1}.legend p{font-size:12px;margin:7px 0}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}
