@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=Manrope:wght@300;400;500;600;700;800&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}.study-room-layout{--sr-surface: #fcf8f9;--sr-on-surface: #323235;--sr-on-variant: #5f5f61;--sr-primary: #5a5e6c;--sr-primary-dim: #4e5260;--sr-on-primary: #f7f7ff;--sr-on-primary-container: #4d515f;--sr-inverse-surface: #0e0e0f;--sr-container: #f0edef;--sr-container-low: #f6f3f4;--sr-container-high: #eae7ea;--sr-container-highest: #e4e2e5;--sr-lowest: #ffffff;--sr-primary-container: #dee2f2;--sr-tertiary-container: #e2dbfd;--sr-outline-ghost: rgba(179, 177, 180, .15);--sr-primary-rgb: 90, 94, 108;--sr-ambient: 0 20px 40px rgba(50, 50, 53, .06);font-family:Manrope,system-ui,sans-serif;flex:1;min-height:0;width:100%;display:flex;flex-direction:column;background:var(--sr-surface);color:var(--sr-on-surface);overflow:hidden}.study-room-layout--landing{overflow-y:auto}.study-room-session{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.study-library-layout{flex:1;display:flex;flex-direction:column;min-height:100vh;padding:3rem 2rem;overflow-y:auto;background:var(--sr-surface)}.study-library-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;max-width:80rem;margin:0 auto;width:100%}.study-library-section{display:flex;flex-direction:column;gap:2rem}.section-meta h3{font-size:1.75rem;font-weight:800;color:var(--sr-on-surface);margin:.5rem 0}.section-meta p{font-size:.95rem;color:var(--sr-on-variant);line-height:1.6}.section-icon{font-size:2.5rem;color:var(--sr-primary)}.library-upload-zone{aspect-ratio:1 / 1;background:var(--sr-container-low);border:2px dashed var(--sr-outline-ghost);border-radius:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.library-upload-zone:hover{background:var(--sr-container-high);border-color:var(--sr-primary);transform:translateY(-4px) scale(1.02)}.library-upload-zone.is-drag{background:var(--sr-primary-container);border-color:var(--sr-primary)}.upload-zone-inner{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--sr-on-variant);font-weight:700}.library-scroll-area{background:var(--sr-container-low);border-radius:2rem;padding:1.5rem;min-height:500px;display:flex;flex-direction:column}.library-list{display:flex;flex-direction:column;gap:.75rem}.library-item{display:flex;align-items:center;gap:1.25rem;padding:1rem 1.25rem;background:var(--sr-surface-container);border:1px solid var(--sr-outline-ghost);border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;touch-action:none}.library-item:hover{background:var(--sr-surface-container-high);border-color:var(--sr-outline);transform:translate(4px);box-shadow:0 4px 12px #0000000d}.doc-icon{width:42px;height:42px;min-width:42px;display:flex;align-items:center;justify-content:center;background:var(--sr-primary-container);color:var(--sr-on-primary-container);border-radius:10px;font-size:1.35rem}.grab-handle{cursor:grab;position:relative}.grab-handle .drag-icon{position:absolute;opacity:0;transition:opacity .2s}.library-item:hover .grab-handle .drag-icon{opacity:1}.library-item:hover .grab-handle .type-icon{opacity:0}.doc-info{flex:1;display:flex;flex-direction:column}.doc-name{font-weight:700;color:var(--sr-on-surface);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.rename-input{background:var(--sr-surface-container-highest);border:2px solid var(--sr-primary);color:var(--sr-on-surface);padding:4px 8px;border-radius:6px;font-size:.95rem;font-weight:700;width:100%;outline:none;margin:-6px -8px}.doc-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--sr-on-variant);font-weight:600}.doc-meta .dot{opacity:.3}.doc-actions{display:flex;align-items:center;gap:.75rem;opacity:.6;transition:opacity .2s}.library-item:hover .doc-actions{opacity:1}.doc-action-btn{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;border:1px solid var(--sr-outline-ghost);background:var(--sr-container-low);color:var(--sr-on-variant);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:1.1rem}.doc-action-btn:hover{transform:translateY(-2px);background:var(--sr-container-highest);color:var(--sr-on-surface);border-color:var(--sr-primary-container);box-shadow:0 4px 12px #00000014}.doc-action-btn.resume:hover{background:var(--sr-primary-container);color:var(--sr-primary)}.doc-action-btn.delete:hover{background:#fee2e2;color:#fb7185;border-color:#fecaca}.library-loading,.library-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--sr-on-variant);text-align:center;padding:2rem}@media(max-width:1024px){.study-library-grid{grid-template-columns:1fr;gap:4rem}}.study-landing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;position:relative;min-height:0}.study-landing-stage{position:relative;width:100%;max-width:42rem;z-index:1;display:flex;flex-direction:column;align-items:center}.study-landing-blur{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0}.study-landing-blur--tl{top:10%;left:-5rem;width:18rem;height:18rem;background:color-mix(in srgb,var(--sr-primary-container) 35%,transparent)}.study-landing-blur--br{bottom:15%;right:-4rem;width:16rem;height:16rem;background:color-mix(in srgb,var(--sr-tertiary-container) 35%,transparent)}.study-upload-glass{width:100%;max-width:36rem;padding:2.75rem 2rem;text-align:center;cursor:pointer;border-radius:2.5rem;border:1px solid var(--sr-outline-ghost);background:#fcf8f9d1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--sr-ambient);transition:transform .45s ease,background .35s ease,border-color .35s ease}.study-upload-glass:hover{transform:scale(1.01);background:color-mix(in srgb,var(--sr-primary-container) 42%,rgba(252,248,249,.88))}.study-upload-glass:focus-visible{outline:2px solid var(--sr-primary);outline-offset:3px}.study-upload-glass.is-drag{background:color-mix(in srgb,var(--sr-primary-container) 50%,white);border-color:color-mix(in srgb,var(--sr-primary) 25%,transparent)}.study-upload-icon-ring{width:5rem;height:5rem;margin:0 auto 1.75rem;border-radius:50%;background:var(--sr-container-high);display:flex;align-items:center;justify-content:center;font-size:2.25rem;color:var(--sr-primary);transition:transform .5s ease}.study-upload-glass:hover .study-upload-icon-ring{transform:rotate(12deg)}.study-upload-heading{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.65rem;color:var(--sr-on-surface)}.study-upload-desc{font-size:.95rem;line-height:1.6;color:var(--sr-on-variant);max-width:20rem;margin:0 auto 1.75rem}.study-upload-cta{display:inline-block;font-size:.9rem;font-weight:600;color:var(--sr-primary);padding-bottom:.2rem;border-bottom:2px solid color-mix(in srgb,var(--sr-primary) 22%,transparent);transition:border-color .3s ease}.study-upload-glass:hover .study-upload-cta{border-bottom-color:var(--sr-primary)}.study-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.study-room-filebar{height:3.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;background:var(--sr-container-low);border-bottom:1px solid var(--sr-outline-ghost);z-index:20}.study-room-filebar-left{display:flex;align-items:center;gap:.85rem;min-width:0}.study-room-back-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:.75rem;background:var(--sr-lowest);color:var(--sr-on-variant);cursor:pointer;box-shadow:0 1px 2px #3232350f;transition:background .2s,color .2s,transform .2s}.study-room-back-btn:hover{background:var(--sr-container-high);color:var(--sr-primary);transform:translate(-2px)}.study-room-file-info{display:flex;align-items:center;gap:.6rem;min-width:0;padding-left:.85rem;border-left:1px solid var(--sr-outline-ghost)}.study-room-file-info .file-icon{font-size:1.35rem;color:var(--sr-primary);flex-shrink:0}.study-room-file-info .file-name{font-weight:600;font-size:.9rem;color:var(--sr-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(42vw,220px)}.study-room-status-badge{margin-left:.35rem}.status-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .55rem;border-radius:.25rem}.status-item.processing{color:var(--sr-on-variant);background:var(--sr-container-highest)}.status-item.ready{color:var(--sr-on-primary-container);background:var(--sr-primary-container)}.study-room-workspace{flex:1;min-height:0;display:flex;overflow:hidden;background:var(--sr-container);position:relative}.study-room-resizer{position:absolute;top:0;width:8px;height:100%;cursor:col-resize;z-index:100;background:transparent;transition:background .2s}.study-room-resizer:hover,.study-room-resizer.is-resizing{background:var(--sr-primary);opacity:.3}.study-room-resizer:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2px;height:32px;background:var(--sr-on-variant);opacity:.1;border-radius:2px}.study-room-pdf-area{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--sr-surface);border-right:none}.study-room-ai-area{width:24rem;max-width:100%;flex-shrink:0;min-height:0;display:flex;flex-direction:column;background:var(--sr-container-low)}@media(max-width:900px){.study-room-ai-area{width:100%;min-height:42vh;border-right:none;border-top:1px solid var(--sr-outline-ghost)}.study-room-workspace{flex-direction:column}.study-room-pdf-area{border-right:none;min-height:45vh}}.study-pdf-view{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--sr-surface)}.pdf-toolbar{height:4rem;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;gap:1rem;background:var(--sr-container-low);border-bottom:1px solid var(--sr-outline-ghost)}.pdf-toolbar-cluster{display:flex;align-items:center;gap:.75rem;min-width:0}.pdf-toolbar-pill{display:flex;align-items:center;gap:.35rem;background:var(--sr-lowest);border-radius:999px;padding:.35rem .6rem;box-shadow:0 1px 2px #3232350d}.pdf-toolbar-group{display:flex;align-items:center;height:2.35rem}.pdf-toolbar-btn{width:2.15rem;height:2.15rem;border:none;border-radius:.5rem;background:transparent;color:var(--sr-on-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.15rem;transition:color .2s,background .2s}.pdf-toolbar-btn:hover:not(:disabled){color:var(--sr-primary);background:var(--sr-container-high)}.pdf-toolbar-btn:disabled{opacity:.28;cursor:not-allowed}.pdf-toolbar-divider{width:1px;height:1rem;background:var(--sr-outline-ghost);margin:0 .15rem}.pdf-page-display{display:flex;align-items:center;gap:.35rem;padding:0 .65rem;font-size:.875rem;font-weight:600;color:var(--sr-on-surface)}.pdf-page-input{width:2.5rem;text-align:center;border:none;background:transparent;font-weight:600;color:var(--sr-on-surface);font-size:.875rem;outline:none}.pdf-zoom-label{font-size:.875rem;font-weight:600;color:var(--sr-on-surface);min-width:2.75rem;text-align:center}.pdf-toolbar-actions{display:flex;align-items:center;gap:.35rem}.pdf-toolbar-icon-btn{width:2.35rem;height:2.35rem;border:none;border-radius:.65rem;background:transparent;color:var(--sr-on-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:background .2s,color .2s}.pdf-toolbar-icon-btn:hover{background:var(--sr-container-high);color:var(--sr-primary)}.pdf-scroll-container{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem 3rem;background:var(--sr-container);scroll-behavior:smooth}.pdf-page-wrapper{margin-bottom:2rem;transition:opacity .3s ease}.pdf-page-wrapper:last-child{margin-bottom:0}.pdf-document-wrapper{background:var(--sr-lowest);box-shadow:var(--sr-ambient);border-radius:.35rem;overflow:hidden}.react-pdf__Page__textContent{z-index:2!important;pointer-events:auto!important}.react-pdf__Page__annotations{z-index:1!important;pointer-events:none!important}.react-pdf__Page__annotations a{pointer-events:auto!important}.react-pdf__Page__textContent span{cursor:text!important;opacity:1!important}.study-pdf-loading{padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--sr-on-variant);font-size:.95rem;font-weight:500}.study-pdf-loading .study-spin{font-size:2.5rem;color:var(--sr-primary)}.study-pdf-empty{flex:1;display:flex;align-items:center;justify-content:center;opacity:.12;text-align:center}.study-pdf-empty p{font-size:1.25rem;font-weight:700;color:var(--sr-on-surface)}@keyframes study-spin{to{transform:rotate(360deg)}}.study-spin{animation:study-spin .9s linear infinite}.ai-action-badge{display:flex;align-items:center;gap:.35rem;padding:.35rem .45rem;border-radius:999px;background:var(--sr-inverse-surface);color:var(--sr-on-primary);box-shadow:var(--sr-ambient);border:1px solid rgba(255,255,255,.08)}.ai-action-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;border:none;background:none;color:#fff;font-weight:500;font-size:.85rem;cursor:pointer;border-radius:6px;transition:all .2s;white-space:nowrap}.ai-action-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.ai-action-btn.simplify{color:#c4b5fd}.ai-action-btn.simplify:hover{background:#c4b5fd26}.ai-action-divider{width:1px;height:1.1rem;background:#fff3}.ai-action-dismiss{border:none;background:transparent;color:#ffffff8c;padding:.35rem;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center}.ai-action-dismiss:hover{color:#fff}.study-ai-sidebar{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--sr-container-low)}.study-ai-header{padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.study-ai-header h2{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--sr-on-surface);margin:0}.study-ai-history-btn{width:2.35rem;height:2.35rem;border:none;border-radius:50%;background:transparent;color:var(--sr-on-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.35rem;transition:background .2s}.study-ai-history-btn:hover{background:var(--sr-container-high);color:var(--sr-primary)}.study-ai-history-btn.active{background:var(--sr-primary-container);color:var(--sr-primary)}.study-ai-header-actions{display:flex;gap:.5rem}.settings-wrapper-fixed{position:fixed;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10001!important;pointer-events:none;padding:5rem;box-sizing:border-box}.study-ai-settings-floating{pointer-events:auto;width:32rem;max-width:calc(100% - 2rem);max-height:min(700px,calc(100vh - 10rem));padding:3rem;background:var(--sr-lowest);border-radius:2.5rem;border:1px solid var(--sr-outline-ghost);box-shadow:0 50px 100px -20px #00000073;display:flex!important;flex-direction:column!important;gap:1.5rem;overflow-y:auto;position:relative}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.settings-header h4{margin:0;font-size:1.1rem;font-weight:800;color:var(--sr-on-surface)}.settings-close-x{background:transparent;border:none;font-size:1.5rem;color:var(--sr-on-variant);cursor:pointer;padding:.5rem;line-height:1}.input-image-preview{display:flex;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:.75rem;background:var(--sr-low);border:2px solid var(--sr-border);border-radius:.5rem;position:relative}.input-image-preview img{width:50px;height:50px;object-fit:cover;border-radius:.25rem;border:1px solid var(--sr-border)}.input-image-preview .remove-image{position:absolute;top:-8px;right:-8px;width:20px;height:20px;background:var(--sr-accent);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 2px 4px #0003}.msg-preview-image{max-width:100%;max-height:200px;border-radius:.5rem;border:1px solid var(--sr-border);margin-bottom:.75rem;display:block;cursor:pointer;transition:transform .2s}.msg-preview-image:hover{transform:scale(1.02)}.study-ai-actions-row{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem;background:transparent}.study-ai-input-tools{display:flex;align-items:center;gap:.25rem}.study-ai-send-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:none;background:#000;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 10px #00000040}.study-ai-send-btn:hover:not(:disabled){transform:translateY(-2px);background:var(--sr-primary-high, #4a4a4d);box-shadow:0 6px 14px #0003}.study-ai-send-btn:disabled{background:var(--sr-container-high);color:#ffffff4d;cursor:not-allowed;box-shadow:none}.attach-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--sr-on-variant);cursor:pointer;transition:all .2s}.attach-btn:hover{background:var(--sr-container-highest);color:var(--sr-primary)}.settings-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998}.settings-field{display:flex;flex-direction:column;gap:.35rem}.settings-field label{font-size:.75rem;font-weight:800;color:var(--sr-on-variant);text-transform:uppercase;letter-spacing:.05em}.settings-field input{padding:.65rem .85rem;border-radius:.75rem;border:1px solid var(--sr-outline-ghost);background:var(--sr-lowest);font-size:.85rem;color:var(--sr-on-surface);outline:none;transition:border-color .2s}.settings-field input:focus{border-color:var(--sr-primary)}.settings-save-btn{margin-top:1rem;padding:.85rem;border-radius:.75rem;background:var(--sr-primary);color:#fff;border:none;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.settings-save-btn:hover:not(:disabled){background:var(--sr-primary-dim);transform:translateY(-1px)}.settings-save-btn.saved{background:#2e7d32;color:#fff}.settings-save-btn.saving{opacity:.7;cursor:wait}.settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.study-ai-modes{padding:0 .5rem .5rem;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--sr-border);background:var(--sr-surface)}.segmented-control{display:flex;width:100%;padding:.25rem;background:var(--sr-container-low);border-radius:.75rem;border:1px solid var(--sr-border);gap:.25rem}.segment-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem;border:none;border-radius:.5rem;font-family:inherit;font-size:.875rem;font-weight:700;cursor:pointer;color:var(--sr-on-variant);background:transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}.segment-btn:hover{color:var(--sr-on-surface);background:var(--sr-container-highest)}.segment-btn.active{background:var(--sr-inverse-surface);color:#fff;font-weight:800;box-shadow:0 4px 12px #00000026}.study-ai-sidebar.empty-state{display:flex;flex-direction:column}.study-ai-sidebar.empty-state .study-ai-messages{display:flex;justify-content:center;align-items:center}.study-ai-header-main{display:flex;flex-direction:column;gap:.75rem}.study-ai-modes-inline{display:flex;background:var(--sr-container-low);padding:2px;border-radius:8px;border:1px solid var(--sr-border);width:fit-content}.mode-toggle-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;border:none;background:transparent;color:var(--sr-on-variant);font-family:inherit;font-size:.75rem;font-weight:700;cursor:pointer;border-radius:6px;transition:all .2s ease}.mode-toggle-btn:hover{color:var(--sr-on-surface);background:#0000000d}.mode-toggle-btn.active{background:var(--sr-inverse-surface);color:#fff;box-shadow:0 2px 4px #0000001a}.study-ai-empty{text-align:center;padding:2rem 1.5rem;color:var(--sr-on-variant);max-width:400px;margin:auto;cursor:default;-webkit-user-select:none;user-select:none}.study-ai-loading-center{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--sr-on-variant);font-weight:500;opacity:.7}.study-ai-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px}.study-ai-placeholder svg{color:var(--sr-on-surface)}.empty-icon{margin-bottom:1.5rem;color:var(--sr-primary);opacity:.8;filter:drop-shadow(0 8px 16px rgba(var(--sr-primary-rgb),.2))}.study-ai-empty h3{font-family:Syne,sans-serif;font-size:1.25rem;font-weight:800;margin-bottom:.75rem;color:var(--sr-on-surface)}.study-ai-empty p{font-size:.85rem;line-height:1.6;opacity:.7}.study-ai-messages{flex:1;min-height:0;overflow-y:auto;padding:.5rem 1.5rem 1.25rem;display:flex;flex-direction:column;justify-content:flex-start;gap:1.35rem}.study-ai-messages:empty{display:none}.study-ai-msg{display:flex;flex-direction:column;gap:.45rem;max-width:100%}.study-ai-msg--user{align-self:flex-end;align-items:flex-end}.study-ai-msg--assistant{align-self:flex-start;align-items:flex-start}.study-ai-bubble{max-width:90%;padding:1rem 1.1rem;border-radius:1.15rem;font-size:.9rem;line-height:1.55;box-shadow:0 1px 2px #3232350a;border:1px solid var(--sr-outline-ghost)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding:0 4px}.copy-msg-btn{background:none;border:none;cursor:pointer;padding:4px;color:#94a3b8;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.copy-msg-btn:hover{background:#0000000d;color:#d97706}.message-content{font-size:.95rem;line-height:1.6;color:var(--text-color);word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap}.message-content br{display:block;margin-bottom:.8rem;content:""}.ai-bold-highlight{color:#d97706;font-weight:700;padding:0 2px}.ai-italic-highlight{color:#475569;font-style:italic;font-weight:400}.study-ai-message.assistant .message-content,.study-ai-message.librarian .message-content{background:#fff;padding:12px 16px;border:1.5px solid var(--border-color);border-radius:8px;box-shadow:2px 2px 0 var(--border-color);margin-top:4px}.msg-text-content{font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.study-ai-msg--assistant .study-ai-bubble{background:var(--sr-lowest);color:var(--sr-on-surface);border-bottom-left-radius:.25rem;box-shadow:0 4px 8px #00000005}.study-ai-msg--user .study-ai-bubble{background:linear-gradient(145deg,var(--sr-primary) 0%,var(--sr-primary-dim) 100%);color:var(--sr-on-primary);border:none;border-bottom-right-radius:.25rem}.study-ai-bubble p{margin:0;white-space:pre-wrap}.study-ai-typing{display:flex;gap:.35rem;padding:.35rem 0}.study-ai-typing span{width:.4rem;height:.4rem;border-radius:50%;background:var(--sr-primary-container);animation:study-bounce 1s ease-in-out infinite}.study-ai-typing span:nth-child(2){animation-delay:.15s}.study-ai-typing span:nth-child(3){animation-delay:.3s}@keyframes study-bounce{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.study-ai-msg-meta{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sr-on-variant);opacity:.75;padding:0 .15rem}.study-ai-input-block{padding:.5rem .25rem 1rem;flex-shrink:0}.study-ai-form{position:relative;display:flex;flex-direction:column;background:var(--sr-surface-container-low);border-radius:1rem;padding:.25rem;border:1.5px solid var(--sr-outline-ghost);transition:all .2s}.study-ai-input-wrapper{display:flex;flex-direction:column;gap:.15rem;padding:.25rem .5rem}.study-ai-input-wrapper input{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:.9375rem;padding:.75rem .25rem .25rem;color:var(--sr-on-surface);min-width:0}.input-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;padding-bottom:.5rem;padding-right:.25rem}.send-btn{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;border:none;background:var(--sr-primary);color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #5a5e6c26}.send-btn:hover:not(:disabled){background:var(--sr-primary-dim);transform:translateY(-2.2px);box-shadow:0 4px 12px #5a5e6c40}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{opacity:.3;cursor:not-allowed;background:var(--sr-container-highest);color:var(--sr-on-variant)}.input-image-preview img{width:100%;height:100%;object-fit:cover}.remove-image{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px}.remove-key-btn:hover{text-decoration:underline;opacity:.8}.settings-field label{font-weight:600;font-size:.85rem;margin-bottom:.5rem;display:block}.msg-preview-image{max-width:100%;max-height:200px;border-radius:.75rem;margin-bottom:.5rem;display:block}.msg-context-quote{background:var(--sr-surface-container-high);border-left:3px solid var(--sr-primary);padding:.5rem .75rem;margin-bottom:.75rem;border-radius:4px 10px 10px 4px;font-size:.85rem;display:flex;gap:.5rem;color:var(--sr-on-surface-variant);font-style:italic;line-height:1.4}.msg-context-quote svg{flex-shrink:0;margin-top:2px;color:var(--sr-primary);opacity:.7}.input-context-chip{margin:0 .75rem .75rem;padding:.5rem .75rem;background:var(--sr-primary-container);border:1px dashed var(--sr-primary);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;box-shadow:0 2px 8px rgba(var(--sr-primary-rgb),.1)}.chip-content{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--sr-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remove-chip{background:transparent;border:none;color:var(--sr-primary);cursor:pointer;display:flex;padding:2px;border-radius:50%;transition:all .2s;opacity:.7}.remove-chip:hover{background:var(--sr-primary);color:#fff;opacity:1}.study-ai-actions-row{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem .5rem}.attach-btn{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;color:var(--sr-on-variant);cursor:pointer;transition:background .2s}.attach-btn:hover{background:var(--sr-container-high);color:var(--sr-primary)}.study-ai-textarea{width:100%;min-height:2.5rem;max-height:200px;resize:none;border:none;background:transparent;padding:.65rem .75rem;font-family:inherit;font-size:.95rem;line-height:1.5;color:var(--sr-on-surface);outline:none;box-sizing:border-box;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}.study-ai-textarea::placeholder{color:var(--sr-on-variant)}.study-ai-textarea:focus{box-shadow:inset 0 -2px 0 0 var(--sr-primary)}.study-ai-textarea:disabled{opacity:.55;cursor:not-allowed}.study-ai-send-row{display:flex;justify-content:flex-end}.study-ai-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.study-ai-send-btn svg{flex-shrink:0;color:#fff}.study-ai-thread-note{margin-top:.85rem;text-align:center;font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sr-on-variant);opacity:.55}.pdf-page-jump-btn{background:var(--sr-primary);color:#fff;border:none;border-radius:.35rem;padding:.2rem .5rem;font-size:.7rem;font-weight:800;text-transform:uppercase;cursor:pointer;margin-left:.5rem;transition:all .2s}.pdf-page-jump-btn:hover{background:var(--sr-primary-high, #333);transform:translateY(-1px)}.study-ai-messages::-webkit-scrollbar,.pdf-scroll-container::-webkit-scrollbar{width:6px}.study-ai-messages::-webkit-scrollbar-thumb,.pdf-scroll-container::-webkit-scrollbar-thumb{background:var(--sr-container-highest);border-radius:10px}.study-ai-messages::-webkit-scrollbar-thumb:hover,.pdf-scroll-container::-webkit-scrollbar-thumb:hover{background:#b3b1b4}.pdf-viewer-scroll{flex:1;overflow-y:auto;background:var(--sr-container-lowest);display:flex;flex-direction:column;align-items:center;padding:4rem 2rem}.pdf-document-container{display:flex;flex-direction:column;gap:2rem;box-shadow:0 20px 50px #0000001a;background:#fff;border-radius:4px;margin-bottom:2rem}.react-pdf__Page__textContent{z-index:2!important;opacity:1!important;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}.react-pdf__Page__canvas{z-index:1!important;-webkit-user-select:none!important;user-select:none!important;pointer-events:none!important}.react-pdf__Page__annotations{z-index:3!important}.react-pdf__Page__textContent span{opacity:1!important;color:transparent!important;line-height:1.2!important;cursor:text!important}::selection{background:var(--sr-primary)!important;color:var(--sr-lowest)!important}::-moz-selection{background:var(--sr-primary)!important;color:var(--sr-lowest)!important}.pdf-controls-floating{position:sticky;top:1.5rem;z-index:10;margin-bottom:-4rem;pointer-events:none}.pdf-controls-pill{pointer-events:auto;background:var(--sr-surface-container-high);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--sr-outline-ghost);border-radius:100px;padding:.5rem 1.25rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 8px 32px #00000026}: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;flex:1;min-height:0;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}
