:root{font-family:Inter,ui-sans-serif,system-ui,Arial,sans-serif;background:#f8f7fc;color:#2e2a43;--accent:#7754e8;--dark:#6040cb;--soft:#efeaff;--border:#e8e5f0;--muted:#787589;--gradient:linear-gradient(110deg,#ac9af8,#ffaacb 55%,#ffcc93);color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #baa1ff;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}p{line-height:1.45}.app{display:flex;min-height:100vh}.sidebar{background:white;border-right:1px solid var(--border);width:235px;flex-shrink:0;padding:28px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 11px 30px;font-weight:900;font-size:23px;letter-spacing:-.06em}.logo{border-radius:14px;background:var(--accent);color:white;width:42px;height:42px;display:grid;place-items:center;font-size:27px}.dot{color:#ef83af}.brand small{display:block;color:#9795a4;font-size:8px;letter-spacing:.11em;font-weight:900}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav{border:0;border-radius:12px;background:transparent;color:#66647b;display:flex;align-items:center;gap:11px;min-height:45px;text-align:left;padding:10px 13px;font-size:13px;font-weight:750}.nav.active{background:var(--soft);color:var(--dark)}.nav i{font-size:17px;font-style:normal;width:24px;text-align:center}.aside-foot{margin-top:auto;border-top:1px solid var(--border);padding:20px 10px 0;color:#66917d;font-size:11px;font-weight:750}.aside-foot small{display:block;color:var(--muted);margin-top:6px;font-weight:400}.main{min-width:0;flex:1}.topbar{height:70px;border-bottom:1px solid var(--border);background:#ffffffdd;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 clamp(17px,3vw,40px);font-size:13px;font-weight:650;color:var(--muted)}.mobilebrand,.mobile-nav{display:none}.right,.actions,.controls,.row{display:flex;align-items:center;gap:8px}.controls,.actions{flex-wrap:wrap}.btn{border:1px solid transparent;background:var(--soft);color:var(--dark);border-radius:12px;padding:10px 15px;min-height:42px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.primary{background:var(--accent);color:#fff}.btn.ghost{border-color:var(--border);background:white;color:#5e5973}.btn.danger{background:#fff1f4;border-color:#f9d1dc;color:#b42a51}.btn.compact{padding:8px 11px;min-height:37px}.content{padding:25px clamp(16px,3vw,38px) 80px;max-width:1330px;margin:auto}.eyebrow{color:#7855d9;letter-spacing:.15em;font-size:10px;font-weight:850}.hero{background:var(--gradient);border-radius:24px;padding:25px 26px;color:#44345d;position:relative;overflow:hidden;margin-bottom:17px}.hero:after{content:'✳';position:absolute;right:18px;top:-53px;font-size:180px;opacity:.14;pointer-events:none}.hero h1{font-size:clamp(25px,4vw,38px);margin:7px 0 6px}.hero p{font-size:13px;max-width:470px}.hero button{background:#fff;color:#6144ae;position:relative;z-index:1}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.stat{border-radius:16px;padding:16px;min-width:0}.stat span{font-size:10px;font-weight:850}.stat strong{display:block;font-size:27px;letter-spacing:-.05em;margin-top:7px}.stat:nth-child(1){background:#ece2ff;color:#5f4199}.stat:nth-child(2){background:#dbf6eb;color:#2d705c}.stat:nth-child(3){background:#ffe1eb;color:#9b4565}.stat:nth-child(4){background:#ffeacb;color:#926038}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.head h1{font-size:29px;margin:0 0 6px}.head p{color:var(--muted);font-size:13px;margin:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.toolbar h2{margin:0;font-size:20px}.card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:17px;min-width:0;box-shadow:0 6px 25px #42355f06}.card h3{margin-bottom:12px}.layout-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.85fr);gap:14px}.seg{display:flex;padding:3px;border-radius:12px;gap:2px;background:#eeecf5}.seg button{border:0;padding:10px 16px;min-height:39px;border-radius:9px;background:transparent;font-size:12px;color:#7b788b;font-weight:800}.seg button.sel{background:var(--accent);color:white}.period{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.period b{font-size:15px}.calendar-monthhead{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:6px}.calendar-monthhead span{font-size:10px;color:var(--muted);font-weight:850;text-align:center}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.cell{background:#fff;min-width:0;min-height:92px;border:1px solid var(--border);border-radius:10px;text-align:left;padding:7px 5px;display:flex;flex-direction:column;align-items:stretch;gap:4px;color:#494357}.cell.other{opacity:.43}.cell.selected{background:#f7f2ff;outline:2px solid var(--accent)}.daynum{font-size:12px;font-weight:900}.todaynum{display:inline-grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;width:25px;height:25px}.minievent{background:#eee7ff;color:#6044a2;font-size:10px;padding:3px 4px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minievent.sport{background:#d5f3e6;color:#32785e}.more{font-size:10px;color:var(--muted)}.weekwrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:8px}.weekgrid{min-width:875px;display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:8px}.weekcol{border:1px solid var(--border);background:#fff;border-radius:12px;min-height:235px;overflow:hidden}.weekcol.selected{box-shadow:inset 0 0 0 2px var(--accent)}.weektop{width:100%;min-height:62px;background:#f7f4ff;border:0;text-align:left;padding:9px 11px;color:#554978;font-size:12px}.weektop strong{display:block;font-size:20px}.weekevent{margin:6px;padding:7px;border-radius:8px;border-left:3px solid #a281df;background:#f1edff;font-size:11px;overflow-wrap:anywhere;text-align:left;width:calc(100% - 12px)}.weekevent.sport{border-color:#5db38f;background:#e0f5e9}.weekevent small{display:block;font-size:10px;color:#75698a;margin-bottom:4px}.timeline{display:grid;grid-template-columns:58px minmax(0,1fr)}.hourlabel{font-size:10px;color:#aba6b9;text-align:right;padding:9px 9px 0}.hourslot{min-height:65px;border-top:1px solid var(--border);padding:4px}.hourbutton{min-height:55px;width:100%;border:0;background:transparent;color:transparent;text-align:left;border-radius:7px;font-size:11px}.hourbutton:hover,.hourbutton:focus-visible{background:#eee6ff;color:var(--accent)}.hourtask{border:0;background:#eee7ff;border-left:4px solid #9871e6;width:100%;border-radius:7px;text-align:left;padding:7px 9px;margin:3px 0;color:#493879;font-weight:700;font-size:12px}.hourtask small{display:block;margin-bottom:2px;font-size:10px}.hourtask.sport{background:#def5eb;border-color:#51aa88;color:#2e6d57}.entry{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid var(--border)}.entry:last-child{border-bottom:0}.check{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin-top:3px}.entrybody{flex:1;min-width:0}.entrybody strong{font-size:13px;overflow-wrap:anywhere;display:block}.entrybody strong.done{text-decoration:line-through;color:#a6a2b0}.entrybody small{color:var(--muted);font-size:11px;display:block;margin-top:5px;overflow-wrap:anywhere}.entryact{display:flex;gap:4px}.entryact button{border:1px solid var(--border);background:#fff;border-radius:8px;min-width:35px;min-height:35px;color:#746c88}.tag{display:inline-block;background:var(--soft);color:var(--dark);font-weight:800;font-size:11px;padding:5px 8px;border-radius:30px}.empty{border:1px dashed #dcd3ed;border-radius:13px;background:#fcfaff;text-align:center;padding:32px 14px;color:var(--muted);font-size:13px}.empty b{color:#4b455b;display:block;margin-bottom:7px}.listgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.itemcard{border:1px solid var(--border);background:#fff;border-radius:17px;padding:17px;min-width:0}.itemcard h3{margin:0 0 6px;overflow-wrap:anywhere}.itemcard p{font-size:12px;color:var(--muted);margin:0}.cardactions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.progress{height:8px;background:#eceaf4;border-radius:10px;overflow:hidden;margin:12px 0 5px}.progress div{height:100%;background:linear-gradient(90deg,#8665e9,#ef93bd);border-radius:10px}.habitwrap{max-width:100%;overflow-x:auto}.habitgrid{min-width:480px;display:grid;grid-template-columns:minmax(105px,1fr) repeat(7,minmax(42px,62px));gap:6px;align-items:center}.habitname{font-weight:800;font-size:12px;overflow-wrap:anywhere}.habitlabel{text-align:center;font-size:11px;color:var(--muted);font-weight:800}.habitcheck{border:1px solid var(--border);background:#faf9fd;border-radius:11px;min-height:39px;font-size:16px;color:#b6b1c8}.habitcheck.on{color:#298260;background:#d9f5e8;border-color:#b2ead2}.field{min-width:0;display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:12px;font-weight:800;color:#59536d}.field input,.field select,.field textarea,.input{font-size:16px;min-height:45px;border:1px solid #ddd9e7;background:#fff;color:#2e2a43;width:100%;min-width:0;max-width:100%;border-radius:10px;padding:9px 11px}.field textarea{min-height:95px;resize:vertical}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.notearea{min-height:260px!important;resize:vertical}.hint{color:var(--muted);font-size:12px;line-height:1.6}.status{color:#2b9471;font-size:12px;font-weight:700}.space{margin-top:15px}.formactions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px}dialog{border:0;padding:0;border-radius:20px;width:min(94vw,530px);max-height:88vh;color:#2e2a43;box-shadow:0 20px 70px #30254f55}dialog::backdrop{background:#28213c88}dialog form{padding:22px;max-height:88vh;overflow-y:auto}.dialoghead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:19px;gap:10px}.dialoghead h2{margin:5px 0 0}.circle{border:0;border-radius:11px;background:#f0edfa;min-width:41px;height:41px;font-size:26px}.error{color:#ba3154;font-size:12px;min-height:12px}.toast{position:fixed;bottom:22px;right:20px;padding:13px 17px;background:#30244b;color:white;border-radius:12px;font-size:13px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;z-index:10}.toast.show{opacity:1;transform:translateY(0)}.colorchoice{border:2px solid var(--border);background:white;border-radius:12px;min-width:120px;padding:10px;text-align:left}.colorchoice.on{border-color:var(--accent)}.swatch{display:block;height:22px;border-radius:6px;margin-bottom:6px}.file{display:none}.saved{background:#e5f6eb;border-radius:10px;padding:9px 12px;font-size:12px;color:#327d5e;display:inline-block}details summary{cursor:pointer;font-weight:800;font-size:13px}:root[data-theme=sunset]{--accent:#db6d4c;--dark:#b55336;--soft:#fff0e7;--gradient:linear-gradient(110deg,#ffc998,#ffadb4,#f9dfa2)}:root[data-theme=ocean]{--accent:#327aca;--dark:#2862aa;--soft:#e6f2ff;--gradient:linear-gradient(110deg,#98d2fa,#aeaff5,#b5e5e6)}:root[data-theme=mint]{--accent:#298f7c;--dark:#157965;--soft:#e2f8f2;--gradient:linear-gradient(110deg,#a0e9d4,#a9d3f3,#dfe7aa)}@media(max-width:1080px){.layout-split{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:770px){.sidebar{display:none}.mobilebrand{display:block;font-size:20px;color:#7954db}.topbar{height:60px;padding:0 14px}.topbar #nowDate{display:none}.mobile-nav{display:flex;overflow-x:auto;gap:6px;padding:8px 12px;background:white;border-bottom:1px solid var(--border);scrollbar-width:thin}.mobile-nav .nav{flex-shrink:0;min-height:41px;padding:8px 12px;gap:5px;white-space:nowrap;font-size:12px}.mobile-nav .nav i{width:auto}.content{padding:18px 13px 65px}.hero{padding:20px}.hero:after{right:-18px;top:-15px;font-size:130px}.stat{padding:13px}.stat strong{font-size:24px}.month-grid{gap:3px}.cell{min-height:67px;padding:5px 3px;border-radius:7px}.cell .minievent{font-size:0;height:7px;border-radius:10px;padding:0 3px;max-width:24px}.cell .more{font-size:8px}.calendar-monthhead{gap:3px}.calendar-monthhead span{font-size:9px}.listgrid{grid-template-columns:1fr}}@media(max-width:380px){.grid2{grid-template-columns:1fr}.stats{gap:7px}.stat span{font-size:9px}.cell{min-height:59px;padding:3px}.seg button{padding:9px 12px}.topbar .btn{padding:8px 10px;font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}
