body{margin:0}.app-root{height:100vh;background:linear-gradient(160deg,#2d1a6e,#5b35b0 45%,#a56de8);font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;overflow:hidden}.app-root:before{content:"";position:fixed;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;z-index:0}.app-bar{position:relative;z-index:1;display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;background:rgba(0,0,0,.2);border-bottom:1px solid hsla(0,0%,100%,.08);flex-shrink:0}.app-logo{font-size:.9rem;font-weight:800;letter-spacing:-.04em;color:#fff;flex:1 1}.app-username{font-size:.75rem;color:hsla(0,0%,100%,.5)}.app-signout-btn{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.14);border-radius:6px;color:hsla(0,0%,100%,.55);font-size:.72rem;padding:.28rem .75rem;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}.app-signout-btn:hover{background:hsla(0,0%,100%,.15);color:#fff}.app-body{position:relative;z-index:1;display:grid;grid-template-columns:220px 1fr 260px;flex:1 1;overflow:hidden}.app-panel{padding:1.25rem;border-right:1px solid hsla(0,0%,100%,.08);overflow-y:auto;display:flex;flex-direction:column}.app-panel:last-child{border-right:none}.panel-left{align-items:center;overflow-y:auto}.panel-left .left-section-divider,.panel-left .panel-label,.panel-left .profile-metric{width:100%}.panel-kanban{overflow:hidden}.kanban-board{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.65rem;gap:.65rem;flex:1 1}.kanban-board,.kanban-col{min-height:0;overflow:hidden}.kanban-col{display:flex;flex-direction:column;border-radius:8px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);transition:background .12s,border-color .12s}.kanban-col.drag-over{background:rgba(195,176,255,.1);border-color:rgba(195,176,255,.35)}.kanban-col-header{padding:.55rem .7rem .45rem;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:hsla(0,0%,100%,.38);border-bottom:1px solid hsla(0,0%,100%,.06);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.kanban-col-body{flex:1 1;overflow-y:auto;padding:.4rem;min-height:60px}.panel-label{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:hsla(0,0%,100%,.38);margin-bottom:.85rem;flex-shrink:0}.todo-add-row{display:flex;gap:.4rem;margin-bottom:.75rem;flex-shrink:0}.todo-input{flex:1 1;background:hsla(0,0%,100%,.09);border:1px solid hsla(0,0%,100%,.16);border-radius:6px;color:#fff;font-size:.78rem;padding:.38rem .6rem;outline:none;font-family:inherit;transition:border-color .15s,background .15s}.todo-input::placeholder{color:hsla(0,0%,100%,.32)}.todo-input:focus{border-color:rgba(195,176,255,.55);background:hsla(0,0%,100%,.14)}.todo-add-btn{background:rgba(195,176,255,.18);border:1px solid rgba(195,176,255,.3);border-radius:6px;color:#fff;font-size:1.1rem;padding:.28rem .6rem;cursor:pointer;line-height:1;transition:background .15s;font-family:inherit}.todo-add-btn:hover{background:rgba(195,176,255,.32)}.kanban-list,.todo-list{flex:1 1;overflow-y:auto;min-height:0}.kanban-list{display:flex;flex-direction:column}.kanban-section{border-radius:6px;padding:.1rem 0;transition:background .12s,outline .12s}.kanban-section.drag-over{background:rgba(195,176,255,.08);outline:1px dashed rgba(195,176,255,.35);outline-offset:-1px}.kanban-section-label{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:hsla(0,0%,100%,.28);padding:.4rem .45rem .18rem;display:flex;align-items:center;justify-content:space-between}.kanban-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:hsla(0,0%,100%,.2)}.kanban-drop-empty{height:22px;margin:.1rem .45rem .18rem;border-radius:4px;border:1px dashed hsla(0,0%,100%,.08)}.kanban-task-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .45rem;border-radius:6px;margin-bottom:.1rem;font-size:.78rem;color:hsla(0,0%,100%,.78);transition:background .1s;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.kanban-task-item:hover{background:hsla(0,0%,100%,.07)}.kanban-task-item.is-dragging{opacity:.45;background:rgba(195,176,255,.14)}.kanban-task-item.is-done .kanban-task-text{text-decoration:line-through;-webkit-text-decoration-color:hsla(0,0%,100%,.2);text-decoration-color:hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.35)}.kanban-task-handle{color:hsla(0,0%,100%,.18);font-size:.9rem;cursor:-webkit-grab;cursor:grab;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}.kanban-task-text{flex:1 1;line-height:1.35;word-break:break-word}.kanban-task-input{flex:1 1;background:hsla(0,0%,100%,.1);border:1px solid rgba(195,176,255,.5);border-radius:4px;color:#fff;font-size:.78rem;padding:.18rem .4rem;outline:none;font-family:inherit}.kanban-task-del{opacity:0;background:none;border:none;color:hsla(0,0%,100%,.3);font-size:1rem;cursor:pointer;padding:0 .1rem;line-height:1;transition:opacity .1s,color .1s;font-family:inherit;flex-shrink:0}.kanban-task-item:hover .kanban-task-del{opacity:1}.kanban-task-del:hover{color:hsla(0,100%,70%,.85)!important}.left-section-divider{height:1px;background:hsla(0,0%,100%,.08);margin:1rem 0;flex-shrink:0}.todo-item{display:flex;align-items:center;gap:.5rem;padding:.42rem .45rem;border-radius:6px;color:hsla(0,0%,100%,.78);margin-bottom:.28rem;font-size:.78rem;cursor:default;transition:background .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.todo-item:hover{background:hsla(0,0%,100%,.07)}.todo-item.is-done{color:hsla(0,0%,100%,.32)}.todo-check{width:15px;height:15px;border-radius:50%;border:1.5px solid;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.48rem;cursor:pointer;transition:background .12s,border-color .12s}.todo-item.is-done .todo-check{background:rgba(195,176,255,.38);border-color:rgba(195,176,255,.55)}.todo-text{flex:1 1;line-height:1.4;cursor:pointer}.todo-item.is-done .todo-text{text-decoration:line-through}.todo-del{opacity:0;background:none;border:none;color:hsla(0,0%,100%,.3);font-size:1rem;cursor:pointer;padding:0 .1rem;line-height:1;transition:opacity .1s,color .1s;font-family:inherit}.todo-item:hover .todo-del{opacity:1}.todo-del:hover{color:hsla(0,100%,70%,.85)!important}.timer-ring-wrap{position:relative;width:120px;height:120px;margin:.25rem auto .85rem}.timer-svg{transform:rotate(-90deg)}.timer-ring-bg{fill:none;stroke:hsla(0,0%,100%,.1);stroke-width:6}.timer-ring-fg{fill:none;stroke:#c3b0ff;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .9s linear}.timer-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.timer-time{font-size:2rem;font-weight:800;letter-spacing:-.05em;color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.timer-session{font-size:.62rem;color:hsla(0,0%,100%,.42);margin-top:.3rem}.timer-btns{display:flex;gap:.5rem}.timer-btn{padding:.38rem 1.2rem;border-radius:999px;border:1px solid hsla(0,0%,100%,.18);background:hsla(0,0%,100%,.07);color:#fff;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit}.timer-btn:hover{background:hsla(0,0%,100%,.16)}.timer-btn-start{background:rgba(195,176,255,.2);border-color:rgba(195,176,255,.38)}.timer-btn-start:hover{background:rgba(195,176,255,.34)}.timer-btn-reset{padding:.38rem .75rem}.profile-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#7c4dcd,#c3b0ff);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;color:#fff;margin:.25rem 0 .75rem;flex-shrink:0}.profile-name{font-size:.85rem;font-weight:600;color:hsla(0,0%,100%,.9);margin-bottom:1rem;word-break:break-all;cursor:pointer;border-radius:4px;padding:.2rem .3rem;margin-left:-.3rem;transition:background .12s}.profile-name:hover{background:hsla(0,0%,100%,.07)}.profile-bio{font-size:.78rem;color:hsla(0,0%,100%,.7);margin-bottom:1rem;cursor:pointer;line-height:1.4;border-radius:4px;padding:.2rem .3rem;margin-left:-.3rem;transition:background .12s}.profile-bio:hover{background:hsla(0,0%,100%,.07)}.profile-bio.profile-bio-empty{color:hsla(0,0%,100%,.28);font-style:italic}.profile-bio-input{width:100%;background:hsla(0,0%,100%,.1);border:1px solid rgba(195,176,255,.5);border-radius:6px;color:#fff;font-size:.78rem;padding:.3rem .5rem;outline:none;font-family:inherit;margin-bottom:1rem}.profile-bio-input::placeholder{color:hsla(0,0%,100%,.3)}.profile-stats-row{display:flex;align-items:center;gap:0;margin-bottom:1rem;flex-shrink:0}.profile-stat{flex:1 1;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.profile-stat-num{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:-.03em}.profile-stat-label{font-size:.62rem;color:hsla(0,0%,100%,.4);text-transform:uppercase;letter-spacing:.06em}.profile-stat-divider{width:1px;height:28px;background:hsla(0,0%,100%,.1)}.friend-section{margin-bottom:.65rem}.friend-section-label{font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.3);margin-bottom:.3rem}.friend-item{display:flex;align-items:center;gap:.45rem;padding:.3rem;border-radius:6px;margin-bottom:.15rem;transition:background .1s}.friend-item:hover{background:hsla(0,0%,100%,.05)}.friend-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#7c4dcd,#c3b0ff);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff;flex-shrink:0}.friend-id{flex:1 1;font-size:.72rem;font-family:monospace;color:hsla(0,0%,100%,.55);letter-spacing:.02em}.friend-accept{background:rgba(100,210,140,.15);border:1px solid rgba(100,210,140,.3);border-radius:4px;color:rgba(100,210,140,.9);font-size:.75rem;width:22px;height:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s;flex-shrink:0}.friend-accept:hover{background:rgba(100,210,140,.28)}.friend-reject,.friend-remove{background:none;border:none;color:hsla(0,0%,100%,.2);font-size:.95rem;cursor:pointer;padding:0 .1rem;line-height:1;transition:color .1s;flex-shrink:0}.friend-reject:hover,.friend-remove:hover{color:hsla(0,100%,70%,.8)}.add-friend-btn{background:rgba(195,176,255,.15);border:1px solid rgba(195,176,255,.28);border-radius:6px;color:hsla(0,0%,100%,.65);font-size:.68rem;font-weight:600;padding:.22rem .6rem;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.add-friend-btn:hover{background:rgba(195,176,255,.28);color:#fff}.add-friend-panel{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:8px;padding:.65rem;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.5rem}.my-id-row{display:flex;align-items:center;gap:.4rem}.my-id-label{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.35);flex-shrink:0}.my-id-val{flex:1 1;font-size:.72rem;font-family:monospace;color:hsla(0,0%,100%,.6);letter-spacing:.03em}.my-id-copy{background:none;border:none;cursor:pointer;font-size:.8rem;padding:.1rem .2rem;opacity:.6;transition:opacity .1s;line-height:1}.my-id-copy:hover{opacity:1}.profile-divider{height:1px;background:hsla(0,0%,100%,.08);margin:.25rem 0 1rem;flex-shrink:0}.profile-metric{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.78rem;border-bottom:1px solid hsla(0,0%,100%,.05)}.profile-metric:last-child{border-bottom:none}.profile-metric-icon{font-size:.85rem;flex-shrink:0}.profile-metric-label{flex:1 1;color:hsla(0,0%,100%,.55)}.profile-metric-val{font-weight:700;color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.feed-item{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem 0;border-bottom:1px solid hsla(0,0%,100%,.06)}.feed-item:last-child{border-bottom:none}.feed-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#7c4dcd,#c3b0ff);display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:#fff;flex-shrink:0;margin-top:.05rem}.feed-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.feed-content{font-size:.73rem;color:hsla(0,0%,100%,.55);line-height:1.4;word-break:break-word}.feed-content strong{color:hsla(0,0%,100%,.88);font-weight:600}.feed-time{font-size:.62rem;color:hsla(0,0%,100%,.3);letter-spacing:.02em}.feed-empty{font-size:.72rem;color:hsla(0,0%,100%,.25);font-style:italic;line-height:1.5;padding:.25rem 0}.stats-label-toggle{display:flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:4px;padding:.2rem .3rem;margin:0 -.3rem .85rem;transition:background .12s}.stats-label-toggle:hover{background:hsla(0,0%,100%,.06)}.session-tasks-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:6px;padding:.4rem .3rem;margin:0 -.3rem;transition:background .12s}.session-tasks-header:hover{background:hsla(0,0%,100%,.06)}.session-chevron{font-size:.55rem;color:hsla(0,0%,100%,.35);margin-left:.25rem;flex-shrink:0}.session-tasks-list{margin:.1rem 0 .5rem}.session-tasks-empty{font-size:.72rem;color:hsla(0,0%,100%,.25);font-style:italic;padding:.3rem .45rem}.session-task-item{display:flex;align-items:center;gap:.4rem;padding:.32rem .3rem;border-radius:6px;margin-bottom:.1rem;font-size:.75rem;color:hsla(0,0%,100%,.45);transition:background .1s;cursor:default}.session-task-item:hover{background:hsla(0,0%,100%,.06)}.session-task-handle{color:hsla(0,0%,100%,.18);font-size:.9rem;cursor:-webkit-grab;cursor:grab;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}.session-task-item:active .session-task-handle{cursor:-webkit-grabbing;cursor:grabbing}.session-task-text{flex:1 1;line-height:1.35;cursor:pointer;text-decoration:line-through;-webkit-text-decoration-color:hsla(0,0%,100%,.18);text-decoration-color:hsla(0,0%,100%,.18);word-break:break-all}.session-task-text:hover{color:hsla(0,0%,100%,.72)}.session-task-input{flex:1 1;background:hsla(0,0%,100%,.1);border:1px solid rgba(195,176,255,.45);border-radius:4px;color:#fff;font-size:.75rem;padding:.18rem .4rem;outline:none;font-family:inherit}.stats-task-undo{opacity:0;background:none;border:none;color:rgba(195,176,255,.5);font-size:.8rem;cursor:pointer;padding:0 .1rem;line-height:1;transition:opacity .1s,color .1s;font-family:inherit;flex-shrink:0}.session-task-item:hover .stats-task-undo{opacity:1}.stats-task-undo:hover{color:rgba(195,176,255,.9)!important}.session-task-del{opacity:0;background:none;border:none;color:hsla(0,0%,100%,.3);font-size:1rem;cursor:pointer;padding:0 .1rem;line-height:1;transition:opacity .1s,color .1s;font-family:inherit;flex-shrink:0}.session-task-item:hover .session-task-del{opacity:1}.session-task-del:hover{color:hsla(0,100%,70%,.85)!important}.app-panel::-webkit-scrollbar{width:3px}.app-panel::-webkit-scrollbar-track{background:transparent}.app-panel::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.15);border-radius:2px}.delete-account-btn{background:none;border:none;color:hsla(0,0%,100%,.2);font-size:.72rem;font-family:inherit;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:color .15s;-webkit-tap-highlight-color:transparent;white-space:nowrap}.delete-account-btn:hover{color:hsla(0,100%,70%,.7)}.mobile-tabbar{display:none}@media (max-width:980px){.app-body{grid-template-columns:1fr;grid-template-rows:1fr}.app-panel{grid-row:1;grid-column:1;display:none;border-right:none}.app-panel.mobile-active{display:flex}.panel-kanban{overflow-y:auto}.kanban-board{grid-template-columns:1fr;overflow:visible;flex:none}.kanban-col,.kanban-col-body{min-height:0;overflow:visible}.mobile-tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:rgba(0,0,0,.35);border-top:1px solid hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding-bottom:env(safe-area-inset-bottom)}.app-panel.mobile-active{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.mobile-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.55rem 0;background:none;border:none;color:hsla(0,0%,100%,.38);font-size:.6rem;font-weight:600;letter-spacing:.04em;font-family:inherit;cursor:pointer;transition:color .15s;-webkit-tap-highlight-color:transparent}.mobile-tab.active{color:#c3b0ff}.mobile-tab-icon{font-size:1.2rem;line-height:1}}