@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght=0,500;0,700;1,400&display=swap");:root{--bg-base:#0b0f19;--bg-surface:rgba(20,26,46,.45);--bg-surface-hover:rgba(30,38,66,.65);--border-color:hsla(0,0%,100%,.08);--border-color-focus:rgba(99,102,241,.4);--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent:#6366f1;--accent-glow:rgba(99,102,241,.25);--color-1:linear-gradient(135deg,#ff6b6b,#ff8787);--color-2:linear-gradient(135deg,#4dabf7,#3bc9db);--color-3:linear-gradient(135deg,#51cf66,#94d82d);--color-4:linear-gradient(135deg,#fcc419,#ffd43b);--color-5:linear-gradient(135deg,#cc5de8,#da77f2);--color-6:linear-gradient(135deg,#ff922b,#ffa94d);--color-7:linear-gradient(135deg,#20c997,#12b886);--color-8:linear-gradient(135deg,#845ef7,#b197fc);--color-9:linear-gradient(135deg,#ff8787,#f783ac);--color-10:linear-gradient(135deg,#748ffc,#4dabf7);--c-solid-1:#ff6b6b;--c-solid-2:#3bc9db;--c-solid-3:#51cf66;--c-solid-4:#fcc419;--c-solid-5:#cc5de8;--c-solid-6:#ff922b;--c-solid-7:#20c997;--c-solid-8:#845ef7;--c-solid-9:#f783ac;--c-solid-10:#748ffc;--radius-lg:24px;--radius-md:16px;--radius-sm:8px;--shadow-sm:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-md:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-lg:0 20px 25px -5px rgba(0,0,0,.2),0 10px 10px -5px rgba(0,0,0,.04);--shadow-glass:0 8px 32px 0 rgba(0,0,0,.37);--transition-fast:0.15s ease;--transition-normal:0.3s cubic-bezier(0.4,0,0.2,1);--wheel-stroke-inactive:hsla(0,0%,100%,.04);--wheel-bg-inactive:hsla(0,0%,100%,.015);--wheel-grid-line:hsla(0,0%,100%,.07)}[data-theme=light]{--bg-base:#f7f9fc;--bg-surface:hsla(0,0%,100%,.7);--bg-surface-hover:hsla(0,0%,100%,.9);--border-color:rgba(0,0,0,.08);--border-color-focus:rgba(99,102,241,.4);--text-primary:#1f2937;--text-secondary:#4b5563;--text-muted:#9ca3af;--accent:#4f46e5;--accent-glow:rgba(79,70,229,.15);--shadow-glass:0 8px 32px 0 rgba(31,38,135,.08);--wheel-stroke-inactive:rgba(0,0,0,.02);--wheel-bg-inactive:rgba(0,0,0,.005);--wheel-grid-line:rgba(0,0,0,.08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Plus Jakarta Sans,sans-serif;background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;transition:background-color var(--transition-normal),color var(--transition-normal);line-height:1.5}.bg-glow-container{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;z-index:-1;pointer-events:none}.bg-glow-orb{position:absolute;border-radius:50%;filter:blur(140px);opacity:.15;mix-blend-mode:screen;animation:float 25s ease-in-out infinite alternate}[data-theme=light] .bg-glow-orb{opacity:.08;mix-blend-mode:multiply;filter:blur(100px)}.orb-1{top:-10%;right:10%;width:45vw;height:45vw;background:radial-gradient(circle,var(--c-solid-8) 0,transparent 80%)}.orb-2{bottom:-15%;left:5%;width:50vw;height:50vw;background:radial-gradient(circle,var(--c-solid-2) 0,transparent 80%);animation-delay:-5s;animation-duration:35s}.orb-3{top:40%;right:40%;width:35vw;height:35vw;background:radial-gradient(circle,var(--c-solid-1) 0,transparent 80%);animation-delay:-12s;animation-duration:28s}@keyframes float{0%{transform:translate(0) scale(1)}50%{transform:translate(5%,8%) scale(1.1)}to{transform:translate(-3%,-5%) scale(.95)}}header{padding:1.5rem 2.5rem;justify-content:space-between;border-bottom:1px solid var(--border-color);background:rgba(var(--bg-base),.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.logo-section,header{display:flex;align-items:center}.logo-section{gap:.75rem}.logo-icon{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--c-solid-8),var(--c-solid-2));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 15px rgba(132,94,247,.4)}.logo-icon,h1{font-weight:800}h1{font-size:1.4rem;letter-spacing:-.5px;background:linear-gradient(120deg,var(--text-primary) 40%,var(--c-solid-8));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-actions{display:flex;align-items:center;gap:.75rem}.glass-card{background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.glass-card:hover{border-color:hsla(0,0%,100%,.12)}[data-theme=light] .glass-card:hover{border-color:rgba(0,0,0,.15)}main{flex:1 1;display:grid;grid-template-columns:350px 1fr 340px;grid-gap:1.75rem;gap:1.75rem;padding:1.75rem 2.5rem;max-width:1800px;width:100%;margin:0 auto}@media screen and (max-width:1400px){main{grid-template-columns:320px 1fr;grid-template-rows:auto auto}.right-sidebar{grid-column:1/-1}}@media screen and (max-width:1024px){main{grid-template-columns:1fr;padding:1rem;gap:1.25rem}.left-sidebar,.right-sidebar{grid-column:auto}}.left-sidebar{display:flex;flex-direction:column;gap:1.25rem;max-height:85vh;overflow-y:auto;padding-right:4px}.left-sidebar::-webkit-scrollbar,.right-sidebar::-webkit-scrollbar{width:6px}.left-sidebar::-webkit-scrollbar-track,.right-sidebar::-webkit-scrollbar-track{background:transparent}.left-sidebar::-webkit-scrollbar-thumb,.right-sidebar::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:3px}.left-sidebar::-webkit-scrollbar-thumb:hover,.right-sidebar::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.2)}.panel-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);justify-content:space-between}.panel-header,.panel-title{display:flex;align-items:center}.panel-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);gap:.5rem}.panel-content{padding:1.25rem 1.5rem}.habit-list{display:flex;flex-direction:column;gap:.85rem}.habit-item{display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:hsla(0,0%,100%,.03);border:2px solid transparent;transition:all var(--transition-fast);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.habit-item:active{cursor:-webkit-grabbing;cursor:grabbing}.habit-item.dragging{opacity:.3;border:2px dashed var(--accent)}.habit-item.drag-over{background:rgba(99,102,241,.1);border:2px solid var(--accent)}.habit-number-label{font-size:.85rem;font-weight:800;color:var(--text-muted);min-width:16px}.habit-item:hover{background:hsla(0,0%,100%,.06)}[data-theme=light] .habit-item{background:rgba(0,0,0,.015)}[data-theme=light] .habit-item:hover{background:rgba(0,0,0,.03)}.habit-color-indicator{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid var(--border-color);transition:transform var(--transition-fast),border-color var(--transition-fast);position:relative}.habit-color-indicator:hover{transform:scale(1.15);border-color:var(--text-primary)}.habit-input{background:transparent;border:none;border-bottom:1px solid transparent;color:var(--text-primary);font-family:inherit;font-size:.95rem;font-weight:600;padding:2px 4px;width:100%;outline:none;transition:border-color var(--transition-fast)}.habit-input:focus{border-color:var(--accent)}.habit-percentage{font-size:.8rem;font-weight:700;color:var(--text-secondary);background:hsla(0,0%,100%,.05);padding:2px 8px;border-radius:10px;min-width:42px;text-align:center}.habit-actions{display:flex;align-items:center;gap:.4rem}.center-canvas{flex-direction:column;gap:1.5rem}.center-canvas,.wheel-container{display:flex;align-items:center;justify-content:center}.wheel-container{width:100%;max-width:600px;aspect-ratio:1;position:relative}svg.habit-wheel{width:100%;height:100%;overflow:visible}.wheel-wedge{cursor:pointer;transition:opacity var(--transition-fast),filter var(--transition-fast);stroke-linejoin:round;touch-action:none}.wheel-wedge.completed{filter:drop-shadow(0 0 6px var(--glow-color))}.wheel-wedge:hover{opacity:.85;filter:brightness(1.2) drop-shadow(0 0 8px var(--glow-color))}.wheel-grid-ring{fill:none}.wheel-grid-ray,.wheel-grid-ring{stroke:transparent;stroke-width:0;pointer-events:none}.wheel-legend-line{stroke:var(--wheel-grid-line);stroke-width:.75;pointer-events:none}.wheel-label{font-size:10px;font-weight:700;fill:var(--text-secondary);text-anchor:middle;dominant-baseline:central;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wheel-center-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32%;height:32%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--bg-base);border:1px solid var(--border-color);box-shadow:inset 0 0 20px rgba(0,0,0,.4);pointer-events:auto;z-index:5;padding:10px}[data-theme=light] .wheel-center-content{box-shadow:inset 0 0 15px rgba(0,0,0,.05)}.wheel-center-month{font-size:.9rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);margin-bottom:2px}.wheel-center-year{display:none}.wheel-center-stats{font-size:1.5rem;font-weight:800;letter-spacing:-1px;color:var(--accent)}.wheel-center-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.wheel-controls{gap:1rem;background:var(--bg-surface);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:30px}.control-btn,.wheel-controls{display:flex;align-items:center}.control-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;border-radius:50%;justify-content:center;transition:all var(--transition-fast)}.control-btn:hover:not(:disabled){background:hsla(0,0%,100%,.08);color:var(--text-primary)}[data-theme=light] .control-btn:hover:not(:disabled){background:rgba(0,0,0,.05)}.control-btn:disabled{opacity:.3;cursor:not-allowed}.current-month-display{font-size:.95rem;font-weight:700;min-width:130px;text-align:center}.right-sidebar{display:flex;flex-direction:column;gap:1.25rem;max-height:85vh;overflow-y:auto}.stat-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:.75rem}.stat-card{background:hsla(0,0%,100%,.025);border:none;border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.25rem}[data-theme=light] .stat-card{background:rgba(0,0,0,.01)}.stat-value{font-size:1.4rem;font-weight:800;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.quote-section{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem}.quote-text{font-family:Playfair Display,Georgia,serif;font-size:1.2rem;font-style:italic;line-height:1.4;color:var(--text-primary);text-align:center;position:relative;padding:0 .5rem}.quote-text:after,.quote-text:before{content:'"';color:var(--c-solid-8);font-size:1.8rem;font-family:serif;position:relative;top:5px}.quote-input-wrapper{margin-top:.5rem}.color-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.5rem;gap:.5rem;padding:.75rem;background:var(--bg-base);border:1px solid var(--border-color);border-radius:var(--radius-md);position:absolute;z-index:100;box-shadow:var(--shadow-lg);display:none}.color-option{width:24px;height:24px;border-radius:50%;cursor:pointer;border:1px solid hsla(0,0%,100%,.2);transition:transform .1s ease}.color-option:hover{transform:scale(1.2)}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select{background:hsla(0,0%,100%,.03);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:.5rem .75rem;font-family:inherit;font-size:.9rem;outline:none;width:100%;color-scheme:dark;transition:border-color var(--transition-fast),background var(--transition-fast)}[data-theme=light] input[type=date],[data-theme=light] input[type=email],[data-theme=light] input[type=number],[data-theme=light] input[type=password],[data-theme=light] input[type=text],[data-theme=light] select{background:rgba(0,0,0,.02);color-scheme:light}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=text]:focus,select:focus{border-color:var(--accent);background:hsla(0,0%,100%,.06)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;font-size:.85rem;font-weight:700;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-color)}.btn-primary{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 4px 12px var(--accent-glow)}.btn-primary:hover{background:#4f46e5;box-shadow:0 6px 16px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:hsla(0,0%,100%,.04);color:var(--text-primary)}.btn-secondary:hover{background:hsla(0,0%,100%,.08)}[data-theme=light] .btn-secondary{background:rgba(0,0,0,.03)}[data-theme=light] .btn-secondary:hover{background:rgba(0,0,0,.06)}.btn-sm{padding:.35rem .75rem;border-radius:var(--radius-sm);font-size:.8rem}.btn-icon{width:36px;height:36px;padding:0;border-radius:50%}.btn-danger{background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.2)}.btn-danger:hover{background:rgba(239,68,68,.2)}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.modal-backdrop.active{opacity:1;pointer-events:auto}.modal-card{width:100%;max-width:500px;padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem;transform:translateY(20px);transition:transform var(--transition-normal)}.modal-backdrop.active .modal-card{transform:translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.2rem;font-weight:800}.modal-close{font-size:1.5rem;cursor:pointer;background:none;border:none;color:var(--text-secondary)}.modal-body textarea{width:100%;height:150px;background:rgba(0,0,0,.2);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:.75rem;font-family:monospace;font-size:.85rem;resize:none;outline:none}@keyframes completed-pulse{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.02);filter:brightness(1.3) drop-shadow(0 0 10px var(--glow-color))}to{transform:scale(1);filter:brightness(1)}}.pulse-animate{animation:completed-pulse .4s cubic-bezier(.175,.885,.32,1.275)}.metric-guide{display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:.6rem 1.25rem;border-radius:30px;margin-top:1rem;font-size:.85rem;font-weight:600}.metric-guide-item{display:flex;align-items:center;gap:.4rem}.metric-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.done-dot{background-color:#51cf66;box-shadow:0 0 8px rgba(81,207,102,.4)}.partial-dot{background-color:#ffd43b;box-shadow:0 0 8px rgba(255,212,59,.4)}.not-done-dot{background-color:#ff6b6b;box-shadow:0 0 8px hsla(0,100%,71%,.4)}.exempt-dot{background-color:#adb5bd;box-shadow:0 0 8px rgba(173,181,189,.4)}.info-tip{font-size:.75rem;color:var(--text-muted);border-left:1px solid var(--border-color);padding-left:.8rem;margin-left:.2rem;font-style:italic}@media print{@page{size:landscape;margin:6mm 10mm}body{background:#fff!important;color:#000!important;min-height:auto;overflow:hidden}.auth-overlay,.bg-glow-container,.bg-glow-orb,.btn,.color-picker-grid,.habit-actions,.header-actions,.metric-guide,.mobile-menu-overlay,.mobile-tab-bar,.panel-header .btn,.right-sidebar,.wheel-controls,header{display:none!important}main{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;max-width:100%!important;width:100%!important;height:85vh!important;gap:2rem!important}.left-sidebar,main{display:flex!important;padding:0!important;margin:0!important}.left-sidebar{flex-direction:column!important;width:32%!important;max-height:none!important;overflow:visible!important;background:none!important;border:none!important;box-shadow:none!important}.panel-header{border-bottom:2px solid #000!important;padding:0 0 .5rem!important;margin-bottom:.75rem!important}.panel-title{font-size:1.2rem!important;color:#000!important;font-weight:800!important;text-transform:uppercase}.habit-list{display:flex!important;flex-direction:column!important;gap:.5rem!important}.habit-item{background:none!important;border:none!important;border-bottom:1.5px solid #ccc!important;border-radius:0!important;padding:.4rem 0!important;grid-template-columns:auto auto 1fr!important}.habit-color-indicator{border:2.5px solid #000!important;width:18px!important;height:18px!important;background:none!important}.print-blank-checkbox{display:none!important}.habit-input{color:#000!important;font-size:.95rem!important;font-weight:800!important}.habit-percentage{display:none!important}.center-canvas{display:flex!important;width:65%!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;page-break-inside:avoid}.wheel-container{max-width:580px!important;max-height:580px!important;width:100%!important;aspect-ratio:1!important}svg.habit-wheel{filter:none!important;width:100%!important;height:100%!important}.wheel-wedge{stroke:#000!important;stroke-width:1.2px!important;fill:none!important}body[data-print-mode=filled] .wheel-wedge.completed.wedge-done{fill:#9be9a8!important;stroke:#000!important}body[data-print-mode=filled] .wheel-wedge.completed.wedge-partial{fill:#ffea7f!important;stroke:#000!important}body[data-print-mode=filled] .wheel-wedge.completed.wedge-not-done{fill:#ffb3b3!important;stroke:#000!important}body[data-print-mode=filled] .wheel-wedge.completed.wedge-exempt{fill:#e2e8f0!important;stroke:#000!important}.wheel-grid-ray,.wheel-grid-ring{stroke:transparent!important;display:none!important}.wheel-label{fill:#000!important;font-size:10px!important;font-weight:800!important}.wheel-center-content{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;background:#fff!important;border:2.5px solid #000!important;box-shadow:none!important;width:32%!important;height:32%!important}.wheel-center-month{color:#000!important;font-size:1.2rem!important;font-weight:800!important;margin-bottom:0!important}.wheel-center-label,.wheel-center-stats{display:none!important}.wheel-center-print-line{display:block!important;width:80%;height:2px;background:#000;margin:8px 0!important}.wheel-center-year{font-size:1.2rem!important;font-weight:800!important;margin-top:0!important}.print-quote,.wheel-center-year{display:block!important;color:#000!important}.print-quote{text-align:center;margin-top:.5rem;font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:1.1rem;font-weight:700;position:fixed;bottom:8px;left:0;width:100%}}.print-blank-checkbox,.print-quote,.wheel-center-print-line{display:none}.auth-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;display:flex;align-items:center;justify-content:center;background:rgba(8,11,21,.45);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);transition:opacity var(--transition-normal)}.auth-card{width:100%;max-width:440px;padding:2.5rem;border-radius:var(--radius-lg);background:rgba(20,26,46,.55);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 20px 50px rgba(0,0,0,.5),inset 0 1px 1px hsla(0,0%,100%,.1);display:flex;flex-direction:column;gap:1.5rem;position:relative;overflow:hidden;animation:authCardEntrance .6s cubic-bezier(.16,1,.3,1)}@keyframes authCardEntrance{0%{transform:translateY(30px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.auth-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(99,102,241,.06) 0,transparent 60%);pointer-events:none;z-index:0}.auth-header{text-align:center;z-index:1}.auth-logo-icon{width:50px;height:50px;margin:0 auto 1rem;border-radius:50%;background:linear-gradient(135deg,var(--c-solid-8),var(--c-solid-2));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.3rem;box-shadow:0 0 20px rgba(132,94,247,.4)}.auth-title{font-size:1.7rem;font-weight:800;letter-spacing:-.7px;background:linear-gradient(120deg,var(--text-primary) 30%,var(--c-solid-8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.25rem}.auth-subtitle{font-size:.85rem;color:var(--text-secondary);font-weight:500}.auth-form{gap:1.2rem;z-index:1}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:.4rem}.auth-label{font-size:.8rem;font-weight:700;color:var(--text-secondary);letter-spacing:.3px}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-wrapper svg{position:absolute;left:12px;color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast)}.auth-input{width:100%;padding:.65rem .75rem .65rem 2.5rem!important;background:rgba(10,14,26,.4)!important;border:1px solid hsla(0,0%,100%,.08)!important;border-radius:var(--radius-md)!important;color:var(--text-primary)!important;font-size:.95rem!important;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)!important}.auth-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(99,102,241,.15)!important}.auth-input:focus+svg{color:var(--accent)}.auth-options{display:flex;align-items:center;justify-content:space-between;font-size:.8rem}.auth-checkbox-label{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);cursor:pointer;font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:4px;background:rgba(10,14,26,.4);border:1px solid hsla(0,0%,100%,.12);cursor:pointer;position:relative;transition:all var(--transition-fast)}.auth-checkbox:checked{background:var(--accent);border-color:var(--accent)}.auth-checkbox:checked:after{content:"✓";position:absolute;color:#fff;font-size:11px;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700}.auth-checkbox:focus{box-shadow:0 0 0 2px rgba(99,102,241,.2)}.auth-btn-submit{margin-top:.5rem;padding:.75rem!important;border-radius:var(--radius-md)!important;font-size:.95rem!important;font-weight:700!important;background:var(--accent)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 4px 15px rgba(99,102,241,.3)!important;cursor:pointer;transition:all var(--transition-fast)!important}.auth-btn-submit:hover{background:#4f46e5!important;box-shadow:0 6px 20px rgba(99,102,241,.4)!important;transform:translateY(-1px)}.auth-btn-submit:active{transform:translateY(0)}.auth-footer{text-align:center;font-size:.85rem;color:var(--text-secondary);z-index:1}.auth-switch-link{color:var(--accent);font-weight:700;text-decoration:none;margin-left:.25rem;cursor:pointer;transition:color var(--transition-fast)}.auth-switch-link:hover{color:#845ef7;text-decoration:underline}.auth-error-panel{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);color:#f87171;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.5rem;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.user-profile-widget{display:flex;align-items:center;gap:.75rem;background:hsla(0,0%,100%,.03);border:1px solid var(--border-color);padding:.4rem .85rem;border-radius:20px;font-size:.85rem;font-weight:600}.user-email-display{color:var(--text-primary);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-signout{background:none;border:none;color:#ff6b6b;cursor:pointer;font-weight:700;font-size:.8rem;padding:2px 4px;transition:opacity var(--transition-fast)}.btn-signout:hover{opacity:.8;text-decoration:underline}.splash-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--bg-base);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;z-index:20000}.splash-spinner{width:48px;height:48px;border:3px solid rgba(99,102,241,.1);border-top:3px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.splash-text{font-size:.95rem;font-weight:700;color:var(--text-secondary);letter-spacing:.5px}.mobile-tab-bar{display:none;position:fixed;bottom:0;left:0;width:100vw;height:64px;background:rgba(11,15,25,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid hsla(0,0%,100%,.08);z-index:999;align-items:center;justify-content:space-around}.tab-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);font-size:.7rem;font-weight:700;font-family:inherit;cursor:pointer;transition:color var(--transition-fast),transform var(--transition-fast);padding:6px 12px}.tab-item.active{color:var(--accent);transform:translateY(-2px)}.tab-item.active svg{filter:drop-shadow(0 0 6px var(--accent-glow));stroke-width:3px}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(8,11,21,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:10001;display:flex;align-items:flex-end;justify-content:center}.mobile-menu-card{width:100%;max-width:480px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:rgba(20,26,46,.95);border:1px solid hsla(0,0%,100%,.08);border-bottom:none;padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 -10px 40px rgba(0,0,0,.5);animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between}.mobile-menu-header h3{font-size:1.15rem;font-weight:800;letter-spacing:-.5px;background:linear-gradient(120deg,var(--text-primary) 50%,var(--c-solid-8));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mobile-menu-close{font-size:1.6rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;line-height:1}.mobile-menu-body{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.5rem}.mobile-menu-body .btn{width:100%;padding:.8rem 1.2rem;justify-content:flex-start;border-radius:var(--radius-md)}@media screen and (max-width:768px){body{padding-bottom:74px}header{padding:1rem 1.25rem!important}h1{font-size:1.15rem}.logo-icon{width:32px;height:32px;font-size:.9rem}.wheel-controls{gap:.4rem;padding:.3rem .5rem;border-radius:20px}.current-month-display{font-size:.75rem;min-width:80px}.control-btn{width:24px;height:24px}.control-btn svg{width:12px;height:12px}.header-actions .btn{display:none!important}.header-actions .btn-mobile-menu{display:flex!important}.user-profile-widget{padding:.3rem .6rem;font-size:.75rem;gap:.5rem}.user-email-display{max-width:90px}main{grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:0!important;padding:1rem!important;width:100%!important}.center-canvas,.left-sidebar,.right-sidebar{display:none!important;max-height:none!important;border:none!important;background:none!important;box-shadow:none!important;padding:0!important}.center-canvas.tab-active,.left-sidebar.tab-active,.right-sidebar.tab-active{display:flex!important;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.left-sidebar.tab-active #habit-panel,.right-sidebar.tab-active .glass-card{background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);width:100%;margin-bottom:1rem}.left-sidebar.tab-active{background:none!important;border:none!important}.wheel-center-month{font-size:.75rem!important;letter-spacing:.5px!important}.wheel-center-stats{font-size:1.25rem!important}.wheel-center-label{font-size:.55rem!important}.wheel-container{max-width:440px;margin:0 auto}.metric-guide{font-size:.75rem;gap:.75rem;padding:.5rem 1rem}.info-tip{display:none!important}.mobile-tab-bar{display:flex}}@media screen and (max-width:380px){.wheel-container{max-width:320px}.wheel-center-stats{font-size:1.1rem!important}.wheel-center-month{font-size:.65rem!important}.wheel-center-label{font-size:.5rem!important}.metric-guide{font-size:.7rem;gap:.5rem}header{padding:.75rem 1rem!important}.current-month-display{font-size:.7rem;min-width:70px}}.floating-context-menu{position:absolute;display:none;align-items:center;gap:8px;padding:6px 10px;border-radius:40px!important;background:rgba(15,22,42,.92)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.12)!important;box-shadow:0 12px 36px rgba(0,0,0,.65),0 0 20px rgba(99,102,241,.2)!important;z-index:10002;pointer-events:auto;opacity:0;transform:scale(.92) translateY(6px);transition:opacity .15s cubic-bezier(.34,1.56,.64,1),transform .15s cubic-bezier(.34,1.56,.64,1)}.floating-context-menu.active{opacity:1;transform:scale(1) translateY(0)}.context-btn-item{width:36px;height:36px;border-radius:50%!important;border:2px solid transparent!important;background:hsla(0,0%,100%,.03)!important;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.34,1.56,.64,1)!important;padding:0!important}.context-btn-item svg{transition:transform .2s ease}.context-btn-item:hover{transform:scale(1.18);color:#fff!important}.context-btn-item.active{transform:scale(1.1);color:#fff!important}.btn-done{--btn-glow:rgba(81,207,102,.4)}.btn-done.active,.btn-done:hover{background:#51cf66!important;border-color:#51cf66!important;box-shadow:0 0 12px var(--btn-glow)!important;color:#fff!important}.btn-partial{--btn-glow:rgba(255,212,59,.4)}.btn-partial.active,.btn-partial:hover{background:#ffd43b!important;border-color:#ffd43b!important;box-shadow:0 0 12px var(--btn-glow)!important;color:#0b0f19!important}.btn-not-done{--btn-glow:hsla(0,100%,71%,.4)}.btn-not-done.active,.btn-not-done:hover{background:#ff6b6b!important;border-color:#ff6b6b!important;box-shadow:0 0 12px var(--btn-glow)!important;color:#fff!important}.btn-exempt{--btn-glow:rgba(173,181,189,.4)}.btn-exempt.active,.btn-exempt:hover{background:#adb5bd!important;border-color:#adb5bd!important;box-shadow:0 0 12px var(--btn-glow)!important;color:#0b0f19!important}.context-divider{width:1px;height:20px;background:hsla(0,0%,100%,.15);margin:0 2px}.btn-clear{--btn-glow:rgba(240,62,62,.25)}.btn-clear.active,.btn-clear:hover{background:rgba(239,68,68,.18)!important;border-color:rgba(239,68,68,.3)!important;box-shadow:0 0 10px var(--btn-glow)!important;color:#ff8787!important}[data-theme=light] .floating-context-menu{background:hsla(0,0%,100%,.95)!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 12px 36px rgba(0,0,0,.18),0 0 15px rgba(99,102,241,.08)!important}[data-theme=light] .context-btn-item{background:rgba(0,0,0,.04)!important;color:var(--text-secondary)}[data-theme=light] .context-divider{background:rgba(0,0,0,.1)}.habit-item .btn-danger{opacity:.15;transition:opacity var(--transition-fast)!important}.habit-item .btn-danger:hover,.habit-item:hover .btn-danger{opacity:1}