:root{--bg:#0e0e14;--s1:#15151e;--s2:#1c1c28;--s3:#232332;--line:hsla(0,0%,100%,.07);--acc:#7b6cff;--acc-d:rgba(123,108,255,.14);--acc-b:rgba(123,108,255,.28);--ok:#4fc38a;--warn:#e8a94a;--danger:#e05c5c;--text:#e2e0f0;--sub:#7a7898;--r:14px;--nav-h:72px;--topbar-h:36px;--card:#15151e}[data-theme=light]{--bg:#f4f4f8;--s1:#fff;--s2:#ebebf3;--s3:#e0e0ec;--line:rgba(0,0,0,.08);--acc:#6b5ce7;--acc-d:rgba(107,92,231,.1);--acc-b:rgba(107,92,231,.22);--ok:#2ea868;--warn:#c97f1a;--danger:#d44040;--text:#1a1a2e;--sub:#6b6888;--card:#fff}[data-theme=light] .btn-g{background:rgba(0,0,0,.05);color:#4a4868;border-color:rgba(0,0,0,.1)}[data-theme=light] .btn-g:hover{background:rgba(0,0,0,.09);color:var(--text)}[data-theme=light] .modal{border:1px solid rgba(0,0,0,.1)}[data-theme=light] .modal-x{background:rgba(0,0,0,.06);color:var(--sub)}[data-theme=light] .modal-x:hover{background:rgba(0,0,0,.12)}[data-theme=light] .oauth-btn{background:rgba(0,0,0,.03);color:#4a4868;border-color:rgba(0,0,0,.12)}[data-theme=light] .oauth-btn:hover{background:rgba(0,0,0,.07);color:var(--text)}[data-theme=light] .sbadge-local{background:rgba(0,0,0,.06)}[data-theme=light] .spin{border-color:rgba(0,0,0,.12);border-top-color:var(--acc)}[data-theme=light] .p-n,[data-theme=light] .p-t{color:rgba(0,0,0,.22)}[data-theme=light] .p-card.empty{border:1px dashed rgba(0,0,0,.15);color:rgba(0,0,0,.25)}[data-theme=light] .task-chk{border-color:rgba(0,0,0,.2)}[data-theme=light] .storage-track,[data-theme=light] .usage-track{background:rgba(0,0,0,.07)}[data-theme=light] .cp.on{border-color:rgba(0,0,0,.3)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{height:100vh;height:100dvh;background:var(--bg);color:var(--text);font-family:Noto Sans JP,sans-serif;overflow:hidden;font-size:14px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;transition:background .25s,color .25s}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 60% at 10% 0,rgba(123,108,255,.07) 0,transparent 60%)}[data-theme=light] body:before{background:radial-gradient(ellipse 70% 60% at 10% 0,rgba(107,92,231,.05) 0,transparent 60%)}#__next,#app-root{position:relative;z-index:1;display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:460px;margin:0 auto}.scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 16px 20px}.scroll-area::-webkit-scrollbar{width:3px}.scroll-area::-webkit-scrollbar-thumb{background:rgba(123,108,255,.25);border-radius:2px}@keyframes up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes slideUp{0%{transform:translateY(32px);opacity:0}to{transform:none;opacity:1}}@keyframes bounce{0%,80%,to{transform:scale(1);opacity:.5}40%{transform:scale(1.35);opacity:1}}.page-anim{animation:up .28s ease both}nav.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:460px;height:calc(var(--nav-h) + env(safe-area-inset-bottom, 0px));background:rgba(14,14,20,.94);backdrop-filter:blur(20px);border-top:1px solid var(--line);transition:background .25s;display:flex;align-items:center;justify-content:space-around;padding:0 2px env(safe-area-inset-bottom,0);z-index:100;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}[data-theme=light] nav.bottom-nav{background:rgba(244,244,248,.95)}nav.bottom-nav::-webkit-scrollbar{display:none}.nb{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;cursor:pointer;color:var(--sub);font-size:10px;font-family:inherit;font-weight:700;padding:4px 6px;border-radius:12px;transition:.18s;text-decoration:none;flex:1;min-width:48px}.nb.on{color:var(--acc)}.nbi{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;transition:.18s}.nb.on .nbi{background:var(--acc-d)}.pg-title{font-size:19px;font-weight:900;margin-bottom:3px}.pg-sub{font-size:11px;color:var(--sub)}.sec-label{font-size:10px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.07em;margin-bottom:9px}.accent{color:var(--acc)}.card{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:10px;transition:background .25s,border-color .25s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:10px 16px;min-height:44px;border-radius:10px;border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:13px;transition:.18s}.btn-a{background:var(--acc);color:#fff}.btn-a:hover{opacity:.88;transform:scale(1.01)}.btn-a:active{transform:scale(.98)}.btn-g{background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.5);border:1px solid var(--line)}.btn-g:hover{background:hsla(0,0%,100%,.1);color:var(--text)}.btn-full{width:100%}.btn-sm{padding:7px 13px;min-height:36px;font-size:12px;border-radius:9px}.inp{width:100%;background:var(--s2);border:1px solid var(--line);border-radius:10px;padding:10px 13px;color:var(--text);font-family:inherit;font-size:16px;outline:none;transition:.18s}.inp:focus{border-color:var(--acc-b);box-shadow:0 0 0 3px var(--acc-d)}.inp::-moz-placeholder{color:var(--sub)}.inp::placeholder{color:var(--sub)}.inp option{background:var(--s2)}.btn,.nb,button{touch-action:manipulation}.nb,.nbi{-moz-user-select:none;user-select:none;-webkit-user-select:none}label.lbl{display:block;color:var(--sub);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.tag,label.lbl{font-size:10px;font-weight:700}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px}.t-acc{background:var(--acc-d);color:var(--acc)}.t-teal{background:rgba(79,195,138,.12);color:var(--ok);font-family:DM Mono,monospace}.t-red{background:rgba(224,92,92,.14);color:var(--danger)}.t-yel{background:rgba(232,169,74,.14);color:var(--warn)}.t-grn{background:rgba(79,195,138,.12);color:var(--ok)}.toast-wrap{position:fixed;top:calc(var(--topbar-h) + 8px);left:50%;transform:translateX(-50%) translateY(-70px);background:var(--s2);border:1px solid var(--acc-b);border-radius:12px;padding:9px 18px;font-size:12px;z-index:999;white-space:nowrap;transition:.28s cubic-bezier(.34,1.56,.64,1);pointer-events:none;box-shadow:0 6px 24px rgba(0,0,0,.4)}.toast-wrap.show{transform:translateX(-50%) translateY(0)}.toast-wrap.err{border-color:rgba(224,92,92,.4)}.modal-bg{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);align-items:flex-end;justify-content:center}.modal-bg.open{display:flex}.modal{background:var(--s1);border:1px solid hsla(0,0%,100%,.08);border-radius:20px 20px 0 0;padding:20px 16px 24px;width:100%;max-width:460px;max-height:92vh;overflow-y:auto;animation:slideUp .24s ease both}.modal-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-title{font-size:15px;font-weight:900}.modal-x{background:hsla(0,0%,100%,.07);border:none;color:var(--sub);width:26px;height:26px;border-radius:7px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.modal-x:hover{background:hsla(0,0%,100%,.12);color:var(--text)}.fg{margin-bottom:12px}.spin{display:inline-block;width:16px;height:16px;border:2px solid hsla(0,0%,100%,.15);border-top:2px solid var(--acc);border-radius:50%;animation:spin .65s linear infinite}.auth-screen{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg)}.auth-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 0,rgba(123,108,255,.1) 0,transparent 60%);pointer-events:none}.auth-card{width:100%;max-width:340px;background:var(--s1);border:1px solid var(--line);border-radius:18px;padding:24px 20px;animation:up .35s ease;position:relative}.auth-logo{width:48px;height:48px;background:var(--acc);align-items:center;justify-content:center;font-size:24px;margin:0 auto 12px}.auth-logo,.auth-tab{border-radius:14px;display:flex}.auth-tab{background:var(--s2);padding:3px;margin-bottom:16px;gap:2px}.auth-tb{flex:1;padding:7px;border-radius:11px;border:none;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:.18s;color:var(--sub);background:none}.auth-tb.on{background:var(--acc);color:#fff}.auth-sep{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:11px;color:var(--sub)}.auth-sep:after,.auth-sep:before{content:"";flex:1;height:1px;background:var(--line)}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:10px;border-radius:10px;border:1px solid var(--line);background:hsla(0,0%,100%,.03);color:hsla(0,0%,100%,.55);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.18s}.oauth-btn:hover{background:hsla(0,0%,100%,.06);color:var(--text)}.sbadge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;padding:2px 7px;border-radius:8px}.sbadge-cloud{background:rgba(79,195,138,.12);color:var(--ok)}.sbadge-local{background:hsla(0,0%,100%,.06);color:var(--sub)}.sdot{width:5px;height:5px;border-radius:50%;animation:pulse 2.4s ease infinite}.sbadge-cloud .sdot{background:var(--ok)}.sbadge-local .sdot{background:var(--sub)}.greeting{background:var(--s1);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:var(--r);padding:16px;margin-bottom:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.stat{background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:12px 8px;text-align:center}.stat-n{font-size:22px;font-weight:900;font-family:DM Mono,monospace;line-height:1;color:var(--acc)}.stat-l{font-size:9px;color:var(--sub);margin-top:3px}.cls-row{display:flex;align-items:center;gap:10px;background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:7px;transition:.15s}.cls-row:hover{border-color:var(--acc-b)}.cls-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cls-time{font-size:10px;font-family:DM Mono,monospace;color:var(--sub);min-width:44px}.due-row{display:flex;align-items:center;gap:9px;background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:7px}.due-bar{width:2px;align-self:stretch;border-radius:2px;flex-shrink:0}.day-tabs{display:flex;gap:5px;overflow-x:auto;padding-bottom:7px;margin-bottom:12px}.day-tabs::-webkit-scrollbar{display:none}.day-tab{flex-shrink:0;padding:6px 14px;border-radius:20px;border:1px solid var(--line);background:var(--s1);color:var(--sub);font-size:12px;font-family:inherit;font-weight:700;cursor:pointer;transition:.18s}.day-tab.on{background:var(--acc);border-color:var(--acc);color:#fff}.day-tab.today-t{border-color:var(--acc-b);color:var(--acc)}.period-row{display:flex;gap:8px;align-items:stretch;margin-bottom:8px}.p-num{width:32px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.p-n{font-size:16px;font-weight:900;line-height:1}.p-n,.p-t{font-family:DM Mono,monospace;color:hsla(0,0%,100%,.12)}.p-t{font-size:8px;text-align:center}.p-card{flex:1;border-radius:12px;padding:11px 12px;border:1px solid transparent;cursor:pointer;transition:.18s;position:relative;overflow:hidden}.p-card:hover{opacity:.85}.p-card.empty{border:1px dashed hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;color:hsla(0,0%,100%,.15);font-size:12px}.p-card.empty:hover{border-color:var(--acc-b);color:var(--acc)}.p-stripe{position:absolute;left:0;top:0;bottom:0;width:3px}.fil-row{display:flex;gap:5px;margin-bottom:11px;overflow-x:auto}.fil-row::-webkit-scrollbar{display:none}.fil{flex-shrink:0;padding:5px 13px;border-radius:20px;border:1px solid var(--line);background:var(--s1);color:var(--sub);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:.18s}.fil.on{background:var(--acc-d);border-color:var(--acc-b);color:var(--acc)}.task-item{display:flex;align-items:flex-start;gap:10px;background:var(--s1);border:1px solid var(--line);border-radius:13px;padding:12px;margin-bottom:8px;transition:.18s}.task-item.done{opacity:.4}.task-chk{width:20px;height:20px;border-radius:6px;border:1.5px solid hsla(0,0%,100%,.2);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.18s;background:var(--s2);margin-top:1px;font-size:10px;color:#fff}.task-chk.on{background:var(--acc);border-color:var(--acc)}.task-body{flex:1;min-width:0}.task-ttl{font-size:13px;font-weight:700;margin-bottom:5px}.task-item.done .task-ttl{text-decoration:line-through;color:var(--sub)}.task-del{background:none;border:none;color:var(--sub);cursor:pointer;font-size:15px;padding:2px;transition:.18s;flex-shrink:0;opacity:.6}.task-del:hover{color:var(--danger);opacity:1}.ai-page-wrap{display:flex;flex-direction:column;flex:1;min-height:0;padding:14px 16px 10px;overflow:hidden}.ai-hdr{gap:10px;padding:12px;border-radius:14px;background:var(--s1);border:1px solid var(--line);margin-bottom:10px}.ai-avatar,.ai-hdr{display:flex;align-items:center;flex-shrink:0}.ai-avatar{width:44px;height:44px;border-radius:50%;background:var(--acc);justify-content:center;font-size:20px;position:relative}.ai-dot{position:absolute;bottom:0;right:0;width:11px;height:11px;background:var(--ok);border-radius:50%;border:2px solid var(--bg)}.acct-av{width:50px;height:50px;border-radius:50%;background:var(--acc);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;color:#fff;flex-shrink:0}.storage-box{background:var(--s2);border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px}.storage-track{height:4px;background:hsla(0,0%,100%,.05);border-radius:2px;overflow:hidden;margin-top:6px}.storage-fill{height:100%;border-radius:2px;transition:.4s}.usage-track{height:3px;background:hsla(0,0%,100%,.06);border-radius:2px;overflow:hidden}.usage-fill{height:100%;border-radius:2px;transition:.4s}.cp{padding:7px;border-radius:9px;border:2px solid transparent;cursor:pointer;font-size:12px;font-weight:700;transition:.18s;flex:1;font-family:inherit}.cp.on{border-color:hsla(0,0%,100%,.35);transform:scale(1.05)}.global-loader{position:fixed;inset:0;z-index:400;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.sidebar-logo{display:none}.main-content{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding-top:var(--topbar-h);padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom, 0px))}.pg-title{font-size:clamp(17px,5vw,19px)}.stat-n{font-size:clamp(18px,5.5vw,22px)}@media (min-width:768px){:root{--nav-h:0px;--sidebar-w:220px;--topbar-h:0px}body,html{font-size:15px}#__next,#app-root{max-width:1100px;flex-direction:row;height:100vh;height:100dvh}nav.bottom-nav{position:static;width:var(--sidebar-w);height:100%;flex-shrink:0;flex-direction:column;align-items:stretch;justify-content:flex-start;border-top:none;border-right:1px solid var(--line);padding:20px 10px;overflow-y:auto;overflow-x:hidden;transform:none;left:auto;bottom:auto}nav.bottom-nav::-webkit-scrollbar{display:none}.sidebar-logo{gap:10px;padding:4px 10px 18px;border-bottom:1px solid var(--line);margin-bottom:10px}.sidebar-logo,.sidebar-logo-icon{display:flex;align-items:center;flex-shrink:0}.sidebar-logo-icon{width:34px;height:34px;border-radius:10px;background:var(--acc);justify-content:center;font-size:17px}.sidebar-logo-text{font-size:15px;font-weight:900;color:var(--text)}.nb{flex-direction:row;justify-content:flex-start;text-align:left;gap:10px;font-size:13px;padding:10px 14px;border-radius:12px;min-width:unset;flex:none;width:100%;flex-shrink:0}.nb:hover{background:hsla(0,0%,100%,.06);color:var(--text)}.nb.on{background:var(--acc-d);color:var(--acc)}.nbi{width:28px;height:28px;font-size:16px;border-radius:8px}.nb.on .nbi{background:transparent}.scroll-area{padding:28px 36px}.stats{grid-template-columns:repeat(4,1fr)}.pg-title,.stat-n{font-size:22px}.modal-bg{align-items:center}.modal{border-radius:20px;max-height:82vh;max-width:560px;padding-bottom:24px}.ai-page-wrap{flex:1;min-height:0;padding:24px 36px 16px}.card{padding:18px 20px}.auth-card{max-width:420px;padding:32px 28px}.tt-grid-wrap{font-size:12px}}@media (min-width:1200px){:root{--sidebar-w:260px}#__next,#app-root{max-width:1300px}nav.bottom-nav{padding:24px 14px}.sidebar-logo{padding:4px 12px 20px}.scroll-area{padding:32px 52px}.nb{font-size:14px;padding:11px 16px}.modal{max-width:620px}.stats{grid-template-columns:repeat(5,1fr)}}