.flip-clock{justify-content:center;align-items:center;gap:16px;font-family:Roboto Mono,SF Mono,monospace;display:flex}.flip-clock-group{gap:8px;display:flex}.flip-clock-separator{color:#fff;text-shadow:0 2px 10px #00000080;margin-top:-10px;font-size:80px;font-weight:700;line-height:1}.flip-card-container{perspective:400px;border-radius:10px;width:90px;height:130px;position:relative;box-shadow:0 10px 30px #0006,0 2px 6px #0000004d}.flip-card-top,.flip-card-bottom{color:#fff;background:linear-gradient(#2a2a2a 0%,#1a1a1a 100%);justify-content:center;width:100%;height:50%;font-size:80px;font-weight:700;line-height:1;display:flex;position:absolute;left:0;overflow:hidden}.flip-card-top{background:linear-gradient(#333 0%,#222 100%);border-bottom:1px solid #0a0a0a;border-radius:10px 10px 0 0;align-items:flex-end;top:0}.flip-card-top span{transform:translateY(50%)}.flip-card-bottom{background:linear-gradient(#1a1a1a 0%,#111 100%);border-radius:0 0 10px 10px;align-items:flex-start;bottom:0}.flip-card-bottom span{transform:translateY(-50%)}.flip-card-top-flip,.flip-card-bottom-flip{backface-visibility:hidden;color:#fff;z-index:2;justify-content:center;width:100%;height:50%;font-size:80px;font-weight:700;line-height:1;display:flex;position:absolute;left:0;overflow:hidden}.flip-card-top-flip{transform-origin:bottom;background:linear-gradient(#333 0%,#222 100%);border-bottom:1px solid #0a0a0a;border-radius:10px 10px 0 0;align-items:flex-end;top:0;transform:rotateX(0)}.flip-card-top-flip span{transform:translateY(50%)}.flip-card-top-flip.animate{animation:.6s ease-in-out forwards flipTop}.flip-card-bottom-flip{transform-origin:top;background:linear-gradient(#1a1a1a 0%,#111 100%);border-radius:0 0 10px 10px;align-items:flex-start;bottom:0;transform:rotateX(180deg)}.flip-card-bottom-flip span{transform:translateY(-50%)}.flip-card-bottom-flip.animate{animation:.6s ease-in-out forwards flipBottom}.flip-card-line{z-index:3;background:#000c;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);box-shadow:0 1px 2px #00000080}@keyframes flipTop{0%{z-index:2;transform:rotateX(0)}50%{z-index:2;transform:rotateX(-90deg)}to{z-index:1;transform:rotateX(-180deg)}}@keyframes flipBottom{0%{z-index:1;transform:rotateX(180deg)}50%{z-index:2;transform:rotateX(90deg)}to{z-index:2;transform:rotateX(0)}}@media (max-width:768px){.flip-clock{gap:10px}.flip-clock-group{gap:4px}.flip-card-container{width:55px;height:80px}.flip-card-top,.flip-card-bottom,.flip-card-top-flip,.flip-card-bottom-flip,.flip-clock-separator{font-size:48px}}@media (max-width:480px){.flip-clock{gap:6px}.flip-clock-group{gap:3px}.flip-card-container{border-radius:6px;width:42px;height:62px}.flip-card-top,.flip-card-bottom,.flip-card-top-flip,.flip-card-bottom-flip{font-size:36px}.flip-card-top{border-radius:6px 6px 0 0}.flip-card-bottom{border-radius:0 0 6px 6px}.flip-card-top-flip{border-radius:6px 6px 0 0}.flip-card-bottom-flip{border-radius:0 0 6px 6px}.flip-clock-separator{font-size:36px}}
.continuum{color:#fff;box-sizing:border-box;background:linear-gradient(145deg,#0d0d1a 0%,#1a1a2e 50%,#0d0d1a 100%);flex-direction:column;width:100%;height:100dvh;font-family:system-ui,-apple-system,sans-serif;display:flex;position:relative;overflow:hidden}.continuum:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 20% 40%,#4e44ae26 0%,#0000 50%),radial-gradient(60% 40% at 80% 60%,#3b82f61a 0%,#0000 50%),radial-gradient(50% 30% at 50% 20%,#10b98114 0%,#0000 50%);animation:15s ease-in-out infinite backgroundPulse;position:absolute;inset:0}.continuum:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 30% 70%,#8b5cf608 0%,#0000 25%),radial-gradient(circle at 70% 30%,#06b6d408 0%,#0000 25%);width:200%;height:200%;animation:60s linear infinite slowRotate;position:absolute;top:-50%;left:-50%}.continuum>*{z-index:1;position:relative}@keyframes backgroundPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes slowRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header{padding:1rem 1.5rem;padding-top:max(1rem,env(safe-area-inset-top,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0006;border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;display:flex}.header-left h1{background:linear-gradient(90deg,#fff,#888);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.nav-row{align-items:center;gap:1rem;display:flex}.nav-btn{color:#aaa;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;width:36px;height:36px;font-size:1rem;transition:all .2s}.nav-btn:hover{color:#fff;background:#ffffff1a}.date-label{text-align:center;color:#999;min-width:160px;font-size:.9rem}.view-toggle{background:#ffffff08;border-radius:10px;gap:4px;padding:4px;display:flex}.toggle-btn{color:#666;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s}.toggle-btn:hover{color:#ccc}.toggle-btn.active{color:#fff;background:#ffffff1a}.header-right{align-items:center;gap:1rem;display:flex}.logout-btn{color:#ff6b6b;cursor:pointer;background:#ff64641a;border:1px solid #ff64644d;border-radius:8px;padding:8px 16px;font-size:.85rem;transition:all .2s}.logout-btn:hover{background:#ff646433;border-color:#ff646480}.content{flex:1;padding:1.5rem;position:relative;overflow-y:auto}.loading-bar{background:linear-gradient(90deg,#0000,#00d4ff,#0000);height:3px;animation:1.5s infinite shimmer;position:absolute;top:0;left:0;right:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.calendar-container{max-width:900px;margin:0 auto}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px;display:grid}.weekday-cell{text-align:center;text-transform:uppercase;color:#555;padding:8px 0;font-size:.75rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.calendar-cell{aspect-ratio:1;cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;border-radius:12px;flex-direction:column;justify-content:space-between;padding:8px;transition:all .2s;display:flex;position:relative}.calendar-cell:hover{background:#ffffff0f;transform:translateY(-2px);box-shadow:0 8px 16px #0000004d}.calendar-cell.faded{opacity:.3}.calendar-cell.disabled{opacity:.1;pointer-events:none;background:0 0;border-color:#0000}.calendar-cell.today{background:#00d4ff14;border-color:#00d4ff}.calendar-cell.selected{background:#00e67614;border-color:#00e676}.cell-day{color:#bbb;font-size:.9rem;font-weight:500}.cell-dots{justify-content:center;gap:3px;display:flex}.dot{background:#333;border-radius:50%;width:6px;height:6px;transition:all .2s}.dot.active{box-shadow:0 0 6px}.cell-badge{color:#00e676;background:#00e67633;border-radius:4px;padding:2px 4px;font-size:.6rem;position:absolute;top:4px;right:4px}.week-grid{grid-template-columns:repeat(7,1fr);gap:12px;max-width:1200px;margin:0 auto;display:grid}.week-card{cursor:pointer;background:#ffffff05;border:1px solid #ffffff0d;border-radius:16px;flex-direction:column;min-height:280px;padding:1rem;transition:all .2s;display:flex}.week-card:hover{background:#ffffff0a;transform:translateY(-4px)}.week-card.disabled{opacity:.1;pointer-events:none}.week-card.today{background:linear-gradient(#00d4ff0d,#0000);border-color:#00d4ff66}.week-card-header{text-align:center;margin-bottom:1rem}.week-day-name{text-transform:uppercase;color:#666;letter-spacing:1px;font-size:.7rem;font-weight:600;display:block}.week-day-num{color:#fff;margin-top:4px;font-size:1.8rem;font-weight:300;display:block}.week-card-body{flex-direction:column;flex:1;gap:8px;display:flex}.week-habit{background:#0003;border:2px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;padding:12px;transition:all .2s;display:flex}.week-habit.done{background:#ffffff08}.week-habit-icon{opacity:.5;filter:grayscale();font-size:1.2rem;transition:all .2s}.week-habit.done .week-habit-icon{opacity:1;filter:none}.week-check{font-weight:700}.daily-view{max-width:600px;margin:0 auto}.last-updated{text-align:center;color:#666;margin-bottom:1.5rem;font-size:.8rem}.habit-cards{flex-direction:column;gap:1.5rem;display:flex}.habit-card{border:1px solid #ffffff0d;border-left:4px solid var(--accent);background:#141423cc;border-radius:16px;padding:1.5rem;transition:all .3s}.habit-card.completed{box-shadow:0 0 20px rgba(var(--accent),.1);background:#ffffff08;border-left-width:4px}.card-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.card-icon{background:#0000004d;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;font-size:2rem;display:flex}.card-title h3{margin:0;font-size:1.2rem;font-weight:600}.card-status{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.status-row{align-items:center;gap:.5rem;display:flex}.last-updated-time{color:#888;background:#ffffff1a;border-radius:4px;padding:2px 6px;font-size:.7rem}.habit-card.completed .card-status{color:var(--accent)}.switch{width:52px;height:28px;margin-left:auto;position:relative}.switch input{opacity:0;width:0;height:0}.slider-round{cursor:pointer;background-color:#333;border-radius:28px;transition:all .3s;position:absolute;inset:0}.slider-round:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:4px;left:4px}input:checked+.slider-round{background-color:var(--accent)}input:checked+.slider-round:before{transform:translate(24px)}.card-notes{color:#ccc;resize:none;background:#0003;border:1px solid #ffffff0d;border-radius:10px;width:100%;margin-bottom:1rem;padding:12px;font-family:inherit;font-size:.9rem}.card-notes:focus{background:#0000004d;border-color:#ffffff1a;outline:none}.card-attachments{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:8px;display:flex}.attachment-thumb{cursor:pointer;border:2px solid #ffffff1a;border-radius:12px;width:80px;height:80px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000004d}.attachment-thumb:hover{border-color:#ffffff4d;transform:scale(1.08);box-shadow:0 6px 20px #00000080}.attachment-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.attachment-thumb:hover img{transform:scale(1.1)}.remove-btn{color:#fff;cursor:pointer;opacity:0;background:#ff3b30e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:1rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:4px;right:4px}.attachment-thumb:hover .remove-btn{opacity:1}.remove-btn:hover{background:#ff3b30;transform:scale(1.1)}.add-photo-btn{color:#888;cursor:pointer;background:#ffffff0d;border:2px dashed #ffffff26;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:.9rem;transition:all .3s;display:flex}.add-photo-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px)}.upload-progress{background:#ffffff0d;border:2px solid #00ff884d;border-radius:12px;align-items:center;gap:.75rem;padding:12px 20px;display:flex}.upload-progress .progress-bar{background:#ffffff1a;border-radius:4px;flex:1;min-width:100px;height:8px;overflow:hidden}.upload-progress .progress-fill{background:linear-gradient(90deg,#0f8,#0c6);border-radius:4px;height:100%;transition:width .2s}.upload-progress .progress-text{color:#0f8;text-align:right;min-width:40px;font-size:.8rem;font-weight:500}@media (max-width:1024px){.header{padding:.75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top,0px))}.header-left h1{font-size:1.3rem}}@media (max-width:768px){.header{padding:.75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top,0px));flex-direction:column;align-items:stretch;gap:.75rem}.header-left{text-align:center}.header-left h1{margin-bottom:.5rem;font-size:1.1rem}.nav-row{justify-content:center;gap:.5rem}.date-label{min-width:auto;font-size:.8rem}.header-right{flex-wrap:wrap;justify-content:center;gap:.5rem}.view-toggle{order:1}.logout-btn{order:2;padding:6px 12px;font-size:.75rem}.toggle-btn{padding:6px 10px;font-size:.75rem}.week-grid{grid-template-columns:repeat(2,1fr)}.calendar-cell{padding:4px}.cell-day{font-size:.75rem}.content{padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}.habit-card{padding:1rem}.card-header h3{font-size:1rem}.card-notes{font-size:.85rem}.add-photo-btn{padding:10px 16px;font-size:.85rem}}@media (max-width:390px){.header-left h1{font-size:1rem}.toggle-btn{padding:5px 8px;font-size:.7rem}.logout-btn{padding:5px 10px;font-size:.7rem}.nav-btn{width:32px;height:32px;font-size:.9rem}.date-label{font-size:.75rem}}@media (orientation:landscape) and (max-height:500px){.header{padding:.5rem 1rem;padding-top:max(.5rem,env(safe-area-inset-top,0px));padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));flex-direction:row}.header-left{text-align:left}.header-left h1{margin-bottom:.25rem;font-size:1rem}.header-right{flex-wrap:nowrap}.content{padding:.5rem 1rem;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px))}.habit-cards{flex-flow:wrap;gap:.75rem}.habit-card{flex:calc(33% - .5rem);min-width:200px;padding:.75rem}}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:2rem;animation:.5s ease-out fadeIn;display:flex}.empty-icon{margin-bottom:1rem;font-size:4rem;animation:2s ease-in-out infinite bounce}.empty-state h3{color:#fff;margin:0 0 .5rem;font-size:1.5rem;font-weight:500}.empty-state p{color:#666;margin:0;font-size:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.image-viewer-overlay{z-index:10000;background:#000000f2;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.image-viewer-content{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.viewer-close{top:max(1rem,env(safe-area-inset-top,0px));color:#fff;cursor:pointer;z-index:10001;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;transition:all .2s;display:flex;position:absolute;right:1rem}.viewer-close:hover{background:#fff3;transform:scale(1.1)}.viewer-nav{color:#fff;cursor:pointer;z-index:10001;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.viewer-nav:hover{background:#fff3;transform:translateY(-50%)scale(1.1)}.viewer-prev{left:1rem}.viewer-next{right:1rem}.viewer-image-container{justify-content:center;align-items:center;max-width:90%;max-height:85vh;display:flex}.viewer-image-container img{object-fit:contain;border-radius:8px;max-width:100%;max-height:85vh;box-shadow:0 10px 50px #00000080}.viewer-counter{bottom:max(1.5rem,env(safe-area-inset-bottom,0px));color:#fff;background:#ffffff1a;border-radius:20px;padding:.5rem 1rem;font-size:.9rem;position:absolute;left:50%;transform:translate(-50%)}.attachment-thumb img{transition:transform .2s,opacity .2s}.attachment-thumb img:hover{opacity:.9;transform:scale(1.05)}
