*,*:before,*:after{box-sizing:border-box}::-webkit-scrollbar{display:none}*{scrollbar-width:none;-ms-overflow-style:none}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a14a6;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:9999;overflow:hidden}.loading-content{display:flex;flex-direction:column;align-items:center;gap:16px;animation:loadingFadeIn .6s ease}@keyframes loadingFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-bar-container{width:200px;height:3px;background:#00aaff1a;border-radius:2px;overflow:hidden}.loading-bar{height:100%;width:0;background:var(--accent);border-radius:2px;animation:loadingBar 1.5s ease-in-out forwards}@keyframes loadingBar{0%{width:0}to{width:100%}}.loading-text{font-family:var(--font-display);font-size:.65rem;letter-spacing:3px;color:#ffffff4d;animation:loadingTextPulse 1.5s ease-in-out infinite}@keyframes loadingTextPulse{0%,to{opacity:.3}50%{opacity:.7}}@media (max-width: 700px){.loading-bar-container{width:120px}.loading-text{font-size:.5rem;letter-spacing:2px}}.app{position:relative;z-index:1;height:100vh;overflow:hidden;padding:20px;display:flex;flex-direction:column;gap:20px}.app-header{padding:8px 0 4px}.header-inner{display:flex;align-items:center;position:relative}.header-left{flex:1}.header-content{text-align:center;animation:fadeInUp .6s ease}.app-title{font-family:var(--font-display);font-size:2rem;font-weight:900;letter-spacing:8px;color:#fff;text-shadow:0 0 20px rgba(0,170,255,.5),0 0 40px rgba(0,170,255,.2);animation:glow 3s ease-in-out infinite}.app-subtitle{font-family:var(--font-display);font-size:.65rem;letter-spacing:6px;color:var(--text-secondary);margin-top:4px}.header-line{height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);margin:10px auto 0;max-width:500px}.header-right{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:14px}.header-profile{display:flex;align-items:center;cursor:pointer}.header-signin-btn{font-family:var(--font-display);font-size:.85rem;letter-spacing:2px;background:transparent;border:1px solid var(--accent);color:var(--accent);padding:8px 20px;border-radius:4px;cursor:pointer;transition:all var(--transition)}.header-signin-btn:hover{background:#00aaff1a}.header-user{display:flex;align-items:center;gap:14px}.header-avatar{width:44px;height:44px;border-radius:50%;border:2px solid var(--border-color);object-fit:cover}.header-avatar-placeholder{width:44px;height:44px;border-radius:50%;background:#00aaff1a;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;color:var(--text-dim)}.header-user-name{font-family:var(--font-display);font-size:.9rem;letter-spacing:1px;color:var(--text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-signout-btn{background:none;border:1px solid var(--border-color);color:var(--text-dim);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:1.15rem;transition:all var(--transition);line-height:1}.header-signout-btn:hover{border-color:var(--accent);color:var(--accent)}.header-settings-btn{background:none;border:1px solid var(--border-color);color:var(--text-dim);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:1.15rem;transition:all var(--transition);line-height:1}.header-settings-btn:hover{border-color:var(--accent);color:var(--accent)}.header-offline{font-family:var(--font-display);font-size:.55rem;letter-spacing:2px;color:var(--text-dim);border:1px solid var(--border-color);padding:4px 10px;border-radius:4px}.settings-content{display:flex;flex-direction:column;gap:24px}.settings-section{display:flex;flex-direction:column;gap:12px}.settings-section-title{font-family:var(--font-display);font-size:.85rem;letter-spacing:3px;color:var(--accent);margin:0;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.btn-add-type-title{font-family:var(--font-display);font-size:.6rem;letter-spacing:1px;background:transparent;border:1px solid var(--accent);color:var(--accent);padding:4px 10px;border-radius:4px;cursor:pointer;transition:all var(--transition)}.btn-add-type-title:hover{background:#00aaff1a}.settings-data-actions{display:flex;gap:10px}.settings-row{display:flex;align-items:center;justify-content:space-between}.settings-label{font-size:.95rem;color:var(--text-secondary)}.settings-types-list{display:flex;flex-direction:column;gap:6px}.settings-type-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px}.settings-type-emoji{font-size:1.3rem}.settings-type-name{font-family:var(--font-display);font-size:.85rem;letter-spacing:1px;color:var(--text-primary);flex:1}.settings-type-badge{font-family:var(--font-display);font-size:.6rem;opacity:.7}.settings-type-builtin{font-family:var(--font-display);font-size:.55rem;letter-spacing:1px;color:var(--text-dim);opacity:.4}.settings-type-del{background:#ff444414;border:1px solid rgba(255,68,68,.3);color:#f44;cursor:pointer;font-size:.9rem;line-height:1;padding:6px 12px;border-radius:4px;transition:all var(--transition)}.settings-type-del:hover{background:#ff444426;border-color:#f44}.settings-type-edit{background:#00aaff14;border:1px solid rgba(0,170,255,.3);color:var(--accent);cursor:pointer;font-size:.9rem;line-height:1;padding:6px 12px;border-radius:4px;transition:all var(--transition)}.settings-type-edit:hover{background:#00aaff26;border-color:var(--accent)}.settings-add-type{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:14px;border-top:1px solid var(--border-color)}.settings-add-type-row{display:flex;gap:10px;align-items:center}.settings-icon-box{width:40px;height:40px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-card);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color var(--transition)}.settings-icon-box:hover{border-color:var(--accent)}.settings-about{font-size:.75rem;color:var(--text-secondary);line-height:1.7}.settings-about p{margin-bottom:10px}.settings-about-stats{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.settings-about-stats span{font-family:var(--font-display);font-size:.5rem;letter-spacing:1px;background:#00aaff0f;border:1px solid var(--border-color);padding:2px 6px;border-radius:3px;color:var(--text-dim)}.settings-about-version{font-family:var(--font-display);font-size:.5rem;letter-spacing:2px;color:var(--text-dim);margin-top:6px}.form-input.error{border-color:#f449;box-shadow:0 0 8px #ff444426}.btn-reset{font-family:var(--font-display);font-size:.75rem;letter-spacing:2px;background:#ff444414;border:1px solid rgba(255,68,68,.3);color:#f44;padding:10px 22px;border-radius:4px;cursor:pointer;transition:all var(--transition);align-self:flex-start}.btn-reset:hover{background:#ff444426;border-color:#f44}.desktop-layout{display:block;flex:1;min-height:0;overflow:hidden}.mobile-layout{display:none}.main-layout{display:grid;grid-template-columns:260px 1fr 400px;gap:20px;flex:1;max-width:1320px;width:100%;margin:0 auto;height:100%;min-height:0;overflow:hidden}.left-panel{display:flex;flex-direction:column;gap:16px}.center-panel{display:flex;flex-direction:column;gap:16px;overflow-y:auto;min-height:0}.right-panel{display:flex;flex-direction:column;gap:16px;overflow-y:auto;min-height:0;padding-right:4px}.right-panel::-webkit-scrollbar{width:4px}.section-title{font-family:var(--font-display);font-size:.7rem;letter-spacing:4px;color:var(--accent);margin:0;padding-bottom:4px;border-bottom:1px solid var(--border-color);flex:1}.section-header{display:flex;align-items:center;gap:10px;padding:6px 16px 10px;position:sticky;top:0;z-index:5;background:var(--bg-primary);box-shadow:0 4px 16px #00000080;margin:0 -16px}.btn-add-quest{font-family:var(--font-display);font-size:.75rem;letter-spacing:2px;background:transparent;border:1px solid var(--accent);color:var(--accent);padding:10px 20px;border-radius:4px;cursor:pointer;transition:all var(--transition);white-space:nowrap;flex-shrink:0}.btn-add-quest:hover{background:#00aaff1a;box-shadow:0 0 8px #00aaff26}.btn-add-first{font-family:var(--font-display);font-size:.75rem;letter-spacing:2px;background:transparent;border:1px solid var(--accent);color:var(--accent);padding:12px 22px;border-radius:4px;cursor:pointer;margin-top:12px;transition:all var(--transition)}.btn-add-first:hover{background:#00aaff1a;box-shadow:0 0 10px #0af3}.level-display{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:20px;text-align:center;position:relative;overflow:hidden;animation:fadeInUp .5s ease;transition:border-color var(--transition)}.level-display:hover{border-color:var(--border-glow)}.level-display:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 40%,rgba(0,170,255,.03) 50%,transparent 60%);pointer-events:none}.level-flash{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 70%);animation:flashAnim .8s ease-out forwards;pointer-events:none;z-index:2}.rank-badge{display:inline-block;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:3px;padding:3px 14px;border:1px solid;border-radius:3px;margin-bottom:8px;transition:all var(--transition)}.level-number{font-family:var(--font-display);font-size:2.8rem;font-weight:900;color:#fff;line-height:1;transition:all var(--transition)}.hunter-title{font-family:var(--font-display);font-size:.55rem;letter-spacing:6px;color:var(--text-dim);margin-top:8px}.arise-text{font-family:var(--font-display);font-size:1.8rem;font-weight:900;color:var(--accent);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-shadow:0 0 30px var(--accent),0 0 60px rgba(0,170,255,.5);animation:ariseFloat 2s ease-out forwards;z-index:3;pointer-events:none}.level-up-anim{border-color:var(--accent)!important;box-shadow:0 0 20px #00aaff4d;animation:shake .4s ease}.level-display-compact{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:10px 14px;position:relative;overflow:hidden;animation:fadeInUp .5s ease}.level-display-compact .rank-badge{margin-bottom:0;font-size:.6rem;padding:2px 10px}.level-display-compact .level-number{font-size:1.4rem;color:#fff}.level-display-compact .hunter-title{margin-top:0;font-size:.5rem;letter-spacing:4px}.level-display-compact .arise-text{font-size:1rem}.xp-bar-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 16px}.xp-labels{display:flex;justify-content:space-between;margin-bottom:6px;font-family:var(--font-display);font-size:.6rem}.xp-label{color:var(--accent);letter-spacing:2px}.xp-values{color:var(--text-secondary)}.xp-bar-track{height:8px;background:#00aaff14;border-radius:4px;overflow:hidden;position:relative}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#07c,#0af);border-radius:4px;transition:width .5s ease;position:relative;z-index:1}.xp-bar-glow{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);background-size:200% 100%;animation:shimmer 2s linear infinite;border-radius:4px;z-index:2;transition:width .5s ease}.summary-stats{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;justify-content:space-around}.summary-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 12px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--accent)}.stat-label{font-size:.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px}.stat-divider{width:1px;height:36px;background:var(--border-color)}.radar-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:16px}.radar-container .section-title{margin-bottom:4px}.radar-tooltip{background:#060d1af2;border:1px solid var(--accent);border-radius:4px;padding:6px 12px;display:flex;flex-direction:column;align-items:center;gap:2px}.radar-tooltip-label{font-family:var(--font-display);font-size:.65rem;letter-spacing:2px;color:var(--accent)}.radar-tooltip-value{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:#fff}.progress-chart{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:16px}.progress-chart .section-title{margin-bottom:4px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#040a16e0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease;padding:20px}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);padding:28px 24px 24px;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;position:relative;animation:scaleUp .25s ease;box-shadow:0 0 40px #00aaff14,0 10px 40px #0006}.modal-close-btn{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--text-dim);font-size:1rem;cursor:pointer;padding:4px 6px;line-height:1;transition:color var(--transition);font-family:var(--font-body)}.modal-close-btn:hover{color:var(--text-primary)}.modal-title{font-family:var(--font-display);font-size:.75rem;letter-spacing:4px;color:var(--accent);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.add-habit-form{display:flex;flex-direction:column;gap:0}.add-habit-form .form-group{margin-bottom:12px}.add-habit-form .form-group:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column;gap:6px}.form-group-row{flex-direction:row;align-items:center;justify-content:space-between}.form-label-row{display:flex;align-items:center;justify-content:space-between}.form-field-label{font-family:var(--font-display);font-size:.55rem;letter-spacing:2px;color:var(--text-dim)}.form-checkbox-label{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:.8rem;color:var(--text-primary);cursor:pointer}.form-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border:1px solid var(--border-color);border-radius:3px;background:#00142899;cursor:pointer;flex-shrink:0;transition:all var(--transition)}.form-checkbox:checked{background:var(--accent);border-color:var(--accent);box-shadow:0 0 6px #00aaff4d}.form-input,.form-select{background:#00142899;border:1px solid var(--border-color);border-radius:4px;padding:10px 14px;color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color var(--transition);width:100%}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 8px #00aaff26}.form-input[type=time],.form-input[type=date]{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:42px;padding:10px 14px;cursor:pointer;color-scheme:dark;background:#00142899;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;outline:none;width:100%;transition:border-color var(--transition)}.form-input[type=time]:focus,.form-input[type=date]:focus{border-color:var(--accent);box-shadow:0 0 8px #00aaff26}.form-input[type=time]::-webkit-calendar-picker-indicator,.form-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85);cursor:pointer;padding:6px;scale:1.3}.custom-select{position:relative}.custom-select-trigger{display:flex;align-items:center;gap:8px;width:100%;background:#00142899;border:1px solid var(--border-color);border-radius:4px;padding:10px 14px;color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:border-color var(--transition);text-align:left}.custom-select-trigger:hover,.custom-select-trigger:focus{border-color:var(--accent);outline:none}.custom-select-arrow{margin-left:auto;font-size:.6rem;color:var(--text-dim)}.custom-select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden;box-shadow:0 8px 24px #0006;animation:scaleUp .15s ease}.custom-select-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-primary);font-family:var(--font-body);font-size:.8rem;cursor:pointer;text-align:left;transition:background var(--transition)}.custom-select-option:hover{background:#00aaff0f}.custom-select-option.active{color:var(--accent);background:#00aaff14}.custom-select-option-emoji{font-size:1rem;width:24px;text-align:center}.custom-select-option-label{font-family:var(--font-display);font-size:.6rem;letter-spacing:1px;min-width:28px}.custom-select-option-name{color:var(--text-secondary);font-size:.75rem}.custom-select-divider{height:1px;background:var(--border-color);margin:4px 8px}.custom-select-add{color:var(--accent);font-family:var(--font-display);font-size:.6rem;letter-spacing:1px}.form-input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.form-input::placeholder{color:var(--text-dim)}.form-textarea{resize:vertical;min-height:60px;font-family:var(--font-body);line-height:1.5}.qd-notes{font-size:.8rem;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap;word-break:break-word}.form-input-sm{width:44px;text-align:center;flex-shrink:0}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%234a6a85'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.form-select option{background:var(--bg-secondary);color:var(--text-primary)}.form-color{width:36px;height:32px;padding:2px;border:1px solid var(--border-color);border-radius:4px;background:transparent;cursor:pointer}.btn-add{font-family:var(--font-display);font-size:.75rem;letter-spacing:2px;background:transparent;border:1px solid var(--accent);color:var(--accent);padding:10px 22px;border-radius:4px;cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn-add:hover{background:#00aaff1a;box-shadow:0 0 12px #0af3}.btn-danger{border-color:#f446;color:#ff6b6b}.btn-danger:hover{background:#ff44441a;box-shadow:0 0 8px #ff444426}.btn-pause{border-color:#ffaa4b66;color:#ffa94d}.btn-pause:hover{background:#ffaa4b1a;box-shadow:0 0 8px #ffaa4b26}.btn-link{font-family:var(--font-display);font-size:.65rem;letter-spacing:1px;background:none;border:none;color:var(--accent);cursor:pointer;padding:6px 8px;transition:opacity var(--transition)}.btn-link:hover{opacity:.8}.btn-link-dim{color:var(--text-dim)}.new-type-form{display:flex;flex-direction:column;gap:6px}.new-type-row{display:flex;gap:6px;align-items:center}.new-type-actions{display:flex;gap:8px}.toggle-sm{display:inline-flex;align-items:center;cursor:pointer}.toggle-sm input{display:none}.toggle-sm-slider{width:34px;height:18px;background:#ffffff1a;border-radius:9px;position:relative;transition:background var(--transition)}.toggle-sm-slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--text-dim);border-radius:50%;transition:all var(--transition)}.toggle-sm input:checked+.toggle-sm-slider{background:#00aaff4d}.toggle-sm input:checked+.toggle-sm-slider:after{left:18px;background:var(--accent)}.day-picker{display:flex;gap:4px;flex-wrap:wrap}.day-picker.error{padding:6px;border:1px solid rgba(255,68,68,.6);border-radius:4px;box-shadow:0 0 8px #ff444426}.day-chip{width:38px;height:32px;border:1px solid var(--border-color);border-radius:4px;background:transparent;color:var(--text-dim);font-family:var(--font-display);font-size:.6rem;cursor:pointer;transition:all var(--transition)}.day-chip:hover{border-color:var(--accent);color:var(--text-secondary)}.day-chip.active{background:#00aaff26;border-color:var(--accent);color:var(--accent)}.habits-section{flex:1}.quest-toolbar{display:flex;gap:8px;margin:12px 0}.quest-toolbar .custom-select{flex:1;min-width:0}.toolbar-select{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);padding:6px 10px;border-radius:4px;font-family:var(--font-main);font-size:.75rem;cursor:pointer;flex:1;min-width:0}.toolbar-select:focus{outline:none;border-color:var(--accent)}.toolbar-view-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-dim);padding:0;border-radius:4px;cursor:pointer;font-size:1rem;line-height:1;transition:all var(--transition);flex-shrink:0;margin-left:auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.toolbar-view-btn:hover{border-color:var(--accent);color:var(--accent)}.swipe-view{display:flex;flex-direction:column;align-items:center;gap:12px;padding:10px 0;-webkit-user-select:none;user-select:none;touch-action:pan-y;flex:1}.swipe-stack{position:relative;width:100%;max-width:420px;flex:1;min-height:0;display:flex;flex-direction:column}.swipe-card{width:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:20px;cursor:grab;display:flex;flex-direction:column;gap:14px;position:relative;z-index:2;min-height:320px}.swipe-card:hover{border-color:#00aaff59;box-shadow:0 0 12px #00aaff1a}.swipe-card:active{cursor:grabbing}.swipe-card-behind{position:absolute;left:0;right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:14px;display:flex;align-items:center;gap:8px;z-index:1;transition:opacity .15s}.swipe-card-behind.behind-1{top:6px;bottom:-6px;opacity:.3}.swipe-card-behind.behind-2{top:12px;bottom:-12px;opacity:.15;z-index:0}.swipe-card-header{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}.swipe-card-name{font-family:var(--font-display);font-size:1rem;letter-spacing:1px;color:#fff;flex:1;word-break:break-word}.swipe-card-body{display:flex;flex-direction:column;gap:8px;flex:1}.swipe-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.swipe-info-item{display:flex;flex-direction:column;gap:2px;padding:8px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:4px}.swipe-info-label{font-family:var(--font-display);font-size:.5rem;letter-spacing:2px;color:var(--text-dim);text-transform:uppercase}.swipe-info-value{font-family:var(--font-display);font-size:.8rem;letter-spacing:1px;color:var(--text-secondary)}.swipe-detail-row{font-size:.75rem;color:var(--text-dim);padding:4px 0}.swipe-counter{font-family:var(--font-display);font-size:.65rem;letter-spacing:2px;color:var(--text-dim);text-align:center}.summary-stats-wide{display:flex;align-items:center;justify-content:center;gap:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 16px}.summary-stats-wide .stat-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.summary-stats-wide .stat-value{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:#fff;line-height:1}.summary-stats-wide .stat-label{font-family:var(--font-display);font-size:.5rem;letter-spacing:2px;color:var(--text-dim);text-transform:uppercase}.habits-grid{display:flex;flex-direction:column;gap:10px}.habit-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 14px;animation:slideUp .3s ease;transition:all var(--transition)}.habit-card:hover{border-color:#00aaff59;box-shadow:0 0 8px #00aaff0f}.habit-card.completed{border-color:#00c8964d}.habit-card.completed .habit-name{color:#00c896cc}.habit-card.skipped{border-color:#ff444426;opacity:.7}.habit-card.skipped .habit-name{color:var(--text-dim)}.habit-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.habit-emoji{font-size:1.1rem}.habit-name{font-family:var(--font-display);font-size:.75rem;letter-spacing:1px;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.habit-cat-badge{font-family:var(--font-display);font-size:.55rem;opacity:.8}.habit-meta-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.habit-meta-badge{font-family:var(--font-display);font-size:.45rem;letter-spacing:1px;padding:1px 6px;border-radius:3px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:var(--text-dim)}.paused-badge{color:#ffa94d;border-color:#ffaa4b33;background:#ffaa4b0f}.habit-card.paused{opacity:.55;border-color:#ffaa4b26}.habit-pause-btn{background:none;border:none;font-size:.7rem;cursor:pointer;padding:2px 4px;opacity:.5;transition:opacity var(--transition);line-height:1}.habit-pause-btn:hover{opacity:1}.swipe-card.paused{opacity:.55}.swipe-card.completed{border-color:#00c8964d}.swipe-card.completed .swipe-card-name{color:#00c896cc}.swipe-card.skipped{border-color:#ff444426;opacity:.7}.swipe-card.skipped .swipe-card-name{color:var(--text-dim)}.repeat-badge{color:var(--accent);border-color:#00aaff26}.time-badge{color:#fcc419;border-color:#fcc41926}.once-badge{color:#ff6b6b;border-color:#ff6b6b26}.diff-low{color:#51cf66;border-color:#51cf6640}.diff-medium{color:#fcc419;border-color:#fcc41940}.diff-hard{color:#ff6b6b;border-color:#ff6b6b40}.skipped-badge{color:#ff6b6b;border-color:#f443}.completed-badge{color:#00c896e6;border-color:#00c89633}.habit-stats-row{display:flex;gap:16px;font-size:.7rem;color:var(--text-secondary);margin-bottom:10px}.habit-streak,.habit-total{display:flex;align-items:center;gap:3px}.habit-actions{display:flex;align-items:center;gap:8px}.btn-complete{font-family:var(--font-display);font-size:.7rem;letter-spacing:2px;background:transparent;border:1px solid var(--accent);color:var(--accent);padding:10px 20px;border-radius:4px;cursor:pointer;transition:all var(--transition);flex:1}.btn-complete:hover:not(:disabled){background:#00aaff1a;box-shadow:0 0 8px #0af3}.btn-complete:active:not(:disabled){animation:completeRipple .4s ease}.btn-complete.done{border-color:#00c89680;color:#00c896b3;cursor:default;background:#00c8960d}.btn-complete:disabled{opacity:.5;cursor:default}.btn-skip{font-family:var(--font-display);font-size:.6rem;letter-spacing:1px;background:transparent;border:1px solid rgba(255,68,68,.2);color:var(--text-dim);padding:10px 16px;border-radius:4px;cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn-skip:hover:not(:disabled){border-color:#f446;color:#ff6b6b;background:#ff44440f}.btn-skip.active{border-color:#ff444480;color:#ff6b6b;background:#ff444414}.btn-skip:disabled{opacity:.35;cursor:default}.empty-state{text-align:center;padding:30px 16px;color:var(--text-dim);animation:fadeInUp .5s ease}.empty-icon{font-size:2rem;margin-bottom:10px;opacity:.5}.empty-state p{font-size:.8rem;margin-bottom:4px}.empty-sub{font-size:.7rem;font-style:italic}.notifications-container{position:fixed;top:16px;right:16px;z-index:100;display:flex;flex-direction:column;gap:8px;pointer-events:none}.notification{background:#060d1af2;border:1px solid var(--border-color);border-radius:var(--radius);padding:10px 16px;min-width:200px;max-width:320px;animation:slideDown .3s ease,fadeIn .3s ease;pointer-events:auto;transition:opacity .3s ease,transform .3s ease}.notification.exit{opacity:0;transform:translate(30px)}.notification.complete{border-color:#00c89666}.notification.penalty{border-color:#f446}.notification.levelup{border-color:var(--accent);box-shadow:0 0 16px #0af3}.notif-header{font-family:var(--font-display);font-size:.55rem;letter-spacing:3px;color:var(--accent);margin-bottom:4px}.notification.penalty .notif-header{color:#f44}.notification.levelup .notif-header{color:gold}.notif-message{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.profile-wrapper{display:flex;flex-direction:column;gap:12px}.profile-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:16px}.profile-config-msg{text-align:center;padding:16px 8px;color:var(--text-dim);font-size:.78rem}.profile-config-icon{font-size:1.5rem;margin-bottom:8px}.config-hint{font-size:.65rem;margin-top:6px;color:var(--text-dim)}.config-hint code{background:#00aaff14;padding:1px 4px;border-radius:2px;font-family:var(--font-display);font-size:.6rem;color:var(--accent)}.profile-signin{text-align:center;padding:16px 8px}.profile-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:#00aaff1a;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-family:var(--font-display);font-size:1.2rem;color:var(--text-dim)}.profile-greeting{font-family:var(--font-display);font-size:.7rem;letter-spacing:2px;color:var(--text-secondary);margin-bottom:14px}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-display);font-size:.75rem;letter-spacing:2px;background:none;border:1px solid var(--border-color);color:var(--accent);padding:10px;border-radius:4px;cursor:pointer;transition:all var(--transition);width:100%;margin-top:8px}.btn-google:hover{background:#00aaff0f;border-color:var(--accent)}.google-icon{width:18px;height:18px}.profile-hint{font-size:.6rem;color:var(--text-dim);margin-top:10px}.profile-signedin{display:flex;flex-direction:column;gap:12px}.profile-info{display:flex;align-items:center;gap:10px}.profile-avatar{width:44px;height:44px;border-radius:50%;border:2px solid var(--border-color);object-fit:cover}.profile-details{display:flex;flex-direction:column;gap:2px}.profile-name{font-family:var(--font-display);font-size:.75rem;letter-spacing:1px;color:var(--text-primary)}.profile-email{font-size:.65rem;color:var(--text-dim)}.btn-signout{font-family:var(--font-display);font-size:.75rem;letter-spacing:2px;background:none;border:1px solid rgba(255,68,68,.2);color:#ff6b6b;padding:10px;border-radius:4px;cursor:pointer;transition:all var(--transition);width:100%}.btn-signout:hover{background:#ff44440f}.profile-settings-btn{font-family:var(--font-display);font-size:.75rem;letter-spacing:2px;background:none;border:1px solid var(--border-color);color:var(--accent);padding:10px;border-radius:4px;cursor:pointer;transition:all var(--transition);width:100%;margin-top:8px}.profile-settings-btn:hover{background:#00aaff0f;border-color:var(--accent)}.profile-settings-btn.coming-soon{color:var(--text-dim);border-color:var(--border-color);cursor:not-allowed;opacity:.6}.profile-settings-btn.coming-soon:hover{background:none;border-color:var(--border-color)}.quest-detail{display:flex;flex-direction:column;gap:16px}.quest-detail.paused{pointer-events:none}.quest-detail.paused .qd-info,.quest-detail.paused .qd-stats,.quest-detail.paused .cal-view{opacity:.35}.qd-header{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.qd-paused-badge{font-family:var(--font-display);font-size:.55rem;letter-spacing:2px;color:#ffa94d;border:1px solid rgba(255,170,75,.3);background:#ffaa4b14;padding:2px 8px;border-radius:3px;margin-left:auto}.qd-emoji{font-size:1.6rem}.qd-title-group{display:flex;flex-direction:column;gap:2px}.qd-name{font-family:var(--font-display);font-size:.95rem;color:#fff;word-break:break-word}.qd-cat{font-family:var(--font-display);font-size:.6rem;opacity:.8;display:flex;align-items:center;gap:6px}.qd-cat img{width:1em;height:1em}.qd-stats{display:flex;gap:8px}.qd-stat{flex:1;background:#00aaff0a;border:1px solid rgba(0,170,255,.08);border-radius:6px;padding:10px 8px;text-align:center;display:flex;flex-direction:column;gap:2px}.qd-stat-val{font-family:var(--font-display);font-size:1.1rem;color:var(--accent)}.qd-stat-lbl{font-size:.5rem;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase}.qd-info{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.qd-info-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0}.qd-info-key{font-size:.7rem;color:var(--text-dim)}.qd-info-val{font-family:var(--font-display);font-size:.65rem;color:var(--text-secondary);letter-spacing:1px}.qd-section-title{font-family:var(--font-display);font-size:.6rem;letter-spacing:3px;color:var(--accent);margin:0 0 8px}.qd-kebab-wrap{position:relative;margin-left:auto}.qd-kebab{background:none;border:1px solid var(--border-color);color:var(--text-dim);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:1.2rem;line-height:1;transition:all var(--transition)}.qd-kebab:hover{border-color:var(--accent);color:var(--accent)}.qd-kebab-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;overflow:hidden;z-index:100;min-width:120px;box-shadow:0 4px 20px #0006}.qd-kebab-item{display:block;width:100%;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-secondary);font-family:var(--font-display);font-size:.65rem;letter-spacing:2px;padding:10px 16px;cursor:pointer;text-align:left;transition:background var(--transition)}.qd-kebab-item:last-child{border-bottom:none}.qd-kebab-item:hover{background:#00aaff0f;color:var(--accent)}.qd-kebab-item-danger:hover{background:#ff444414;color:#ff6b6b}.qd-today-actions{display:flex;gap:8px;padding:12px 0;border-bottom:1px solid var(--border-color);margin-bottom:12px}.btn-qd-complete,.btn-qd-skip{flex:1;font-family:var(--font-display);font-size:.65rem;letter-spacing:2px;padding:10px;border-radius:4px;cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn-qd-complete{background:transparent;border:1px solid var(--accent);color:var(--accent)}.btn-qd-complete:hover{background:#00aaff1a;box-shadow:0 0 8px #0af3}.btn-qd-complete.active{border-color:#00c89680;color:#00c896b3;background:#00c8960d}.btn-qd-skip{background:transparent;border:1px solid rgba(255,68,68,.2);color:var(--text-dim)}.btn-qd-skip:hover{border-color:#f446;color:#ff6b6b;background:#ff44440f}.btn-qd-skip.active{border-color:#ff444480;color:#ff6b6b;background:#ff444414}.btn-qd-pause{font-family:var(--font-display);font-size:.65rem;letter-spacing:2px;padding:10px;border-radius:4px;cursor:pointer;transition:all var(--transition);white-space:nowrap;background:transparent;border:1px solid rgba(255,170,75,.2);color:var(--text-dim)}.btn-qd-pause:hover{border-color:#ffaa4b66;color:#ffc078;background:#ffaa4b0f}.btn-qd-pause.resume-active{pointer-events:auto;border-color:var(--accent);color:var(--accent);background:#00aaff1a;box-shadow:0 0 12px #00aaff4d}.btn-qd-complete:disabled{opacity:.3;cursor:default;pointer-events:none}.btn-qd-pause:disabled{opacity:.3;cursor:default;pointer-events:none}.btn-qd-skip:disabled{opacity:.3;cursor:default;pointer-events:none}.cal-view{display:flex;flex-direction:column;gap:8px}.cal-nav{display:flex;align-items:center;justify-content:space-between}.cal-nav-btn{background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 14px;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all var(--transition)}.cal-nav-btn:hover{border-color:var(--accent);color:var(--accent)}.cal-nav-label{font-family:var(--font-display);font-size:.65rem;color:var(--text-secondary);letter-spacing:2px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-day-header{text-align:center;font-family:var(--font-display);font-size:.5rem;color:var(--text-dim);padding:4px 0;letter-spacing:1px}.cal-day{text-align:center;font-size:.6rem;color:var(--text-secondary);padding:4px 0;border-radius:3px;transition:background var(--transition)}.cal-day.faded{opacity:.2;cursor:default;pointer-events:none}.cal-day.clickable{cursor:pointer}.cal-day.clickable:hover{background:#00aaff1f}.cal-day.empty{color:transparent}.cal-day.completed{background:#00c89633;color:#00c896e6}.cal-day.skipped{background:#ff44441f;color:#ff4444b3}.cal-day.missed{background:#ffa5001f;color:#ffa500b3}.cal-day.paused{background:#64647826;color:#8c8ca0b3;cursor:default;pointer-events:none;text-decoration:line-through}.cal-day.today{box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:700;color:var(--accent)}.cal-legend{display:flex;gap:12px;justify-content:center;margin-top:6px;font-size:.6rem;color:var(--text-dim)}.cal-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.cal-confirm-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);padding:24px;max-width:320px;width:90%;text-align:center;animation:scaleUp .15s ease}.cal-confirm-msg{font-size:.85rem;color:var(--text-primary);margin-bottom:20px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.cal-confirm-actions{display:flex;gap:12px;justify-content:center}.cal-confirm-actions-triple{display:flex;gap:8px;justify-content:center;margin-top:14px}.cal-confirm-actions-triple .btn-add{flex:1}.cal-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:3px;vertical-align:middle}.cal-dot.completed{background:#00c89699}.cal-dot.skipped{background:#f449}.cal-dot.missed{background:#ffa50080}.cal-dot.paused{background:#8c8ca099}.icon-picker-grid{display:flex;flex-wrap:wrap;gap:4px;max-height:160px;overflow-y:auto;padding:4px 0}.icon-picker-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:1.2rem;transition:all var(--transition)}.icon-picker-btn:hover{border-color:var(--accent)}.icon-picker-btn.selected{border-color:var(--accent);background:#00aaff1a}.type-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.type-chip{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-size:.5rem;letter-spacing:1px;padding:2px 8px;border:1px solid;border-radius:3px;background:#ffffff05;color:var(--text-dim);transition:all var(--transition)}.type-chip.active{background:#00aaff14}.type-chip-del{background:none;border:none;color:inherit;cursor:pointer;font-size:.7rem;line-height:1;padding:0 1px;opacity:.5;transition:opacity var(--transition)}.type-chip-del:hover{opacity:1}.mobile-detail-page{display:flex;flex-direction:column;gap:16px}.mobile-detail-header{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.mobile-detail-back{background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 14px;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all var(--transition)}.mobile-detail-back:hover{border-color:var(--accent);color:var(--accent)}.mobile-detail-title{font-family:var(--font-display);font-size:.7rem;letter-spacing:4px;color:var(--accent)}@media (max-width: 700px){.app{padding:12px 12px 70px;gap:12px}.desktop-layout{display:none}.mobile-layout{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.app-header{display:none}.app-title{font-size:1.3rem;letter-spacing:4px}.app{gap:0;padding:12px 12px 70px}.app-detail-open{padding-bottom:12px}.level-number{font-size:2.2rem}.level-display{padding:32px 20px;flex-shrink:0;min-height:160px}.mobile-content{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1;min-height:0;padding-bottom:8px;justify-content:flex-start}.mobile-tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:#060d1af7;border-top:1px solid var(--border-color);z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 10px;background:none;border:none;color:var(--text-dim);cursor:pointer;transition:all var(--transition);font-family:var(--font-display)}.mobile-tab.active{color:var(--accent);border-top:2px solid var(--accent)}.mobile-tab.active .tab-icon{transform:scale(1.1)}.tab-icon{width:18px;height:18px;transition:transform var(--transition)}.tab-label{font-size:.5rem;letter-spacing:2px}.header-profile,.header-settings-btn,.header-left,.header-right,.header-content,.header-line{display:none}.header-inner{justify-content:center}.modal-content{padding:24px 20px 20px;margin:10px}.hide-mobile{display:none}.cal-day{font-size:.5rem;padding:3px 0}.qd-stat-val{font-size:.9rem}.qd-stats{gap:4px}.qd-stat{padding:8px 4px}}@media (max-width: 1024px) and (min-width: 701px){.main-layout{grid-template-columns:240px 1fr 320px}.right-panel{grid-column:auto}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:dark;--bg-primary: #060d1a;--bg-secondary: #0a1528;--bg-card: rgba(8, 20, 40, .85);--border-color: rgba(0, 170, 255, .3);--border-glow: rgba(0, 170, 255, .6);--accent: #00aaff;--accent-dim: rgba(0, 170, 255, .2);--text-primary: #f0f4fc;--text-secondary: #8ab4d0;--text-dim: #5a7a95;--font-display: "Orbitron", "Segoe UI", system-ui, monospace;--font-body: "Segoe UI", system-ui, -apple-system, sans-serif;--radius: 8px;--transition: .25s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);color-scheme:dark;min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0af3;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0af6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes flashAnim{0%{opacity:.6}to{opacity:0}}@keyframes scaleUp{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@keyframes ariseFloat{0%{opacity:0;transform:translateY(20px) scale(.8);letter-spacing:8px}30%{opacity:1;transform:translateY(0) scale(1);letter-spacing:12px}70%{opacity:1;transform:translateY(0) scale(1);letter-spacing:12px}to{opacity:0;transform:translateY(-20px) scale(1.1);letter-spacing:16px}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes xpGlow{0%,to{box-shadow:0 0 6px var(--accent)}50%{box-shadow:0 0 14px var(--accent),0 0 24px #00aaff4d}}@keyframes completeRipple{0%{box-shadow:0 0 #0fa6}to{box-shadow:0 0 0 12px #0fa0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tabActive{0%{border-top-color:transparent}to{border-top-color:var(--accent)}}
