@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700;12..96,800&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.landing-container{min-height:100vh;background:#fff;font-family:Plus Jakarta Sans,sans-serif;color:#0f172a;overflow-x:hidden}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 5%;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:1000}.landing-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:6rem 5%;gap:4rem}.hero-title{font-size:4.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;letter-spacing:-.02em}.text-gradient{background:linear-gradient(135deg,#2563eb,#8b5cf6);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle{font-size:1.25rem;color:#475569;margin-bottom:2.5rem;max-width:500px;line-height:1.6}.hero-actions{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.google-btn-special{display:flex;align-items:center;gap:12px;padding:12px 24px;background:#0f172a;color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 10px 20px #0f172a1a}.google-btn-special:hover{transform:translateY(-2px);box-shadow:0 15px 30px #0f172a33;background:#1e293b}.google-icon-wrapper{background:#fff;padding:4px;border-radius:6px;color:#0f172a;display:flex}.hero-preview{position:relative;display:flex;justify-content:center}.preview-card-placeholder{background:#f8fafc;border-radius:20px;border:8px solid #0f172a;padding:2rem;box-shadow:40px 40px #2563eb1a;width:100%;max-width:400px}.preview-header{display:flex;gap:8px;margin-bottom:2rem}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background:#ff5f57}.dot.yellow{background:#febc2e}.dot.green{background:#28c840}.preview-item{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.preview-check{width:24px;height:24px;border:2px solid #e2e8f0;border-radius:6px;background:#fff}.preview-item:first-child .preview-check{background:#2563eb;border-color:#2563eb}.preview-line{height:12px;background:#e2e8f0;border-radius:4px;flex-grow:1}.preview-item:first-child .preview-line{width:60%;background:#2563eb;opacity:.2}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);padding:6rem 5%;gap:2.5rem;background:#f8fafc}.feature-card{background:#fff;padding:2.5rem;border-radius:24px;border:1px solid #e2e8f0;transition:all .3s}.feature-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0f172a0d}.feature-icon{width:48px;height:48px;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;border-radius:12px;margin-bottom:20px}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f8fafc;padding:2rem;font-family:Plus Jakarta Sans,sans-serif}.auth-card{background:#fff;width:100%;max-width:440px;padding:2.5rem;border-radius:24px;box-shadow:0 20px 50px #0f172a14}.back-link{display:flex;align-items:center;gap:8px;background:none;border:none;color:#64748b;font-weight:600;margin-bottom:2rem;cursor:pointer;transition:color .2s}.back-link:hover{color:#2563eb}.auth-header h2{font-size:2rem;font-weight:800;margin-bottom:8px}.auth-header p{color:#64748b;margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:#1e293b}.input-group input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .2s}.input-group input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 4px #2563eb1a}.full-btn{width:100%;padding:14px;border-radius:12px;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;border:none}.primary-btn.full-btn{background:#2563eb;color:#fff}.primary-btn.full-btn:hover{background:#1d4ed8}.google-btn{background:#fff;border:2px solid #e2e8f0;color:#1e293b;cursor:pointer;transition:all .2s}.google-btn:hover{background:#f8fafc;border-color:#cbd5e1}.divider{display:flex;align-items:center;margin:1.5rem 0;color:#cbd5e1}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.divider span{padding:0 1rem;font-size:.75rem;font-weight:800}.auth-footer{text-align:center;margin-top:2rem;color:#64748b;font-size:.875rem}.auth-footer span{color:#2563eb;font-weight:700;cursor:pointer}.auth-error{background:#fef2f2;color:#dc2626;padding:12px;border-radius:10px;border:1px solid #fee2e2;display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500}.text-btn{background:none;border:none;color:#64748b;font-weight:600;cursor:pointer;padding:.5rem 1rem}.text-btn:hover{color:#2563eb}.primary-btn.landing-btn{padding:.6rem 1.2rem;background:#2563eb;color:#fff;border-radius:8px;font-weight:600;border:none;cursor:pointer}.secondary-btn.hero-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#fff;color:#0f172a;border:2px solid #e2e8f0;border-radius:12px;font-weight:600;cursor:pointer}:root{--font-heading: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--brutal-border: 3px;--brutal-radius: 6px;--brutal-shadow: 4px 4px 0 0;--brutal-shadow-sm: 2px 2px 0 0;--primary: #2563EB;--primary-hover: #1d4ed8;--primary-light: #EFF6FF;--secondary: #0ea5e9;--bg-color: #FFFBF5;--surface: #ffffff;--text-main: #0f172a;--text-muted: #475569;--border: #0f172a;--success: #059669;--danger: #dc2626;--warn: #f59e0b;--warn-light: #fffbeb;--accent: #f59e0b;--radius-sm: 6px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 2px 2px 0 0 var(--border);--shadow-md: 4px 4px 0 0 var(--border);--shadow-lg: 6px 6px 0 0 var(--border);--glass-bg: #ffffff;--glass-border: var(--border)}.theme-light{--primary: #2563EB;--primary-hover: #1d4ed8;--primary-light: #EFF6FF;--bg-color: #FFFBF5;--surface: #ffffff;--text-main: #0f172a;--text-muted: #475569;--border: #0f172a;--glass-bg: #ffffff}.theme-midnight{--primary: #818cf8;--primary-hover: #6366f1;--primary-light: #312e81;--bg-color: #0f172a;--surface: #1e293b;--text-main: #f8fafc;--text-muted: #94a3b8;--border: #f8fafc;--glass-bg: #1e293b}.theme-nord{--primary: #88c0d0;--primary-hover: #81a1c1;--primary-light: #3b4252;--bg-color: #2e3440;--surface: #3b4252;--text-main: #eceff4;--text-muted: #d8dee9;--border: #eceff4;--glass-bg: #3b4252}.theme-cyberpunk{--primary: #f43f5e;--primary-hover: #e11d48;--primary-light: #4c1d1d;--bg-color: #0a0a0a;--surface: #1a1a1a;--text-main: #ffffff;--text-muted: #a1a1aa;--border: #f43f5e;--glass-bg: #1a1a1a}.theme-forest{--primary: #059669;--primary-hover: #047857;--primary-light: #d1fae5;--bg-color: #f0fdf4;--surface: #ffffff;--text-main: #064e3b;--text-muted: #047857;--border: #064e3b;--glass-bg: #ffffff}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-main);line-height:1.6;overflow-x:hidden;min-height:100vh;transition:background-color .3s ease,color .3s ease;font-size:16px}.app{min-height:100vh;background:var(--bg-color)}.app-layout{display:flex;height:100vh;overflow:hidden}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.sidebar{width:260px;background:var(--surface);border-right:var(--brutal-border) solid var(--border);display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;position:relative;z-index:100}.sidebar-top{display:flex;flex-direction:column;gap:2rem}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.sidebar-btn{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--surface);border:2px solid var(--border);border-radius:var(--brutal-radius);color:var(--text-main);font-family:var(--font-heading);font-weight:700;font-size:1rem;cursor:pointer;transition:all .1s;text-align:left;width:100%}.sidebar-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--brutal-shadow-sm) var(--border);color:var(--primary)}.sidebar-btn.active{background:var(--primary);color:#fff;transform:translate(-1px,-1px);box-shadow:2px 2px 0 0 var(--border)}.sidebar-bottom{display:flex;flex-direction:column;gap:1.5rem}.sidebar-control-box{background:var(--bg-color);border:2px solid var(--border);border-radius:var(--brutal-radius);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.control-label{font-family:var(--font-heading);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.theme-grid{display:flex;flex-wrap:wrap;gap:.5rem}.sidebar-user{display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:1px solid var(--border)}.user-info-brief{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:var(--brutal-radius);transition:background .15s}.user-info-brief:hover{background:var(--primary-light)}.avatar-sm{width:36px;height:36px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:800;background:var(--primary);color:#fff;overflow:hidden;font-size:.9rem}.avatar-sm img{width:100%;height:100%;object-fit:cover}.user-name-small{font-weight:700;font-size:.9rem;color:var(--text-main);display:block;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-actions{display:flex;gap:.5rem}.icon-btn-brutal.mini{padding:.5rem;border-radius:4px}.main-content{flex:1;height:100vh;overflow-y:auto;background:var(--bg-color);display:flex;flex-direction:column;position:relative}.main-content.workspace-active{overflow:hidden}.fab-brutal-add{position:fixed;bottom:2.5rem;right:2.5rem;width:64px;height:64px;background:var(--primary);color:#fff;border:2px solid var(--border);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px 0 0 var(--border);transition:all .2s cubic-bezier(.175,.885,.32,1.275);z-index:1000}.fab-brutal-add:hover{transform:scale(1.1) translate(-2px,-2px);box-shadow:4px 4px 0 0 var(--border)}.fab-brutal-add:active{transform:scale(.95);box-shadow:0 0 0 0 var(--border)}.content-header{background:var(--bg-color);padding:1.5rem 2rem;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50}.section-title h2{font-family:var(--font-heading);display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:800}.content-container{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.content-container.workspace{padding:0;max-width:none;margin:0;height:100%;display:flex;flex-direction:column}.header{display:none}.logo{display:flex;align-items:center;gap:.75rem}.logo img{width:40px;height:40px;border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius)}.brand-name{font-family:var(--font-heading);font-weight:800;font-size:1.5rem;letter-spacing:-.03em;color:var(--text-main)}.nav{display:flex;align-items:center;gap:1.5rem}.relapse-visual-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.relapse-calendar-box,.relapse-history-box{background:var(--surface);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);padding:1.5rem;box-shadow:var(--brutal-shadow-sm) var(--border)}.box-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.relapse-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;text-align:center}.calendar-weekday{font-weight:800;font-size:.75rem;color:var(--text-muted)}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;border-radius:4px;color:var(--text-main)}.calendar-day.relapse-dot{background:var(--warn);color:#fff;border:2px solid var(--border)}.calendar-day.is-today{background:var(--primary);color:#fff;border:2px solid var(--border);box-shadow:var(--brutal-shadow-sm) var(--border);position:relative;transform:scale(1.1);z-index:2}.calendar-day.is-today.relapse-dot{border-color:#fff;background:var(--warn)}.relapse-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto}.relapse-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-color);border:2px solid var(--border);border-radius:var(--brutal-radius)}.relapse-info{display:flex;flex-direction:column}.relapse-date{font-weight:700;font-size:.95rem}.relapse-time{font-size:.8rem;color:var(--text-muted)}.delete-relapse-btn{padding:.4rem;background:none;border:2px solid transparent;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .1s}.delete-relapse-btn:hover{color:var(--warn);border-color:var(--warn);background:var(--warn-light)}.relapse-btn-mini{padding:.5rem 1rem;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.empty-history{text-align:center;color:var(--text-muted);padding:2rem;font-style:italic}.theme-quick-switch{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:var(--surface);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);box-shadow:var(--brutal-shadow-sm) var(--border)}.theme-dot{width:20px;height:20px;border-radius:4px;cursor:pointer;border:2px solid var(--border);transition:transform .15s}.theme-dot:hover{transform:scale(1.2)}.theme-dot.active{border-width:3px;transform:scale(1.1)}.theme-dot.theme-light{background-color:#6366f1}.theme-dot.theme-midnight{background-color:#8b5cf6}.theme-dot.theme-nord{background-color:#88c0d0}.theme-dot.theme-cyberpunk{background-color:#f43f5e}.theme-dot.theme-forest{background-color:#10b981}.user-profile{display:flex;align-items:center;gap:.75rem;font-weight:600;color:var(--text-main)}.user-profile img{width:36px;height:36px;border-radius:var(--brutal-radius);object-fit:cover;border:2px solid var(--border)}.user-name{font-size:.95rem}.tab-switcher{display:flex;background:var(--surface);padding:.35rem;border-radius:var(--brutal-radius);gap:.25rem;border:var(--brutal-border) solid var(--border);box-shadow:var(--brutal-shadow-sm) var(--border)}.tab-btn{font-family:var(--font-heading);padding:.5rem 1.25rem;border-radius:4px;border:none;font-size:.9rem;font-weight:700;color:var(--text-muted);background:transparent;cursor:pointer;transition:all .15s}.tab-btn.active{background:var(--primary);color:#fff;border:2px solid var(--border);box-shadow:var(--brutal-shadow-sm) var(--border)}.header-tabs{display:flex;align-items:center;gap:1rem}.section-switcher{display:flex;background:var(--surface);padding:.35rem;border-radius:var(--brutal-radius);gap:.25rem;border:var(--brutal-border) solid var(--border);box-shadow:var(--brutal-shadow-sm) var(--border)}.section-btn{display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);padding:.5rem 1rem;border-radius:4px;border:none;font-size:.9rem;font-weight:700;color:var(--text-muted);background:transparent;cursor:pointer;transition:all .15s}.section-btn:hover{color:var(--text-main);background:var(--primary-light)}.section-btn.active{background:var(--primary);color:#fff;border:2px solid var(--border);box-shadow:var(--brutal-shadow-sm) var(--border)}.settings-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:var(--brutal-radius);background:var(--surface);border:var(--brutal-border) solid var(--border);cursor:pointer;color:var(--text-main);transition:all .15s;box-shadow:var(--brutal-shadow-sm) var(--border)}.settings-btn:hover{color:var(--primary);background:var(--primary-light);transform:translate(-1px,-1px);box-shadow:3px 3px 0 0 var(--border)}.settings-btn:active{transform:translate(2px,2px);box-shadow:none}.dashboard{padding:1rem 0 2rem}.life-section{max-width:720px;margin:0 auto}.life-section-header{margin-bottom:2rem}.life-section-header h2{font-family:var(--font-heading);font-size:1.75rem;font-weight:800;display:flex;align-items:center;gap:.5rem;color:var(--text-main);margin-bottom:.5rem}.life-section-desc{color:var(--text-muted);font-size:1rem}.streak-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:2rem}.streak-card{background:var(--surface);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);box-shadow:var(--brutal-shadow) var(--border);padding:1.5rem;text-align:center}.streak-card.main-streak{border-color:var(--primary);background:var(--primary-light)}.streak-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-muted);margin-bottom:.5rem}.streak-value{font-family:var(--font-heading);font-size:2.5rem;font-weight:800;color:var(--primary)}.streak-value.secondary{font-size:2rem;color:var(--text-main)}.streak-unit{display:block;font-size:.9rem;color:var(--text-muted);margin-top:.25rem}.streak-actions{margin-bottom:2rem}.relapse-btn{width:100%;max-width:280px;display:block;margin:0 auto;border-color:var(--danger);color:var(--danger)}.relapse-btn:hover{background:#dc26261a}.relapse-history h3{font-family:var(--font-heading);font-size:1rem;margin-bottom:.75rem;color:var(--text-main)}.relapse-history ul{list-style:none;font-size:.9rem;color:var(--text-muted)}.relapse-history li{padding:.35rem 0;border-bottom:1px solid var(--border)}.relapse-history li:last-child{border-bottom:none}.wellness-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1rem}.wellness-card{background:var(--surface);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);box-shadow:var(--brutal-shadow) var(--border);padding:1.5rem;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative}.wellness-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 var(--border)}.wellness-card.done{border-color:var(--success);background:#05966914}.wellness-card .wellness-label{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;color:var(--text-main)}.wellness-card .wellness-status{font-size:.875rem;color:var(--text-muted)}.wellness-card .check-box{position:absolute;top:1rem;right:1rem}.wellness-hint{font-size:.875rem;color:var(--text-muted);text-align:center}.calendar-header{display:flex;align-items:center;justify-content:center;gap:2.5rem;margin-bottom:3rem}.calendar-header h2{font-family:var(--font-heading);font-size:2rem;font-weight:800;letter-spacing:-.03em;color:var(--text-main)}.nav-icon{padding:.6rem;border-radius:var(--brutal-radius);background:var(--surface);border:var(--brutal-border) solid var(--border);transition:all .15s;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--brutal-shadow-sm) var(--border)}.nav-icon:hover{background:var(--primary);color:#fff;transform:translate(-2px,-2px);box-shadow:4px 4px 0 0 var(--border)}.nav-icon:active{transform:translate(2px,2px);box-shadow:none}.habits-table-container{background:var(--surface);border-radius:var(--brutal-radius);border:var(--brutal-border) solid var(--border);box-shadow:var(--brutal-shadow) var(--border);overflow-x:auto;margin-bottom:2.5rem}.habits-table{width:100%;border-collapse:separate;border-spacing:0}.habits-table th{font-family:var(--font-heading);background:var(--bg-color);color:var(--text-main);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:1rem .75rem;border-bottom:var(--brutal-border) solid var(--border)}.habits-table td{padding:.875rem .5rem;border-bottom:2px solid var(--border);text-align:center;background:var(--surface)}.habit-name-col{text-align:left!important;padding-left:3rem!important;min-width:240px}.monthly-table th{padding:.5rem 2px!important;font-size:.65rem!important}.monthly-table td{padding:.5rem 2px!important}.monthly-table .check-box{width:20px!important;height:20px!important}.monthly-table .habit-name-col,.monthly-table .habit-name{min-width:160px!important;font-size:.875rem!important;padding-left:3rem!important}.monthly-table .stat-col{min-width:40px!important;font-size:.75rem!important}.monthly-table .stat-val{font-size:.8rem}.habit-name{text-align:left!important;padding-left:3rem!important;font-weight:600;font-size:.95rem;color:var(--text-main);background:var(--surface);position:sticky;left:0;z-index:10}.habit-row-info{display:flex;align-items:center;justify-content:space-between;gap:1rem}.delete-habit-icon{color:var(--text-muted);opacity:0;transition:opacity .2s;cursor:pointer}.habit-name:hover .delete-habit-icon{opacity:.5}.delete-habit-icon:hover{opacity:1!important;color:var(--danger)}.check-box{width:26px;height:26px;border-radius:4px;border:var(--brutal-border) solid var(--border);margin:0 auto;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;background:var(--surface)}.check-box:hover{background:var(--primary-light)}.check-box.active{background:var(--primary);border-color:var(--border);box-shadow:var(--brutal-shadow-sm) var(--border)}.stat-col{background:var(--bg-color);min-width:80px}.stat-val{font-weight:700;color:var(--text-main)}.achieved{color:var(--primary)!important;background:var(--primary-light)}.category-row{background:var(--bg-color)!important}.monthly-table .category-cell{padding:1rem 1.5rem 1rem 3rem!important;font-size:1rem!important;text-align:left!important;border-bottom:2px solid var(--border)!important}.category-cell strong{color:var(--text-main);margin-right:.75rem}.category-count-monthly{color:var(--text-muted);font-size:.875rem;font-weight:400}.add-habit-btn{font-family:var(--font-heading);display:flex;align-items:center;gap:.5rem;background:var(--surface);border:var(--brutal-border) dashed var(--border);color:var(--text-muted);padding:1rem 2rem;border-radius:var(--brutal-radius);width:100%;justify-content:center;font-weight:700;transition:all .15s;cursor:pointer}.add-habit-btn:hover{border-style:solid;color:var(--primary);background:var(--primary-light);box-shadow:var(--brutal-shadow-sm) var(--border)}.daily-view{max-width:900px;margin:0 auto}.daily-view.two-column-layout{display:grid;grid-template-columns:1fr 240px;gap:2rem;align-items:start}@media(max-width:768px){.daily-view.two-column-layout{grid-template-columns:1fr}}.daily-header-left{margin-bottom:1rem}.daily-sidebar-right{position:sticky;top:2rem;display:flex;flex-direction:column;gap:.5rem;z-index:1100}.daily-sidebar-right button{padding:.75rem 1rem;font-size:1rem}.daily-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;flex-wrap:wrap;gap:1rem}.daily-greeting{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;margin:0 0 .25rem;letter-spacing:-.02em}.daily-date{color:var(--text-muted);font-size:1rem}.daily-focus-total{font-family:var(--font-heading);display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem;background:var(--primary);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);color:#fff;box-shadow:var(--brutal-shadow-sm) var(--border)}.daily-focus-total span{font-weight:700;font-size:1.25rem}.daily-focus-total small{font-size:.75rem;opacity:.8}.current-session-sidebar{width:100%;padding:.75rem 1rem;margin-bottom:1rem;background:var(--surface);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);box-shadow:var(--brutal-shadow-sm) var(--border);display:flex;flex-direction:column;gap:.5rem}.current-session-sidebar-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.current-session-sidebar-name{font-family:var(--font-heading);font-weight:700;font-size:1rem;color:var(--text-main);line-height:1.2}.current-session-sidebar-time{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;color:var(--primary)}.current-session-sidebar-paused{font-size:.8rem;color:var(--text-muted);font-weight:500}.current-session-sidebar-actions{display:flex;gap:.5rem;margin-top:.25rem}.current-session-sidebar-actions .brutal-btn{margin-bottom:0}.daily-subtabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:var(--brutal-border) solid var(--border)}.daily-subtab{font-family:var(--font-heading);padding:.75rem 1.5rem;background:none;border:none;font-weight:700;font-size:.95rem;color:var(--text-muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-3px;transition:all .15s}.daily-subtab:hover{color:var(--text-main)}.daily-subtab.active{color:var(--primary);border-bottom-color:var(--primary)}.reset-actions-vertical{display:flex;flex-direction:column;gap:.75rem;position:absolute;right:0;top:50%;transform:translateY(-50%)}.icon-btn-reset{background:var(--surface);border:var(--brutal-border) solid var(--border);padding:.6rem;border-radius:var(--brutal-radius);cursor:pointer;color:var(--danger);transition:all .15s;box-shadow:var(--brutal-shadow-sm) var(--border)}.icon-btn-reset:hover{background:var(--danger);color:#fff;transform:translate(-2px,-2px);box-shadow:4px 4px 0 0 var(--border)}.daily-header-controls{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.timeline-view{min-height:200px}.timeline-list{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;align-items:center;gap:1rem;padding:1rem 0;position:relative}.timeline-dot{width:14px;height:14px;border-radius:4px;border:2px solid var(--border);background:var(--primary);flex-shrink:0;z-index:1}.timeline-line{position:absolute;left:5px;top:32px;bottom:-1rem;width:3px;background:var(--border)}.timeline-content{display:flex;justify-content:space-between;align-items:center;flex:1}.timeline-duration{font-family:var(--font-heading);color:var(--primary);font-weight:700}.empty-state{font-family:var(--font-body);text-align:center;color:var(--text-muted);padding:3rem;font-size:1rem}.daily-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;margin-bottom:2rem;text-align:center}.daily-habits-list,.habit-list{display:flex;flex-direction:column;gap:1rem}.daily-habit-item{background:var(--surface);padding:1.25rem 1.5rem;border-radius:var(--brutal-radius);border:var(--brutal-border) solid var(--border);display:flex;gap:1rem;align-items:center;transition:all .15s;box-shadow:var(--brutal-shadow-sm) var(--border)}.daily-habit-item:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 0 var(--border)}.daily-habit-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;text-align:left}.daily-habit-info h4{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;margin:0;text-align:left}.habit-row-info{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%}.daily-habit-info p{font-size:.875rem;color:var(--text-muted);margin:.25rem 0 0;text-align:left}.daily-habit-item .check-box{margin-left:auto}.daily-habit-item.skipped{opacity:.6}.habit-duration{color:var(--primary)}.habit-actions{display:flex;align-items:center;gap:.5rem}.habit-action-btn{padding:.35rem!important}.focus-timer{display:flex;align-items:center;gap:.5rem}.focus-timer-icon{color:var(--text-muted)}.focus-timer-display{font-family:var(--font-heading);font-weight:700;min-width:4ch}.focus-timer-paused-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.current-session-bar{position:sticky;top:0;z-index:10;background:var(--card-bg);border-bottom:1px solid var(--border);padding:12px 1rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;box-shadow:0 1px 3px #0000000f}.priority-toggle{display:flex;gap:.5rem}.priority-btn{font-family:var(--font-heading);flex:1;padding:.75rem;border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);background:var(--surface);cursor:pointer;font-weight:700;transition:all .15s}.priority-btn:hover{background:var(--primary-light)}.priority-btn.active{background:var(--primary);color:#fff}.category-priority-breakdown{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.category-section{margin-bottom:1.5rem}.category-droppable{border-radius:var(--brutal-radius);transition:all .2s ease;padding:.5rem;margin:-.5rem}.category-droppable.is-over{background:var(--primary-light);outline:2px dashed var(--primary);outline-offset:4px}.category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:var(--brutal-border) solid var(--border)}.category-header h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:800;color:var(--text-main);margin:0}.category-badge{font-family:var(--font-heading);background:var(--primary);color:#fff;padding:.3rem .75rem;border-radius:var(--brutal-radius);font-size:.75rem;font-weight:700;border:2px solid var(--border)}.category-row .category-cell{background:var(--surface);border-top:2px solid var(--border);border-bottom:2px solid var(--border);padding:.75rem 1rem!important}.category-row strong{font-size:1.1rem;color:var(--primary);font-weight:800}.category-count-monthly{background:var(--bg);border:1px solid var(--border);padding:.15rem .5rem;border-radius:4px;font-size:.8rem;color:var(--text-muted)}.category-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);margin-top:.35rem;max-height:200px;overflow-y:auto;box-shadow:var(--brutal-shadow) var(--border);z-index:10}.category-suggestion-item{padding:.75rem 1rem;cursor:pointer;transition:background .2s;color:var(--text-main)}.category-suggestion-item:hover{background:var(--primary-light)}.category-list{display:flex;flex-direction:column;gap:.75rem}.category-item-manage{background:var(--surface);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);padding:1rem;box-shadow:var(--brutal-shadow-sm) var(--border)}.category-info-row{display:flex;justify-content:space-between;align-items:center}.category-info-row strong{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-main);margin-right:.5rem}.category-count{font-size:.875rem;color:var(--text-muted);margin-left:.5rem}.category-actions{display:flex;gap:.5rem}.icon-btn{background:var(--surface);border:var(--brutal-border) solid var(--border);padding:.5rem;border-radius:var(--brutal-radius);cursor:pointer;color:var(--text-main);transition:all .15s;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.icon-btn.danger:hover{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.category-edit-row{display:flex;gap:.5rem;align-items:center}.category-edit-row .custom-input{flex:1}.settings-overlay{position:fixed;inset:0;background:#0f172a99;z-index:1000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:2rem 1rem;-webkit-user-select:none;user-select:none}.settings-modal{background:var(--surface);width:100%;max-width:500px;border-radius:var(--brutal-radius);padding:2rem;box-shadow:8px 8px 0 0 var(--border);display:flex;flex-direction:column;gap:2rem;border:var(--brutal-border) solid var(--border);color:var(--text-main);overflow-y:visible;margin-top:auto;margin-bottom:auto;animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.brutal-btn{font-family:var(--font-heading);padding:.85rem 1.5rem;border-radius:var(--brutal-radius);border:var(--brutal-border) solid var(--border);font-weight:800;font-size:1rem;cursor:pointer;transition:all .1s;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:var(--brutal-shadow-sm) var(--border);text-transform:uppercase;letter-spacing:.02em}.brutal-btn.primary{background:var(--primary);color:#fff}.brutal-btn:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 0 var(--border)}.brutal-btn:active{transform:translate(2px,2px);box-shadow:none}.settings-header{display:flex;justify-content:space-between;align-items:center}.settings-header h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:800}.clickable{cursor:pointer;padding:.35rem;border-radius:var(--brutal-radius);border:var(--brutal-border) solid transparent;transition:all .15s}.clickable:hover{background:var(--primary-light);border-color:var(--border)}.custom-pickers{display:flex;flex-direction:row;gap:1.5rem;padding:1rem 0}.picker-section{display:flex;flex-direction:column;gap:.5rem}.picker-label{font-weight:600;font-size:.9rem;color:var(--text-muted)}.mini-calendar-container{background:var(--bg);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);padding:1rem}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:700}.nav-btns button{background:none;border:none;cursor:pointer;padding:.25rem}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;text-align:center}.mini-weekday{font-size:.8rem;font-weight:700;color:var(--text-muted);margin-bottom:.5rem}.mini-day{background:transparent;border:none;padding:.5rem 0;border-radius:4px;cursor:pointer;transition:all .2s;font-size:.9rem}.mini-day:not(.empty):hover{background:var(--surface)}.mini-day.selected{background:var(--primary);color:#fff;font-weight:700}.mini-day.is-today{border:2px solid var(--primary)}.brutal-scroll::-webkit-scrollbar{width:6px}.brutal-scroll::-webkit-scrollbar-track{background:var(--bg)}.brutal-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.time-preview-brutal{margin-top:1rem;padding:.75rem;background:var(--primary-light);border:2px solid var(--border);border-radius:var(--brutal-radius);font-weight:800;font-family:var(--font-heading);color:var(--primary);text-align:center;font-size:.9rem}.time-selectors{display:flex;gap:1rem}.hour-selector,.minute-selector{flex:1;display:flex;flex-direction:column;gap:.25rem}.sub-label{font-size:.8rem;color:var(--text-muted)}.scroll-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;max-height:150px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--brutal-radius);padding:.5rem;background:var(--bg)}.minute-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem;border:1px solid var(--border);border-radius:var(--brutal-radius);padding:.5rem;background:var(--bg)}.scroll-grid button,.minute-grid button{background:var(--surface);border:1px solid transparent;border-radius:4px;padding:.5rem;cursor:pointer}.scroll-grid button:hover,.minute-grid button:hover{background:var(--bg);border-color:var(--border)}.scroll-grid button.active,.minute-grid button.active{background:var(--primary);color:#fff}.settings-section h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.theme-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.theme-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--brutal-radius);border:var(--brutal-border) solid var(--border);cursor:pointer;transition:all .15s;background:var(--surface);color:var(--text-main)}.theme-item:hover{background:var(--primary-light)}.theme-item.active{background:var(--primary);color:#fff}.theme-pill{width:24px;height:24px;border-radius:4px;border:2px solid var(--border)}.theme-item span{font-size:.875rem;font-weight:600}.drag-handle{cursor:grab;color:var(--text-muted);padding:.85rem;display:flex;align-items:center;touch-action:none;transition:all .2s ease;border-radius:4px}.drag-handle:hover{color:var(--primary);background:var(--primary-light)}.drag-handle:active{cursor:grabbing}.daily-habit-item.dragging{opacity:.5;background:var(--bg-color);border:var(--brutal-border) dashed var(--border);box-shadow:none}.daily-habit-item.drag-overlay{background:var(--surface);border:3px solid var(--primary);box-shadow:12px 12px 0 0 var(--border);transform:scale(1.02);cursor:grabbing;z-index:9999;pointer-events:none}.is-dragging .daily-habit-item,.is-dragging .category-section,.is-dragging .habit-list,.is-dragging .daily-habits-list,.is-dragging .category-droppable,.is-dragging .habits-table-container,.is-dragging *{transition:none!important;animation:none!important}.is-dragging *{user-select:none!important;-webkit-user-select:none!important}.is-dragging .drag-handle{cursor:grabbing}@media(max-width:1024px){.habits-table-container{cursor:ew-resize}}@media(max-width:640px){.features-grid{grid-template-columns:1fr;gap:1rem}.landing-content{padding:2rem 1.5rem}.logo-large h1{font-size:2.25rem}}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--text-muted)}.custom-input{padding:.75rem 1rem;border-radius:var(--brutal-radius);border:var(--brutal-border) solid var(--border);background:var(--surface);color:var(--text-main);font-family:var(--font-body);font-size:1rem;outline:none;transition:all .15s}.custom-input:focus{box-shadow:0 0 0 3px var(--primary-light)}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;flex-wrap:wrap}.primary-btn{font-family:var(--font-heading);background:var(--primary);color:#fff;padding:.75rem 1.5rem;border-radius:var(--brutal-radius);border:var(--brutal-border) solid var(--border);font-weight:700;cursor:pointer;transition:all .15s;box-shadow:var(--brutal-shadow-sm) var(--border)}.primary-btn:hover{background:var(--primary-hover);transform:translate(-2px,-2px);box-shadow:4px 4px 0 0 var(--border)}.primary-btn:active{transform:translate(2px,2px);box-shadow:none}.secondary-btn{font-family:var(--font-heading);background:var(--surface);color:var(--text-main);padding:.75rem 1.5rem;border-radius:var(--brutal-radius);border:var(--brutal-border) solid var(--border);font-weight:700;cursor:pointer;transition:all .15s;box-shadow:var(--brutal-shadow-sm) var(--border)}.secondary-btn:hover{background:var(--primary-light);transform:translate(-2px,-2px);box-shadow:4px 4px 0 0 var(--border)}.landing-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-color)}.landing-content{max-width:560px;width:100%;text-align:center;background:var(--surface);padding:3rem;border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);box-shadow:8px 8px 0 0 var(--border)}.logo-large{margin-bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.landing-logo{width:80px;height:80px;border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);box-shadow:var(--brutal-shadow-sm) var(--border)}.logo-large h1{font-family:var(--font-heading);font-size:2.75rem;font-weight:800;letter-spacing:-.04em;color:var(--text-main);line-height:1.1}.landing-subtitle{font-family:var(--font-body);font-size:1.125rem;color:var(--text-muted);line-height:1.7;margin-bottom:2.5rem;font-weight:500}.login-btn{font-family:var(--font-heading);width:100%;max-width:320px;margin:0 auto 2.5rem;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1.125rem;font-weight:700;padding:1rem 2rem;border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);box-shadow:var(--brutal-shadow) var(--border)}.login-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 var(--border)}.login-btn:active{transform:translate(2px,2px);box-shadow:none}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:2rem;border-top:var(--brutal-border) solid var(--border)}.feature-item{font-family:var(--font-heading);display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem 1rem;background:var(--surface);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);font-size:.85rem;font-weight:700;color:var(--text-main);box-shadow:var(--brutal-shadow-sm) var(--border);transition:all .15s}.feature-item:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 0 var(--border)}.routine-section{max-width:800px;margin:0 auto}.routine-content{background:var(--surface);border:var(--brutal-border) solid var(--border);border-radius:var(--brutal-radius);box-shadow:var(--brutal-shadow) var(--border);padding:2rem;margin-bottom:2rem}.routine-list{display:flex;flex-direction:column;gap:1rem}.routine-item{display:flex;align-items:center;gap:1.5rem;padding:1rem;background:var(--bg-color);border:2px solid var(--border);border-radius:var(--brutal-radius);transition:all .15s}.routine-item:hover{transform:translate(-2px,-2px);box-shadow:var(--brutal-shadow-sm) var(--border)}.routine-item.adding{background:var(--primary-light);border-style:dashed}.routine-time{display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-weight:800;color:var(--primary);min-width:100px;font-size:1.1rem}.routine-task{flex:1;font-weight:600;color:var(--text-main)}.delete-routine-btn{opacity:.3;background:transparent;border:none;cursor:pointer;color:var(--text-muted);transition:all .15s;padding:.5rem}.routine-item:hover .delete-routine-btn{opacity:1}.delete-routine-btn:hover{color:var(--danger);transform:scale(1.1)}.routine-time-input,.routine-task-input{background:var(--surface);border:2px solid var(--border);border-radius:4px;padding:.5rem;font-family:var(--font-body);font-weight:600;width:100%}.routine-time-input{min-width:120px}.routine-task-input{flex:1}.routine-add-actions{display:flex;gap:.5rem}.routine-add-actions button{padding:.5rem;border-radius:4px;border:2px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.save-btn{background:var(--success);color:#fff}.cancel-btn{background:var(--surface);color:var(--text-muted)}.save-btn:hover,.cancel-btn:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 0 var(--border)}.add-routine-inline-btn{font-family:var(--font-heading);display:flex;align-items:center;gap:.5rem;background:var(--surface);border:var(--brutal-border) dashed var(--border);color:var(--text-muted);padding:1rem;border-radius:var(--brutal-radius);width:100%;justify-content:center;font-weight:700;transition:all .15s;cursor:pointer;margin-top:1rem}.add-routine-inline-btn:hover{border-style:solid;color:var(--primary);background:var(--primary-light);box-shadow:var(--brutal-shadow-sm) var(--border)}.routine-hint{text-align:center;color:var(--text-muted);font-size:.875rem}:root{--study-bg: #F8FAFC;--study-header-bg: #FFFFFF;--study-border: #E2E8F0;--study-sidebar-bg: #FFFFFF;--study-accent: #4F46E5;--study-accent-hover: #4338CA;--study-accent-light: #EEF2FF;--study-text-main: #0F172A;--study-text-muted: #64748B;--study-pdf-bg: #F1F5F9;--study-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--study-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--study-radius: .75rem}.study-room-layout{height:100%;width:100%;display:flex;flex-direction:column;background-color:var(--study-bg);overflow:hidden}.study-room-filebar{height:3.75rem;background-color:var(--study-header-bg);border-bottom:1px solid var(--study-border);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;flex-shrink:0;z-index:50}.study-room-filebar-left{display:flex;align-items:center;gap:1rem;min-width:0}.study-room-back-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--study-border);background:#fff;border-radius:.6rem;color:var(--study-text-muted);cursor:pointer;transition:all .2s}.study-room-back-btn:hover{border-color:var(--study-accent);color:var(--study-accent);background:var(--study-accent-light);transform:translate(-2px)}.study-room-file-info{display:flex;align-items:center;gap:.75rem;min-width:0;padding-left:.5rem;border-left:1px solid var(--study-border)}.study-room-file-info .file-icon{font-size:1.25rem;color:var(--study-accent)}.study-room-file-info .file-name{font-weight:600;color:var(--study-text-main);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.study-room-status-badge{margin-left:.5rem}.status-item{display:flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:2rem;text-transform:uppercase;letter-spacing:.03em}.status-item.processing{color:var(--study-accent);background:var(--study-accent-light)}.status-item.ready{color:#059669;background:#ecfdf5}.study-room-filebar-right .ai-pfp{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;background:#f1f5f9;border-radius:9999px;font-size:.7rem;font-weight:700;color:var(--study-text-muted);text-transform:uppercase;letter-spacing:.05em}.ai-avatar-dots{display:flex;gap:2px}.ai-avatar-dots .dot{width:4px;height:4px;background:var(--study-accent);border-radius:50%;opacity:.4}.ai-avatar-dots .dot:nth-child(2){opacity:.7}.ai-avatar-dots .dot:nth-child(3){opacity:1}.study-room-workspace{flex:1;display:flex;overflow:hidden;background-color:var(--study-pdf-bg)}.study-room-pdf-area{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.study-room-ai-area{width:400px;flex-shrink:0;background-color:var(--study-sidebar-bg);display:flex;flex-direction:column;height:100%;border-left:1px solid var(--study-border)}.pdf-toolbar{height:3.5rem;background-color:#fff;border-bottom:1px solid var(--study-border);display:flex;align-items:center;padding:0 1rem;gap:.75rem;z-index:10;flex-shrink:0}.pdf-toolbar-group{display:flex;align-items:center;background-color:#f8fafc;border:1px solid var(--study-border);border-radius:.6rem;padding:.2rem;height:2.5rem}.pdf-toolbar-btn{width:2.1rem;height:2.1rem;border-radius:.45rem;border:none;background:transparent;color:var(--study-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:1.1rem}.pdf-toolbar-btn:hover:not(:disabled){background-color:var(--study-accent-light);color:var(--study-accent);border-color:#4f46e51a}.pdf-toolbar-btn.active{background-color:var(--study-accent);color:#fff}.pdf-toolbar-btn:disabled{opacity:.25;cursor:not-allowed}.pdf-page-display{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;font-size:.85rem;font-weight:600;color:var(--study-text-main);border-left:1px solid var(--study-border);border-right:1px solid var(--study-border);height:100%}.pdf-page-input{width:2.25rem;text-align:center;border:1px solid var(--study-border);background:#fff;border-radius:.3rem;font-weight:700;color:var(--study-accent);font-size:.85rem;padding:.1rem 0}.ai-sidebar-header{height:3.5rem;padding:0 1.25rem;border-bottom:1px solid var(--study-border);display:flex;align-items:center;justify-content:space-between;background:#fff;flex-shrink:0}.ai-sidebar-title{display:flex;align-items:center;gap:.6rem;font-size:.85rem;font-weight:700;color:var(--study-text-main);text-transform:uppercase;letter-spacing:.05em}.ai-sidebar-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.ai-message{display:flex;flex-direction:column;gap:.5rem;max-width:90%}.ai-message.user{align-self:flex-end}.ai-message.assistant{align-self:flex-start}.ai-bubble{padding:1rem;border-radius:1.25rem;font-size:.95rem;line-height:1.5}.ai-message.user .ai-bubble{background-color:var(--study-accent);color:#fff;border-bottom-right-radius:.25rem}.ai-message.assistant .ai-bubble{background-color:#f1f5f9;color:var(--study-text-main);border-bottom-left-radius:.25rem}.ai-input-area{padding:1.25rem;border-top:1px solid var(--study-border);background:#fff}.segmented-control{display:flex;padding:.2rem;background:#f1f5f9;border-radius:.6rem;gap:.1rem}.segment-btn{flex:1;padding:.4rem .75rem;border:none;border-radius:.45rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--study-text-muted);background:transparent}.segment-btn.active{background:#fff;color:var(--study-accent);box-shadow:0 1px 3px #0000001a}.ai-input-wrapper{margin-top:1rem;position:relative}.ai-input-container{background-color:#fff;border:1px solid var(--study-border);border-radius:.8rem;padding:.4rem;display:flex;align-items:flex-end;gap:.4rem;transition:all .2s;box-shadow:var(--study-shadow-sm)}.ai-input-container:focus-within{border-color:var(--study-accent);box-shadow:0 0 0 3px #4f46e51a,var(--study-shadow-sm)}.ai-textarea{flex:1;border:none;background:transparent;padding:.6rem;font-family:inherit;font-size:.9rem;resize:none;max-height:150px;outline:none;color:var(--study-text-main);line-height:1.5}.ai-send-btn{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:var(--study-accent);color:#fff;border:none;border-radius:.6rem;cursor:pointer;transition:all .2s;flex-shrink:0;margin-bottom:.1rem}.ai-send-btn:hover{background:var(--study-accent-hover);transform:scale(1.05)}.ai-send-btn:disabled{background:var(--study-border);cursor:not-allowed;transform:none}.ai-action-badge{display:flex;align-items:center;background-color:#0f172a;color:#fff;border-radius:9999px;padding:.35rem .5rem;gap:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid rgba(255,255,255,.1)}.ai-action-btn{background:transparent;border:none;color:#fff;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;font-weight:700;cursor:pointer;border-radius:9999px;transition:background .2s}.ai-action-btn:hover{background-color:#312e81}.study-landing{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem;text-align:center}.study-upload-box{max-width:32rem;width:100%;background:#fff;border:2px dashed var(--study-border);border-radius:2rem;padding:3rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:1.5rem}.upload-icon-wrapper{width:4rem;height:4rem;background:var(--study-accent-light);color:var(--study-accent);border-radius:1.25rem;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:.5rem}.study-upload-box:hover{border-color:var(--study-accent);background-color:#fff;transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a}.pdf-scroll-container{flex:1;overflow:auto;display:flex;justify-content:center;background-color:var(--study-pdf-bg);padding:2rem 0;width:100%}.pdf-document-wrapper{box-shadow:0 10px 25px #0000001a;background:#fff;transition:all .2s}.ai-sidebar-content::-webkit-scrollbar,.pdf-scroll-container::-webkit-scrollbar{width:8px;height:8px}.ai-sidebar-content::-webkit-scrollbar-track,.pdf-scroll-container::-webkit-scrollbar-track{background:transparent}.ai-sidebar-content::-webkit-scrollbar-thumb,.pdf-scroll-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px;border:2px solid transparent;background-clip:content-box}.ai-sidebar-content::-webkit-scrollbar-thumb:hover,.pdf-scroll-container::-webkit-scrollbar-thumb:hover{background:#94a3b8;border:2px solid transparent;background-clip:content-box}
